Здравствуйте, доктор, у меня проблемы с кармой

«90-60-90», или проезд по городу мимо гаишника


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

Гаец с радаром


Я сначала обрисую все проблемы, которые мне видны, а потом уже постараюсь сделать оптовые выводы.

Проблема 1. Весовые множители


Кармические показатели нельзя просто складывать и вычитать, как, например, это сделано на хабре. Это достаточно очевидно: сравним двух пользователей с одинаковой кармой (скажем, = 50) — Васю и Петю. При этом у Васи этот полтинник получился вычитанием одного минуса из пятидесяти одного плюса (соотношение понравилось­­­­­ ÷ не понравилось = 50 ÷ 1). А у аксакала Пети — пятьсот плюсов и 450 минусов (то есть апологеты и антагонисты поделились примерно поровну). Мне кажется весьма прозрачным, что карма Васи должна была бы быть больше Петиной, несмотря на молодость и недавнюю регистрацию.
Но если просто тупо нормировать карму на общее число голосов, получится не совсем то, что мы ожидаем: Вася станет в 50 раз круче Пети, за которого проголовало в 20 раз больше людей, а он умудрился остаться в плюсе. Кроме того, может быть злобные тупые тролли в количестве трехсот человек, которые минусуют вообще всех, у Пети давно побывали, а к Васе еще не заходили?

Проблема 2. Объективные и субъективные показатели


Да, показатели бывают и чисто объективные (под кат прошли 98% увидевших анонс), и чисто субъективные (Вася зашел к Пете в профиль и наплевал ему в карму), но все же подавляющее большинство — представляют из себя нечто среднее. Например, количество добавивших в закладки — статистически более-менее объективный показатель, а количество ­± за статью — даже на большой выборке проголосовавших ближе к субъективному. Кроме того, при расчете субъективных параметров имеет смысл учитывать склонности голосующего (если кто-то тратит весь отпущенный ресурс на минусование — его минусы должны обесцениваться, а плюсы — наоборот — дорожать, и наоборот).

Проблема 3. Очевидные и неочевидные показатели


Очевидным показателем я считаю, например, количество добавивших заметку в закладки. Это важный параметр, но его нельзя использовать напрямую: кто-то добавляет в закладки каждую вторую заметку, кто-то — одну в год. Поэтому имеет смысл пользоваться параметром, нормированным по склонности добавляющих к «закладыванию». Что-то вроде нормированной обратной частоты добавления закладок. Тогда Вася, который на сервисе неделю и «закладывает» первый раз, и Петя, который на сервисе год и это его пятидесятая закладка — внесут в карму одинаковый вклад, а Коля (месяц на сервисе, 30 закладок, «Синдром „Total Recall“») — в 7 раз меньший.
К неочевидным имеет смысл отнести, скажем, «атмосферу» в комментариях (общую сумму плюсов/минусов). Например, заметка, в комментариям к которой нет ни одного минуса (или число их пренебрежимо мало́) — наверное, скорее полезна, чем холиварна. Общее количество комментариев, при этом, как мне кажется, в качестве параметра выступать не может никаким образом.

Проблема 4. Карма vs. Рейтинг


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

Сущности


Я смог придумать следующие сущности, по которым можно оценивать:
  • запись
  • комментарий
  • действие (± и подобные)
  • общая активность

Все субъективные оценки должны быть нормированы как на самого пользователя (ценность оценки обратно пропорциональна балансу таких оценок у данного пользователя), так и на их общее количество.
Теперь попробуем все это свести воедино.

Записи и комментарии


Записи и комментарии могут быть оценены и∕или добавлены в закладки, кроме того на них может быть дана ссылка как извне, так и изнутри хабра. Вес комментария (и сопутствующих оценок) — меньше, чем у записи.

Действия и прочая активность


Эти два параметра могут быть только измерены.

The Summing Up


Собственно, серебряной пули у меня нет. Коэффициенты нуждаются в эмпирической подгонке. Но я полагаю, что формулы расчета обоих упомянутых мною параметров должны выглядеть примерно так:

