Я проанализировал 4.5 миллиона комментариев с DTF, чтобы тебе не пришлось этого делать. Результат убил
Там была парочка хороших комментариев.
Уже тогда у меня возникла идея сделать все это серьезно, но мне было лень и не было понимания, с чего начать.
Тем не менее, в тот же вечер я все-таки решил попробовать и начал изучать API этого «потрясающего» ресурса.
Глава 1. Ноутбук Ширяева
Девочки, в каком же ахуе я был. Спасибо большое mr2zeek за то, что помог разобраться в этом адовом поносе.
После некоторых экспериментов с API, я понял, что собрать комментарии будет непросто.
Мой первоначальный план сделать условный GET /comments просто потерпел фиаско, потому что у них не работает НИ-ХУ-Я. Система кажется разорванной на части и разбросанной по разным версиям API. Да – да, понимаю, не в приоритете.
Рабочий план был следующий: сначала собрать всех пользователей, затем собирать комментарии от этих пользователей. Но и тут подвох: дело в том, что и пользователей ты просто так сразу всех не получишь.
Короче, что я сделал – сначала я начал парсить самые популярные посты по количеству комментариев, чтобы из комментов вытащить пользоваталей и потом уже по пользователям начать собирать их подписчиков, и затем уже комменты. Благо mr2zeek подсказал ID подсайта ИГРЫ, в котором состоят видимо 99.9999% населения этого сайта.
Сбор подписчиков занял у меня 13 часов на гигабитном канале и с Xeon E5 2670 V3.
А знаете почему так долго? Потому что их API не отдает больше 30 записей за раз, в большинстве методов. Ну да, понятно, что надо отбиваться от таких злостных пидоров как я. Получилось около 500к пользователей. Плюс минус километр.
Погнали дальше – собираем комментарии. Примерно таким же способом, тоже по 30 штук за раз, НО НА ЭТОТ РАЗ Я БЫЛ УМНЕЕ И ЕБАШИЛ В 10 ПОТОКОВ С 10 ПРОКСЯМИ. ВЫКУСИ НОУТБУК ШИРЯЕВА.
После суток упорного труда, весь ваш "контент" теперь у меня на сервере. Мммм, 4531991 уникальных комментариев. Теперь можно и развлечься..
Сразу хочу отметить, что последний комментарий датирован 18 сентября.
Глава 2. Модели
Вопрос — так что с комментами делать? Я в ML не особо шарю, хотя и тусуюсь в команде из девяти датасатанистов.
Изначально хотел загнать все ваши комменты в Word2Vec, чтобы их векторизовать и кластеризовать через k-means. Пробовал на небольшой выборке — вышла откровенная хуета. Коллега подсказал: «Нужно эти комменты разметить и обучать на них модель». Это что, реально каждый коммент мне теперь размечать? Да ну нахуй, не до такой степени я шиз.
Внезапно вспомнил про Hugging Face и там нашел 3 модели для определения токсичности. Какие именно? Хуй я вам скажу. Просто не хочу.
Другой коллега всё таки тоже порекомендовал разметить немного комментариев и дообучить модели на этом семпле, и знаете что, я даже начал, чтобы добавить нотку субъективности. Хотел даже жену подпрячь, но потом одумался. Так же думал запихнуть комментарии в Толоку.
Я прикинул по баблу – выйдет около 10-15 баксов за 1к комментариев. В целом не проблема, да только мне, опять же, стало впадлу этим всем заниматься и я тупо запустил все 3 модели, чтобы потом найти среднее значение между ними всеми.
Ох мамочи, что это было.
Запустив сначала всё это дело на CPU я немного охуел. По прикидкам – на это ушло бы около 3х суток. Хуйня – думаю. Надо на GPU – зря я покупал чтоли себе 3080Ti?
Запускаю на GPU иии
Думаю - «Вот педрила». Надо сделать поменьше батч.
Делаю поменьше батч, иииии
И вот скажите – нахуй я покупал эту дрочь, если ни на что кроме игрушек этих ваших она не способна? Вот и я ответить не могу.
Погнали на CPU.
Короче посчитаете время сами. Больше 3х суток. Результат есть, осталась мелочь. Проанализировать.
Глава 3. Дебичи
Общее распределение токсичности
Первый запрос по общему распределению комментариев меня расстроил. Думал, тут будет больше токсичности.
В итоге, из всего объема комментариев токсичных около 20%. Неплохо, но я ожидал больше, особенно на этом ресурсе.
Тренды роста токсичных комментариев
Рост в целом линейный, но 2023 год выделяется. Оно и понятно – куча шизов переползает сюда хуй пойми откуда, у людей горят жопы, сонибои воют.
Однако это начиная с августа какой-то взрывной рост хуйни наблюдается. Астрологи были правы. Количество ебанутый увеличилось вдвое.
Средняя токсичность по дням
Всё стабильно: около 20% комментариев ежедневно содержат оскорбления или ругательства. Есть небольшие пики – февраль 2022, тут всё понятно. В 2016 году есть пики какие-то, но это скорее выбросы, я не разбирался откуда там они. Забьем хуй.
Распределение донатов по токсичности
Люди предпочитают донатить адекватным комментариям. Особенно много донатов в диапазоне 0-0.2.
Но есть и исключения.
Лайки на токсичные комментарии
Ну тут всё сразу становится ясно. Токсичные комментарии гораздо чаще лайкают. Так что вперде – теперь вы знаете как заработать классы.
Эпилог
Это не все графики которые есть у меня, их у меня больше.
Чуточку ниже я дам ссылку где вы все сможете получше всё поразглядывать и поискать себя или своих парней и посмотреть насколько у них всё хорошо/плохо.
Наделал некоторые таблички, в которых тоже можно найти интересные штуки.
Итак - вот ссылка на дашборд.
Вверху есть 2 поля для ввода - поиск по User ID, и по Post ID.
Найти эти значения вы можете в ссылке, выдерните оттуда числовое значение.
Результаты будут в двух таблицах в самом низу дашборда.
На этом наверное всё.
Я пока еще не знаю сколько по времени будет доступен вам этот дашборд. Постараюсь его оставить подольше. В общем, как надоест и я увижу отсутствие активности, тогда я его и вырублю.