Демистификация диалоговых роботов на основе задач (часть 1)

искусственный интеллект

Приветствую всех вОблако Tencent + сообщество, получить больше крупной технической практики Tencent по галантерее ~

Эта статья взята из колонкиЯзык, знания и искусственный интеллект,авторЛаборатория Tencent Живэнь

1. Что такое рабочий робот

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

2. Состав рабочего робота

Основной модуль целевого робота в основном состоит из трех частей:

  1. Модуль понимания естественного языка - Понимание языка

  2. Модуль управления диалогами - Управление диалогами

  3. Модуль генерации естественного языка - Генерация естественного языка

Общая структура выглядит следующим образом:

Далее подробно описывается каждый модуль:

2.1 Модуль понимания естественного языка

2.1.1 Введение

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

2.1.2 Примеры

Простой пример для этого модуля: предположим, что Text = «Каков обменный курс юаня по отношению к доллару США»; после модуля понимания естественного языка он будет разобран в форму действия ( слот1 = значение1, слот2 = значение2 .. ....), то есть намерение, слот, информация о слоте в тройной форме, то есть текст будет проанализирован в форме «запрос (слот 1 = RMB, слот 2 = USD)».

2.1.3 Связанная исследовательская работа по модулю понимания естественного языка

Понимание намерений и извлечение слотов как один из основных модулей роботов, ориентированных на задачи, вызвали большой интерес исследователей. Существуют следующие методы:

1. Метод понимания на основе правил

такие как системы делового диалога VoiceXML и Phoenix Parser(Ward et al., 1994; Seneff et al., 1992; Dowding et al., 1993).Phoenix Parser отображает входной текст (последовательность слов) в семантическую структуру, состоящую из нескольких семантических слотов (слотов).Правило сопоставления семантического слота состоит из нескольких типов значений слотов и соединительных слов, которые могут представлять полный сегмент.информация, как показано на рисунке 2.преимущество: не требует большого количества обучающих данных.недостаток: 1. Разработка правил подвержена ошибкам. 2. Корректировка правил требует нескольких циклов итераций. 3. Правила конфликтуют, их сложнее поддерживать.

Результаты тестирования Phoenix на базе корпуса TownInfo представлены в таблице 1:

2. Метод объединения правил и статистики

Например, комбинаторная грамматика категорий (CCG) может выполнять статистическое моделирование и автоматическое извлечение правил для большого количества сложных лингвистических явлений на основе размеченных данных. Из-за расплывчатости грамматических правил и сочетания со статистической информацией применение этого метода к семантическому пониманию разговорной речи позволяет научиться анализировать неправильные тексты.(Зеттлемойер и др., 2007).Результаты тестирования на основе корпуса ATIS представлены в таблице 2:

3. Статистические методы (выравнивание)

Понимание разговорной речи на основе данных, выровненных по словам, часто рассматривается как проблема пометки последовательности. Генеративные модели включают стохастический конечный автомат (FST), статистический машинный перевод (SMT), динамическую байесовскую сеть (DBN) и т. д. Дискриминантные модели в основном представляют собой CRF, SVM, MEMM и т. д.(Хан и др., 2011).Ожидаемые результаты испытаний, основанные на оценке среды, показаны в таблице 3.

4. Статистические методы (не выравненные)

такие как генеративные динамические байесовские сети (DBN)(Schwartz et al., 1996), Недостаток: предположение Маркова делает модель неспособной точно моделировать дальнюю корреляцию слов; метод иерархического скрытого состояния может решить вышеупомянутую проблему дальней корреляции, но требуемая вычислительная сложность очень высока.(He et al., 2006); Предлагается семантический классификатор кортежей на основе классификатора машины опорных векторов(Mairesse et al., 2009)Методы. На основе данных TownInfo результаты корпусного теста ATIS представлены в таблице 4.

5. Методы глубокого обучения

Односторонняя RNN применяется к задаче заполнения семантических слотов и обеспечивает значительный эффект по сравнению с моделью CRF в оценочном наборе ATIS.(Yao et al., 2013; Mesnil et al., 2013); LSTM и другие расширения (BiLSTM+CRF); CNN для маркировки последовательностей(Xu et al. 2013; Vu 2016); на основе модели последовательного кодирования-декодера, внимания и других расширений(Zhu et al., 2016; Liu et al., 2016); Добавление рекуррентной нейронной сети с внешним блоком памяти может улучшить объем памяти сети.(Peng et al., 2015);RecNN(Guo et al., 2014)Ждать. Результаты испытаний вышеуказанных методов представлены в таблице 5.

