Как стать автором
Обновить

Комментарии 17

Ну вот на ночь прочитал такие вещи. Надо предупреждать. Сразу вспомнились страшные ночи, когда я писал LDA, до сих пор остались пробелы, чистая магия и жуткий треш. Как бы после таких статей не появилось желание вернуться в эту муть :)
Та же история только у меня вместе с LDA был PA. И у меня такое же желание вернуться «в эту муть» :)
Вот это всё интересно конечно реализовывать, но только как-то на практике не работает. Думали подключать ваш релап, почитали интернетов, там люди приводили графики, что после подключения глубина просмотра абсолютно никак не менялась, на сайтах разных тематик. Или там инфа устаревшая и эти умные алгоритмы у вас недавно появились? В любом случае, вы сами заметили разницу? Можете поделиться какой-нибудь статистикой?
Из эксперимента проведенного автором статьи неизвестно об объеме трафика и стандартном отклонении для изменения объема трафика.
Однако автор сообщает, что для него изменение глубины просмотра по сегментам на 2,2 и 2,5% попадает в стат. ошибку.
Если предположить, что изменения трафика происходит по нормальному закону и вспомнить правило 3х сигм, то стандартное отклонение будет около 0,8%. По нашему опыту столь высокими показателями стандартного отклонения обладают как правило площадки с не очень большим объемом трафика 100-500 уников в день. Что вобщем косвенно подтверждают скриншоты, приведенные автором: http://z-force.info/wp-content/uploads/2015/09/kolichestvo-klikov-v-bloke-pohozhih-zapisey-685x270.jpg

При таких объемах трафика к сожалению все еще довольно много шумов и рекомендации тут пока не могут иметь ключевое значение для посетителя. Ни о семантическом анализе ни о коллаборативной фильтрации при таком объеме трафика говорить не приходится и скорее всего здесь отработал алгоритм популярное, что косвенно подтверждают скриншоты http://z-force.info/wp-content/uploads/2015/09/primer-blokov-600x301.jpgВедущими факторами лояльности посетителя к площадке будут полезность контента, удобство дизайна и уже потом наличие рекомендаций. Возможно автор статьи не совсем корректно сделал выводы о результатах работы рекомендательного блока.

Нашли домен, о котором по всей видимости пишет автор, количество статей на сайте -14, количество посетителей в день на ближайшем в рейтинге li сайте- 118 на 300 просмотров (на оригинальном домене статистика скрыта). Опять же, судя по скриншотам, блок дал порядка 40 дополнительных кликов в/день. Не так уж плохо для подобного сайта, наверное.
С результатами внедрения блока на более крупных площадках можно ознакомиться на нашем сайте: relap.io — в разделе кейсы.
НЛО прилетело и опубликовало эту надпись здесь
Помниться, на одном из семинаров по кластеризации соц.медиа, докладчик убедительно демонстрировал, что больше всего в интернете «говорят» о кулинарии. Однако, это не так. Дело в том, что тема «кулинария» отлично кластеризуется (всегда образует четкий кластер), как, кстати, и «авто». Поэтому появление этих тем в топе как раз не удивительно. Вот все остальное кластеризовать труднее, приходится придумывать всякие «костыли».
Я бы рекомендовал запихать в bag of words би- и триграммы (не все, а верх частотного распределения), потому что при вашей нормализации, например, «грант» может быть очень далеко от «лады», если есть новости по, скажем, президентским грантам.
А вообще вопрос, долго ли строиться матрица tfidf на получасовом потоке? Ведь ее размер сотни тысяч на сотни тысяч, причем сильно разряженных данных. Обычно это занимает значительное время.
Хорошее замечание — даже наивный Байес хорошо вылавливает кулинарию или автомобили, и делает это лучше чем с более абстрактными темами.

