Осмысление больших данных

Рекомендательные системы на основе обучения с подкреплением

Разрабатывайте персонализированные приложения, используя комбинацию обучения с подкреплением и НЛП / чат-ботов.

Аннотация. Мы представляем подход на основе обучения с подкреплением (RL) для внедрения рекомендательных систем. Результаты основаны на реальном приложении Wellness, которое может предоставлять пользователям персонализированный контент, связанный со здоровьем / активностью, в интерактивном режиме. К сожалению, текущие рекомендательные системы не могут адаптироваться к постоянно развивающимся функциям, например настроения пользователей и сценарии, в которых вознаграждение RL необходимо вычислять на основе нескольких ненадежных каналов обратной связи (например, датчиков, носимых устройств). Чтобы преодолеть это, мы предлагаем три конструкции: (i) взвешенные каналы обратной связи, (ii) отложенное вознаграждение и (iii) повышение вознаграждения, которое, по нашему мнению, необходимо для использования RL в рекомендательных системах.

Этот документ опубликован в материалах семинара AAI4H - Достижения в области искусственного интеллекта для здравоохранения, проведенного совместно с 24-й Европейской конференцией по искусственному интеллекту (ECAI 2020), сентябрь 2020 г. (бумажный pdf) (ppt)

1. Введение

Приложения для здоровья / хорошего самочувствия исторически страдали от низкого уровня принятия. Персонализированные рекомендации могут улучшить принятие, поскольку они делают все более актуальные и своевременные рекомендации для пользователей. Хотя механизмы рекомендаций (и, следовательно, приложения на их основе) достигли зрелости, они по-прежнему страдают от проблемы `` холодного старта '' и того факта, что это, по сути, механизм на основе push-уведомлений, которому не хватает уровня интерактивности, необходимого для создания таких приложений. обращается к миллениалам.

Мы представляем тематическое исследование приложения Wellness, в котором мы применили комбинацию обучения с подкреплением (RL) и обработки естественного языка (NLP) / чат-ботов, чтобы предоставить пользователям персонализированный и интерактивный опыт. Мы сосредоточены на интерактивном аспекте приложения, при котором приложение может профилировать и общаться с пользователями в режиме реального времени, предоставляя релевантный контент, адаптированный к текущим настроениям и прошлым предпочтениям пользователя.

Ядром таких чат-ботов является механизм распознавания намерений Natural Language Understanding (NLU), который обучается с жестко запрограммированными примерами вариантов вопросов. Если ни одно намерение не соответствует уровню достоверности выше 30%, чат-бот возвращает резервный ответ. Настроение пользователя вычисляется на основе как (явного) ответа пользователя, так и (неявного) экологических аспектов, например местоположение (дом, офис, рынок,…), температура, освещение, время дня, погода, другие члены семьи, находящиеся поблизости, и т. д .; для дальнейшей адаптации ответа чат-бота.

RL относится к ветви искусственного интеллекта (AI), которая способна достигать сложных целей, максимизируя функцию вознаграждения в режиме реального времени. Функция вознаграждения работает аналогично поощрению ребенка конфетами и шлепками, так что алгоритм наказывается, когда принимает неправильное решение, и награждается, когда принимает правильное - это поощрение. Аспект подкрепления также позволяет ему быстрее адаптироваться к изменениям настроений пользователей в реальном времени. За подробным введением в RL-фреймворки заинтересованный читатель отсылается к [1].

Предыдущие работы исследовали RL в контексте рекомендательных систем [2, 3, 4, 5], и корпоративное внедрение, похоже, также набирает обороты с недавней доступностью облачных API-интерфейсов (например, Azure Personalizer [6, 7]) и RecSim от Google. [8]. Однако они по-прежнему работают как типичная рекомендательная система. Учитывая профиль пользователя и рекомендации по категориям, система дает рекомендации на основе популярности, интересов, демографии, частоты и других характеристик. Основная новизна этих систем заключается в том, что они способны определять особенности (или комбинацию функций) рекомендаций, приносящих более высокие вознаграждения конкретному пользователю; которые затем можно настроить для этого пользователя для предоставления более точных рекомендаций [9].

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

Остальная часть статьи организована следующим образом: Раздел 2 описывает сценарий проблемы и формулирует его как проблему RL. В разделе 3 мы предлагаем

три конструкции RL, необходимые для преодоления вышеуказанных ограничений: (i) взвешенные каналы обратной связи, (ii) отложенные вознаграждения и (iii) повышение вознаграждения, которые, по нашему мнению, являются важными конструкциями для RL, которые будут использоваться в рекомендательных системах.

«Отложенное вознаграждение» в этом контексте отличается от понятия «Отложенное вознаграждение» [10], где вознаграждения в отдаленном будущем не считаются столь же ценными, как немедленные вознаграждения. Это сильно отличается от нашего понятия «отложенное вознаграждение», где полученное вознаграждение применяется только после того, как его согласованность была подтверждена последующим действием. Раздел 4 завершает статью и дает указания для будущих исследований.

2 Сценарий проблемы

2.1 Велнес-приложение

Приложение поддерживает как push-уведомления, в которых пользователю передаются персональные рекомендации, касающиеся здоровья, фитнеса, активности и т. Д.; а также интерактивные чаты, в которых приложение реагирует на запрос пользователя. Мы предполагаем существование базы знаний KB статей, изображений и видео, в которой артефакты ранжируются в соответствии с их релевантностью для различных профилей / настроений пользователей.

Архитектура Wellness-приложения описана на рис. 1, на котором показано, каковы условия пользователя и окружающей среды (включая отзывы пользователей):

1. собранные с использованием доступных датчиков для вычисления «текущей» обратной связи, включая контекст окружающей среды (например, изображение пользователя с веб-камеры может использоваться для определения настроения пользователя в отношении ответа / уведомления чат-бота, условий освещения в комнате и других пользователей, находящихся поблизости ),

2. который затем объединяется с историей пользовательских разговоров для количественной оценки кривой настроений пользователей и дисконтирования любых внезапных изменений настроений из-за несвязанных факторов;

3. что приводит к совокупному значению вознаграждения, соответствующему последнему ответу чат-бота / уведомлению приложения, предоставленному пользователю.

Это значение вознаграждения затем предоставляется в качестве обратной связи агенту RL для выбора следующего оптимального ответа чат-бота / уведомления приложения из базы знаний.

2.2 Интерактивный чат - формулировка RL

Мы формулируем RL Engine для вышеуказанного сценария следующим образом:

Действие (a): действие a в этом случае соответствует статье базы знаний, которая доставляется пользователю либо в виде push-уведомления, либо в ответ на запрос пользователя или как часть продолжающегося разговора.

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

Среда: относится к миру, с которым взаимодействует агент и который реагирует на действия агента. В нашем случае Среда соответствует пользователю U, взаимодействующему с приложением. U реагирует на действия A, предоставляя различные типы обратной связи, как явные (в форме ответа в чате), так и неявные (например, изменение выражения лица). .

Политика (𝜋): это стратегия, которую агент применяет для выбора следующего базового действия. Учитывая профиль пользователя Up, (текущее) мнение Us и запрос Uq; функция политики вычисляет произведение оценок статей, возвращаемых механизмами НЛП и рекомендациями соответственно, выбирая статью с наивысшей оценкой в ​​качестве следующего наилучшего действия: (a) Механизм НЛП (NE) анализирует запрос и выводит оценку для каждой статьи базы знаний на основе «схожести текста» статьи с пользовательским запросом. (b) Аналогичным образом механизм рекомендаций (RE) выдает оценку для каждой статьи на основе вознаграждения, связанного с каждой статьей, с учетом профиля пользователя и настроений. Функцию Политики можно формализовать следующим образом:

Награда (r): относится к обратной связи, по которой мы измеряем успешность или неудачу рекомендованного агентом действия. Отзыв может, например, относятся к количеству времени, которое пользователь тратит на чтение рекомендованной статьи. Мы рассматриваем двухэтапное вычисление функции вознаграждения, когда обратная связь fa, полученная в отношении рекомендованного действия, сначала сопоставляется с оценкой настроения, которая затем сопоставляется с вознаграждением.

где r и s относятся к функциям вознаграждения и настроения соответственно. Описанный выше состав RL проиллюстрирован на фиг.2.

3 RL Reward и продление правил

3.1 Взвешенные (множественные) каналы обратной связи

Как показано на рисунке 1, мы рассматриваем канал с множественной обратной связью, с обратной связью, полученной от пользовательских (граничных) устройств / датчиков, например веб-камера, термостат, умные часы или камера, микрофон, акселерометр, встроенные в мобильное устройство, на котором установлено приложение. Например, кадр веб-камеры, фиксирующий выражение лица пользователя, частоту сердечных сокращений, предоставляемую пользовательскими умными часами, можно рассматривать вместе с предоставленным пользователем текстовым ответом «Спасибо за отличное предложение»; при вычислении настроения пользователя к рекомендуемому действию.

Пусть {fa1, fa2,… fan} обозначает отзыв, полученный для действия a. Напомним, что s (f) обозначает настроение пользователя, вычисленное независимо на основе соответствующей сенсорной обратной связи f. Вычисление настроения пользователя можно рассматривать как классификатор, выводящий значение между 1–10. Затем вознаграждение может быть вычислено как средневзвешенное значение оценок настроений, как показано ниже:

где веса {wa1, wa2,… wan} позволяют системе согласовать полученную обратную связь, поскольку некоторые каналы обратной связи могут иметь проблемы с низкой надежностью. Например, если fi соответствует введенному пользователем ответу, fj соответствует снимку с веб-камеры; тогда более высокий вес дается fi. Причина здесь в том, что пользователь может «улыбаться» на снимке, однако «улыбка» возникает из-за того, что его ребенок входит в комнату (также запечатлен в кадре), и не обязательно в ответ на полученную рекомендацию / действие. В то же время, если настроение, вычисленное на основе текстового ответа пользователя, указывает на то, что он «стресс», то в этом случае мы придаем больший вес явной обратной связи пользователя (текстовый ответ).

3.2 Отложенные награды

