Месяц назад мне понадобилось протестировать методы машинного обучения для анализа текстов. В качестве тестовых примеров я использовал публикации с главной страницы АфтерШока. Возможно, результаты исследования будут интересны пользователям этого ресурса.
Сбор и подготовка данных
С Главной страницы сайта (как понимаю, из разделов «Новости», «Аналитика» и «Теория») были скачены все публикации с 12 декабря 2011 г. по 15 февраля 2018 года – всего получилось 36,4 тыс. статей.
Выделены две группы – наиболее и наименее популярные материалы по количеству просмотров. Я попытался понять, какие факторы влияют на популярность поста и можно ли эту популярность предсказать заранее (в какую группу попадёт новый текст и с какой вероятностью).
На первом этапе была использована метаинформация – дата и время публикации, теги и категории, характеристики автора, длина заголовка и текста, источники. На втором этапе проанализированы сами тексты.
Признаки, которые влияют на популярность статьи
Используя алгоритм Random Forest, удалось предсказать популярность постов с точностью до 83%. Наиболее значимые признаки – время публикации, длина и тематика текста.

Разберём каждую группу признаков чуть подробнее.
Популярность циклична
Год публикации оказался самым информативным. Вполне объяснимо – активность пользователей на Главной сайта в разные периоды неоднородна.

Евромайдан хорошо сказался на посещаемости сайта, ожидаемо. Второй всплеск активности пришёлся на вторую половину 2016 года, что лично для меня уже менее очевидно.
Активность пользователей также зависит от месяца – весной наименьшая, к декабрю возрастает.

Количество просмотров определяется и днём недели – по выходным посты в среднем набирают больше.

Есть зависимость и от времени суток: наиболее популярные материалы обычно публикуются с пяти до семи часов утра, с десяти до одиннадцати, с шестнадцати до семнадцати, с двадцати двух до двадцати трех.

Это немного странно: друг на друга как бы наложились два цикла – вышеупомянутый, почасовой (что нехарактерно); и органичный, с максимумами в обед и вечером (ожидаемо). Возможно, почасовые пики вызваны активностью администрации сайта (массовой автоматической публикацией по расписанию).
На АфтерШоке любят длинные посты с короткими заголовками
У постов с короткими заголовками (менее 42 символов, первая четверть распределения) больше просмотров.

Длинные тексты (свыше 2094 символов, середина распределения) в среднем популярнее (8 тыс. просмотров за текст против 6 тыс.).

Авторский контент уважают, но не всегда ценят
Ядро активных авторов (которые опубликовали 5 и более постов) составляет 30% – они создали 90% всего контента на Главной.
Средний пост набирает 8,6 тыс. просмотров (медиана – 6,7 тыс. просмотров), но есть группа пользователей, материалы которых значительно более востребованы аудиторией. Топ-3: Already Yet (27 тыс. за пост), Skorpyon (25 тыс.), мент (21 тыс.).

На сайте размещают не только авторский контент (56% материалов, у которых есть метка «Авторство»), но и перепечатки с других ресурсов.

У авторских работ вероятность выйти в топ выше. Однако интересный копипаст тоже ценится, по соотношению полученной отдачи и потраченных ресурсов более эффективен.
Чаще всего источником для перепостов служат российские информационные агентства, в основном РИА Новости и ТАСС.

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

Наиболее популярные статьи посвящены поиску места России в мире и её противостоянию (экономическому, идеологическому и военному) с собирательным Западом (чаще всего с США).

По темам мне сложно сказать точнее, так как я не являюсь постоянным читателем сайта, а категории и теги имеют довольно образные названия. Более конкретно тематика публикаций будет сформулирована при анализе текста.
Анализ текстов
Самые важные слова: Россия, удар, США
Для предсказания популярности постов на основании анализа самих текстов (без метаинформации), я протестировал LogisticRegression, LinearSVC, SGDClassifier. Наилучший результат (85%) показал SVC с TFIDF-трансформацией.
Благодаря полученной модели, удалось выделить слова, которые оказывают наибольшее влияние на то, в какую группу попадёт текст, – в топ или на дно.
Эти слова: Россия, Путин, удар, Украина, рубль, русский, российский, поставки, мировой, Запад, газ… Я сравнил частотность их употребления в каждой группе текстов, однако результат оказался сложен для интерпретации.
В обеих группах пишут о противостоянии России и США.

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

Важна не частота, а комбинации слов, контекст.
Украина и Сирия в топе
Чтобы лучше понять различия, я применил тематическое моделирование (ссылка на Вики).
Темы для топовых публикаций более очерчены, можно выделить две основных: противостояние России и США на Украине и противостояние России и США в Сирии. При формировании тем большую роль играют местоимения «я», «мы», «вы», «они». Это говорит о субъективной окраске публикаций, о важности точки зрения автора.
Другими словами, топовые статьи – авторские (в широком смысле) дискуссионные публицистические материалы, посвященные противостоянию России и США на Украине и Сирии.
Тематику наименее популярных постов выделить сложнее: темы размыты, их много, форма подачи обезличена. Судя по стилистике, это перепечатки из новостной ленты информационных агентств.
Выводы
Основных выводов два. Первый, важный для меня, – популярность публикации можно предсказывать заранее с большой долей вероятности. Второй, возможно интересный аудитории сайта, – у публицистических постов об Украине, Сирии и противостоянии России с США вероятность попасть в топ выше.
Если кому-то нужна более подробная информация, то ссылки на данные (в формате csv) и скрипт анализа (python в формате jupyter notebook) прилагаю.


