12 марта 2013 в 00:06

Борьба с накрутками в рейтингах

Намедни прочел интересную статью про рейтинги. В качестве практического руководства ее не рекомендую использовать (почему смотрите в комментариях к ней), однако, чтиво интересное и натолкнуло меня на одну мысль.
Допустим у нас есть рейтинг от 1 до 5. И некоторые оценки накручены, некоторые пользователи наобум поставили. Как отфильтровать зерна от плевел?


Если построить диаграмму количества человек поставивших определенную оценку, то можно увидеть примерно сколько голосов было накручено. Нужно, конечно, сравнивать с другими диаграмами, но из этой картинки понятно что часть «пятерок» накручено:



В общем человек может по диаграмме определить накрутку, значит и машина тоже сможет.

Распределение голосов можно расписать функцией бета распределения.
image

Если в большинстве случаев голосование можно описать бета-функцией, а в части нельзя, то можно убрать часть голосов.


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

Бета-распределение имеет два параметра, альфа и бета. У нас тоже есть два параметра средняя оценка(E) и дисперсия(D) — мера разброса. Из википежии известно, что.

image
image

Теперь решим систему уравнений. Это долго и нудно.

E=a/(a+b)
d=ab/((a+b)^2 * (a+b+1))

заменим a/(a+b) на E
d=bE/((a+b) * (a+b+1))

заменим 1/(a+b) на E/a
d=b*E^2/(a * (a+b+1))

умножим обе части на (a * (a+b+1))
d(a * (a+b+1))=b*E^2

раскроем скобки и поменяем местами
b*E^2=da^2 + dab + da

вычтем dab из обоих частей

b*E^2-dab=da^2 + da

b(E^2-da)=da(a+1)

b=da(a+1)/(E^2-da)

Вернемся к первому уравнению

E=a/(a+b)=>(a+b)=a/E=> b=a/E -a

объединим оба уравнения

b=a/E -a=da(a+1)/(E^2-da)

a/E -a=da(a+1)/(E^2-da)
разделим на а

1/E -1=d(a+1)/(E^2-da)

умножим на E(E^2-da)

(1-E)(E^2-da)=Ed(a+1)

E^2-da -E^3 + Eda=Eda + Ed

Eda сократиться

E^2-da -E^3 = Ed

E^2 -E^3 -Ed =da

a= (E^2 -E^3 -Ed)/d

b=a/E -a=a(1/E-1)=a(1-E)/E=(E^2 -E^3 -Ed)(1-E)/Ed=(E -E^2 -d)(1-E)/d=(E -E^2 -d — E^2 + E^3 +dE)/d

b=(E^3-2E^2+E)/d +E -1


В итоге мы сможем построить бета-функцию. Все оценки выше нее, вероятные накрутки. Если кому-то будет интересно распишу подробнее.
@Hkey
карма
44,0
рейтинг 0,0
Самое читаемое Разработка