Стратегия «отложенного вознаграждения» применяется в случае несоответствия вознаграждения, когда (текущее) вычисленное вознаграждение является «отрицательным» для действия, на которое, как известно, пользователь положительно реагирует (исторически сложившимся действиям одного и того же типа). ); и наоборот. Учитывая такую ​​несогласованность, стратегия отложенного вознаграждения буферизует вычисленное вознаграждение за действие в момент времени t; и предоставляет указание политике агента RL (𝜋) попробовать другую рекомендацию того же типа - для проверки настроения пользователя - перед обновлением вознаграждений за действия как в момент времени t, так и в момент t + 1.

Чтобы приспособиться к стратегии «отложенных вознаграждений», функция вознаграждений расширена буфером памяти, который позволяет вознаграждениям за последние m действия от времени (t + m) до t до агрегироваться и применяться задним числом во время (t + m). Функция отложенного вознаграждения dr обозначается следующим образом:

где | 𝑡 + 𝑚 означает, что награда за действия действия от времени (t + m) до t, хотя и рассчитывается индивидуально; может применяться только во время (t + m). Как и прежде, соответствующие веса wi позволяют нам согласовывать эффект противоречивой обратной связи, где вознаграждение за действие «не раз» применяется на основе вознаграждения, вычисленного для более позднего действия в определенный момент времени (𝑡 + 1) 𝑖.

Чтобы эффективно применять стратегию «отложенного вознаграждения», Политика 𝜋 также расширена, чтобы рекомендовать действие того же типа, что и предыдущее рекомендованное действие; если установлен флаг задержки d (d = 1): «Отложенная» Политика 𝜋𝑑𝑡 обозначается ниже:

Формулировка RL с отложенным вознаграждением / политикой проиллюстрирована на рисунке 3.

3.3 Увеличение наград

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

Повышенное вознаграждение 𝑟𝑏𝑎𝑡 за действие в в момент t рассчитывается следующим образом:

Мы оставляем это на будущее, чтобы расширить функцию «boost» до последних n действий (вместо только последнего действия выше). В этом расширенном сценарии система поддерживает кривую тональности последних n действий, а отклонение вычисляется относительно кривой, а не дискретного значения. Ожидаемая выгода здесь состоит в том, что это должно позволить системе лучше реагировать на тенденции настроений пользователей.

4. Вывод

В этой работе мы рассмотрели реализацию рекомендательной системы на основе RL в контексте реального Wellness-приложения. RL - мощный примитив для решения таких проблем, поскольку он позволяет приложению учиться и адаптироваться к предпочтениям / настроениям пользователя в режиме реального времени. Однако в ходе тематического исследования мы поняли, что текущие структуры RL не имеют определенных конструкций, необходимых для их применения в таких рекомендательных системах. Чтобы преодолеть это ограничение, мы ввели три конструкции RL, которые нам пришлось реализовать для нашего Wellness-приложения. Предлагаемые конструкции RL являются фундаментальными по своей природе, поскольку они влияют на взаимодействие между функциями вознаграждения и политики; и мы надеемся, что их добавление к существующим структурам RL приведет к более широкому внедрению на предприятиях.

использованная литература

[1] Барто, А., Саттон, Р.С .: Обучение с подкреплением: Введение. MIT Press, Кембридж, Массачусетс, 2018, http://incompleteideas.net/book/RLbook2018.pdf

[2] Чой, С., Ха, Х., Хван, У .. Ким, К., Ха, Дж., Юн, С .: Рекомендательная система на основе обучения с подкреплением, использующая технику бикластеризации. arXiv: 1801.05532, 2018.

[3] Лю, Ф., Тан, Р., Ли, X., Йе, Й., Чен, Х., Го, Х., Чжан, Я .: Рекомендации на основе глубокого обучения с подкреплением с явным пользовательским - Моделирование взаимодействий элементов. arXiv: 1810.12027, 2018

[4] Тагипур, Н., Кардан, А., Гидари, С.С.: Веб-рекомендации, основанные на использовании: подход к обучению с подкреплением. В: Конференция ACM по рекомендательным системам, стр. 113–120 (2007).

[5] Риччарделли, Э., Бисвас, Д .: Самосовершенствующиеся чат-боты на основе обучения с подкреплением. В: 4-я многопрофильная конференция по обучению с подкреплением и принятию решений (2019).

[6] Персонализатор Microsoft Azure,
https://azure.microsoft.com/en-us/services/cognitive-services/personalizer/

[7] Ли, Л., Чу, В., Лэнгфорд, Дж. К., Шапайр, Р. Э .: Контекстно-бандитский подход к рекомендации персонализированных новостных статей. В: 19-я Международная конференция по всемирной паутине (WWW), стр. 661–670 (2010).

[8] Google RecSim,
https://ai.googleblog.com/2019/11/recsim-configurable-simulation-platform.html, последний доступ 2019/02/03 .

[9] Обучение с подкреплением для улучшения рекомендательных систем. Https://analyticsindiamag.com/reinforcement-learning-recommender-system-recsim-google-ai/

[10] Обучение с отложенным подкреплением. http://heim.ifi.uio.no/~mes/inf1400/COOL/REF/Standford/ch11.pdf