«— Сколько раз я видел своими глазами, как верблюд не может пройти сквозь игольное ушко?
— Сколько раз я видел, как богач не может войти в Царствие Божие?
— Если Богу угодно, чтобы никто не был богат, зачем Он создал так много денег?»

Кристофер Бакли. «Господь — мой Брокер»

Шторкин.руМоя работа → Технодром

Технодром!Средневзвешенная система голосования.  (4 июля 2009 г. )

Средневзвешенная система голосования.


Добрый день. Хочу поделиться весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.

Допустим, на проекте пользователи публикуют некие контентные единицы в различные разделы, например, фотографии разных жанров. Пользователь имеет право поставить за фотографии оценку, при этом рассчитывается рейтинг, в общем случае это среднее значение от всех выставленных за фотографию оценок. Но, как на любом многопользовательском ресурсе, есть более опытные пользователи, голос которых должен играть ведущую роль в рейтинге, а есть новички, с более слабым голосом. Здесь помогает понятие веса голоса, причем вес должен быть дифференцирован по разделам. Например, автор, работающий в жанре пейзажной фотографии, имеет максимальный вес голоса именно в этом разделе, но минимальный, скажем, в разделе «Обнаженная натура». Пришлось попотеть, прежде чем нашлись формулы, более или менее объективно описывающие вес голоса. Смысл веса голоса заключается в следующем (здесь и далее примеры будут касаться рейтингов работ и авторов на фотографическом сайте): автор должен подтвердить свою компетентность в том или ином разделе, набрав за свои работы  в нем как можно больший балл (по пятибалльной шкале). Наиболее оптимальным оказалось решение, в котором вес голоса изменяется от 0 до 1, точнее от 0.1 (для новичков). Формула для расчета веса голоса выглядит примерно так:

Weight = tanh(N/C)*(SUM(m_value*m_weight)/ SUM(m_weight))/5.0;  где

N - это число оценок, поставленных автору к публикациям в данном разделе,
C - нормирующая константа, зависящая от активности пользователей, чем больше пользователи ставят оценок, тем больше должна быть константа,
m_value и m_weight - значение и вес каждой конкретной оценки, принимающей участие в расчете веса голоса.

Гиперболический тангенс отношения поставленных автору оценок к нормирующей константе учитывает активность самого автора и интерес к нему - чем больше автор публикует работ, тем больше оценок ему ставят, чем интереснее работы, тем больше оценок ему ставят. Чем больше константа C, тем медленнее tanh() стремится к единице, это значит, что при высокой активности пользователей, для достижения максимального веса голоса (или близкого к максимальному), пользователю потребуется больше усилий. При значении отношения N/C больших 2, tanh(N/C) приближается к единице и перестает влиять на средневзвешенное значение от всех оценок. Кстати, если переходить на MySQL, то можно использовать арктангенс (ATAN), но, поскольку он стремится не 1 а к PI/2, следует внести соответствующую коррекцию.  Следует также помнить, что арктангенс медленнее стремится к PI/2, нежели гиперболический тангенс к 1, поэтому придется вносить поправку и в константу.

Что касается рейтинга конкретной публикации, тут все просто — формула без учета количества оценок будет выглядеть так:

Rate = SUM(m_value*m_weight)/ SUM(m_weight);

 

За два с лишним года использования на региональном фотосайте, система оценок показала себя весьма эффективным и объективным средством оценить труды авторов. Поскольку в расчетах рейтингов не принимают участие оценки с весом менее 0.2, исключены накрутки рейтингов клонами, ибо, чтобы достичь такого веса, клонам приходится работать на равных с основными пользователями, т.е. публиковать реальные работы (воровство работ и повторные публикации пресекаются) и набирать оценки от продвинутых пользователей ресурса. Эффективность системы веса автора в том или ином разделе сайта подтвердилась, когда ведущий фотосайт страны похвалил и перенял у моего проекта эту фишку. Но, поскольку они незадолго до этого перешли на накопительную систему рейтингов, им пришлось ограничиться лишь визуальным отображением состоятельности авторов в разных жанрах.

 

Желаю удачи и объективности на ваших ресурсах.
Искренне ваш, Семен Шторкин.

 


Уважаемые посетители, сайт частично находится на реконструкции.

 

Блог 20

 

Про фотографию 20 (+1)

 

Про кино 3

 


Если ты фотограф бойкий — приходи на «Фото Горький»!

На «Фото Горьком» значительно облагородился раздел «Свадебная фотография в Нижнем Новгороде».

И еще!
Помните, друзья, Don't feed The Troll!



  © 2007 – 2010 Семен Шторкин
Для связи:

Все права на представленные на сайте материалы принадлежат их авторам. Копирование материалов допускается лишь с согласия автора.

Всякое распространение материалов данного сайта без согласия автора преследуется по закону.


Задворки