[Техническое] Рейтинг - настоящее и будущее

Фиркрааг · А зачем этот регрессивный рейтинг вообще?

И почему у меня обычного рейтинга стало больше?

Карма, плюсики и минусики

Голосование в минус недоступно. Никому, даже админу.

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

В будущем, возможно, я добавлю кнопку «пожаловаться на пользователя».

Обычный рейтинг

Обычный рейтинг пересчитан на основании голосов за ваши посты и комментарии.

При этом уничтожены оценки, сделанные людьми, решившими навсегда нас покинуть (с удалением всего своего контента). Я счел, что к контенту относятся не только посты и комментарии, но и все проставленные оценки.

Рейтинг равен [сумме голосов за топики] + 0.1 * [сумма голосов за комментарии].

Почему его стало больше (а у кого-то меньше)? Скорее всего ответ надо искать в преданьях старины глубокой — когда-то давно на имажинарии работал другой механизм начислений рейтинга, влияющий на карму и силу одновременно. Потом админ поставил плагин SimpleRating, убирающий силу и меняющий принцип начисления рейтинга. Нюанс в том, что движок ливстрита записывает рейтинг в три разных места:

1. В таблицу `ls_vote` записываются результаты голосований (в плюс, минус, воздержался) к разным сущностям (topic, comment, blog)
2. В таблицу `ls_topic` или `ls_comment` записывается текущий рейтинг топика или комментария (точнее, соотв. поле изменяется на единицу при обработке факта голосования)
3. В таблице `ls_user` одно из полей меняется на ±1 или ±0.1.

В итоге, рейтинг пользователей в таблице `ls_user` изменялся сначала по одним правилам, а потом по другим. Отсюда и расхождение.

Кроме того, несколько лет назад на сервер набегали анонимные минусосеры. Коммуниздий их выгнал, но пересчитал только рейтинги топиков. Суммарные рейтинги пользователей не менялись.

Регрессивный рейтинг
(правильно, конечно, регрессирующий)

Эта штука, скажу честно, мне приснилась (и мучала меня всю ночь).

Вчера я задумался, а можно ли ввести какой-нибудь рейтинг, отражающий актуальную активность пользователя, а не его «вклад в ИНРИНРЯ» за всё время?

Очевидно, последняя активность пользователя должна влиять на рейтинг сильнее, чем активность три года назад. То есть пост, написанный в позапрошлом году, слабее влияет на рейтинг, чем пост, написаный вчера. Как?

Пока что, навскидку, используется следующая форумала:

$${R} = {R_t} * {1 \over 1 + MAX(0, Y — F_c)}$$

Где
R — добавка к рейтингу
Rt — реальный рейтинг топика
Y — сколько полных лет прошло с момента создания топика (0 — не более года назад)
Fc — количество добавлений этого топика в избранное

(Здесь используется кастомный рендер MathML, поэтому если вы видите что-то сломавшимся — ПКМ на картинке, select render -> SVG)

То есть пост, написанный в этом году дает +1 к рейтингу
Пост, написанный в прошлом году — + 1/2 к рейтингу
В позапрошлом — + 1/3 к рейтингу и так далее.

Важно: «пост, созданный в прошлом году» — это пост, созданный более чем 365 дней назад, то есть год считается астрономический, а не календарный.

Разумеется с течением времени окно «сегодняшнего года» двигается по временной шкале и пост, написанный в ноябре 2017 года через два месяца будет считаться прошлогодним.

Влияние количества добавлений поста в избранное сейчас прямое — пост, добавленный в избранное дважды и написанный 5 лет назад считается как написанный 3 года назад.

С этими коэффициентами можно (и, наверное, нужно) поиграться.

Важно: реальные рейтинги комментариев и постов остаются неизменными, пересчитывается только регрессивный рейтинг (занимает это меньше секунды и делаться будет раз в сутки)

Как-то так.

P.S. Тут я попытался применить свежепоставленный плагин для разметки математических формул, но он работает как-то странно. Поэтому красивая формула в тексте только одна.

57 комментариев

avatar
Спасибо за развернутые ответы.

Считается ли добавление топика в избранное самим собой?

