[Из песочницы] Как я ищу интересные статьи в медиа-блокчейнах GOLOS/STEEM или рекомендация статей на основе репутации по тегам

image

В целом в статье речь пойдет о том, как, руководствуясь вкусами и талантами пользователей платформы golos.io/steemit.com, получить информацию о том, что понравится аудитории. В основе предложенного рейтинга лежит идея своеобразного делегирования «вкусов».

Кому хочется больше деталей о платформе Голос — смотрим сюда или, если в трех словах, — то сюда. Стим и Голос — братья, есть нюансы, но они нам не важны.

Но для прочтения и понимания данной статьи достаточно будет знать, что golos.io/steemit.com — это платформы для ведения блогов (на базе блокчейнов GOLOS/STEEM, т.е. с оплатой в криптовалюте, но это не так уж важно) и что на них (а точнее, в блокчейнах GOLOS/STEEM, но и это тоже не так важно) за «некоторые» действия пользователя (например, за публикацию авторской статьи, но все малость сложнее) начисляется репутация, которая берется нами за основу.

Т.е. суть такова — есть некоторые активисты платформы, и качественным показателем их активности и успешности можно считать их общую репутацию.


Теперь к сути самой идеи выборки статей (т.е. рейтинга)

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

Т.е. физически покрыть такой объем — невозможно (лично для меня точно, но, быть может, есть и «информационные маньяки», кто знает?).

Но, если задуматься, при правильном подходе нам это и не нужно.

Ход мыслей таков: если пользователь публикует какой-то материал с тегом, например, «двигатель», и набирает лайки от местных активистов — растет его репутация по тегу «двигатель» + общая репутация пользователя. Т.е. если статья многим понравится, то его репутация в этом теге значительно вырастет. Если статья выйдет «так себе» по мнению пользователей (=понравится небольшому количеству людей), то и репутация хоть и вырастет, но незначительно. А если не понравится — то репутация автора может даже и в «минус» уйти.

Т.е. в целом при должном уровне репутации получается такой «народный» специалист именно по тегу (читай — теме) «двигатель».

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

В этом и состоит главная идея и вся «соль» рейтинга.


Итак, давайте еще раз и кратко.


Пример


  • Петя опубликовал статью с тегом «еда», его лайкнул Ваня с репутацией Х. Значит, Петя теперь имеет Х репутации по тегу «еда», и величину Х будем считать за показатель его умения. При этом по всем другим тегам Петя имеет нулевую репутацию (т.е. совсем как на Хабре, нет статьи — нет голоса).
  • Через какое-то время Лена публикует статью с таким же тегом, «еда», и получает лайк от нашего Пети. Петя имеет репутацию Y как пользователь, и она пойдет Лене как Y репутация по тегу «еда», а также Петя имеет репутацию по тегу «еда» Х, и эта репутация Х пойдет Лене к рейтингу статьи по тегу «еда». Т.е. рейтинг статьи формируется репутацией по тегам тех пользователей, которые эту статью лайкнули. Например, если кто-то, кто ни разу не публиковался по тегу «еда» лайкнет Лену, от него ее статье не прибудет никакого рейтинга по этому тегу.


Что нам это дает?


  • Рейтинг будет удовлетворять вкусам большинства, поскольку формируется «народно-признанными» специалистами платформы. Признание ценности статьи (=лайк) уже «народно-признанными» специалистами платформы фактически гарантирует высокие шансы на ее успех у большинства сообщества (репутация по тегам будет выше у тех, кто нравится большинству, а те, в свою очередь, будут формировать рейтинг статей для большинства — так реализуется обратная связь в системе, в виде своеобразного делегирования вкусов. Это — фундамент идеи рейтинга).
  • Репутация пользователей всегда растет, и всегда размазывается с ростом числа пользователей. Т.е. невозможно накрутить себе репутацию по тегам и постоянно влиять на рейтинг. Чтобы это было возможным — необходимо публиковать такие статьи, которые будут нравиться как можно большему числу людей, да еще и по всем тегам. А с ростом числа людей в системе вклад от одного будет все меньше. Т.е. в таких условиях манипулировать рейтингом становится практически невозможным (практически — потому что я знаю о теории вероятности, с точки зрения которой я могу быть пришельцем с вероятностью > 0).
  • Ввиду пункта выше мы получаем иммунитет не просто от накрутки, а от накрутки ботами! Бот-нет становится бесполезен в данной экосистеме. Писать статьи, которые зацепят человеческие души — это вам не капчу вводить)
  • Вводится понятие некой теговой «экспертности». Дамы, публикующие статьи с тегом «рецепт», не влияют на репутацию статей с тегом «синхрофазотрон» или «адронный-коллайдер». Т.е. люди, постоянно публикующие «котиков», не испортят жизнь другим, у всех «кружки по интересам».)
  • Репутация по тегам у пользователей растет вместе с платформой, т.е. она — величина непостоянная, и при большой аудитории мы не получим постоянства (динамика в виде смены кумиров).
  • В данном сценарии большее значение имеет не количественный, а качественный параметр. И это, в свою очередь, тоже идет во благо самой платформе, обеспечивая стимулирование на «завоевание сердец» большей аудитории.
  • Ну и, конечно, выкидываем фактор самонакрутки, зачем оно нам?

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

Конечно, платформа имеет не так много кураторов (=тех, кто лайкает) в сутки, и только последние недели число статей перевалило за 1000, что не дает оценить всех прелестей рейтинга в полной мере (хотя для того же steemit.com, англоязычного «брата», активность выше и динамика в рейтинге боле высокая).

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

И этот вариант рейтинга меня порадовал, поскольку при небольших масштабах платформы, он:


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


P.S.

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

© Geektimes