О рейтинге постов — ПИПМАЙ: Лучшее со всей сети

О рейтинге постов

Здрасте здрасте, мои ненаглядные! Угадайте, что у меня есть для вас? Да это же ваша любимая теоретическая база! *Пипчанские яшперицы агрессивно шипят* Но-но! Полегче! Это скучно. Но это и важно.

Сегодня про анализ той информации, которую можно собирать и получать из постов. Так что не совсем только про рейтинг будет.

Итак, для начала надо определиться, какие параметры можно получить с опубликованного поста в процессе его существования. Я уже постарался, так что вот списочек:

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

Us - UsersSeen, количество пользователей, видевших пост в ленте

- ViewsComments, количество захождений в комментарии поста

Uvс - UsersViewedComments, количество пользователей, заходивших в комментарии поста

С - Comments, количество комментариев

Uc - UsersCommented, количество пользователей, оставивших комментарии 

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

Отдельно стоит заметить, что даже и C - ужасно непоказательные параметры. считается от количества заходов в комментарии, даже если это делает буквально один и тот же пользователь. Можете сами убедиться в этом, прожав "обновить страницу" несколько раз, когда вы зашли в комментарии к посту - количество просмотров будет повышаться на 1 с каждым обновлением страницы. Этот параметр отображается под пиктограммой в виде мишени возле поста.

С - по сути тоже не очень полезен, поскольку это количество комментариев как таковых, а не количество пользователей, участвующих в обсуждении поста. 10 комментариев от 10-и пользователей - это одно, а 10 комментариев от 2-х пользователей, закусившихся на каком-то вопросе и посылающих друг дружку куда подальше - это другое.

Теперь представим, что все означенные параметры из списка собираются. Какую информацию можно было бы получить на их основе?

Для начала самое очевидное:

R = Pg - Ng

где:

R - Rating, значение рейтинга поста

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

И да, R - это буквально тот самый рейтинг поста, который есть сейчас. Его значение показательно: отражает, насколько сильно вверх или вниз тянет этот пост рейтинг пользователя, его опубликовавшего.

 

Далее можно рассчитать то, насколько пост не оставляет равнодушными пользователей:

W = (Pg + Ng) / Us

где:

W - Warmth, неравнодушие пользователей

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

Us - UsersSeen, количество пользователей, видевших пост в ленте

W буквально отражает, какая часть от общего числа пользователей, видевших пост, поставила ему оценку. Диапазон значений от 0 до 1, где 0 - никто не поставил оценку, 1 - все, кто видел пост, оценили его.

Опять же не стоит забывать про репрезентативность данного показателя, выражаемую значением Us.

 

Ещё один любопытный показатель: насколько пост вызывает желание зайти что-то обсудить или посмотреть, что там думают на его счёт. Разумеется, он может быть объективным только если количество комментариев C не будет отображаться, как это делается сейчас.

A = Uvc / Us

где:

A - Attraction, насколько пост завлекает в свои комментарии

Uvс - UsersViewedComments, количество пользователей, заходивших в комментарии поста

Us - UsersSeen, количество пользователей, видевших пост в ленте

0 >= A >= 1; Репрезентативность: Us. A отражает какая часть пользователей из тех, кто видел пост, заинтересовалась его обсуждением, зайдя в комментарии.

 

И самое, пожалуй, интересное - обсуждаемость поста:

По сути этот параметр находится в прямой зависимости от количества людей, оставивших комментарии, и количества самих комментариев. Можно просто получить произведение для C и Uc.

Например если в комментариях отписалось 8 человек, а всего комментариев 48, то обсуждаемость = 8 * 48 = 384, а если пришёл 9-й и написал ещё комментарий, то уже 9 * 49 = 441. В таких числах сложно ориентироваться - они достаточно быстро растут и очень сложны для анализа.

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

D = ln(C) * ln(Uc)

где:

D - Discussion, уровень обсуждаемости

С - Comments, количество комментариев

