Решение проблемы холодного запуска с помощью механизма внимания

Хотя SVD представляет собой удовлетворительное решение для системы рекомендаций, оно менее эффективно, когда новые элементы не накопили достаточно данных. Рекомендации по новостям еще более сложны, так как они создают три дополнительных проблемы:

  1. Новостные статьи очень чувствительны ко времени
  2. Пользователи чувствительны к темам и имеют разные интересы
  3. Язык новостей очень сжат и состоит из большого количества новых сущностей, создаваемых каждый день.

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

Механизм внимания

Attention Mechanism имеет долгую историю применения и недавно был введен для решения проблем в NLP. Механизм внимания позволяет модели устанавливать разные веса входным данным в зависимости от контекста. Например, в нейронном машинном переводе (NMT) механизм внимания может использоваться для преодоления двунаправленных информационных потоков. С помощью механизма внимания модель NMT может генерировать слова, «глядя» на разные позиции в исходном тексте.

Аналогичная ситуация и с системой рекомендаций новостей. Механизм рекомендаций должен научиться «смотреть» на соответствующую часть и игнорировать нерелевантную часть истории чтения.

Сеть с глубокими знаниями

В HK01 наша команда данных приложила огромные усилия для создания системы рекомендаций по новостям. Мы используем самые современные алгоритмы для улучшения оригинального алгоритма совместной фильтрации SVD. В частности, мы решаем задачу 3 с помощью автокодировщика с тройной потерей и StarSpace для изучения встраивания статей.





Для проблем 1 и 2 мы используем Deep Knowledge-Aware Network (DKN), предложенный Microsoft [1], для решения проблемы холодного запуска. Мы заменяем встраиваемые знания нашими собственными встраиваемыми статьями и сохраняем сеть внимания, чтобы изучать взаимодействие между интересами пользователей и встраиваемыми статьями.

DKN состоит из двухкомпонентных сетей. Общая архитектура DKN показана справа. Чтобы предсказать вероятность клика, алгоритм учится агрегировать последовательность чтения истории, чтобы сформировать встраивание пользователя. Встраивание пользователей рассматривается как взвешенная сумма вложений статей в историю чтения. Итак, проблема в следующем: как найти веса?

Вес вложения каждой статьи определяется сетью внимания. Сеть внимания моделирует взаимодействие между новостями-кандидатами, новостями, которые мы собираемся предсказать, и новостями, на которые нажимал пользователь. Поскольку у пользователя могут быть разные интересы, и не существует одной новости, которая могла бы соответствовать всем интересам, роль сети внимания состоит в том, чтобы сопоставить новости-кандидаты с любой из них.

После получения весов модель генерирует вложение пользователя по взвешенной сумме и передает встраивание новостей пользователя и кандидата в нейронную сеть с прямой связью.

DKN - это в основном алгоритм, основанный на элементах. Ему не нужны данные о взаимодействии пользователя с предметом для рекомендации нового предмета. Более того, он может обрабатывать несколько интересов без вмешательства.

Результат

Сравниваем исходную модель, регуляризованную версию СВД, с ансамблем СВД и ДКН. При тщательной настройке ансамбль может достичь 10% прироста по сравнению с исходной моделью.

Ссылка

[1]: Чжоу, Гуоруй и др. «Сеть с глубокими интересами для прогнозирования рейтинга кликов». Материалы 24-й Международной конференции ACM SIGKDD по открытию знаний и интеллектуальному анализу данных. ACM, 2018.