А то этот механизм скорее помогает находить записи, чем давать оценку. Мои топики лежат в моем собственном избранном для удобства поиска.
avatar
Хм, мда. Считается. Не учел-с. Завтра подумаю, как это эффективно учитывать.
avatar
Можно отключить взаимодействие с рейтингами? Хотя бы визуально. Последнее время стараюсь больше словами давать оценки и отзывы, но мой рейтинг всё ещё отвлекает.
avatar
Ты хочешь перестать видеть плюсики, минусики и рейтинг совсем?

Ну… я подумаю, что можно сделать.
avatar
(Здесь используется кастомный рендер MathML, поэтому если вы видите что-то сломавшимся — ПКМ на картинке, select render -> SVG)

Это вообще или к какой-то части поста? Потому что я вижу попытку в математическую формулу, но не вижу картинок.
avatar
вот вместо неё должна быть красиво срендеренная формула. Она и была… первые минут 15 после создания поста. Потом перестала работать.
avatar
Я бы оставил рейтинг/карму как есть — прозрачный механизм начисления, все ясно-понятно, приятно. Оставить так как это работает на большинстве подобных ресурсах. Это привычно. Кроме того, как уже говорилось, смотреть на медленно, но неумолимо убывающий рейтинг банально неприятно. Никаких плюсов от этого не будет.

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

Но текущая формула для этого имхо не очень подходит, тк длительность протухания исчисляется годами (:
avatar
А нельзя ли оставить рейтинг комментов/топиков без влияния отрицательных голосов на рейтинг пользователя?
avatar
Отрицательный рейтинг и последующий бан за несогласие с активно жмякающими голосовалку — это, конечно, плохо, но как барометр «интересности для сообщества» рейтинг интересен и полезен (читаю, ставлю ±/просмотрел и не думаю, что могу ненароком кого-то забанить).

Лучше бы в комментах прикрутить счетчик плюсов и минусов вместо суммы, как в топике.
avatar
Лучше бы в комментах прикрутить счетчик плюсов и минусов вместо суммы, как в топике.
Вомбат тупит и не понимает простых вещей. Можешь объяснить еще проще? ;)
avatar
Текущий рейтинг (который зеленый) учитывает все голоса. В минус можно было голосовать до передачи имажинарии под мой присмотр.

Рейтинги пересчитаны — и многие, сидевшие «в минусах» (Ангон, к примеру) — сейчас имеют положительный рейтинг. Как оно и должно было быть, на самом-то деле.
avatar
Голосование в минус недоступно.

Почему?
avatar
А зачем?

Понимаете, механизм кармы — как механизм самомодерации сообщества — работает эффективно на площадках с большой аудиторией. Минимальный размер аудитории, по моей оценке, 100 человек.

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

На имажинарии этот механизм не работает. Нас пока что меньше 100.
avatar
Голосование в минус недоступно.
Я буду помнить тебя, Имажинария.
avatar
Просто теперь надо будет каждый раз на клаве набирать «ты хуйню сказал» или «ты хуй».
avatar
Вот именно. Выполнение самых частотных и нужных функций интерфейс должен обеспечивать за счёт минимального числа операций.
avatar
Кнопка «минус» при этом оставлена, чтобы каждый визит на Имку причинял пользователю танталовы муки…
avatar
Убрана, так уж и быть :)
avatar
Вот мат-то зачем? (Рука ищет кнопку минуса).
avatar
Вот кстати да.
Топики я минусую довольно редко, но когда начинается «бурная дискуссия» про то, кто здесь медвежья подстилка, а кто граф простой — хочется комментаторов несколько осадить.
Пусть минус к комментарию слабо влияет на рейтинг, психологически он всё равно значим.
avatar
Убрать минусы за топики, оставить за комментарии? Хм…
avatar
Голосование в минус недоступно. Никому, даже админу.
Что мешает просто убрать автобан для заминусованных? Плюсики-минусики это индикатор общественного мнения. Кому оно важно, учитывает все мнения, а кому нет, может просто класть прибор на минусы, если за них не будет бана.
avatar
Резонно.
avatar
На самом деле это, по доброму, три разных оценки — «это оскорбительно», «это неверно» и «это неинтересно». Если для третьего оценка скорее не нужна, то вот для первых двух в идеальном случае лучше разделять «я не согласен» и «это неприятно».
avatar
Кстати, автосокрытие — которое раньше было для -5 и ниже постов, вполне себе и сейчас может играть роль, если энное количество народа пометило пост оценкой «оскорбительно» как «содержащий провокацию и прочие NSFW ИНИНРЯ». Не затыкать рот автору, а беречь нервы просматривающих.
avatar
ещё, кстати, идея — автосокрытие можно поставить по низкому рейтингу ИЛИ по фильтру, скажем, матерности. плюс, если появится когда-то кнопка «нысыфывы», то по ней тоже.
avatar
Я категорически против любой цензуры контента на основании общественного мнения.
avatar
Тогда, добро пожаловать на двач или как это сейчас там называется.
Последний раз редактировалось
avatar
три разных оценки — «это оскорбительно», «это неверно» и «это неинтересно»

Это интересная идея. Но я не уверен, что смогу реализовать это за разумное время.

Но я прямо таки вижу эти иконки :)
NSFW — оскорбительно
знак, запрещающий проезд — неверно
?WTF? — это неинтересно
avatar
ИМХО, «оскорбительно» и «не соответствует правилам» — конструктивно выделять только если попутно летит кляуза модератору.
А «неинтересно» и «неверно» — или дело вкуса и обычного минуса достаточно («ДнД — лучшая система в мире»), или в случае фактической ощибки («есть всего три редакции ДнД: 3, пасфайндер и некст») действительно требует развернутого комментария помимо общего дизлайка.
avatar
По поводу правил — вообще отдельная история.

Возможно, когда-то, во времена Дориана, дам и кавалеров правила были.

При переезде на ливстрит их точно не появилось.

Все эти годы никаких правил не было.

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

Похоже, ряд граждан считают, что ролевая социальная сеть должна быть без правил совсем. Или уж точно без правил, которые могу ввести я ;-) Ну, тут стоит вспомнить первоапрельскую шутку от Коммуниздия, когда имажинария стала квазианонимной (все пользователи стали анонами и без аватарок).

Ну, а чем анонимусам двач не угодил? Там вполне можно жить без этих ваших оскорбляющих свободу правил.

Так вот, по поводу правил.

Я хочу взять за основу правила ФМРИ: rpg-world.org/index.php?action=pages
avatar
В телеграм чатах есть боты для бана рекламных юзеров. Там работает быстро… скорее всего подобно на сайте будет трудно ввести.
avatar
Ну да, тут нужна кнопка «кляуза модератору» (и сам модератор).
avatar
Что-то похожее работает на тостере (toster.ru), но там плотно модерируемый ресурс.

Тут вопрос то на самом деле сводится вот к чему:

А) на ресурсе механизм самомодерации
Б) на ресурсе работают модераторы

Я считаю, что ни тот, ни другой механизм по отдельности неэффективны.
avatar
Писанные правила работают если:

а) есть тот, кто следит за их выполнением (и наказывает невыполнение)
б) уровень социального сознания настолько высок, что все соблюдают правила по умолчанию.
avatar
Ладненько, предложений по рейтингу дофига, но это не самая важная задача на сегодня. :)
avatar
показывать комментарии с рейтингом не ниже N
avatar
На одном форуме я видел такое разделение:
Like — Hugs — Informative — Insightful — Funny
Так что у поста получается 5 шкал оценок. В общий рейтинг они как-то сводятся, но детали не смотрел.

У нас, с учётом специфики, можно сделать примерно так
Like — просто понравилось (круто).
Hugs — обнимашки — дай тебя пожалею.
Useful — информативно, полезно, наводит на идеи
Funny — смешно
Rude — грубо — мат, троллинг и прочее неджентльменское поведение
Debatable — НИСОГЛАСИН! — неправильный мир тьмы, ДНД-ДВ-ГУРПС и прочая вкусовщина.

Скрывать по умолчанию — комментарии где много Rude.
avatar
Хороший форум, да.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.