Контекстный диалоговый агент тема диссертации и автореферата по ВАК РФ 05.13.17, кандидат наук Юсупов Идрис Фаргатович

  • Юсупов Идрис Фаргатович
  • кандидат науккандидат наук
  • 2020, ФГАОУ ВО «Московский физико-технический институт (национальный исследовательский университет)»
  • Специальность ВАК РФ05.13.17
  • Количество страниц 87
Юсупов Идрис Фаргатович. Контекстный диалоговый агент: дис. кандидат наук: 05.13.17 - Теоретические основы информатики. ФГАОУ ВО «Московский физико-технический институт (национальный исследовательский университет)». 2020. 87 с.

Оглавление диссертации кандидат наук Юсупов Идрис Фаргатович

Введение

Глава 1. Диалоговые агенты

1.1 Архитектура диалогового агента

1.2 Оценка качества диалоговых агентов

1.3 Текущие проблемы диалоговых агентов

Глава 2. Диалоговая система с обучаемым диалоговым менеджером

2.1 Диалоговый агент для обсуждения текста

2.2 Описание диалоговой системы

2.2.1 Архитектура диалоговой системы

2.2.2 Навыки

2.2.3 Диалоговый менеджер

2.3 Анализ участия в СопуА1

2.3.1 Сравнение Ъо1#1337 с рое\м<жпаЬе

2.3.2 Анализ данных финала СопуА1

2.4 Доступность

2.5 Диалоговый агент с персональностью

2.6 Механизм переходов между навыками в диалоговом агенте

2.7 Выводы по главе

Глава 3. Использование диалоговых графов в диалоговой системе

3.1 Обзор методов извлечения диалоговых графов из диалоговых корпусов

3.2 Генерация диалогового графа

3.2.1 Алгоритм генерации диалогового графа

3.2.2 Диалоговые корпуса

3.2.3 Извлечение признаков из диалогового графа

3.3 Полученные результаты

3.3.1 Визуализация диалоговых графов

3.3.2 Сравнение и анализ диалоговых графов

Стр.

3.3.3 Моделирование целенаправленного диалога с графовыми

признаками

3.4 Выводы по главе

Заключение

Список литературы

Список рисунков

Список таблиц

Рекомендованный список диссертаций по специальности «Теоретические основы информатики», 05.13.17 шифр ВАК

Введение диссертации (часть автореферата) на тему «Контекстный диалоговый агент»

Введение

Сейчас существует множество программ для обмена сообщениями, которыми пользуются во всем мире. Например, база пользователей программы Telegram составляет более 400 миллионов активных пользователей по состоянию на апрель 2020 года. Компании вовсю используют этот канал для коммуникации с клиентами. Стоит задача автоматизации такой коммуникации, т.к. запросы пользователей часто носят однотипный характер. На сегодняшний день популярны голосовые ассистенты, например, Amazon Alexa, Apple Siri, Яндекс Алиса. С ними человек может общаться на свободные темы или для решения повседневных задач, таких как заказ такси, бронирования столика в ресторане и т.п.

Кроме коммерческого интереса, в последние годы было организовано множество соревнований по созданию диалоговых агентов. В 2017 году впервые был проведен Alexa Prize Challenge - соревнование (контест), целью которого является разработка диалогового агента (чат-бота, бота) способного вести диалог с человеком на разные темы. Разработка такого диалогового агента требует использования знаний разных дисциплин, таких как компьютерная лингвистика, программная инженерия, искусственный интеллект. С 1991 года проводится AI Loebner - ежегодный контест, в котором необходимо разработать диалогового агента, способного пройти Тест Тьюринга. В 2017 году прошел первый ConvAI - The Conversational Intelligence Challenge, где требовалось разработать чат-бота ведущего диалог о заданном параграфе текста с человеком. В 2018 году прошло второе такое соревнование, где в отличие от первого, боту присуждалось случайное описание его личности.

Несмотря на весь прогресс, AI Loebner продолжается, т.е. Тест Тьюринга не пройден, лучший диалоговый агент Alexa Prize 2019 показывает оценку 3.8 из 5 по результатам финальной оценки судей. Полной автоматизации клиентской поддержки добиться не удается, а голосовые ассистенты часто ошибаются и разочаровывают конечных пользователей.

На текущий момент программный код практически каждого диалогового агента уникален. Например, ни один из участников Alexa Prize не выкладывал исходный код в открытый доступ. Находящиеся же диалоговые агенты с открытым исходным кодом плохо документированы и тяжело расширяемы. Наличие гибкого, универсального и открытого программного фреймворка для создания

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

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

Анализ переходов между репликами является первой ступенью в создании связанного диалога. По нему можно понять какой переход был удачным, а какой нет и скорректировать его. Разнообразие контекстов в диалогах, которое возникает при общении человека и бота огромное, поэтому полезно представление диалоговых данных в виде графа. Вершина графа - семантически значимое представление контекстов, например, "Приветствие", "Знакомство" и т.п. Ребро - переход между вершинами. Имея алгоритм построения такого графа можно эффективнее анализировать большие диалоговые корпуса, а в перспективе автоматически строить логику диалогового менеджера.

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

