Резюме: В этой статье в основном представлен модуль понимания естественного языка (NLU) в диалоговой системе. NLU — очень важный модуль в диалоговой системе, в основном включающий распознавание намерений и заполнение слотов.
Введение
С быстрым развитием мобильного Интернета и интеллектуальных терминалов применение диалоговых роботов, основанных на задачах, становится все более и более широким. Любой зрелый продукт диалогового робота неотделим от диалоговой системы, основанной на задачах. В настоящее время основным подходом в отрасли для диалоговых систем, основанных на задачах, является использование относительно фиксированного конвейерного метода. Конкретная блок-схема выглядит следующим образом:
Весь конвейер состоит из трех модулей: понимание естественного языка (NLU), управление диалогами (DM), генерация естественного языка (NLG). Сейчас все больше и больше продуктов также интегрируются в базу знаний, в основном в модуль управления диалогами. Здесь понимание естественного языка, управление диалогами и генерация естественного языка — все это технологии обработки естественного языка. Во время речевого разговора к вводу и выводу добавляются функции распознавания речи (ASR) и синтеза речи (TTS). Понимание естественного языка (NLU): основная функция состоит в том, чтобы обрабатывать предложения, введенные пользователем, или результаты распознавания речи, а также извлекать намерение диалога пользователя и информацию, переданную пользователем.
Управление диалогом (DM): Управление диалогом разделено на два подмодуля: отслеживание состояния диалога (DST) и изучение политики диалога (DPL), основная роль которых заключается в обновлении состояния системы в соответствии с результатами NLU и генерации соответствующих системных действий.
Генерация естественного языка (NLG): текст системного действия, выводимый DM, и выражение системного действия в виде текста.
Каждый из вышеперечисленных модулей соответствует исследовательской области в академических кругах. В этой статье в основном представлен модуль понимания естественного языка (NLU) в диалоговой системе. NLU - очень важный модуль в диалоговой системе, в основном включающий распознавание намерений и заполнение слотов. Концепция распознавания намерений и заполнения слотов, а также основные методы распознавания намерений и заполнения слотов в последние годы будут представлены ниже.
2. Распознавание намерений и концепции заполнения слотов
(1) Распознавание намерений
Распознавание намерений, как следует из названия, заключается в том, чтобы определить, что пользователь хочет сделать.Например, пользователь задает вопрос роботу, поэтому робот должен определить, спрашивает ли пользователь о погоде, путешествии или информацию о фильм? В конце концов, распознавание намерений — это задача классификации текста. Поскольку это соответствует классификации текстов, прежде всего необходимо уточнить, какие существуют типы интенций, то есть нам нужно предварительно определить категории интенций, прежде чем мы сможем рассмотреть проблему распознавания интенций. Итак, как определить категорию намерения, это не похоже на задачу классификации эмоций, независимо от того, какая сцена, ее можно разделить на три категории: положительные, отрицательные и нейтральные эмоции; мы говорим, что классификацию намерений необходимо рассматривать в конкретная сцена, разные сценарии приложений имеют разные классификации намерений. Например, в приложении Meituan он делит поисковые намерения пользователей на такие категории, как заказ еды на вынос, бронирование отелей, бронирование проездных билетов, бронирование билетов в кино и бронирование авиабилетов.
(2) Заполнение слота
Один из способов понять фрагмент текста — отметить слова или лексемы, которые имеют смысл для предложения. В области обработки естественного языка эта проблема называется проблемой заполнения семантических слотов.
В диалоговой системе процесс заполнения слота обычно относится к извлечению ключевой информации из предложения пользователя и преобразованию неявного намерения пользователя в явные инструкции для понимания компьютером. Семантические слоты обычно используются для представления потребностей пользователей, таких как отправление, прибытие, время отправления и т. д., которые используются в качестве ключевых слов для распознавания намерений и оперативной информации для следующего диалога.
В диалоговой системе заполнение слотов имеет два значения: одно — провести несколько раундов диалога как условную ветвь, а другое — более четко выразить намерение пользователя как завершение информации. Другими словами, заполнение слота — это не только способ завершить намерение пользователя, но и заполнение предыдущего слота также будет играть роль в определении направления последующего заполнения информации.
3. Распознавание намерений и метод заполнения слотов
Что касается распознавания намерений и заполнения значения слота, то их можно решать либо как две отдельные задачи, либо совместно. Из-за большой корреляции между двумя задачами (корреляция между намерением и значением слота) эффект совместного моделирования обычно лучше. Далее мы представим некоторые связанные с тезисом методы.
Документ 1: Совместная модель определения намерений и заполнения слотов для понимания разговорной речи
(1 Обзор
Эта статья представляет собой совместную модель заполнения слотов намерений для SLU (понимание разговорного языка).Преимущество статьи заключается в том, что она предоставляет совместную модель, основанную на RNN, которая обеспечивает отличные результаты как в классификации текста, так и в маркировке текста. Рекуррентные нейронные сети (RNN), которые показали хорошие результаты в задачах классификации текста. Поскольку распознавание намерений и заполнение слотов тесно связаны, авторы предлагают совместную модель, подходящую для обеих задач.
В статье автор принимает улучшенную версию рекуррентной нейронной сети (GRU) RNN.GRU обладает свойством изучения представления каждого слова (токена) с течением времени, благодаря чему можно предсказать каждый слот, и в то же время , a max Слой -pooling может фиксировать глобальные особенности предложений для достижения распознавания намерений. Характеристики каждой лексемы, захваченной ГРУ, и глобальные характеристики предложений, захваченных слоем максимального объединения, являются общими для двух задач.Например, если целью предложения является поиск рейса, оно, скорее всего, будет иметь город отправления и назначения, наоборот. Эксперименты показывают, что совместная модель работает лучше, чем каждая модель по отдельности. В статье в качестве стратегии используется объединенная функция потерь, и экспериментальные результаты доказывают, что в обеих задачах статья достигает самых современных результатов.
(2) Структура модели
(3) Дайте определение убытку
(4) Результаты моделирования
Экспериментальные результаты показаны ниже. Второй столбец — это функции, используемые каждым методом, где W, N и S представляют слова, именованные объекты и семантические функции соответственно.В наборе данных CQUD W представляет каждое представление характеристик китайских иероглифов. Видно, что результаты CRF лучше, чем SVM, что указывает на то, что CRF больше подходит для задач маркировки последовательностей. Кроме того, RNN превосходит CRF, потому что RNN может захватывать длинные зависимости. Модель R-CRF сочетает в себе преимущества моделей RNN и CRF, которые могут моделировать перенос метки и получать глобальные преимущества всей последовательности. Упрощение предложения — лучший подход к задачам заполнения слотов, в котором используется анализ зависимостей для извлечения ключевых слов в предложениях. RecNN использует семантическую информацию, извлекаемую с помощью dl, но ее эффект хуже, чем упрощение предложений, автор полагает, что возможная причина в том, что масштаб корпуса недостаточно велик. В целом статья повышает точность на 1,59% и 1,24% в областях ID и SF соответственно.
Сравнение совместной и раздельной моделей:
Документ 2: Модели рекуррентных нейронных сетей на основе внимания для обнаружения совместных намерений и заполнения слотов
(1 Обзор
В этом посте в основном рассказывается об использовании модели RNN, основанной на внимании, для определения намерений и заполнения слотов. Распознавание намерений обычно использует методы классификации для классификации предложений по соответствующим категориям намерений. Заполнение слотов можно рассматривать как проблему маркировки последовательностей, то есть каждое слово в данном предложении помечается соответствующим образом. Например, в предложении «first/class/fares/from/boston/to/denver.» каждому слову соответствует метка «B-class_type/I-class_type/O/O/B-fromloc/B-toloc. ". Заполнение слотов может быть решено либо с помощью модели RNN, либо с помощью модели кодировщик-декодер. То есть исходный ввод представляет собой последовательность предложений, а целевой вывод — последовательность меток.В то же время распознавание намерений также может быть решено с помощью модели кодировщик-декодер. То есть исходный ввод представляет собой последовательность предложений, а целевой вывод — вид намерения. Но для заполнения слотов между предложениями и соответствующими метками существует взаимно однозначное соответствие, то есть существует «явное выравнивание». Автор предлагает две модели: одна заключается в добавлении «информации о выравнивании» к модели кодировщика-декодера, а другая — о добавлении «информации о выравнивании» и «внимании» в модель RNN для решения проблемы заполнения слотов и распознавания намерений.
(2) Совместная модель
Модель RNN на основе внимания для совместного распознавания намерений и заполнения слотов показана на следующем рисунке:
В двунаправленной RNN для маркировки последовательностей скрытое состояние на каждом временном шаге несет информацию обо всей последовательности, но эта информация может постепенно теряться при прямом и обратном распространении. Таким образом, при прогнозировании временных интервалов мы не только хотим использовать только выровненные скрытые состояния на каждом шаге, но также хотим посмотреть, дает ли использование вектора контекста какую-либо дополнительную вспомогательную информацию, особенно те, которые нуждаются в долгосрочных зависимостях, которые еще не доступны. полностью захвачен скрытым состоянием.
В модели двунаправленная RNN (BiRNN) считывает исходную последовательность в прямом и обратном направлениях. RNN в статье использует сеть с долговременной кратковременной памятью (LSTM). Зависимости меток слотов моделируются в прямом RNN. Подобно модулю кодировщика в архитектуре кодер-декодер, описанной выше, скрытое состояние на каждом шаге представляет собой конкатенацию прямого и обратного состояний. Каждое скрытое состояние содержит информацию обо всей последовательности входных слов и фокусируется на частях, окружающих слова. Затем это скрытое состояние объединяется с вектором контекста для получения распределения меток, где вектор контекста вычисляется как средневзвешенное значение скрытых состояний RNN.
Для совместного моделирования распознавания намерений и заполнения слотов используется скрытое состояние двунаправленной RNN для генерации распределения классов намерений. Когда механизм внимания не добавлен, вектор скрытого состояния сначала объединяется в максимальный пул, а затем вводится в логистическую регрессию для классификации намерений. При добавлении механизма внимания получается средневзвешенное значение вектора скрытого состояния.
Примечательно, что модель RNN на основе внимания более эффективна в вычислительном отношении, чем модель кодера/декодера на основе внимания, которая использует явно выровненные входные данные. Во время обучения модели модель заполнения слота кодер-декодер дважды считывает входную последовательность, в то время как модель RNN, основанная на внимании, считывает входную последовательность только один раз.
(3) Экспериментальные результаты
В таблице 1 показаны баллы заполнения слота F1 предлагаемой модели. В таблице 2 производительность модели заполнения слотов сравнивается с ранее опубликованными результатами.
В таблице 3 показана частота ошибок классификации намерений между предложенной моделью намерений и предыдущими методами.
В таблице 4 показана производительность совместно обученной модели при обнаружении намерений и заполнении слотов по сравнению с ранее опубликованными результатами.
Чтобы дополнительно проверить производительность совместно обученной модели, мы применяем предложенную модель к другим наборам данных ATIS и оцениваем их с помощью 10-кратной перекрестной проверки. И кодировщик-декодер, и метод RNN, основанный на внимании, дали многообещающие результаты.
【Ссылаться на】
[1]Чжан С., Ван Х. Совместная модель определения намерений и заполнения слотов для понимания разговорной речи[C]//IJCAI, 2016, 16: 2993-2999.
[2]Лю, Б., и Лейн, И. (2016).Модели рекуррентной нейронной сети на основе внимания для обнаружения совместных намерений и заполнения слотов.Interspeech.
[3] woo woo Краткое описание.com/fear/test 045 из 55…
[4] zhuanlan.zhihu.com/p/92909762
Эта статья опубликована в сообществе HUAWEI CLOUD «Понимание естественного языка диалоговыми роботами на основе задач (1)», оригинальный автор: Little Bee~ .
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~