Uc - UsersCommented, количество пользователей, оставивших комментарии

Что отдельно приятно в этой формуле: если 1 человек оставил под постом сколько угодно комментариев, то обсуждаемость будет равна 0, потому что ln(1) = 0. То есть логика такова, что если нет хотя бы двух человек, оставивших комментарии, то ничего не обсуждается.

Конечно, можно было бы разработать и более серьёзный способ расчёта обсуждаемости, учитывающий ветвистость комментариев и прочие вещи. Но в целом даже предоставленная формула уже даёт вполне показательное значение.

На примерах:

Под постом 25 комментариев от 3-х юзеров. D = ln(25) * ln(3) ~  3,54

Тут присоединяется ещё один, написав один комментарий. D = ln(25 + 1) * ln(3 + 1) ~ 4.52 (рост обсуждаемости почти в единицу)

И ещё один: D = ln(26 + 1) * ln(4 + 1) ~ 5.30 (рост уже заметно меньше, чем на 1)

Но вот если никто новый не приходит, то вот на 5-х +10 комментариев и: D = ln(27 + 10) * ln(5) ~ 5.81 (рост не такой значительный: +0.51 за прибавку в 10 комментариев)

Пишут ещё +10 комментариев и: D = ln(37 + 10) * ln(5) ~ 6.19 (+0.38)

В общем, всё логарифмически: чем больше есть, тем хуже рост. Таким образом достигаются вменяемые, в пределах 10-и пунктов, значения параметра обсуждаемости. 

 

Ну и как обычно в финале ответ на вопрос: "нахрена, а главное зачем?"

Да на самом деле за тем же, зачем и всегда: для работы всяких автоматизированных систем ресурса. Много чего можно придумать. Статистику опять-таки для анализа собирать, по пользователям или по тегам, например. Как привлекают посты с тегом "политика" или насколько обсуждаемы с тегом "NSFW"...

В общем, теоретическая база на то и база, что не ней уже можно какую-то теорию базировать, что от чего зависит, выявлять. Ведь чтобы когда-то выяснить, что F = m * a неплохо сначала понимать что за m, a и F такие.

А на этом пока всё, граждане пипчане. До новых встреч!


Раскрыть
Billy..X..Bones❤
2 месяца назад

Братан, тебе бы раздел для ЛЛ делать, желательно в начале, а то яебу 

+5
2 Нырнуть
2 месяца назад

Я бы сделал, но мне лень :)

+6
3 Нырнуть
Billy..X..Bones❤
2 месяца назад

Изображение

+1
4 Нырнуть
OmniaMortus⛧
2 месяца назад

ПРОТЕСТУЮ БЛЯДЬ! ОН НЕ ПОЛЕНИЛСЯ ДЛИННОПОСТ ЗАЕБАШИТЬ

Ваша честь, ебаните на кол за то что притворяется адептом лл

+4
5 Нырнуть
2 месяца назад

Нихуя уже! Оправдалочки — не обвинялочки! И вообще я в домике.

+2
6 Нырнуть
OmniaMortus⛧
2 месяца назад

Агаааа а на в домик лени не хватило!!! Хитрозадый расчетун)

+2
stslam
2 месяца назад

А чё, на ноль делить уже можно?

Оценку поставил, но внутрь не заходил...

+2
2 Нырнуть
Strelok13
2 месяца назад

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

З.Ы. для ТС, можно ещё разделить, для длиннопостов, параметр просто просмотрен и открыт пост или развернут прям в ленте. Тоже можно будет увидеть разницу между «лайк не глядя» и  реально просматриваемыми постами 

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

+2
3 Нырнуть
stslam
2 месяца назад

Есть несколько программных способов более-менее достоверно определить, что «пост увиден».

1. Он (пост) ОЧЕНЬ большой и юзверь нажал «раскрыть» (не годится, посты чаще «влазят», чем нет).

