Модель обучения с подкреплением (RL) для самосовершенствующихся чат-ботов, в частности, для чат-ботов типа FAQ.

Елена Риччарделли, Дебмаля Бисвас

Аннотация. Мы представляем модель обучения с подкреплением (RL) для самоулучшающихся чат-ботов, специально предназначенную для чат-ботов типа FAQ. Модель нацелена не на создание диалоговой системы с нуля, а на использование данных из пользовательских разговоров для повышения производительности чат-бота. В основе нашего подхода лежит оценочная модель, которая обучена оценивать кортежи высказывания-отклики чат-бота на основе отзывов пользователей. Оценки, предсказанные этой моделью, используются в качестве вознаграждения для агента RL. Изучение политики происходит в автономном режиме благодаря имитатору пользователя, который загружается высказываниями из базы данных FAQ. Изучение политик реализуется с помощью агента Deep Q-Network (DQN) с эпсилон-жадным исследованием, которое адаптировано для эффективного включения резервных ответов на вопросы, выходящие за рамки. Потенциал нашего подхода показан на небольшом кейсе, извлеченном из корпоративного чат-бота. Он показывает увеличение производительности с первоначальных 50% успеха до 75% за 20–30 эпох обучения.

Опубликованная версия статьи доступна ниже, в материалах 4-й Междисциплинарной конференции по обучению с подкреплением и принятию решений (RLDM), Монреаль, 2019 г. (Paper) (Code).

1. Введение

Большинство диалоговых агентов в корпоративной среде зависят от предметной области и состоят из модуля понимания естественного языка (NLU), обученного распознавать цель пользователя под контролем. Однако сбор хорошего обучающего набора для производственной системы - трудоемкий и обременительный процесс. Чат-боты, охватывающие широкий спектр намерений, часто сталкиваются с низкой производительностью из-за совпадения намерений и путаницы. Кроме того, сложно самостоятельно переобучить чат-бота с учетом отзывов пользователей на этапе реального использования или тестирования. Самостоятельно улучшающихся чат-ботов сложно достичь, в первую очередь из-за сложности выбора и определения приоритетов показателей для оценки производительности чат-бота. В идеале нужно, чтобы агент диалога был способен учиться на опыте пользователя и улучшать его автономно.

В этой работе мы представляем подход к обучению с подкреплением для самосовершенствующихся чат-ботов, в частности, для чат-ботов типа FAQ. Ядром таких чат-ботов является NLU распознавания намерений, который обучается с жестко запрограммированными примерами вариантов вопросов. Если ни одно намерение не соответствует уровню достоверности выше 30%, чат-бот возвращает резервный ответ. Для всех остальных механизм NLU возвращает соответствующий уровень достоверности вместе с ответом.

Несколько исследовательских работ [2, 3, 7, 8] показали эффективность подхода RL при разработке диалоговых систем. Критически важным для этого подхода является выбор хорошей модели вознаграждения. Типичная модель вознаграждения - это реализация срока штрафа за каждый ход диалога. Однако такие вознаграждения применимы только к чат-ботам для выполнения задач, где цель агента - удовлетворить запрос пользователя в кратчайшие сроки, но они не подходят для чат-ботов типа FAQ, где ожидается, что чат-бот даст хороший ответ за один ход. Отзывы пользователей также можно использовать в качестве модели вознаграждения в онлайн-обучении с подкреплением. Однако применение RL к живым разговорам может быть сложной задачей и может повлечь за собой значительные затраты в случае отказа RL.

Лучшим подходом для развернутых систем является выполнение обучения RL в автономном режиме, а затем обновление политики NLU после достижения удовлетворительного уровня производительности.

2 Модель обучения с подкреплением

Архитектура модели RL проиллюстрирована на рисунке 1. Различные компоненты модели: блок NLU, который используется для первоначального обучения агента RL на этапе разминки; имитатор пользователя, который случайным образом извлекает высказывания пользователя из базы данных пользовательского опыта; модель оценки, обученная диалогу пользователя с обратной связью, и агенту RL, основанному на сети Deep Q-Network (DQN).

2.1 Диалоговая система

Мы применяем подход обучения с подкреплением к чат-боту типа FAQ.