Для достижения поставленной цели необходимо было решить следующие задачи:

1. Обзор современных методов построения диалоговых агентов.

2. Разработка и исследование архитектур диалоговых агентов.

3. Создание и исследование диалогового менеджера с решением проблемы холодного старта.

4. Разработка программного комплекса диалогового агента.

5. Оценка качества разработанного диалогового агента.

6. Анализ диалогов проведенных диалоговым агентом.

7. Исследование методов построения и использования диалоговых графов в диалоговой системе.

Научная новизна:

1. Разработана и исследована эффективная и доказавшая свою состоятельность в двух соревнованиях, архитектура диалогового агента, способного вести разговор в определенном контексте.

2. Разработан и исследован диалоговый менеджер, решающий проблему холодного старта, использующий методы обучения с учителем.

3. Разработан и исследован метод построения диалогового графа из диалогового корпуса, который является инструментом визуализации и источником признаков, которые улучшают качество на целевой задаче.

4. Созданы и апробированы комплексы программ, включающих в себя как диалогового агента в целом, так и его отдельные компоненты.

Практическая значимость Разработанный диалоговый агент показал практическую значимость заняв 1 место на соревновании ConvAI 1 и войдя в тройку лучших на этапе хакатона в ConvAI 2. Также идеи предложенные в нем получили дальнейшее развитие в Alexa Prize 2019. Компонент по генерации вопросов был использован в коммерческом проекте Autofaq.ai. Программный комплекс диалогового агента документирован и находится в открытом доступе под свободной лицензией.

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

Основные положения, выносимые на защиту:

1. Разработан диалоговый агент ведущий разговор в определенном контексте. Показана способность поддерживать как контекст в смысле обсуждения определенного текста, так и контекст в смысле описания персоналии агента.

2. Разработан адаптированный под холодный старт диалоговый менеджер. Для его работы требуются только данные самих навыков, либо несколько подготовленных фраз.

3. Предложен метод построения диалогового графа из диалогового корпуса, который является полезным инструментом визуализации. Предложенный метод применим для корпусов разных размеров и тематик. Диалоговый граф также является источником полезных признаков, улучшающие качество на целевой задаче.

Достоверность полученных результатов обеспечивается экспериментами на наборах диалоговых данных, а также участием в соревнованиях ConvAI 1, ConvAI 2, Alexa Prize 2019.

Апробация работы. Результаты работы были представлены автором на следующих научных конференциях и семинарах:

- The Conversational Intelligence Challenge section on NIPS 2017 Competition Track Workshop, международная конференция NIPS, Long Beach, 2017.

- Международная конференция COLING, Santa Fe, 2018.

- Mini-Workshop: Stochastic Processes and Probabilistic Models in Machine Learning, семинар ВШЭ, Москва, 2018.

- AMC Makeathon 2019: Big data for social event benefit, Москва, 2019.

Публикации. Основные результаты по теме диссертации изложены в 4 печатных изданиях, 1 из которых изданы в журналах, рекомендованных ВАК, 1 — в тезисах докладов. [1] - свидетельство о государственной регистрация программы для ЭВМ.

Объем и структура работы. Диссертация состоит из введения, трёх глав, заключения и двух приложений. Полный объём диссертации составляет 87 страниц, включая 27 рисунков и 11 таблиц. Список литературы содержит 68 наименований.

Благодарности. Автор выражает глубокую признательность своему научному руководителю, кандидату физико-математических наук, Бурцеву Михаилу Сергеевичу за ценные замечания и неоценимую помощь в подготовке диссертации. Автор благодарит Юрия Куратова и Дмитрия Карпова за идеи и помощь. Также автор благодарен компании AutoFAQ.ai за финансовую поддержку и Элине Юсуповой за редактирование публикаций.

Глава 1. Диалоговые агенты

В разделе 1.1 дается определение диалогового агента и его архитектуры. В разделе 1.2 описываются различные способы оценки качества диалоговых систем. В разделе 1.3 описаны текущие проблемы диалоговых агентов.

1.1 Архитектура диалогового агента

Диалоговый агент (диалоговая система, агент, чат-бот, бот) - это программа, которая ведет разговор с человеком через текстовый или звуковой интерфейс. Агенты разделяются на целеориентированных (task-oriented), предназначенных для решения определенной задачи, например бронирование номера в гостинице или заказа такси, и общего назначения (general purpose). Агенты общего назначения должны уметь вести диалог на общие темы. Также диалоговых агентов разделяют по области действия (домену). Боты с открытым доменом покрывают широкий спектр тем диалога, тогда как чат-бот с закрытым доменом специализируется только на конкретных темах.

Диалоговые агенты имеют сложную архитектуру и состоят из нескольких модулей (рис. 1.1):

- понимания естественного языка (natural language understanding),

- диалогового менеджера (dialogue management),

- генерации естественного языка (natural language understanding).

Также могут присутствовать модули распознавания речи и синтеза речи. Далее рассмотрим три перечисленных выше модуля.

"Find me а Bill Murray movie"

"When was it t released"

Рисунок 1.1 — Архитектура диалогового агента. Рисунок взят из [2].