2. Юзверь перешёл на комментирование (не факт, что Пользователь действительно увидел пост), но 100% подобных ресурсов приравнивают события «пошёл комментировать» = «просмотрел пост»

3. В момент открытия сайта включить камеру и отслеживать состояние зрачков юзверя (за такое набутыливание положено, но тем не менее)...

Вот, исходя из п.2. очевидно, что ТС любит сову на глобус ради ЧСВ, т.к. ФГМ...

+1
4 Нырнуть
Strelok13
2 месяца назад

На пикабу это как-то по другому было реализовано, там статус увиденного давался и тем постам которые просто пролистнул.

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

[Upd] *на следующий пост со статусом непрочитанного

+2
5 Нырнуть
stslam
2 месяца назад

Гарантию, что прокрученная лента постов не только промотана, но ещё и прочитана — может дать только очень ярый оптимист.

6 Нырнуть
Strelok13
2 месяца назад

Ну, это уже погрешности, хорошо что не стоит задача определить понят ли пост Изображение

7 Нырнуть
2 месяца назад

У меня ни один пост из околонулевых значений не выйдет в таком случае. Даже те, что с картинками, блин :)

+2
2 месяца назад

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

+2
6 Нырнуть
Strelok13
2 месяца назад

Можно попробовать HTTrack'ом вытянуть скрипты

+1
7 Нырнуть
2 месяца назад

Там, скорее всего, JS, у меня серьёзная аллергическая реакция на него.

+3
8 Нырнуть
Strelok13
2 месяца назад

Я бы даже сказал что там гарантированно JS, но, как гласит мудрость башорга, совет номер 0 при изучении js — не учить js ))

+2
Strelok13
2 месяца назад

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

Я отношусь к этой серии постов как к неплохому примеру по аналитике, а не как к советам как надо сделать на Пике.

Если смотреть с этой точки зрения, до и с ЧСВ там всё в порядке.

+4
2 месяца назад

… можно ещё разделить, для длиннопостов, параметр просто просмотрен и открыт пост или развернут прям в ленте. Тоже можно будет увидеть разницу между «лайк не глядя» и  реально просматриваемыми постами.

Насчёт вот этого, у меня мысль такая, что если пост большой и при этом юзер его видел и не развернул, то по логике он же его всё равно видел, то бишь счётчик Us + 1 должен быть. Но так-то да, можно было бы подумать об отдельном счётчике, который для малых постов всё равно, что Us, а для больших имеет +1 только при нажатии «раскрыть полностью», то есть подсчитывает, сколько юзеров ознакомились с полным содержанием. Тогда на основании показаний такого счётчика можно ещё один полезный параметр рассчитывать, подобный завлекательности.

С делением на ноль, понятно, вопрос чисто технический.

+3
4 Нырнуть
Strelok13
2 месяца назад

Тогда на основании показаний такого счётчика можно ещё один полезный параметр рассчитывать, подобный завлекательности.

Можно, чисто с точки научного интереса и понимания нужно ли стимулировать авторов на написание длиннопостов. Может выясниться что длиннопост, разбитый на 2-3 коротких, будет более востребован публикой

+2
5 Нырнуть
2 месяца назад

Это всё дело пахнет серьёзным метаисследованием. И костром, почему-то… :)

+3
Strelok13
2 месяца назад

Порадовало скрытие алгоритмов под спойлер, приятнее читать стало

+4
2 Нырнуть
stslam
2 месяца назад

Порадовало скрытие алгоритмов под спойлер

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

3 Нырнуть
Strelok13
2 месяца назад

Ладно, формул расчета, если включить зануду ))

+2
4 Нырнуть
stslam
2 месяца назад

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

Cinck
2 месяца назад

И не лень же такой хуйнёй занимаца. Мне читать такое в лом, а чел ещё и расписал всю эту хуергу. В двух словах ответьте, на хуя это всё надо?

-1
2 Нырнуть
2 месяца назад

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

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

+2

Новые комментарии