Мое упоминание автомобилей, как большой части трафика, однако, базируется не на том, что мы смогли отнести к этой теме много урлов (про классификацию и распределение по темам мы поговорим позже), а на том, что мы знаем какие сайты посвящены автомобильной тематике (не выученные данные, а знания об окружающем мире собранные у менеджеров по продажам). Для иллюстрации пропорций: за 26 мая у нас залогировано 113 989 677 прочтений страниц, из которых 7 114 967 гарантировано по автотематике.

Примером производительности может служить пересчет на последних 30 минутах:
got 3265319 hits
on 502801 urls
выгребло из базы и лемматизировало за 5 мин
из этого оно за пару минут нагенерировало 159 тем (изначально выбирали 300 “верхних” слов)

Мы не составляем полную матрицу tf-idf, считаем их внутри каждого документа, то есть обсчитывает 500 000 документов на словаре в примерно 140 000 вводов (на данной выборке).

Внизу пример менее очевидной темы (не рецепты или автомобили):
(термин 0.5097457251705502), (существ 0.3412614732147765), (греч, 0.03721095065119164), (см, 0.03721095065119164), (сущ, 0.03464162310622841), (синоним, 0.032603880570567914), (муж, 0.027996810489944186), (кол, 0.024009922920173656), (жен, 0.02365553291397183), (словар, 0.021351997873659965), (мн, 0.017453707805439887), (прил, 0.01647913528838487), (англ, 0.016124745282183044), (русск, 0.015150172765128025), (разг, 0.01408700274652255), (ср, 0.01311243022946753), (нареч, 0.011517675201559318), (слов, 0.01001151767520156), (употр, 0.009834322672100647), (франц, 0.009479932665898822), (совер, 0.008239567644192435), (толков, 0.008062372641091522), (общ, 0.007885177637990608), (книжн, 0.007885177637990608)…

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

Собственно классификация всего трафика и распределение по темам, равно как и степень покрытия придуманного классификатора и улучшения от учета n-грам — это тема следующего поста — stay tuned!
На scala расчитывали?
Да, и мы как раз ищем скаловика)
Как я понял, у вас огромный набор данных. Когда-то я сильно увлекался этой темой и помню, что в начале текущего десятилетия Томас Миколов работал со свёрточными нейросетями в области процессинга натуральных языков. Скажите, вы не пробовали свёрточные нейросети? По идее неплохо должны были бы зайти.
Мы занимаемся генерацией рекомендаций и, в нашем случае, наша система работает не только с содержимым текстов (это одно из важных измерений наших данных, но не единственное), потому выбираются «минимальные» решения (в смысле вычислительной сложности, трудозатратности на реализацию). Мы все-таки занимаемся NLP только тогда, когда нам нужно решение конкретной задачи связанной с расчетом рекомендаций.
ИМХО сверточные сети не лучший выбор для NLP. Для распознавания изображений — да, а вот для текста их применение не оправдывает себя: статистические методы неплохо справляются со многими задачами обработки текста, при этом и в обучении, и в настройке проще. Я бы смотрел в сторону Марковских сетей, графических моделей.
На самом деле, мы смотрели на стандартные методики (собственно графические модели), в статье, как раз описывается, как можно использовать что-то совсем простое плюс некоторое количество эмпирик дают осмысленный результат (на достаточном количестве данных).
Спасибо за пост! Читается очень увлекательно, прям не оторваться, хоть я совсем мало понимаю в LDA и прочем.
Немного вопросов, если позволите.
— После того, как выбрали только топовые слова и резко сократили словарь и документы, LDA все равно не получается делать? Почему?
— А как потом это все используется собственно в таргетинге? Вот есть эти «темы», порожденные словами, как они используются дальше?
LDA делать получается, но это более сложная модель и рассчитываться оно будет все равно достаточно долго, для экспериментирования и тому подобного не подходит.
«Темы» можно использовать по-разному, о каких-то способах использования напишем немного попозже, плюс как говорилось выше, мы можем разбросать наши статьи по «кучкам» и быстро классифицировать новые поступления по отношению к ним.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий