Эффективная интеграция системы голосования 1-10 без распространенных ошибок - PullRequest
0 голосов
/ 03 октября 2011

Я планирую интегрировать разумную систему ранжирования / голосования в существующее приложение.

Я знаком с принципами работы традиционных 5-звездочных рейтинговых систем и знаю распространенные ошибки / проблемы , связанный с ними, поэтому задавался вопросом, есть ли другие способы (я слышал о Вильсоне, Байесовском и т. Д., Но не совсем уверен, как реализовать это с помощью приведенной ниже структуры):

  • I 'Я планирую разрешить пользователям голосовать за контент от 1 до 10 через страницу контента.
  • Счет и общее количество голосов за этот контент будут отображаться на странице контента.
  • Я также будуотображение / отображение списка 10 лучших материалов, поэтому мне нужно, чтобы метод был честным / реалистичным и не голосовал 10 голосами при общем количестве 1, чтобы перейти непосредственно к номеру 1.

I'mиспользуя PHP и MySQL, у меня есть таблица для содержимого (которая имеет content_id, которую, я думаю, я могу JOIN включить).

Мне интересно, можете ли вы предложить способ/ метод, который достигаетвыше, я был бы признателен, если бы вы могли присоединить какой-нибудь пример кода PHP и пример схемы MySQL, чтобы я мог лучше понять его, поскольку я google'd и, возможно, нашел потенциальные решения, такие как Уилсон и Байесовский ... но они предоставляютдлинная статья с запутанными математическими уравнениями - и не упоминайте ни одного способа, который бы достиг вышеупомянутого (т.е.оценка .... и реализация метода в PHP / MySQL) или, по крайней мере, из-за отсутствия какого-либо примера кода PHP / MySQL, я неправильно понимаю это.

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

1 Ответ

0 голосов
/ 03 октября 2011

Вы должны начать с просмотра этого видео на YouTube: Создание Web Reputation Systems .

Чтобы подчеркнуть это, позвольте мне указать вам XKCD .

Что касается структуры БД, вам понадобятся следующие части:

  • список элементов (с total_votes столбцом)
  • список пользователей, проголосовавших
  • таблица пересечений для пользователей предметов (со столбцом rating, если вы идете с 5-звездочной вещью)
...