Я работаю над сайтом, который очень похож на Yahoo! Ответы: пользователь может задать вопрос, подождать ответов от других людей и выбрать лучший. Чтобы определить лучших пользователей, существует система репутации, которая имеет следующие особенности:
- Можно повысить или понизить пользователя;
- Можно отменить или уменьшить ответ;
- Для каждой темы есть оценка "опыта", которая увеличивается для каждого ответа.
Теперь, если это возможно, я бы хотел найти алгоритм для объединения всех этих факторов и дать оценку "доверия" для каждого ответа.
До сих пор я старался делать это сам, используя вещи типа Coefficient * (UpVotes / TotalVotes)
, но был слишком линейным. Я также пробовал другие способы, но они не работали (байесовский алгоритм). На данный момент, в версии Alpha, я использую Trustability = sqrt(GoodAnswers)
.
Примечания: алгоритм должен быть индивидуальным (нет необходимости сканировать всю базу данных, чтобы получать данные, такие как средние, суммы и т.д.) и, если это возможно, быстро. Я собираюсь реализовать это в PHP-MySQL.