Модуль понимания естественного языка решает задачу обработки входящего сырого текстового запроса пользователя и его отображения в структурное представление. Типичные задачи, которые решает этот модуль включает в себя фильтрацию входящего запроса пользователя, его нормализацию, извлечение именованных сущностей и фактов, классификацию запроса по темам. На рис. 1.2 показан пример разметки последовательности, извлечения домена и интента. Далее будут приведены метрики, по которым можно оценивать качество отдельных компонентов внутри модуля понимания. Пусть у* е {+1, — 1}, тогда (ж^у*) будет истинным, если у* - это +1 (или —1).

- Доля правильно классифицированных объектов (accuracy) функцией f:

1 N

ACCURACY(f) := - £ 1(f (хг; 9) = у*),

i=1

где 1 (E) равно 1 если выражение E истинно и 0 иначе.

- Точность (precision) показывает какая доля объектов, распознанных f как объекты положительного класса, предсказаны верно.

PRECISION(f) := EN=11(f(xi; 9) = У* & У* = +1) .

Ei=i1(f (xi;9) = +1)

- Полнота (recall) показывает какая доля объектов, реально относящихся к положительному классу, были предсказаны f верно.

RECATTfE;=11(f (Xi; 9) = у* & у* = +1)

RECALL(f' = £N=11(У* = +1) •

- Fl-мера - это гармоническое среднее между точностью и полнотой:

2 х PRECISION(f) х RECALL(f)

F1(f) :=

PRECISION(f) + RECALL(f)

Для успешной работы этого модуля необходимо большое количество информации, включающей знания о мире, контекст диалога и т.п. В коммерческих системах типа Amazon Alexa для описания окружающего мира используются базы знаний (knowledge base). Базы знаний создаются на основании открытых источников, таких как Википедия, и пополняются с помощью различных алгоритмов извлечения информации из текстов. Эти данные также используются для дальнейшего обучения компонент этого модуля. Коммерческие системы также могут

W find recent comedies by james cameron

; ; i

s О B-date В-genre 0 B-dir I-dir

D movies

I fincLmovie

Рисунок 1.2 — Пример разметки последовательность по схеме ЮВ (5), предсказания предметной области (О) и интента (I). Рисунок взят из [3].

собирать и использовать информацию о пользователе: его интересы, предпочтения и другую личную информацию [4].

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

В [4; 5] основные задачи диалогового менеджера определяются как:

- обновление диалогового контекста на основании разбора текущего сообщения;

- выдача контекстно-зависимых разборов сигналов;

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

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

В [7] ведение диалога рассматривается как Марковский процесс принятия решения (Markov décision process, MDP) с заданным пространством состояний, действий и стратегией. С помощью методов обучения с подкреплением находится оптимальная стратегия диалога. Эксперименты авторов на данных информационной системы для авиа-путешествий (air travel information system) показали, что возможно найти оптимальную стратегию, которая схожа с теми, что были вручную описаны другими исследовательскими группами. Этот подход рассматривает состояния диалога как заранее заданные и конечные, но в реальности пользова-

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

Чтобы решить проблему с ошибками в модуле распознавания речи в диалоговой системе, в [8] было предложено использовать частично наблюдаемый марковский процесс принятия решений (Partially Observable Markov Decision Process, POMDP) для моделирования состояний в диалоге. Поиск оптимальной стратегии в таком процессе вычислительно затратно, поэтому авторы предложили эвристику, которая отбрасывает из подсчета маловероятные состояния. Эксперименты авторов на их данных показали, что стратегия полученная с помощью POMDP не уступает MDP.

В статье [9] об использовании обучения с подкреплением для диалогового менеджера в индустриальных системах сказано, что для использования методов обучения с подкреплением на практике необходимо, чтобы эти методы всегда находили стратегию, которая была бы лучше правил написанных людьми. Также они указывают, что оценка качества таких методов основана на использовании симулятора пользователя или правил, причем симулятор один и тот же для обучения и для тестирования, что является не совсем честной практикой. По сравнению с нейросетевым подходом, методы использующие обучение с подкреплением требуют более глубокого знания предметной области для описания марковского процесса.

Модуль генерации естественного языка выдает реплику бота на основе информации полученной от диалогового менеджера. Например, диалоговый менеджер возвращает действие "приветствие", соответственно модуль генерирует реплику для приветствия.

Существует несколько подходов для реализации модуля генерации естественного языка. Первый подход основан на шаблонах и правилах, которые описывает эксперт в данной предметной области. Примером использования такого подхода является работа [10], где описан язык AIML (Artificial Intelligence Markup Language) - хорошо документированный, широко используемый диалект языка XML для декларативной разработки диалоговых агентов. Качество такой системы ограничено качеством написанных правил и есть сложность в адаптации этих правил к новым предметным областям.

В [11] описан метод автоматической генерации шаблонов по диалоговому корпусу и их использованию в модуле генерации. Предложения в диалоге отображаются в семантическое представление и кластеризуются, в результате чего

получаются шаблоны. Во время диалога, с помощью БУМ выбирается наиболее подходящий шаблон, в нем заполняются значения и выдается ответ пользователю.

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

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

1.2 Оценка качества диалоговых агентов

Оценку качества диалогового агента проводят двумя способами: автоматическим и ручным, с помощью человека. Для автоматической оценки качества требуется размеченный диалоговый корпус.

Автоматический способ оценки применим для целеориентированных диалоговых агентов или для агентов с ограниченным доменом, которые не развиваются с течением времени. Для реализации целеориентированных систем, можно использовать фрейм, который состоит из слотов с параметрами ситуации и значений слотов. В [4] сказано, что под фреймом обычно понимается структура данных, представляющая стереотипную ситуацию, абстрактный образец или шаблон для ситуации, класса объектов или объекта. Теория фреймов была разработана Марвином Минским применительно к исследованию восприятия многомерных ситуаций [13]. Эксперименты показывают, что воспринимая информацию, человек сохраняет эти данные в сознании в виде особых структур, соответствующих типовым ситуациям, т.е. в виде фреймов. В табл. 1 указан фрейм для заказа такси, который состоит из слотов "Откуда", "Куда" и запол-

ненных значений. Качество можно измерять как процент верно заполненных фреймов или как процент верно заполненных слотов.

Таблица 1 — Фрейм заказа такси.

Слот Значение

Откуда ул. Лесная 13

Куда ул. Водников 37

Фреймы могут быть использованы для различных предметных областей. Для каждого фрейма необходимо описать слоты и их типы. Они описываются экспертом в данной области. Например, предметная область о фильмах, может иметь такие слоты как название фильма, цена билета в кинотеатр, дата выхода и т.п. Также слоты могут быть опциональными или обязательными к заполнению.

Если диалоговая система не использует фреймы, а оперирует только репликами, то качество измеряют мерами из области информационного поиска, например Recall@k, которая показывает долю релевантных реплик среди k лучших, выбранных моделью. Также часто используют метрику BLEU [14], применяемую в машинном переводе, которая учитывает сколько n-грам совпадает в переводе и в эталоне, а затем по определенной формуле выводит оценку качества по шкале от 0 до 100 [4]. Меры информационного поиска применимы, если чат-бот работает с заранее заданными репликами и возвращает их в качестве ответа. Меры машинного перевода применимы, когда бот генерирует реплику. Такие метрики не являются оптимальными для оценки качества чат-ботов, т.к. релевантный ответ может отличаться от золотого стандарта [15]. В недавних работах было предложено оценивать качество диалоговых агентов путем обучения модели, предсказывающую такую оценку, используя размеченную выборку [16; 17]. Однако получение таких корпусов требует много времени и усилий, и предсказываемая оценка может быть ошибочной [17], поэтому она редко используется.

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

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

Алан Тьюринг в 1950 году выдвинул одну из широко используемых сейчас проверок на то, что машина может мыслить - т.н. игра в имитацию или Тест Тьюринга [18]. Дано две сущности А и В, где А - это человек, В - человек или компьютерная программа. А ведет диалог с В с помощью компьютера, причем А не знает, что скрывается за В. После проведенного диалога А должен дать ответ является ли В человеком или компьютерной программой. Так в 1991 году впервые было проведено соревнование AI Loebner [19], целью которого является разработка диалогового агента способного пройти Тест Тьюринга. Соревнование стало ежегодным и должно закончиться, когда такой агент будет создан. На текущий момент соревнование продолжается.

В 2017 году был организован Alexa Prize Challenge целью которого является создание диалогового агента общего назначения для ведения диалога в открытом домене [20]. В отличие от предыдущего соревнования здесь не ставится цель пройти Тест Тьюринга. Главной задачей бота является ведение диалога длительностью 20 минут и средней оценкой пользователей 4 из 5. За решение такой задачи победившей команде присуждается приз в 1 млн. долларов. Соревнование также стало ежегодным. Участники 2019 года достигли оценки в 3.8 и времени 7 минут 37 секунд [21].

Также в 2017 впервые было проведено соревнование ConvAI - The First Conversational Intelligence Challenge [22]. Задачей разработчиков чатботов было создание бота, способного вести диалог о случайном абзаце статьи из Википедии. Победители достигли оценки в 2.78 из 5, верхней границей можно считать оценку человека в 3.8. В 2018 году соревнование провели во второй раз, но изменили задачу [23]. Теперь боту давалась определенная персона и бот должен был говорить о себе в ее контексте. В ней кроме пятибалльной пользовательской оценки, также были использованы автоматические метрики, такие как Perplexity, Accuracy@l, Fl-мера. Победители по ручной пользовательской пятибалльной разметке получили оценку в 3.11 из 5. Победители по автоматической разметке заняли второе место с пользовательской оценкой 2.68. Верхней границей можно считать оценку человека в 3.48.

1.3 Текущие проблемы диалоговых агентов

Первой проблемой можно назвать отсутствие хорошо документированных, простых в использовании, расширяемых программных комплексов для построения диалоговых агентов. Еще ни один участник Alexa Prize не выкладывал программный код своих ботов в открытый доступ. Код победителя последних AI Loebner 2017-2019 - Mitsuku1, также закрыт. Стоит отметить, что код победителя AI Loebner 2004 - A.L.I.C.E [10] есть в открытом доступе и его активно используют, как один из подмодулей в диалоговых агентах на соревнованиях. По условиям соревнований ConvAI 1 и 2 необходимо выкладывать код в открытый доступ, что позволяет использовать их как один из подмодулей в своем агенте. Но хотелось бы иметь библиотеку для построения диалогового агента, наподобие Django2 и Rails3 для веб-приложений. Сейчас каждый диалоговый агент в смысле программного решения уникален. Если бы разработчики использовали единый программный фреймворк - это бы позволило другим командам ускорить скорость разработки, проще реализовывать и поддерживать сложную логику, увеличить сопровождае-мость и надежность решений, легче находить и вводить новых разработчиков.

В данной работе в качестве решения этой проблемы предлагается модульная архитектура диалоговой системы, где каждый навык системы является независимой компонентой. Это позволяет разрабатывать каждый модуль независимо и обеспечить слабую связанность системы. Код системы документирован и выложен в открытом доступе на GitHub. Надежность и универсальность диалоговой системы, детальное описание которой дано в разделах 2.2 и 2.5, подтверждена участием в двух различных соревнованиях. Программный интерфейс бота, который описан в разделе 2.4 был использован для сбора диалогов в дорожке Dialogue Breakdown Challenge соревнования Dialogue State Tracking Challenge 6 [24]. Также качество и модульность программного комплекса подтверждается тем, что компонент по генерации вопросов из раздела 2.2.2 был использован в коммерческом проекте Autofaq.ai [1].

В начале разработки диалоговой системы отсутствуют данные о диалогах из-за чего возникает проблема "холодного старта". Это замедляет и увеличива-

1https://www.pandorabots.com/mitsuku/

2https://www.djangoproject.com

3https://rubyonrails.org

ет стоимость разработки бота, т.к. нужно размечать данные, либо использовать эвристики до накопления данных. Это особенно актуально для диалогового менеджера, т.к. в качестве подмодулей для генерации и понимания естественного языка можно использовать те, что находятся в открытом доступе. Диалоговый менеджер - уникальный у каждого диалогового агента. Так например в Mitsuku написано множество правил, а один из участников Alexa Prize 2017 MILABOT [25] собирал размеченные данные через Amazon Mechanical Turk4.

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

Похожие диссертационные работы по специальности «Теоретические основы информатики», 05.13.17 шифр ВАК

Список литературы диссертационного исследования кандидат наук Юсупов Идрис Фаргатович, 2020 год

Список литературы

1. Свидетельство о государственной регистрации программы для ЭВМ №2019617575 "AutoFAQ - омниканальная платформа для роботизации поддержки клиентов и сотрудников с помощью вопросно-ответных и диалоговых систем" [Текст] / И. Ф. Юсупов [и др.] // Федеральная служба по интеллектуальной собственности. — 2019.

2. Gao, J. Neural approaches to conversational AI [Текст] / J. Gao, M. Galley, L.Li// The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. — 2018. — C. 1371—1374.

3. Multi-Domain Joint Semantic Frame Parsing using Bi-directional RNN-LSTM [Текст] / D. Hakkani-Ttir [и др.] // Proceedings of the 17th Annual Conference of the International Speech Communication Association (INTERSPEECH). — 2016.— С. 715—719.

4. Митренина, О. В. Прикладная и компьютерная лингвистика [Текст] / О. В. Митренина, И. С. Николаев, Т. М. Ландо. — 2016.

5. Traum, D. R. The information state approach to dialogue management [Текст] / D. R. Traum, S. Larsson // Current and new directions in discourse and dialogue. — Springer, 2003. — C. 325—353.

6. Dale, R. Handbook of natural language processing [Текст] / R. Dale, H. Moisl, H. Somers. — CRC Press, 2000.

7. Levin, E. A Stochastic Model of Human-Machine Interaction for Learning Dialog Strategies [Текст] / E. Levin, R. Pieraccini, W. Eckert // IEEE Transactions on Speech and Audio Processing. — 2000. — T. 8, N° 1. — C. 11—23.

8. Roy, N. Spoken Dialogue Management using Probabilistic Reasoning [Текст] / N. Roy, J. Pineau, S. Thrun // Proceedings of the 38th Annual Meeting of the Association for Computational Linguistics (ACL). — 2000. — C. 93—100.

9. Paek, T.Reinforcement learning for spoken dialogue systems: Comparing strengths and weaknesses for practical deployment [Текст] / T. Paek // Proc. Dialog-on-Dialog Workshop, Interspeech. — Citeseer. 2006.

10. Wallace, R. S. The anatomy of ALICE [Текст] / R. S. Wallace // Parsing the Turing Test. — Springer, 2009. — C. 181—210.

11. Kondadadi, R. A Statistical NLG Framework for Aggregated Planning and Realization [Текст] / R. Kondadadi, B. Howald, F. Schilder // Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (ACL). — 2013. — C. 1406—1415.

12. Lemon, O. Learning What to Say and How to Say It: Joint Optimisation of Spoken Dialogue Management and Natural Language Generation [Текст] / О. Lemon // Computer Speech & Language. — 2011. — T. 25, N° 2. — C. 210—221.

13. Минский, M. Фреймы для представления знаний [Текст] / М. Минский. — Энергия, 1979.

14. BLEU: a Method for Automatic Evaluation of Machine Translation [Текст] / К. Papineni [и др.] //. — 2002. — С. 311—318.

15. How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation [Текст] / C.-W. Liu [и др.] // CoRR. — 2016. — Т. abs/1603.08023. — arXiv: 1603.08023. — URL: http://arxiv.org/abs/1603.08023.

16. On the Evaluation of Dialogue Systems with Next Utterance Classification [Текст] / R. Lowe [и др.] // CoRR. — 2016. - Т. abs/1605.05414. — arXiv:

1605.05414. — URL: http://arxiv.org/abs/1605.05414.

17. Towards an Automatic Turing Test: Learning to Evaluate Dialogue Responses [Текст] / R. Lowe [и др.] // Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). — Vancouver, Canada, 07.2017. — C. 1116—1126. — URL: http://aclweb.org/ anthology/P17-1103.

18. Тьюринг, А. Могут ли машины мыслить: пер. с англ./под ред [Текст] / А. Тьюринг // СА Яновской. М.: Государственное издательство физико-математической литературы. —1960.

19. Mauldin, М. L. Chatterbots, tinymuds, and the turing test: Entering the loebner prize competition [Текст] / M. L. Mauldin // AAAI. T. 94. — 1994. — C. 16—21.

20. Conversational AI: The Science Behind the Alexa Prize [Текст] / A. Ram [и др.] // arXiv preprint arXiv:1801.03604. — 2018.

21. Further Advances in Open Domain Dialog Systems in the Third Alexa Prize Socialbot Grand Challenge [Текст] / R. Gabriel [и др.] // Proceedings of the Alexa Prize. — 2020.

22. ConvAI Dataset of Topic-Oriented Human-to-Chatbot Dialogues [Текст] / V. Logacheva [и др.] // The NIPS'17 Competition: Building Intelligent Systems. — Springer, 2018. — C. 47—57.

23. The Second Conversational Intelligence Challenge (ConvAI2) [Текст] / E. Dinan [и др.] // arXiv preprint arXiv:1902.00098. — 2019.

24. Overview of dialogue breakdown detection challenge 3 [Текст] / R. Higashinaka [и др.] // Proceedings of dialog system technology challenge. — 2017. — T. 6.

25. A deep reinforcement learning chatbot [Текст] / I. V. Serban [и др.] // arXiv preprint arXiv:1709.02349. — 2017.

26. Yusupov, I. NIPS conversational intelligence challenge 2017 winner system: Skill-based conversational agent with supervised dialog manager [Text] /1. Yusupov, Y. Kuratov // Proceedings of the 27th International Conference on Computational Linguistics. — 2018. — P. 3681—3692.

27. DREAM technical report for the Alexa Prize 2019 [Text] / Y. Kuratov, I. Yusupov, [et al.] // Alexa Prize Proceedings. — 2020.

28. Weizenbaum, J. ELIZA - a computer program for the study of natural language communication between man and machine [Текст] / J. Weizenbaum // Communications of the ACM. — 1966. — T. 9, N° 1. — C. 36—45.

29. Williams, J. The dialog state tracking challenge series: A review [Текст] / J. Williams, A. Raux, M. Henderson // Dialogue & Discourse. — 2016. — T. 7, № 3. — C. 4—33.

30. Ritter, A. Unsupervised modeling of twitter conversations [Текст] / A. Ritter, C. Cherry, B. Dolan // Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics. — Association for Computational Linguistics. 2010. — C. 172—180.

31. The ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems [Текст] / R. Lowe [и др.] // arXiv preprint arXiv:1506.08909. — 2015.

32. A neural network approach to context-sensitive generation of conversational responses [Текст] / A. Sordoni [и др.] // arXiv preprint arXiv:1506.06714. — 2015.

33. Vmyals, О. A neural conversational model [Текст] / О. Vinyals, Q. Le // arXiv preprint arXiv:1506.05869. — 2015.

34. Graves, A. Generating sequences with recurrent neural networks [Текст] / A. Graves // arXiv preprint arXiv:1308.0850. — 2013.

35. Sutskever, I. Sequence to sequence learning with neural networks [Текст] / I. Sutskever, O. Vinyals, Q. V. Le // Advances in neural information processing systems. — 2014. — C. 3104—3112.

36. The First Conversational Intelligence Challenge [Текст] / M. Burtsev [и др.] // The NIPS'17 Competition: Building Intelligent Systems. — Springer, 2018. —

C. 25—46.

37. Opennmt: Open-source toolkit for neural machine translation [Текст] / G. Klein [и др.] // arXiv preprint arXiv:1701.02810. — 2017.

38. Kingma, D. P. Adam: A method for stochastic optimization [Текст] /

D. P. Kingma, J. Ba // arXiv preprint arXiv:1412.6980. — 2014.

39. Tiedemann, J. News from OPUS-A collection of multilingual parallel corpora with tools and interfaces [Текст] / J. Tiedemann // Recent advances in natural language processing. T. 5. — 2009. — C. 237—248.

40. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation [Текст] / К. Cho [и др.] // Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). — Doha, Qatar, 10.2014. — C. 1724—1734.

41. Neural Question Generation from Text: A Preliminary Study [Текст] / Q. Zhou [и др.] // National CCF Conference on Natural Language Processing and Chinese Computing. — Springer. 2017. — C. 662—671.

42. SQuAD: 100,000+ questions for machine comprehension of text [Текст] / P. Rajpurkar [и др.] // arXiv preprint arXiv:1606.05250. — 2016.

43. The Stanford CoreNLP natural language processing toolkit [Текст] / С. Manning [и др.] // Proceedings of 52nd annual meeting of the association for computational linguistics: system demonstrations. — 2014. — C. 55—60.

44. Bidirectional attention flow for machine comprehension [Текст] / M. Seo [и др.] // arXiv preprint arXiv:1611.01603. — 2016.

45. Bigartm: Open source library for regularized multimodal topic modeling of large collections [Текст] / К. Vorontsov [и др.] // International Conference on Analysis of Images, Social Networks and Texts. — Springer. 2015. — C. 370—381.

46. Bag of tricks for efficient text classification [Текст] / A. Joulin [и др.] // arXiv preprint arXiv:1607.01759. — 2016.

47. A Talker Ensemble: the University of Wroclaw's Entry to the NIPS 2017 Conversational Intelligence Challenge [Текст] / J. Chorowski [и др.] // arXiv preprint arXiv:1805.08032. — 2018.

48. Personalizing Dialogue Agents: I have a dog, do you have pets too? [Текст] / S. Zhang [и др.] // Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). — 2018. — C. 2204—2213.

49. Pennington, J. GloVe: Global Vectors for Word Representation [Текст] / J. Pennington, R. Socher, C. D. Manning // Empirical Methods in Natural Language Processing (EMNLP). — 2014. — C. 1532—1543. — URL: http : //www.aclweb.org/anthology/D14-1162.

50. DeepPavlov: Open-Source Library for Dialogue Systems [Текст] / M. Burtsev [и др.] // Proceedings of ACL 2018, System Demonstrations. — Melbourne, Australia: Association for Computational Linguistics, 07.2018. — C. 122—127. — URL: https://www.aclweb.org/anthology/P18-4021.

51. Юсупов, И. Построение и использование диалогового графа для улучшения оценки качества в целенаправленном диалоге [Текст] / И. Юсупов, М. Трофимова, М. Бурцев // Труды МФТИ. — 2020. — Т. 1, N° 5. — С. 75—86.

52. Ardissono, L. A plan-based agent architecture for interpreting natural language dialogue [Текст] / L. Ardissono, G. Boella, L. Lesmo // International Journal of Human-Computer Studies. — 2000. — T. 52, N° 4. — C. 583—635.

53. Camilleri, G. Dialogue systems and planning [Текст] / G. Camilleri // International Conference on Text, Speech and Dialogue. — Springer. 2002. — C. 429—436.

54. Vmyals, O. A Neural Conversational Model [Текст] / О. Vinyals, Q. V. Le // arXiv preprint arXiv:1506.05869. — 2015.

55. Graph2Bots, Unsupervised Assistance for Designing Chatbots [Текст] / J.-L. Bouraoui [и др.] // Proceedings of the 20th Annual SIGdial Meeting on Discourse and Dialogue. — 2019. — C. 114—117.

56. Universal sentence encoder [Текст] / D. Cer [и др.] // arXiv preprint arXiv:1803.11175. — 2018.

57. Bert: Pre-training of deep bidirectional transformers for language understanding [Текст] / J. Devlin [и др.] // arXiv preprint arXiv:1810.04805. — 2018.

58. Some methods for classification and analysis of multivariate observations [Текст] / J. MacQueen [и др.] // Proceedings of the fifth Berkeley symposium on mathematical statistics and probability. Т. 1. — Oakland, CA, USA. 1967. — C. 281—297.

59. Bastian, M. Gephi: an open source software for exploring and manipulating networks [Текст] / M. Bastian, S. Heymann, M. Jacomy // Third international AAAI conference on weblogs and social media. — 2009.

60. Novikov, A. PyClustering: Data Mining Library [Текст] / A. Novikov // Journal of Open Source Software. — 2019. — Апр. — T. 4, N° 36. — C. 1230. — URL:

https://doi.org/10.21105/joss.01230.

61. Bordes, A. Learning end-to-end goal-oriented dialog [Текст] / A. Bordes, Y.-L. Boureau, J. Weston // arXiv preprint arXiv:1605.07683. — 2016.

62. MultiWOZ - A Large-Scale Multi-Domain Wizard-of-Oz Dataset for Task-Oriented Dialogue Modelling [Текст] / P. Budzianowski [и др.] // CoRR. — 2018. — Т. abs/1810.00278. — arXiv: 1810.00278. — URL: http://arxiv.org/ abs/1810.00278.

63. Topical-Chat: Towards Knowledge-Grounded Open-Domain Conversations. [Текст] / К. Gopalakrishnan [и др.] // INTERSPEECH. — 2019. — С. 1891—1895.

64. Юсупов, И. Распознавание именованных сущностей с использованием синтактико-семантических признаков и нейросетей [Текст] / И. Юсупов // Труды международной конференции по компьютерной лингвистике и интеллектуальным технологиям "Диалог". — Dialogue. 2016.

65. Sutskever, I. Sequence to Sequence Learning with Neural Networks [Текст] / I. Sutskever, O. Vinyals, Q. V. Le // CoRR. — 2014. — T. abs/1409.3215. — arXiv:

1409.3215. — URL: http://arxiv.org/abs/1409.3215.

66. Luong, M.-T. Effective Approaches to Attention-based Neural Machine Translation [Текст] / M.-T. Luong, H. Pham, C. D. Manning // CoRR. — 2015. — T. abs/1508.04025. — arXiv: 1508.04025. — URL: http://arxiv.org/abs/1508. 04025.

67. Distributed representations of words and phrases and their compositionality [Текст] / Т. Mikolov [и др.] // Advances in neural information processing systems. — 2013. — C. 3111—3119.

68. Iso-standard domain-independent dialogue act tagging for conversational agents [Текст] / S. Mezza [и др.] // arXiv preprint arXiv:1806.04327. — 2018.

Список рисунков

1.1 Архитектура диалогового агента. Рисунок взят из [2]......................8

1.2 Пример разметки последовательность по схеме IOB (S), предсказания предметной области (D) и интента (I). Рисунок взят из [3]. 10

1.3 Пример диалогового графа....................................................17

2.1 Верхнеуровневая архитектура диалоговой системы bot#1337....... 21

2.2 Схема взаимодействия диалоговой системы и пользователя.......21

2.3 Модель типа последовательность-последовательность с энкодером f

и декодером f2.................................24

2.4 Сеть для генерации вопросов. Рисунок взят из [41]............26

2.5 Модель BiDAF. Рисунок взят из [44]....................28

2.6 Пример автоматического реферирования..................29

2.7 Диалоговый менеджер с классификаторами, их обучающей выборкой

и множеством наименований классов (навыков)..............31

2.8 Архитектура классификатора fastText с признаками n-грам x\,... ,xN. Эти признаки кодируются в векторные представления и усредняются

для получения скрытого состояния (hidden)................32

2.9 Архитектура диалоговой системы DREAM.................45

2.10 Схема работы механизма перехода между навыками link to........46

3.1 Архитектура метода Graph2Bots. Рисунок взят из [55]...........50

3.2 Алгоритм построения диалогового графа..................52

3.3 Пример графа. Число в скобках — это шаг диалога. Толщина ребра определяется количеством таких переходов в диалогах..........54

3.4 Архитектура типа последовательность-последовательность вместе с признаками из базы данных, состояния о мире и диалогового графа. В стандартную модель типа энкодер-декодер с механизмом внимания добавлены признаки из внешних источников. Признаки конкатенированы с начальным скрытым состоянием декодера......59

3.5 Граф СопуА1 1 Ьо1#1337, который был построен с помощью

тематического моделирования и выбора топ-к слов для именования названий вершин. Число внутри скобок представляет шаг диалога. Цвет вершины обозначает принадлежность к случайно назначенной группе, которая была подсчитана в СерЫ через функцию модулярности. 62

3.6 Граф по раунду хакатона в ConvAI 2. Тематическое моделирование и топ-k слов были использованы для кластеризации и назначения

имени. Число внутри скобок представляет шаг диалога..........63

3.7 Граф по данным ЬАЫ. Тематическое моделирование и топ-k слов

были использованы для кластеризации и назначения имени.......64

3.8 Граф по корпусу MultiWOZ 2. Тематическое моделирование и топ-k

слов были использованы для кластеризации и назначения имени. ... 65

3.9 Граф по корпусу Topical-Chat, где вершинами являются диалоговые

акты......................................68

3.10 Граф по корпусу MultiWOZ 2, где вершинами являются диалоговые

акты......................................69

3.11 Матрица смежности графа по корпусу Topical-Chat............70

3.12 Матрица смежности графа по корпусу MultiWOZ 2............70

3.13 График сравнения нормированных взвешенных полустепеней исхода

и захода графов по MultiWOZ 2 и Topical-Chat...............73

3.14 Разница матриц смежности между графами по Topical-Chat и MultiWOZ 2..................................73

Список таблиц

1 Фрейм заказа такси..............................13

2 Результаты финала ConvAI..........................33

3 Распределение вызова навыков для каждой оценки в финале ConvAI. . 35

4 Качество диалогового менеджера......................36

5 Результаты хакатон-раунда ConvAI 2....................42

6 Результаты использования link to......................47

7 Пример объединения в группы по шагам. Имя кластера назначается

как случайная реплика из группы......................52

8 Полустепени графа по Topical-Chat и число реплик. У взвешенных полустепеней указаны нормированные значения..............71

9 Полустепени графа по MultiWOZ 2 и число реплик. У взвешенных полустепеней указаны нормированные значения..............72

10 Сравнение оценок качества базовой модели (baseline) и предложенного в работе метода для задачи генерации реплики по контексту диалога на тестовой выборке MultiWOZ 2...........74

11 Сравнение оценок качества ранжирующей модели с признаками диалогового графа на выборке bAbl.....................75

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