У меня есть сайт, где участники голосуют за (или против) сообщений друг друга (как на этом сайте) на основе качества самих сообщений. То есть у меня есть как минимум:

  • Дата голосования.
  • Кто проголосовал.
  • За кого проголосовал (автор поста).
  • Ид поста.
  • Прочие параметры.

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

  1. Голосование против «обидчика».
  2. Голосование за «кумира».
  3. Голосование за коллегу.
  4. Голоса за свои сообщения с помощью фиктивных учетных записей.

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

Подскажите, как это правильно оценивать результат работы эвристики (находку) с помощью статистики? p-value? Проверка гипотез? Доверительные интервалы? Что-то еще?

Пример 1. Участник А за месяц проголосовал за участника Б 130 раз, и еще за 170 других участников А проголосовал 250 раз в том же месяце. При этом, участник Б создал 220 вопросов в том месяце. Являлись ли эти 130 голосов основанными на качестве или все–таки это были голоса за «кумира»?

Пример 2. Есть четыре участника, которые голосуют друг за друга.

  • Участник №1 проголосовал за участника №2 30 раз из 40 отданных голосов на сайте в общем.
  • Участник №3 проголосовал за участник №1 4 раза из 2 отданных голосов на сайте в оощем.
  • Участник №4 проголосовал за участника №2 100 раз из 400 отданных голосов на сайте в общем.
  • Участник №1 проголосовал за участника №4 5 раз из 40 отданных голосов на сайте в общем.

Кто из участников голосовал участвует в «цепи» голосования «за коллег»?

задан 13 Сен 11:18

Думаю, любая формальная система априори имеет дефект.

Наиболее эффективна, уверен, будет система на основе учёта профессионального мнения доверенных лиц — диктатура модерации.

(13 Сен 21:21) FEBUS

У меня тоже складывается ощущение, что формализовать это всё очень трудно. Слишком много разнообразных ситуаций, где интуитивно всё понятно, но это нелегко запрограммировать для автоматического управления. Не из-за математики, а из-за обилия разного рода условий типа "если ... то".

И я, конечно, сторонник разумной "диктатуры". (Сразу вспомнилась знаменитая Теорема Эрроу о Диктаторе :))

(14 Сен 0:02) falcao
4

Вот и я подумал об этом. Мой старый друг и коллега написал хорошую статью в "Кванте" об этом ещё в 1992 году. То ещё было время.

http://kvant.mccme.ru/au/pahomov_v.htm

(14 Сен 0:39) FEBUS
1

@FEBUS: эту статью я помню с давних времён, и её беру за основу при изложении этого материала на своих лекциях.

(14 Сен 1:09) falcao

В пятницу иду на юбилей — Валерию Фёдоровичу 75 лет!

(14 Сен 1:50) FEBUS

@FEBUS: передайте ему тогда, что написанные им много лет назад статьи активно используются!

(14 Сен 2:35) falcao

@falcao Спасибо! Подскажите, пожалуйста, не могли бы вы предложить какие–либо решения для конкретных примеров? Это очень поможет если не решить задачу, то понимать в какую сторону продолжать поиск. Заранее спасибо!

(14 Сен 21:41) Expert

@Expert: я бы везде исходил из критерия несомненности. Даже если кто-то 30 раз из 40 проголосовал за X, это ничего не значит само по себе. Другое дело, если кто-то одновременно оставил очень много голосов "за" или "против" -- это может свидетельствовать о явной "накрутке". Подозрения также вызывает, когда ничтожные по содержанию вопросы (типа рядовых школьных домашних заданий) кто-то сильно "плюсует" -- такое на форуме случалось. Но это автоматизировать ещё сложнее. С другой стороны, случаи чего-то "вопиющего" обычно становятся заметны сразу.

(14 Сен 23:54) falcao

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

(15 Сен 1:21) True_Romance
2

@falcao: Я вашу просьбу выполнил.

(19 Сен 5:10) FEBUS

@falcao, как придти к вам на лекции? ))

(19 Сен 15:38) olga5

@olga5: я не знаю, в каком городе Вы находитесь -- предполагаю, что в Москве. Но я в этом городе только учился, а живу в другом.

(19 Сен 16:12) falcao
показано 5 из 12 показать еще 7
10|600 символов нужно символов осталось
Знаете, кто может ответить? Поделитесь вопросом в Twitter или ВКонтакте.

Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×237

задан
13 Сен 11:18

показан
147 раз

обновлен
19 Сен 16:12

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru