Pull to refresh

Comments 5

Были попытки написать код, пройтись по результатам, и узнать процент «угадывания» (туториал или нет)?
В основном экспериментировал с SVM (в одном из скриптов даже забыл отключить library(e1071); а вообще, решил настоящую часть про машинное обучение отложить для следующих статей, тут и так слишком много информации выливается на читателя).

Проблема следующая, распределение очень неравномерное, на всех данных 11 к 1 — обычный пост к туториалу, а в интересных областях и 20-30 к одному. Классификатор по умолчанию выдает .95+ accuracy, но это фальшивка, так как он просто почти всегда говорит «negative».

Классическое решение (помимо under- and oversampling) — выставить вес классам: попробовал две опции: вес 11 (т.е. обратно пропорционально их доле) и 30 (чтобы сильно перевешивать) для туториалов, 10-fold cross-validaion получается неважный ~0.7-8. Но тут возможно стоить больше экспериментировать и пробовать, поэтому решил этот вопрос отложить.

Думаю, что основные проблемы:
  1. на каждый нормальный туториал приходится туториал-точка без метки (а то и не один)
  2. бедный feature space

Задачи не тривиальные, но в принципе решаемые.
Можно проверять статью на наличие тега CODE, а на что-то сложнее можно и не заморачиваться.
Интересно, но тема до конца не раскрыта. Какая получилась полнота / точность? Почему сами не попробовали обучиться на описаных фичах? Ну и, так как сейчас отсутствие метки tutorial не говорит ни о чём — лучше наверное разметить пару тысяч статей руками (tutorial / не tutorial).
P. S. надо было обновиться перед тем как писать комент — часть ответов уже есть выше.
Как известно, у математиков на первом месте стоят не методы обработки данных, а воображение, чтобы сначала построить гипотезу, а потом её доказать. Данные — на мой взгляд, это — подход с другого конца, с доказательства. Они могут сделать вид, что ботаны тоже могут что-то заметное сделать в науке. На самом же деле, эффективнее сначала воображением (и здравым смыслом) ответить на вопрос, что есть обучающие статьи. Довольно очевидно, что обучающие статьи — это те, по которым обучаются. Признак того, что по ним обучаются — непрекращающийся поток просмотров.

К сожалению, сайт не предоставляет статистики по количеству ежедневных просмотров. Если бы они были, то обучающие статьи (вместе со статьями-справочниками — их тут трудно разделить) будут те, которые за долгое время продолжают набирать просмотры. «Долгое» — надо понимать как месяцы. Итого, если сделать сервис, прочитывающий раз в месяц число посещений, то это будет лучший детектор обучающих статей + справочников. И то, и другое — полезно. Одно от другого отделяет сложность текстов, и это можно отделить только содержательно, зная, кто посещает эти статьи. К ещё одному сожалению, мы не имеем статистики просмотров в зависимости от уровня подготовки читателей, иначе просмотры опытных читателей показали бы, что эти статьи — справочные, а остальное — обучение и простые справочники (типа скриптов слайдеров, каруселей, календарей или CSS-селекторы).

Есть момент времени, до которого легко определить тип статьи по просмотрам — это статьи 2012 года примерно до сентября 2012. Фокус тут в том, что тогда в октябре ввели эти счётчики, и начали считать с момента введения. Получилось, что действительно посещаемые статьи начали набирать просмотры, а однодневки того же периода — нет.

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

1. Favorities («звёздочки») — их ставят, по крайней мере, на сложные статьи, а вообще — на те, к которым хотят вернуться или просто отметить для себя. Их могут отметить зарегистрированные, т.е. люди, имеющие некоторый потенциал по мтоивации чтения Хабра.
2. Оценки («плюсы» минус «минусы») — их ставят зарегистрированные с положительным рейтингом, т.е. ещё лучше прошедшие через фильтр мотивации.
3. Лайки Гугл+ — их ставят все, кому не лень иметь расширение браузера для «лайкания» в своей сети. Благодаря специфичности отметок, они отлично отсекают популярное броское содержание от сложных статей, к которым относятся туториалы. (Как вытащить показатели лайков — можно, например, с помощью расширения HabrAjax)

Соотношение первых 2 показателей — даёт интересную картину: статья оказывается сложной и полезной, если Favorities/(Plus-Minus) примерно 5 и более. Это выясняется уже в первые часы существования статьи. Если оно от 3 до 5 — это с довольно большой вероятностью — более простой туториал.

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

Есть ещё признаки полезности статьи, опять же, не только в качестве обучающей — это малость количества комментариев и малое (суммарно) число плюсов при них. Для простых обучающих статей число комментариев и плюсов растёт, но отличить от однодневных резонансных статей их можно по Favorities/(Plus-Minus) >~= 3.
Sign up to leave a comment.