731

Я живу. KillMePls!

Провёл небольшое исследование killpls.me. Выкачал около 30 тыс. постов с Главной. Изучил теги, лайки, динамику и сезонность публикаций, содержание текстов.


Весна – самое депрессивное время года

Ресурс был наиболее популярен в 2010-2013 гг. Затем количество публикаций стало плавно сокращаться, а количество лайков (вовлечённость читателей) в 2014 г. рухнуло и продолжает падать.

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


Деньги и Здоровье стали важнее, чем Секс и Внешность

Соотношение тегов и лайков со временем меняется. Десять лет назад больше всего волновали секс, внешность, отношения. Постепенно фокус сместился на семью, здоровье, родителей, деньги. Скорее всего, это связано с повзрослением аудитории сайта.

Повесть о Ромео и Джульетте не самая печальная

В 2021 году наиболее волнующие по совокупности темы: 1. деньги/техника (техника тоже про деньги: кредитные айфоны, разбитые машины, сломанные бытовые приборы и невозможность купить новые); 2. семья/родители; 3. здоровье.

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


Краткий пересказ содержания

Чтобы лучше понять, о чём всё-таки истории, я взял предобученную нейронную сеть от Гугла (universal-sentence-encoder-multilingual), векторизовал тексты и поделил их на кластеры (Kmeans). Всего получилось 6 тем.


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


1. Отношения

До этого жили вместе 5 лет, а знаем друг друга всю жизнь. И все это время у него есть девушка, они вместе уже 7 лет. Мужу боюсь сказать, это его лучший друг с 12 лет. Мне кажется это он все подстроил. И при этом я хотела бы всю жизнь провести с ними вместе… КМП.

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


2. Работа

Работаю с 17 лет, и всю жизнь с работой не везёт. Идёт третий год, как я работаю на нелюбимой работе. В принципе все это проходящее, но че-то так устала - КМП. Все это время пыталась найти более серьезную работу - везде отказ. 2020 год, апрель, осталась без работы, денег, все как всегда. При всем при этом - мне только 20 лет. Ни работы, ни дома, не парня, ни денег…

Сначала работа была адом, а потом уволили.


3. Здоровье

Скоро Новый Год, а все, что я хочу - это вылечиться. КМП, я просто хочу жить как все. 26 лет - это очень много, если человек постоянно болеет. Толком не ем, все что делаю - это просто сплю. Больше всего боюсь, что это в будущем может передаться моим детям. КМП, пока это не сделали врачи.

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


4. Семья

Я очень хочу детей, с мужем пытались больше 5 лет и всё никак. Я давно хочу детей, муж об этом знал еще до свадьбы. Я всегда хотела жить в большом городе, и мой будущий муж это знал. КМП, я просто не могу понять, за что мне это и как жить дальше. КМП, я думала, это была наша мечта.

Самый сложный по структуре кластер. Большое количество проблем связано с детьми. Но в основном истории об обманутых ожиданиях.


5. Разное

В общем, я устала от этого, хочу нормально жить, ПМП. Я не понимаю, зачем я всё это делаю, ПМП. КМП - я очень так конкретно чего-то не понимаю в этом мире. ПМП, я не знаю, как с этим справиться. Но это еще не КМП. Это еще не КМП. Но это еще не КМП, нет.
Действительно, об очень разном, общее – КМП.


6. Секс

18+

Прямо с Главной невозможно скачать тексты этой тематики, а персонально ходить по каждой ссылке я посчитал нецелесообразным.


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


Ради эксперимента попытался ужать вообще весь контент до одной фразы – с помощью кастомной нейронной сети на основе трансформеров – идея сомнительная, но результат получился адекватный:

КМП. Я живу.

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


Ссылка на данные

8
DELETED
Автор поста оценил этот комментарий

График по месяцам выглядит очень неправдоподобно. Таких идеальных совпадений год к году не бывает.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

Это декомпозированный временной ряд. За вычетом тренда и остатков.

Иллюстрация к комментарию
показать ответы
1
Автор поста оценил этот комментарий

@silentio.facto друг подскажи как это сделал? есть гайд? можно с тобой связаться?

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

На пайтоне в основном.

Код парсера: https://github.com/Myonin/web-scraping-pipline

Код для обработки данных: https://github.com/Myonin/text-mining-pipline

показать ответы
1
Автор поста оценил этот комментарий

А читать-то этот график как?

По оси X - года, а по оси Y что?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Для сезонности и остатков там разность между реальными значениями и значениями компонентов временного ряда.


Самый простой алгоритм:


1. Прогнать скользящим среднем с заданным окном по реальными значениям и получить сглаженный ряд (тренд);

2. Вычесть из реальных значений тренд и получить сезонность;

3. Вычесть из реальных значений тренд и сезонность = остатки.


То есть Временной ряд = Тренд+Сезонность+Остатки

показать ответы
0
Автор поста оценил этот комментарий

То есть вы посчитали это для одного года и экстраполировали на все? А как выбирали для какого считать?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Если эта тема так интересна, рекомендую вот эту статью https://neerc.ifmo.ru/wiki/index.php?title=Анализ_временных_рядов

показать ответы
0
Автор поста оценил этот комментарий

Это замечательно, но как я могу это понять по графику? Что там меняется от -25 до 10?

Почему нельзя было сделать просто график с количеством постов в каждом месяце, например?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Это разность между реальным значением и трендом.


Берём точку. Реальное значение в ней было 5. Тренд предсказал 30. Сезонность = 5 - 30 = -25.


Абсолютные значения в данном случае особого значения не имеют. Цель - вытащить из временного ряда некоторый устойчивый паттерн.

показать ответы
2
Автор поста оценил этот комментарий

Можно по-русски, простыми словами

Что показывает этот график сезонности?

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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


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

показать ответы
1
Автор поста оценил этот комментарий
@silentio.facto, а можешь обучающий пост(ы) сделать? Методы парсинга, программы для анализа, как используешь машинное обучение, как их выбираешь. Подписался
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
2
Автор поста оценил этот комментарий
Это очень круто!!!!
как научиться делать так же??
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

2
Автор поста оценил этот комментарий
Блин, а какое железо для этого нужно? Обычный средний пенек затащит?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Для подобных исследований хватит и обычного ПК. Видеокарта нужна для запуска нейронных сетей. Для коммерческой разработки обычно облачные серверы используются.

0
Автор поста оценил этот комментарий

А тренд в этом пример - это взяли значения всех точек и разделили на их количество и получилось 30?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию