Интернет стремительно растет и развивается, и с каждым днем в нем появляется все больше информации. Но не вся информация интересна всем пользователям, в связи с этим одной из важнейших задач IR в настоящее время является предоставление пользователю персонализованного контента. Персонализация - обязательный элемент любой современной интернет-площадки, поскольку предоставляет пользователю возможность потреблять наиболее интересный контент, быстро находить нужную информацию по запросу, приобретать наиболее подходящие товары.
Социальные сети в настоящее время являются основной платформой для общения и получения информации. В новостной ленте среднего пользователя социальной сети в день появляется 2000 записей, все из которых он физически не может прочитать. Задача любой социальной сети состоит в том, чтобы пользователь получал более интересный для него контент среди огромного количества записей и информационного шума. Для решения этой задачи предлагается ранжировать записи новостной ленты пользователя в порядке релевантности. С внедрением подобной технологии в социальную сеть увеличивается время, проведенное пользователем в социальной сети, его удовлетворенность, вероятность что он вернется на ресурс снова. Таким же образом можно ранжировать контекстную рекламу, показываемую пользователю, с целью сделать ее более релевантной и менее раздражающей.
Многие задачи в области Information Retrieval по своей природе являются задачами ранжирования, так как именно оно лежит в основе рекомендаций и персонализации. Одна из наиболее интересных в настоящее время задач в области ранжирования заключается в том, чтобы, используя некоторые тренировочные данные, построить ранжирующую модель машинного обучения так, чтобы модель могла отсортировать новые данные по их релевантности. Подобная задача и будет рассматриваться в работе.
6.3. Результаты
В ходе работы были достигнуты следующие результаты.
1. Проведен анализ существующих решений в области ранжирования документов, выделены наиболее перспективные и представляющие наибольший интерес алгоритмы.
2. Разработана модульная архитектура ранжирующей системы.
3. Проведена обработка пользовательских данных, включающая в себя выделение признаков для тренировки ранжирующей модели, группировку данных и оценку реакции пользователя.
4. Реализована комбинированная ранжирующая модель на основе алгоритмов RankSVM и ListNet.
5. Проведена апробация реализованной системы, в ходе которой была достигнута точность NDCG@50 0,7204, что превышает точность остальных рассмотренных в работе моделей.
6.4. Выводы
Из результатов работы можно сделать следующие выводы.
1. Алгоритмы, используемые для ранжирования документов, могут использоваться для построения персо- нализованной новостной ленты пользователя социальной сети.
2. Для большинства умеренно активных пользователей персональная модель работает лучше, в то же время она не может уловить зависимости для малоактивных и гиперактивных пользователей.
3. Комбинация общей модели RankSVM и персональной модели ListNet решает поставленную задачу лучше, чем остальные рассмотренные в работе подходы.
6.5. Дальнейшее развитие
Один из возможных способов улучшения модели - кластеризация пользователей по интересам и по способу взаимодействия с контентом и построение отдельных моделей для получившихся групп пользователей.
В рамках данной работы не были решены задачи настройки временных параметров и параметров соотношения постов от групп и от пользователей. Сложность состоит в том, что на настоящее время подобная настройка производится при помощи длительных A/B тестов с проверкой таких показателей как количество ежедневно/ежемесячно заходящих пользователей, время, проведенное пользователями на сайте, среднее количество заходов в день, а техники оптимизации по историческим данным нет. Провести же A/B тестирование возможности не было.
Также было бы интересно применить техники NLP и распознавания изображений/видео для выделения семантики записей при наличии данных о содержимом поста.
[1] Burges Christopher J.C. From RankNet to LambdaRank to LambdaMART: An Overview. — 2010.
[2] Fen Xia Tie-Yan Liu Jue Wang Wensheng Zhang Hang Li. Listwise Approach to Learning to Rank - Theory and Algoritm. — 2008.
[3] Kaggle. Mean Average Precision.— URL: https://www.kaggle.com/wiki/ MeanAveragePrecision.
[4] Kaggle. Normalized Discounted Cumulative Gain.— URL: https://www.kaggle. com/wiki/NormalizedDiscountedCumulativeGain.
[5] Project The Lemur. RankLib.— URL: https://sourceforge.net/p/lemur/wiki/ RankLib/.
[6] R. Herbrich K. Obermayer, Graepel T. “Large margin rank boundaries for ordinal regression,” in Advances in Large Margin Classifiers, pp. 115-132. — 2000.
[7] Wikipedia. Chain rule. — URL: https://en.wikipedia.org/wiki/Chain_rule.
[8] Wikipedia. Hinge loss.— URL: https://en.wikipedia.org/wiki/Hinge_loss.
[9] Wikipedia. Kullback-Leibler divergence. — URL: https://en.wikipedia.org/wiki/ Kullback-Leibler_divergence.
[10] Zhe Cao Tao Qin Tie-Yan Liu Ming-Feng Tsai Hang Li. Learning to Rank: From Pairwise Approach to Listwise Approach. — 2007.