Комментарии
вот говорила мне мама - не пиши посты в среду... теперь понятно почему :)
Надо озаглавливать Любой пост так: РоссияУдарСША! И постить с 16 до 17 во субботу.
а текст давать в таком виде
Поисковые роботы засматриваться будут по много раз))
Роботы не учитываются в статистике.
И то хорошо! Кстати, я хотел извиниться за статью, которую разместил утром. Жёстко тупанул и не учёл "день тишины" по поводу выборов. Спасибо что оперативно снесли.
Кто эти люди? Явно не топ..., хотя может за единичную статью и набирали столько
Already Yet - Алексей Анпилогов хорошо известен.
Я знаю, камрад...небольшой троллинг...
Да, есть сомнения в статистике, задал автору вопрос о первоисточнике.
Skorpyon - не могу вспомнить кто это. А то их 3 или 4 штуки.
Я подвожу и публикую итоги раз в квартал, включая статистику.
Посмотрите какие группы там выделены (раздел "Техническое", итоги квартала). Группа "среднее количество просмотров на запись" там есть, но ее недостаточно - бывает чел пишет мало, или даже вообще не пишет, а только в комментах обычно участвует, но как-то отписал на горячую тему и попал в лидеры.
////////У постов с короткими заголовками (менее 42 символов, первая четверть распределения) больше просмотров.///////
Алекс следит за тем, чтобы заголовки текстов были внятными и отражали суть сообщения. Грамотный заголовок передает суть сообщения. Части участникам АШ уже не нужно его открывать. А короткие заголовки не несут информацию о тексте. Приходится его открывать. Это 2накручивает" просмотры. И здесь явный конфликт интересов. Сообщество АШ заинтересована в информативных заголовках (чтобы не тратить свое время), а некоторые авторы могут быть заинтересованы в количестве просмотров. Они сделают заголовок интригующим, но малоинформативным.
Неожиданно.
Но! Хочу заметить, что я уже задавал Алексу вопрос, считаются ли уникальные просмотры статей, по куки для анонимов и юзерАйди для регов, и он ответил отрицательно.
Т.е. просмотры считаются сугубо по количеству открытия страницы статьи.
А это означает, в свою очередь, что в зависимости от количества комментариев количество просмотром зависит напрямую.
Например я участвуя в комментировании какой-либо дискуссии могу открыть статью несколько десятков раз, перечитывая коменты, читая новые.
Несколько десятков комментаторов ночью спокойно могут накрутить статье пару тысяч просмотров.
/////////Средний пост набирает 8,6 тыс. просмотров (медиана – 6,7 тыс. просмотров), но есть группа пользователей, материалы которых значительно более востребованы аудиторией. Топ-3: Already Yet (27 тыс. за пост), Skorpyon (25 тыс.), мент (21 тыс.).//////
Здесь методическая ошибка. Нужно учитывать только число просмотров в первые сутки (или двое суток). Потом работают в основном поисковые запросы. То есть, чем "древнее" статья, тем больше у нее поисковых запросов.
Здесь принципиальная ошибка - просмотры напрямую зависят от количества комментаторов, которые открываю-переоткрывают статью снова и снова.
Поэтому данный показатель невалиден вообще.
Не соглашусь. Эти вещи коррелируют, но прямой зависимости нет. В среднем на статью пульса приходится 100-200 комментариев, а просмотры исчисляются тысячами и доходят до сотни тысяч. Очень важно, если материал на злобу дня (через день-два интерес к нему уже кратно снизится). Но этот параметр трудно формализовать.
Вы тов. Худрушов не программист, не математик и явно плохо дружите с логикой.
Каждый комментатор открывает статью, комментирует, она переоткрывается после добавления комментария - уже два просмотра.
После этого комментататор три-четыре раза обновляет страницу в ожидании ответа.
После этого отвечает. +1 просмотр.
После этого обновляет страницу читая новые комментарии.
После этого ...
Я лично в бурных дискуссиях накручивал сотню-другую просмотров гарантированно.
И каждый из комментаторов так же.
500 коментов от 50 комментаторов по 50 просмотров - уже 2500 от 50 человек.
Бывает еще запись попадает в тренд соцсетей и тогда реакция самая разная.
Вот, например, текущий лидер по просмотрам за неделю - https://aftershock.news/?q=node/626306
А запись даже не в главных разделах (маловато значимой первички, публицистика)
Может быть, Вы и программист, математик, академик и людовед, но с арифметикой у Вас проблемы.
Количество комментаторов вообще неизвестно, никто его не считал. А вот количество комментариев имеется. Если комментарий не исправляется, то он производит два просмотра, до написания и после. Добавим одно исправление на комментарий, итого ТРИ просмотра.
За каким хреном надо обновлять страницу "в ожидании ответа" - это Вы сами знаете. Мне об ответе приходят извещения. Если оно пришло - это опять-таки ТРИ просмотра на комментарий (с одним исправлением).
Итого 100-200 комментариев дают 300-600 просмотров при среднем числе 8,6 тыс., т.е. 3-6 %.
Тут связь другая: если комментариев много, статья попадает в рубрику "лидеры обсуждений" и просто больше висит на виду у пользователей.
С пламенным приветом....
Поправлю. Проверил, вот прямо сейчас, оставляя коммент - на странице оставления коммента просмотр не считается.
А вообще для популярных записей с большим количеством просмотров это все равно стремится к нулю - большое количество просмотров возникает не за счет двух собеседников, а за счет читателей, особенно если они массово решили последить за дискуссией.
Тогда еще меньше. В среднем 2 просмотра на 1 комментарий при одном исправлении.
Не уверен, но думаю, большое количество просмотров дают пользователи. которые читают все страницы комментариев. Каждая страница должна быть обновлением. А есть статьи в которых 10-15 страниц.
Да, для интересных тем и интересных обсуждений это значимый фактор.
Для этого очень важно, чтобы автор участвовал в обсуждении, реагировал на критику (есть кое-кто, кто этого не делает), а также следил за комментами ("сворачивал" неинформативный флуд и ругань, например).
Ф гранит!
Фигня. Количество комментариев и количество просмотров коррелируют. Но оба показателя указывают на популярность темы.
В теме 100 комментариев. Каждый комментатор открыл ее в среднем по 10 раз. Это всего 1000 просмотров. В среднем добавляется 10-20 % просмотров в популярных темах. Это оценка максимум. Совсем фигня.
Большинство статей в топе просмотров имеют по 500-800 коментов.
Но исключения разумеется есть.
Но этот эффект все равно учитывать необходимо.
Ну вот https://aftershock.news/?q=node/626306&page=3#comments 66 тыс. просмотров, 152 коммента.
Следующая https://aftershock.news/?q=node/625793&page=2#comments 49 тыс просмотров - 113 комментов.
Вам все из рубрики предъявить или все же признаете свою неправоту?
Признаю, но 68 килопросмотров у Дзыги это конечно жесть.
Это хорошо. Но вот у моей статьи более 500 комментов https://aftershock.news/?q=node/622448
Там и просмотров 115 кило. Это несопоставимые вещи.
А не хотите ли увеличить интервал хотя бы до недельки? Я предпочитаю читать АШ с некоторым опозданием, странице на 5-8, потому что мне ценны также комментарии сообщества (а срочные новости можно узнать от информационных агентств).
Именно по этой причине я успела принять участие всего в паре ваших прогнозов: вы их размещаете слишком накануне, пока я до них доберусь уже слишком поздно.
Я, в свою очередь, обещал еще перед новым годом весьма интересную аналитику по АШ, но у меня потом пропал интерес в связи с общей деградацией ресурса и замещении вменяемых участников и тех, кто был с самого начала на ботов и кучку фриков.
Может если я превозмогу свою лень, то дней через 10 я тоже выкачу красивые графики.
Придется, превознимогая свою лень, рассматривать ваши графики.
Вам 2 дня от роду. Вас или сносили с ресурса за что-то или вы пишите неправду. Или и то и то.
Прекратите бредить, в 2 дня я еще изумленно рассматривал красивые цветные пятна, которые ласково гудели вокруг меня.
Мне 35 лет.
Судя по ответам - типовой тролль, потихоньку "буду посмотреть" чей именно это клон, но на данный момент ещё слишком мало ключевых слов набралось.
Это случаем не тот у кого каменный цветок ни как не случится? Кто из старичков недавно выпиленных за Грудинина топил? А то я за политотой не следил. Времени теряется много в пустую.
Да от него пока только всякий дурацкий флуд и попытки оскорблений, типовых выражений нет - опознать не получается. Может и тот, а может и нет - на всякий случай я вчера ему профилактическую баню выписал за грудятловскую политоту в первой-же статье.
Добавлю, пожалуй, банчишко 35-ти летнему.
Ниже он с мамомотом сцепился.
Мамонт это самое никчемное тупое говно, его даже на ходящей строем у БлуШарка Авантюре зашкварили.
36 банов за 2 дня КАРЛ !!!!!!!!!!! избавьте от ваших выкатов и лени...у вас проблемы ковбой...ваша лошадь давно мертва...и перестаньте её стегать....)))))))))))))))))))))))))
Интересное исследование! Срочно кину ссылку специалистам по машинному обучению и искусственному интеллекту!
Откуда у вас в ольгино специалисты, там одни дебилы.
Ща против пригожина санкции введут и вас разгонят нахрен вообще.
И так вам, уродам, и надо.
Только энтропию повышаете и создаете смысловой хаōс в сети.
Не понял...
Вы серьезно ил я сарказма не понял?
Ты самый уродистый из всех уродов.
Никакого сарказма.
А мне нравится как мамомот излагает мысли.
Мамомоты - они такие...
Спасибо!
сам ты урод
Страницы