По итогам прочтения статьи «News recommender system: a review of recent progress, challenges, and opportunities» написал тут небольшие заметки о наиболее интересных, с моей точки зрения, моментах этого исследования.
Излишне говорить о важности систем рекомендации новостей, не буду пересказывать статистику о том, как вокруг нас растёт информационный поток, но надо отметить, что в дополнение к этому росту сейчас также довольно остро встаёт проблема fake news, что делает задачу персонализации новостной ленты еще более важной и требует применения подходом, когда анализируется не только meta-информация о контенте (что сейчас применяется в большинстве движков) но и сам контент, который становится все больше мультимодальными (представляет собой текст, аудио или изображение/видеоряд).
NRS (news recommendation system), так же как и рекомендательная система для любого другого контента имеет свои особенности, сложности и вызовы. Как отдельная доменная область, новости имеют следующие особенности:
Короткое время жизни контента (тут хочу отметить интересный подход, который применён в продукте BraveNews, там коллеги используют логарифмическую функцию от возраста новости при расчете ее релевантности);
Дубликация контента - на один новостной повод публикуются большое количество новостных сообщений;
Скорость информационного потока и реакции пользователей - строить новостную ленту и отражать в рекомендациях реакции пользователей надо достаточно быстро;
У пользователей могут быть 2 типа «предпочтений/интересов» - долгосрочные и краткосрочные, которые надо учитывать при персонализации;
Необходимость контроля качества новостей, из-за влияния clickbate заголовков на популярность новости и fake news;
Новостные тренды и «связанность» новостей в рамках развития одного новостного повода, когда пользователь хочет следить за развитием какой то ситуации с течением времени;
Важность для рекомендаций сопутствующего окружающего контекста (например в период Олимпийских игр даже те, что не интересуются спортом, могут быть заинтересованы в новостях об олимпийских играх);
Эмоции - эмоциональная окраска новостей очень сильно влияет на пользовательское поведение и должна учитываться при рекомендациях.
Кроме этого, оценка качества самих рекомендаций так же имеет свои особенности, тк простая оценка «точности» на основе одной метрики (например клик) не может говорить о качестве всей новостной ленты в целом, где надо учитывать и оптимизировать такие параметры, как:
Среднее время чтения ленты пользователем;
Разнообразие новостной ленты - хорошим подходом является не сужение фокуса пользователя и создания «информационного пузыря», а внесение разнообразия в ленту (часто для этого используют даже случайное подмешивание новостей вместе с рекомендованными);
Покрытие - насколько персональная новостная лента покрывает общий информационный фон;
Novelty (не знаю как на русский правильно перевести :) ) - насколько новости не повторяют прошлые новости и отличаются своей новизной в информационном, а не временном, плане;
Неожиданность - насколько новость может «удивить» пользователя;
Важность - оценка важности новости для пользователя.
Все эти аспекты формируют и влияют на пользовательский опыт и его качество. Оценка качества данного опыта - довольно субъективна и для ее измерения используют как прямые данные (сбор метрик по кликам, скролам и тд) так и косвенные (опоросы, использование асессоров и тд).
Комбинации всех этих характеристик, являющихся всегда компромиссом друг относительно друга, формирует ряд числовых оценочных метрик для качества новостной ленты.
Что касается алгоритмов, применяемых в NRS, то самыми распространёнными остаются алгоритмы колоборативной фильтрации и content-based filtering (CF и CBF), а так же их их сочетания. В большинстве своём данные алгоритмы работают на основе meta-информации о новостях. Тем не менее в работе отмечается их недостаточное качество применительно конкретно к новостным рекомендациям. В последнее время исследователи и разработчики все больше обращают внимание на «окружающий контекст» и алгоритмы глубокого обучения для улучшения качества рекомендаций.
К «новым» подходам в разработке NRS авторы относят использование следующих алгоритмов:
Matrix factorization и Non-negative matrix factorization
Tensor factorization
Probabilistic matrix factorization
Bayesian personalized ranking
General linear modeling
А так же их модификации на основе нейронных сетей с использование глубокого обучения, что особенно набирает популярность в последнии годы, а в случае, если идёт работа с оценкой контента новости (будь то текст, аудио или изображение), то использование CNN/RNN, а так же языковых моделей (типа BERT) становится просто жизненно необходимым.
Еще одним преимуществом использования NN является возможность обучаться в процессе взаимодействия пользователя с контентом. Так же модели, в основе которых находится deep learning, показывают хорошее качество при моделировании последовательного новостного контента и в случаях холодного старта, за счёт того, что они выявляют такие признаки в контенте, которые позволяют сформировать рекомендации даже в случае разряженных данных, на которых подходы на основе CF/CBF показывают плохой результат. Особенно выдающиеся результаты данные модели показывают с применением механизма внимания.
Все перечисленные выше особенности находят своё отражение не только в алгоритмах, которые «затачиваются» под задачи NRS, но в специализированных платформах для создания NRS, таких как CLEF NEWSREEL, streamingRec и MIND.
К основным сложностям создания NRS относят:
Требуемая скорость обработки данных и чувствительность к «свежести» новости
Оценка метрик «качества» новостной ленты
Оценка качества новостного контента (дедубликация, fake news и тд)
P.S.: опускаю в этих заметках части исследования, посвящённые проблематики информационного пузыря, анонимности пользователей и прочим моральным-этическим аспектам, являющихся в целом общими для рекомендаций любого типа контента.