Комментарии (38)

  • +11
    Ой, нельзя так делать, ой, нельзя…

    Если кому-то будет интересно распишу подробнее.

    Обязательно распишите, желательно в этом же посте )))
  • +6
    Так а если я накручу оценки 4 и 5?

    Или если это будет статья на научном сайте, где сидят одни гики и всем понравилась статья, за исключением пары десятков тупней, которые перепутав сайт с рыбацким, попортили статье оценку? Но из-за них вот так вот резать настоящие оценки нельзя.
    • –1
      1. Срежутся в основном 4 и 5
      2. Если трупней меньше, то они и срежутся в основном.
      • +1
        1. Так это неправильно, ведь например фильм может лежать на узко-профильном сайте, где люди все фанатеют от него, но часть так же заходит с поиска и ставит оценки 123, при этом оценки не накручены, но очень преобладают над низкими. Нельзя такое обрезать, это не накрутка.
        • –1
          А вот 123 как раз в этом случае могут быть почти накруткой, так как такие оценки могут поставить не разбирающиеся люди.
          • +1
            Цель ни в том, чтобы создать «снобский» рейтинг, цель, чтобы срезать все отклонения от нормы.
            • 0
              Тогда какова погрешность такого «срезания»?

              Ведь, как правильно выше заметили, есть большая вероятность срезать истинные оценки.
  • +7
    но из этой картинки понятно что часть «пятерок» накручено


    Мне не понятно. Легко допустить, что фильм, допустим, жанровый или культовый в каком-то субсоциуме. Обычным людям, без явных предпочтений, он нравится средне, но есть фанаты жанра (а может актера, а может режиссера, а может спецэффектов, а может саунд-трека или ещё чего), которые считают его отличным совершенно искренне, без мысли накрутить ему рейтинг. Их отбрасываем априори?

    В общем человек может по диаграмме определить накрутку, значит и машина тоже сможет.


    Очень сильное утверждение. Достойное сильного ИИ. :)
  • +3
    По вашей же ссылке на wiki:

    Бета-распределение — Используется для описания случайных величин, значения которых ограничены конечным интервалом.

    Вы рассуждаете о распределении так, как будто люди голосуют случайным образом. Например фото, оно либо нравится, либо нет, особенно когда перед глазам нет общей картины. Как можно отсечь часть голосов — совершенно не понятно. Думаю разумнее поменять принцип голосования и сосредоточиться на детекте и блокировке ботов.
    • –1
      вы путаете случайные числа и абсолютно случайные. Случайные подвержены какому-то закону, например, людей с ростом 175см в разы больше чем двухметровых. Или игральная кость с равной вероятностью падает на 1 из 6 граней. Случайные числа подвержены какому-то закону распределения. Абсолютно случайных чисел нет (это философская максима, кажется) любые числа подвержены какому-то распределению (в некоторых случаях нам не известен этот закон).

      Случайных чисел тоже нет это мат. абстракция (ну кроме квантовой механики). Мы считаем число случайным, поскольку нам что-то не известно. Например, угловая скорость и скорость центра тяжести монеты и расстояние до пола в противном случае для нас Орел/Решка не было бы случайным событием.

      Если мы могли считать мысли каждого пользователя, который проголосует за фильм, то для нас голосование не было бы случайным. Но поскольку мы не знаем кто проголосует и как до голосования для нас это случайные величины.

      С другой стороны все реальные события и числа случайны: на событие может повлиять бесконечное множество факторов, которые учесть все мы не в состоянии. Квантовая механика говорит, что все априори случайно и дело ни в недостатке информации или вычислительных способностей.
      • +2
        >Случайные подвержены какому-то закону, например, людей с ростом 175см в разы больше чем двухметровых. Или игральная кость с равной вероятностью падает на 1 из 6 граней.
        Да, но эти законы распределения разные. Нельзя описывать вероятность выпадения грани по нормальному закону, или распределения роста людей по равномерному распределению.

        Поэтому утверждение «Если в большинстве случаев голосование можно описать бета-функцией, а в части нельзя, то можно убрать часть голосов.» — неверно. И прежде чем использовать какой-то закон распределения, нужно доказать, что он применим в данном случае. Иначе ничего хорошего не будет
        • 0
          Доказать

          Доказать на практике ничего нельзя. Например, во всей физике строго математически ничего не доказано. Либо используется модель и из не что-то получается (механика) или по эмпирическим данным строиться какая-то красивая формула.

          Можно найти такую модель, использование которой противоречит здравому смыслу и не сильно расчеты по ней расходятся с практикой. Если вы заглянете на IMDB, то увидите, что распределение голосов хорошо описывается бета функцией.
          • 0
            Если вы заглянете на IMDB, то увидите, что распределение голосов хорошо описывается бета функцией.


            Включая накрутки, отбрасывая их или исключая те, что под бету с определенными (какими?) коэффициентами не подходят.
            • 0
              какими

              Как они считаются я расписал.
  • +2
    Очень хорошая картинка взята для примера. А если, скажем, как-то так (я набок положил, чтобы текстом набрать):

    =
    =======
    =
    =
    =======

    Что накручено, двойки или пятерки?
    • 0
      И то, и другое? Иначе как объяснить отсутствие единиц, троек и четверок?
      • 0
        Их там есть, но мало. Идея в том, что не всегда можно точно определить, где настоящий пик, а где фальшивый. Особенно если число оценок небольшое.
      • +2
        Психологией, категоричностью, школьным опытом. Руководствуются люди обычно эмоциями, а их качественно только две — понравился (5) и не понравился (2). Мало кто будет высчитывать интегральную оценку по куче характеристик, которыми оперируют профессиональные кинокритики, типа работа режиссера или актерская работа.
    • 0
      2 и 5 одинаково срежутся. На среднее не повлияет.
      • +2
        Как это не повлияет? Настоящая средняя оценка либо 2, либо 5. Если срезать оба пика, то средняя будет 3 — довольно далеко от истины. Понятно, что и без фильтра получится примерно то же самое, но тогда зачем фильтр?
        • 0
          определить где накрутка математически нельзя.
          • 0
            Если знать закон распределения, то можно :)
            • 0
              Если знать закон распределения,

              если знать само распределение а не его вид, то рейтинг не нужен можно просто мат. ожидание посчитать
              • 0
                Под «законом» я имел в виду точную формулу, а не параметрическую. Или хотя бы с одним заведомо известным параметром (например, дисперсией) для определения второго (матожидания) на основе выборки.

                А рейтинг для меня и есть в общем случае матожиданием оценки. Но не зная закона мы его посчитать не можем. Более того, для некоторых законов матожидания не существует по определению.
                • 0
                  Под «законом» я имел в виду точную формулу, а не параметрическую. Или хотя бы с одним заведомо известным параметром (например, дисперсией) для определения второго (матожидания) на основе выборки.

                  У нас есть два параметра мат ожидание и дисперсия. Для каждого фильма они разные. Мат ожидание (средняя оценка) у всех разная, дисперсия тоже поскольку некоторый фильм может вызывать противоречивые отзывы у разных групп пользователей. Например, «Сумерки».
  • НЛО прилетело и опубликовало эту надпись здесь
  • +4
    Простите меня за нубство в математике, но это же усреднение результатов.
    Определение накруток одной-единственной формулой без учета внешних факторов — сильно.
    • +1
      Это гипотеза о виде и характеристиках закона распределения и отбрасывание результатов, ему не соответствующих, как недостоверных. Довольно обычная практика в измерительной технике, студенты (не знаю, только специальности типа ИИТ или все) лабы такие делают на первых курсах — дано 20 отсчетов, определить значение (доверительный интервал) величины с такой-то вероятностью, при этом парочка отсчетов явно из ряда выбивается. Правда не уверен, что её можно прямо переносить на психологию и социологию, вернее не столько практику, сколько такие простые гипотезы о распределении, не учитывающие, например «стадность» оценок.
      • +1
        Мы ИСиТ, такие не делали.
        В том-то и дело, что здесь используется статистический контекст (ну и сгенерировал :-), который несколько далек от реального голосования с учетом психологии, той же «стадности» и других факторов.
        Если уж и изобретут такую функцию, то она обязана начать психоисторию)
      • 0
        Правда не уверен, что её можно прямо переносить на психологию и социологию, вернее не столько практику, сколько такие простые гипотезы о распределении, не учитывающие, например «стадность» оценок.
        Мы не знаем причин почему часть испытаний показывает неадекватный результат, но это нам не мешает их отбросить.
        • 0
          «Неадекватность» — характеристика субъективная. В данном случае принимается за неадекватность несоответствие реальной выборки относительно простому и красивому математическому закону. Мы, почему-то, приняли за данность, что выборка должна соответствовать какому-то простому (нормальному, бета-, гамма- — не суть) распределению, что существует некая объективная величин, значимые отклонения от которой тупо считаются недостверными, а значит игнорируемыми (в лучшем случае корректируемыми)

          Нормальный статанализ говорит о том, что выборка с такой-то степенью достверности соответствует такому-то закону рапределенеия с такими-то параметрами. Любая «одномерная» оценка выборки должна содержать в себе оценку достоверности и остальных параметров как константу.
    • 0
      одной-единственной формулой

      это не формула, а семейство кривых. Возможных формул в семействе кривых бесконечное множество.

      без учета внешних факторов

      В модели учесть все факторы нельзя (поскольку их бесконечное число). Главное чтобы модель подтверждалась практикой. На сайтах у которых открыт рейтинг(imdb и гугл сторе) распределение близко к бета.

      усреднение результатов

      Рейтинг это средняя оценка. Тоже усреднение.

      В тер. вере есть несколько «средних».

      Например, ВВП на душу населения это мат. ожидание, но оно не характеризует как живет средний человек. Может быть все деньги украли олигархи и 99% населения в нищете.
      Поэтому вводиться «медиана». Допустим у нас 1000 человек мы отсортируем их по доходу и доход человека под номером 500 будет медианой.
      После среза по бета функции среднее немного сдвинется к медиане.
  • +1
    Лучше защититься от технических способов накрутки рейтингов (сами говорите о больших объемах) и грамотно мотивировать пользователей не делать «бездушных» оценок.
  • 0
    Разумное зерно безусловно есть, но опыт подсказывает, что срезать накрутку надо не только «сверху», но и «снизу» и оценки разделить поэлементно.Это конечно усложнит процесс, но и будет отсеивать случайные и накруточные оценки. Тем более, что за пример можно взять оценочную систему судейства в фигурном катании(где еще столько оценочных скандалов было?!) ru.wikipedia.org/wiki/Новая_судейская_система_(фигурное_катание)
  • +2
    Хех, было у меня задание, накрутить некий рейтинг. Стратегия была выбрана очень простая:
    1. Подогревались все варианты. Что давало видимость всплеска активности вцелом, а не только на конкретном варианте
    2. Рост колличества голосов за нужный вариант (ускорение) было плавным, что давало ощущение правильной рекламной политики, а не накрутки.
    3. Рандомизация процесса.

    Паралельно с нами накручивались и другие варианты, но слишком уж в наглую, так что их всё таки резали. Мы на их фоне смотрелись отлично :)

    Вывод — лучше действительно защищаться от накрутки технически, а не статистически. Простой анализ от грамотно организованной накрутки не спасёт.
    • 0
      ну машину обмануть всегда можно. Технически избавиться тоже сложно. У дружеской SEO студии есть 10.000 тыс. апишников (для парсинга выдачи гугл). Если авторизация через вконтакте, то я за пару часов могу взять пару тысяч ботов вконтакте.

      Единственный 100% вариант только сложная капча при голосовании. Либо при регистрации и голосовать могут только авторизованные пользователи. Однако, это не всегда уместно. Во вторых, возможен флеш моб.
      • 0
        100% варианта, по-моему, просто не существует. Сочтете ли вы накруткой какого-то рейтинга, если у вас будет 100% уверенность, что каждый житель Земли проголосовал гарантированно добровольно и уникально? А если узнаете, что при соблюдении условия добровольности и уникальности каждому, предоставившему скриншот на 4 (из 5 балллов) платят 100$?

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.