Многорукие бандиты в музыкальных рекомендациях. Часть 2🎉



Сегодня мы более подробно поговорим об алгоритме рекомендации музыки в Spotify - BAndits for Recsplanations as Treatments (Bart), используя в основе простого многорукого бандита ( а именно greed-search стратегию, подробности в предыдущей части) этот алгоритм умеет:

- учитывать контекст (локация пользователя, история прослушиваний)

- прогнозировать удовлетворенность пользователя (вероятность клика, прослушивания)

-учиться на своих ошибках во время работы



Итак, перед нами стоит следующая задача - нужно не просто порекомендовать пользователю трек, но так же объяснить почему именно этому пользователю нужен этот трек. (примеры таких объяснений: "этот трек понравился друзьям", "этот трек несколько раз перематывали" ) В идеале, хотелось бы каждой аудиозаписи сопоставить объяснение(правило) почему она подходит конкретному человеку. Это позволит сделать алгоритм рекомендаций более прозрачным для пользователей и они смогут сами влиять на свои рекомендации.



Термины которые будем использовать:

Контекст - это время суток, последние понравившиеся треки, жанр последнего трека - это информация о пользователе и композиции. Так же важное свойство - контекст меняется со временем и от наших действий и действий пользователя.



Объяснение (правило) - действие или последовательность действий которые влияют на рекомендации и которые можно параметризовать. Например "понравилось друзьям" параметром может быть количество таких друзей.



Цель Барта предсказать как правила и элементы взаимодействуют в любом заданном контексте и спрогнозировать удовлетворенность пользователя.



В качестве функции вознаграждения возьмем линейную функцию r с функцией активации сигмоида (рисунок 1). Функция вознаграждения зависит от айтема(аудиозаписи), контекста и "объяснения" . Находить максимум будем с помощью линейной регрессии.

Теперь нам нужно построить политику действий которая позволяет достигнуть максимальной удовлетворенности пользователя и сопоставляет прибыльному действию объяснение.

Здесь, так как Барт учится на своих ошибках, мы строим политику действий последовательно, каждое следующее действие с вероятностью pi, которая состоит из произведения вероятностей (подробнее на второй картинке). Как раз тут (вторая картинка) можно заметить закравшегося бандита со стратегий epsilon-greedy, который принимает решение грубо говоря с вероятностью epsilon и (1-epsilon).



Барт, который сочетает в себе рекомендательную систему и исследовательскую, позволяет делать качественные рекомендации и находить новые любимые аудиозаписи благодаря нахождению пар (объяснение, айтем*).

* В качестве айтема может быть аудиозапись, плейлист, то, что мы рекомендуем.