Сегодня разбираем статью, в которой предлагается новый подход к диверсификации рекомендаций, основанный на понимании пользовательских интентов.
Авторы хотят решить проблему разнообразия контента, предлагаемого пользователям. Для этого они предлагают учитывать при формировании рекомендаций пользовательские интенты, а не ограничиваться только схожестью юзер-айтемов. Намерения пользователей могут меняться в зависимости от дня недели, времени суток и контекста — например, они могут проявлять интерес к спорту, учёбе или отдыху. Учитывая эти факторы, можно сделать выдачу более разнообразной и релевантной.
В работе предложен фреймворк, который накладывается на существующую рекомендательную систему. Авторы описывают его лишь концептуально, не уточняя, чем моделировали распределения.
Идея в том, чтобы перейти от p(item | user) к p(item | user, intent) = p(item | user) * p(intent | user, item) / p(intent | user). От неё берут матожидание по априорной p(intent | user), получают вероятность того, что айтем подходит юзеру с учётом всех возможных интентов.
Это значение возводится в степень γ (гиперпараметр) и умножается на скор ранжирующей мод ели. Таким образом учитывается как user-item-релевантность, так и intent-aware-релевантность, формируя итоговый скор рекомендации.
1) Выбираем айтем с наибольшим скором и ставим его на первую позицию. Дальше повторяем процесс.
k+1) Переходя от позиции “k” к “k+1”, считаем, что k-ый айтем не подошёл пользователю. С учётом этого обновляем распределение интентов по теореме Байеса, находя апостериорное распределение. После этого пересчитываем скоры, но теперь матожидаем не по априорному, а по апостериорному распределению.
Этот пересчёт снижает вероятность однотипных рекомендаций и добавляет разнообразие в выдачу.
@RecSysChannel
Разбор подготовил