Карма = НОРМall ( ∑ НОРМthisв карму) )

Рейтинг = НОРМall ( ∑ НОРМthisза топики) ) + ⅓ × НОРМall ( ∑ НОРМthisза комментарии) ) + F ( количество внешних ссылок ) + ⅓ × F ( количество внутренних ссылок ) + ∑ НОРМthis (в закладках)

Весовые коэффициенты каждого члена этой формулы нужно подгонять вручную.

Конструктивная, а также деструктивная критика очень приветствуется. Уверен, что я что-то важное упустил и надеюсь дополнить методику с вашей помощью. К сожалению, у меня нет возможности пройтись по всем записям на хабре и посчитать эти числа вручную (а при наличии прямого доступа к базе — это пара запросов). Если бы удалось склонить администрацию — нет! не изменять существующую систему! — но посчитать еще эти два значения для всех пользователей, было бы круто. Ну, мне так кажется.
+10
31 марта 2011, 10:44
4

комментарии (28)

+3
Toy #
Была ситуация, когда за один неудачный коммент, мне слили карму в минус, при этом я не мог писать заметки (несмотря на то что очень хотел, и у всех заметок положительный рейтинг). Так и гробят мотивацию…
+1
padla2k #
Мотивация не должна быть направлена на получение положительной кармы. Это бред.

Если есть что сказать — пиши. А уж понравится это кому-то или нет, тут уже от контингента читателей зависит. Люди, не заинтересованные в фаллометрии, просто напишут вам в чем вы не правы, ну и может минус за комментарий. В профиль вам гадить никто не будет. Будете нести откровенную и не аргументированную чушь — готовтесь.
+2
Toy #
Вы неправильно меня поняли, под мотивацией я имел ввиду желание что-то писать здесь статьи, т.к. на момент воодушевления у тебя может быть недостаточно кармы (несмотря на то, что твой рейтинг больше сотни и все твои статьи в хорошем плюсе), после того как карма нарастает (за счет знакомых, хочу сказать, т.к. за комментарии очень редко ставят плюсы), момент бывает явно упущен и сообщество лишается потенциально интересной статьи.
–4
padla2k #
Нет кармы — напиши в Песочницу. ;-) Если уж есть воодушевление…
+5
vanfukov #
В песочницу тоже нужна карма.
0
matiouchkine #
Скажите, вот конкретно эта запись — подходит под определение «откровенная и не аргументированная чушь»?

Я специально поставил этот социальный эксперимент. С момента появления записи карма моя уменьшилась на 8. Мой прогноз: еще где-то -20 мне точно светит.
0
padla2k #
Это уже «работа головного мозга по ключевым словам» — карма, ай-ай, рейтинг, ай-ай. ;-)
0
matiouchkine #
Это социальный эксперимент по тестированию головного мозга окружающих по ключевым словам ;-)
0
AlexeyK #
Ясно одно, карму и рейтинг нужно «допиливать»
0
matiouchkine #
Ну вот я попытался внести некоторый конструктив.
0
AlexeyK #
Предложений вносится много, а вот желания что-то делать у владельцев мало.
+2
matiouchkine #
Ну правильно, это же первый принцип настоящего хакера: если все работает — отойди, сынок, и ничего не трогай!
0
AlexeyK #
Здесь не в этом дело, карма работает давно и стабильно с технической точки зрения. Проблема в ее социальной нагрузке.
0
khizhaster #
Лучшая и простейшая идея, которая когда-то прозвучала в одном из «очередных постов про карму», это такая себе «дзен-карма» и состоит из одного правила:
«поставил минус где угодно — получи минус и себе в карму.»
И только для минусов.
+1
TheShock #
На самом деле не согласен. Иногда минусы бывают нужны.

Куда круче было бы: «ставишь минус — высвечивается твоё имя и обязан прокомментировать».
И все видят, кто кому минус поставил. А если ты поставил минус за то, что тебе поставили минус — это пишется отдельно.
–1
matiouchkine #
Иногда минусы бывают нужны.