В основе чат-бота лежит NLU распознавания намерений, который обучается с жестко запрограммированными примерами вариантов вопросов. Намерение определяется как намерение пользователя, которое формулируется в высказывании. Для этой работы мы выбрали NLU с открытым исходным кодом от Rasa, использующий конвейер TensorFlow. Однако подход RL не зависит от выбранного NLU, и для производственных систем его можно легко распространить на механизмы NLU, такие как IBM Watson или Amazon LEX.

2.2 Реальные разговоры пользователей

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

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

Все 10 пользователей, участвовавших в фазе тестирования, были проинформированы, что их отзывы будут использованы для улучшения производительности чат-бота. Тестировщики давали (двоичную) обратную связь после каждого череда разговора, таким образом оценивая кортежи высказывания-отклики. Таким образом, исторические данные содержат четверки следующего формата: (высказывание, ответ, уровень достоверности NLU и обратная связь). Удалив недопустимые разговоры (то есть те, которые отсутствуют или имеют недопустимую обратную связь), мы получаем 550 пользовательских разговоров, вызывающих около 120 намерений. Хотя мы протестировали модель оценки для всех разговоров, модель RL была применена только к подвыборке из 155 разговоров, вызвав 5 основных намерений. В этом подмножестве удовлетворенность пользователя составляет 50%.

2.3 Функция вознаграждения: модель оценки

Оценка производительности чат-бота - давняя проблема компьютерной лингвистики. Автоматические метрики, заимствованные из машинного перевода (например, [6]), плохо работают с короткими предложениями (например, [4]), такими как кортежи высказывания-отклики чат-бота. С другой стороны, человеческий рейтинг чат-ботов в настоящее время является стандартом де-факто для оценки успеха чат-бота, хотя сбор таких оценок часто бывает сложно и дорого.

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

Чтобы использовать обратную связь с пользователем в автономном обучении с подкреплением, мы разработали оценочную модель, способную моделировать двоичную обратную связь для невидимых кортежей высказывание-ответ. В контролируемой манере оценочная модель изучает, как проецировать векторные представления высказываний и ответов в линейно преобразованном пространстве, так что аналогичные векторные представления дают высокий балл. Что касается векторного представления предложений, мы вычисляем встраивание предложений с помощью универсального кодировщика предложений [1], доступного через TensorFlow Hub. Для обучения модели оптимизация выполняется на основе квадратичной ошибки (между предсказанием модели и обратной связью с человеком) с регулированием L2. Для оценки модели прогнозируемые баллы затем преобразуются в двоичный результат и сравниваются с целевыми значениями (отзывами пользователей). Для тех пар высказываний, которые имеют распознанное намерение и с положительной обратной связью, и с уровнем достоверности NLU, близким к 1, мы выполняем увеличение данных, присваивая низкие баллы комбинации высказывания и запасного намерения.

Аналогичный подход для оценки чат-ботов был предложен в [4]. Авторы моделируют оценки, используя помеченный набор разговоров, который также включает модели и ответы, созданные человеком, собранные с помощью краудсорсинга.

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

2.4 Изучение политики с DQN

Для изучения политики агент RL использует алгоритм Q-обучения с архитектурой DQN [5]. В DQN нейронная сеть обучается аппроксимировать функцию состояние-действие Q (s_t, a_t, θ), которая представляет качество действия a_t, предоставляемого в состоянии s_t и θ - обучаемые параметры. Что касается сети DQN, мы следовали подходу, предложенному в [3], используя полностью подключенную сеть, питаемую буфером пула воспроизведения опыта, который содержит одноразовое представление высказывания и ответа и соответствующее вознаграждение. В этом случае возможно одноразовое представление, поскольку у нас есть конечные возможные значения для высказываний (заданных количеством реальных вопросов пользователей в журналах) и ответов (равных количеству намерений, используемых в нашем тестовом примере, 5) . На этапе разминки DQN обучается на NLU, используя в качестве награды уровень достоверности NLU. Обучающий набор DQN дополняется всякий раз, когда пара состояние-действие имеет достоверность выше порогового значения, путем присвоения нулевого веса данному состоянию и всем другим доступным действиям. Таким образом, в начале обучения RL агент работает аналогично модулю NLU.