6. Примеры на основе описанного выше метода

Разбор на основе правил:Например, если вы введете «Я хочу проверить текущий обменный курс доллара США» в синтаксическом анализаторе на основе правил, можно проанализировать следующую информацию о намерениях и слотах.

Модель на основе LSTM:Формат аннотации предложения следующий: используется аннотация BIO, а аннотация намерения всего предложения используется для максимизации вероятности слота и намерения решить параметры модели.

Модели на основе статистических методов (SVM):Извлеките признак n-граммы предложения и классифицируйте его по SVM обучающего поля и SVM слота.

2.2 Модуль управления диалогами

2.2.1 Введение

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

2.2.2 Примеры

Или продолжите с приведенным выше text="какой обменный курс юаня по отношению к доллару США". Форма «запрос (слот 1 = RMB, слот 2 = USD)» будет использоваться в качестве входных данных модуля управления диалогами. В это время модуль отслеживания статуса будет оценивать статус запроса раунда на основе информации предыдущие раунды и ввод. , определяют слот для запроса и взаимодействуют с базой данных. Если вы получите информацию об обменном курсе юаня по отношению к доллару США, то, о чем вы хотите узнать, действительно есть. В это время текущий статус слота оценивается в соответствии с существующей стратегией диалога, и, наконец, выдается вывод модуля управления диалогом, например, результат запроса (исходная валюта = юань, целевая валюта = доллар США, обменный курс = 1: 0,16)

2.2.3 Сопутствующая исследовательская работа по системе управления диалогами

Модуль управления диалогами эквивалентен мозгу ориентированного на задачу робота. Основными методами являются основанные на правилах и статистические методы обучения. В настоящее время популярны модули управления диалогами, основанные на обучении с подкреплением. Системы управления диалогом, основанные на обучении с подкреплением, требуют для обучения большого количества данных. Йост Шацманн, Стив Янг и другие предложили модель симулятора пользователя повестки дня для имитации пользователей и постоянного обучения с помощью модуля управления диалогами, который в определенной степени решает проблему нехватки размеченных данных. Но это все еще не очень хорошо для сложных разговоров. Цзяньфэн Гао и др. Экспериментально доказали, что система управления диалогом, основанная на обучении с подкреплением, обладает сильной помехоустойчивой способностью к шуму, и общая ошибка более серьезна, чем влияние ошибки слота, чем ошибка намерения.

2.3 Модуль генерации естественного языка

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

2.4 Сквозная модель

Вот сквозная модель Microsoft(Jianfeng Gao et al., 2018)Например, см. рисунок ниже.

Основная мысль статьи основана на(Jost Schatzmann and Steve Young, Fellow et al., 2009)От семантического уровня до уровня естественного языка модель ошибок используется для глубокого изучения системы управления диалогами, основанной на обучении с подкреплением DQN. Симулятор пользователя следует предыдущей модели повестки дня Стива Янга на основе стека, модуль генерации естественного языка и модуль понимания естественного языка используют модель LSTM, а модуль управления диалогами использует модель на основе DQN.(Jianfeng Gao et al., 2018).

3. Применение: исследование Alibaba и Xiaomi

Общая алгоритмическая система робота Alibaba Xiaomi выглядит следующим образом: распознавание домена используется для распределения входного запроса и контекста между разными роботами для выполнения задач.

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

4. Резюме

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

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

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

вопросы и ответы
Как обнаружить поисковых ботов с помощью php?
Связанное Чтение
Понимание языка в диалоге на основе задач
Обзор анализа текстовых настроений
Когда глубокое обучение встречается с автоматическим обобщением текста

Эта статья была разрешена автором для публикации Tencent Cloud + Community, исходная ссылка:cloud.Tencent.com/developer/ ах…

Приветствую всех вОблако Tencent + сообществоИли обратите внимание на общедоступную учетную запись WeChat сообщества Yunjia (QcloudCommunity) и как можно скорее получите больше массовой технической практики галантерейных товаров ~