Я 10 лет назад взял себе за правило никогда никому нигде не ставить минусов. Даже за комментарии. И знаете, мне с тех пор как-то даже лучше дышится. И энтропия без нужды не растет.
0
TheShock #
Угу. Читал в прошлом топике. Минусы и плюсы — это просто инструмент высказывания мнение. Не надо их воспринимать как кару/дар господний)
0
matiouchkine #
Да ну, разумеется, никто и не воспринимает, конечно же.

Я имел в виду «хочешь похвалить — похвали, хочешь поругать — промолчи». Негативное мнение, высказанное вслух, затемняет ауру и засоряет карбюратор :-)
0
TheShock #
Негативное мнение, высказанное вслух заставляет человека задуматься и, возможно, улучшить себя!
0
matiouchkine #
Знаете, я борюсь с мирозданием по мере сил.

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

Я не судья недалеким людям. Зато я судья людям умным — и с удовольствием всегда разделю с ними карму.

;-)

+1
khizhaster #
«На самом деле никакого самого дела нет» (с)

Так вот, никто минусов не отменял, они будут, только они будут действительно обоснованы и мотивированы, никто не захочет себе минус в карму просто так, потому каждый минус будет действительно значимым минусом.
А второе — никто не будет писать никаких пояснений, большая часть населения просто жмёт мышкой плюсики и минусики, это уже обсуждалось и голосовалось сотни раз. Про деанонимизацию оценок тоже говорили, руководство обосновало свои причины и отказалось, если не ошибаюсь. В текущей системе деанонимизация даст больше негатива, чем пользы.
0
matiouchkine #
Не совсем так.

Я же предлагаю в основном нормализацию по склонностям. Если у имярека только минусы из-под пера выходят — то его плюс должен быть ВАЖЕН, а минусы — так себе, по сотне за штуку. И наоборот.
–1
matiouchkine #
Да, это правильная идея.
0
bondbig #
Далась всем эта карма. Циферки и циферки.
Кстати, от «деанонимизации» голосов за топики/комменты/карму, ничего принципиально не меняется.
0
matiouchkine #
Лично мне эти циферки не дались абсолютно. Я бы никогда не вспомнил вообще, что это такое, если бы мне вдруг в один солнечный день не запретили опубликовать заметку. Вскрытие показало, что кому-то числом чуть более двадцати что-то не понравилось в моем абрисе (почему, за что — осталось невыясненным).
Иными словами, я подготовил текст, нажал кнопку — и был вежливо приглашен пройти в жопу.
При том, что схватить минус за запись/комментарий для меня — явление редчайшее.
Вот я и распинаюсь.
0
bondbig #
Да, тут есть шероховатости. И даже не с подсчетом циферок, а с порогами кары и жесткостью этих кар. На мой вкус, не стоит рубить функции постинга, голосования, etc., стоит градуировано сокращать возможность реализации этих функций. Т.е. меньше карма — больше пауза между действиями. При нуле, например, один топик, в неделю, при -30 — в месяц и пауза между комментами (что, например, уже реализовано) и так далее. Это я так, фантазирую, циферки следует обдумать. Такой подход сгладит напряженность и даст возможность, при желании, реабилитироваться. Тролли и спамеры будут быстро загнаны в глубокий минус (также нужен порог, при котором происходит автоматический бан, -200, скажем), просто оступившиеся разок-другой смогут вернуться к положительным значениям.
0
matiouchkine #
Я не случайно так напираю на «объективное очевидное» и «субъективное неочевидное» в заметке. То, что вы говорите — безусловно, тоже разумно. Но я в основном стараюсь разделить пузомерство и объективную статистику.
И нормализация, предложенная мной, тоже нигде раньше в подобных обсуждениях не предлагалась, а ведь ценность твоего плюса просто обязана зависеть от того, как часто и много ты ставишь плюсов.
В общем, я на всякий случай записал все, что у меня в голове накопилось по поводу рейтингов. Вдруг кому да пригодится :-)
0
xtra #
Кармо-проблема :-( Раз в месяц возникает желание и возможность написать интересный пост, но карма не позволяет. Что делать ума не приложу, может быть посоветуете?

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