Во время обучения RL мы используем эпсилон-ε-жадное исследование, в котором случайные действия исследуются в соответствии с вероятностью ε. Мы используем изменяющийся во времени ε, который облегчает исследование в начале обучения с e_t0 = 0,2 и ε_t = 0,05 в течение последней эпохи. Чтобы ускорить обучение при выборе случайных действий, мы также увеличиваем вероятность получения сообщения «Намерение не обнаружено», поскольку некоторые вопросы фактически выходят за рамки области действия чат-бота, но они ошибочно соответствуют ложному намерению NLU. В течение эпохи мы моделируем серию разговоров размером n-эпизодов (в наших экспериментах от 10 до 30) и заполняем буфер воспроизведения опыта кортежем (s_t, a_t, r_t) . Буфер имеет фиксированный размер и очищается в первый раз, когда производительность агента превышает заданный порог. В тех эпизодах, где кортеж «состояние-действие» получает вознаграждение более 50%, мы выполняем увеличение данных, присваивая нулевое вознаграждение назначению любого другого действия текущему состоянию.

3 Оценка модели

3.1 Оценка модели баллов

Чтобы оценить модель, мы выбираем подмножества разговоров, запускающих N основных намерений, с N от 5 до 50. Результаты оценочной модели суммированы на рисунке 2, показывающем перекрестную проверку (5-кратное CV) точности на набор тестов и кривая ROC в зависимости от количества намерений.

Для всей выборки разговоров мы получаем точность перекрестной проверки 75% и AUC 0,84.

Однако, выбирая только те разговоры, которые запускают 5 основных намерений, включая больше примеров для каждого намерения, мы получаем точность 86% и AUC 0,94. Для оценки модели RL мы сосредоточились на 5 подмножествах намерений; что гарантирует, что у нас самые надежные награды.

3.2 Оценка модели обучения с подкреплением

Кривая обучения для обучения RL показана на рисунке 3. На левой панели мы сравниваем обучение RL с моделью вознаграждения с тестом, выполненным с прямым вознаграждением (в интерактивном режиме), показывая, что модель оценки дает выступления аналогичны эталонному случаю, когда известна награда. Значительные колебания среднего балла связаны с ограниченным размером пакета (n-эпизодов = 10) и относительно большим ε. Мы также показываем степень успеха на тестовой выборке из 20 разговоров, извлеченных из полной выборки, где «золотой ответ» предоставляется вручную для всех высказываний.

Показатель успешности агента увеличивается с начальных 50% до 75% всего за 30 эпох, показывая потенциал этого подхода.

На правой панели мы показываем результаты с использованием n-серий = 30, показывая аналогичные результаты, но с более плавной кривой обучения.

4. Выводы

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

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

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

[1] Daniel Cer, et. al. Универсальный кодировщик предложений. CoRR, абс. / 1803.11175, 2018.

[2] Цзивэй Ли, Уилл Монро, Алан Риттер, Мишель Гэлли, Цзяньфэн Гао и Дэн Джурафски. Глубокое обучение с подкреплением для генерации диалогов. Препринт arXiv arXiv: 1606.01541, 2016.

[3] Сюцзюнь Ли, Юн-Нунг Чен, Цзяньфэн Гао и Асли Челикйилмаз. Сквозные нейронные диалоговые системы для выполнения задач. На 8-й Международной совместной конференции по обработке естественного языка, 2017.

[4] Райан Лоу и др. al. На пути к автоматическому тесту Тьюринга: обучение оценке диалоговых ответов. В материалах 55-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 1116–1126. Ассоциация компьютерной лингвистики, 2017.

[5] Владимир Мних, и др. al. Контроль на уровне человека посредством глубокого обучения с подкреплением. Природа, 518: 529 EP -, 02 2015.

[6] Кишор Папинени, Салим Рукос, Тодд Уорд и Вэй-Цзин Чжу. Bleu: метод автоматической оценки машинного перевода. In Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, ACL ’02, pages 311–318, 2002.

[7] Баолинь Пэн, Сюцзюнь Ли, Цзяньфэн Гао, Цзинцзин Лю и Кам-Фай Вонг. Deep dyna-q: интеграция планирования для изучения политики диалога о завершении задачи. В материалах 56-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 2182–2192. Ассоциация компьютерной лингвистики, 2018.

[8] Юлиан Влад Сербан и др. al. Чат-бот с глубоким обучением с подкреплением. CoRR, abs / 1709.02349, 2017.