Определение популярности видео с оценками и просмотрами - PullRequest
1 голос
/ 17 марта 2010

Я собираюсь начать новый проект - видео-сайт. Пользователи смогут регистрироваться и голосовать за видео, нажимая «нравится» или «не нравится», или что-то в этом роде. В любом случае это будет система голосования с 2 вариантами, а не система 5 звезд.

Каждое X число дней я буду генерировать «график» самых популярных видео. Итак, мой вопрос: как мне определить популярность данного видео?

Если бы я пошел путем подсчета видео с наибольшим количеством просмотров, это могло бы привести к тому, что исключительно плохие видео попали в чарты (только потому, что они такие плохие).

Если я выберу систему оценки, основанную на количестве голосов "нравится" и "не нравится" (например, 100 голосов "за" и 50 голосов "за" равно 2 баллам), видео с небольшим количеством просмотров может появиться на вершина чартов.

Итак, мне нужно сделать комбинацию из двух. За исключением, конечно, спам-просмотров и голосов.

Что думают твои парни на эту тему?

Редактировать : были удалены следующие теги: [ mysql ] [ postgresql ], чтобы освободить место для других, более представительных тегов; технология SQL, используемая в предполагаемой реализации, похоже, мало влияет на соображения относительно модели рейтинга как таковой.

Ответы [ 2 ]

5 голосов
/ 17 марта 2010

Вы, похоже, упускаете из виду то, что нравится и не нравится в фильмах - это совсем не объективно даже в контексте относительно однородной группы "избирателей". Подумайте, как термин " Chix Flix " или история успеха под названием " NetFlix " иллюстрируют эту субъективность ...

Тем не менее, если вы настаиваете на реализации предложенной вами модели, существует несколько скрытых переменных и динамики системы, которые необходимо учитывать и, возможно, учитывать в формуле рейтинга.

  • существование третьего, неявного значения голоса : «Нет голоса»
    то есть, когда кто-то просматривает страницу фильма и еще не голосует, в любом случае.
    Проблема обращения с этой дополнительной ценностью заключается в ее двусмысленности: люди не голосуют, потому что они не смотрели фильм или потому, что они ему не нравились и не нравились? Весьма вероятно, что и то и другое, поэтому мы можем / должны использовать количество «просмотров страниц без голосования» в формуле, чтобы повысить (несколько) рейтинг фильмов, которые не вызывают сильного (положительного или отрицательного) настроения (чтобы не «поляризационные» фильмы будут казаться более печально известными или популярными)
  • эффект побочного действия
    Пройдя определенный порог, и особенно если рейтинг и / или количество голосов видно перед просмотром страницы, рейтинг и количество голосов могут повлиять на то, как люди решат голосовать (в любом случае) или даже воздерживаются от голосования. Это означает, что общее количество голосов и / или количество просмотров не связаны линейно с действующим рейтингом.
  • " качество " против " дурная слава "
    Соотношение голосов в целом (например, «нравится» / «всего» или «нравится» / «не нравится» и т. Д.) Указывает на «качество» фильма (обратите внимание на цитаты вокруг качества ...), при этом количество голосов (и мнений) свидетельствует о дурной славе («признание имени» и т. д.) фильма.
  • статистическая репрезентативность
    Очень малое количество голосов и / или просмотров следует обрабатывать осторожно, поскольку они вносят значительную волатильность в рейтинг. Иначе говоря, маленькие образцы дают не столь статически репрезентативные оценки.
  • тренды (переменная времени)
    Опасаясь усложнить модель, рассмотрите возможность вести [некоторые] записи о том, когда происходило голосование / просмотр, чтобы можно было идентифицировать «горячие» (и «охлаждающие») фильмы в коллекции. Эта информация может информировать логику рейтинга, но также может использоваться для направления пользователей к актуальным в данный момент предметам. Кстати, отсюда вытекает упомянутое влияние всепоглощения :-( но также и увеличение размера выборки для голосования :-).

Все эти соображения предполагают осторожность при внедрении этой рейтинговой системы. Он также намекает на то, что необходимо включить статистику о полных наборах фильмов в формулу рейтинга для отдельного фильма . Другими словами, оценивать данный фильм не только на основе его собственного подсчета голосов / просмотров, но и, скажем, среднего подсчета голосов, полученных ходом, максимального просмотра страницы фильма и т. Д. Фактически, итеративный процесс, при этом фильмы [приблизительно] ранжируются вначале, а затем рейтинг пересчитывается с использованием статистики групп фильмов, имеющих одинаковый рейтинг, может обеспечить лучшую систему (при условии, что формулы «честные» и каким-то образом сходятся)

1 голос
/ 17 марта 2010

Стандартный трюк состоит в том, чтобы начать с нейтральной базовой линии: скажем, 10 лайков и 10 антипатий дают оценку 1. Первые несколько голосов не слишком сильно меняют соотношение, но по мере накопления голосов базовая линия перегружается.Точный выбор базовых значений будет влиять на рейтинг нового фильма (эти два значения не обязательно должны быть равными) и на количество голосов, необходимое для существенного изменения рейтинга.

...