Источник | Открытый онлайн-курс базового лагеря по технологиям искусственного интеллекта
Приглашенный спикер | Гэ Фуцзян (руководитель отдела НЛП Spiech)
Организовать | Джейн
[Введение] Система диалогов на естественном языке охватывает все больше и больше жизненных и служебных сценариев.В то же время способность понимать диалоги на естественном языке и скорость припоминания диалогов по-прежнему технически сложны.
Устанавливая тематические ассоциации между точками знаний, эвристический диалог позволяет диалоговой системе активно обнаруживать соответствующие знания, в полной мере использовать синергетический эффект знаний, направлять процесс диалога и активно доставлять знания пользователям в нужное время. Знания не только пассивно ищутся в форме графов знаний или баз данных вопросов и ответов, но знания в эвристических диалогах сочетают в себе предшествующий опыт и привычки диалога с пользователем, таким образом выполняя роль знания, делая диалоговое понимание и диалоговые процессы более естественными и более ценными для пользователи .
В этом открытом курсе Базовый лагерь технологии ИИ пригласил Гэ Фуцзяна, главу отдела НЛП Spirit, дать систематическое объяснение и разобраться в «управлении знаниями в эвристическом диалоге».
Адрес воспроизведения:Quota.CSDN.net/Конференционный курс…
Следующий контент организован в текстовой версии открытого класса базового лагеря.
Сегодня я хотел бы поделиться с вами системой управления знаниями в эвристическом диалоге.Общий контент включает в себя следующие пять аспектов:
▌Система диалоговАрхитектура
Во-первых, это архитектура диалоговой системы, давайте посмотрим на процесс диалоговой системы.
В общих сценариях применения диалоговой системы, например, в интеллектуальных колонках, интеллектуальных телевизорах, в том числе в существующем оборудовании, установленном на транспортном средстве, и т. д., когда пользователь задает вопрос, интеллектуальная служба поддержки клиентов автоматически отвечает на вопросы и говорит.Основной процесс такой системы заключается в том, что он получает от пользователя вопрос или предложение, произнесенное пользователем, а затем в системе выполняется некоторая обработка, чтобы дать пользователю ответ.
Существует важное отличие диалоговой системы, о которой мы говорим сегодня, от традиционной системы ответов на вопросы. Диалоговая система поддерживает контекст. При ведении диалога есть контекстная сцена. В процессе этого контекста необходимо контролировать состояние некоторых диалогов, полностью понимать намерения пользователя.
Например, пользователь спрашивает, будет ли завтра дождь? Система выполнит некоторую предварительную обработку, то есть некоторую обработку функций обработки естественного языка, такую как сегментация слов, тегирование частей речи, распознавание именованных объектов и другие модули, где некоторые объекты могут быть идентифицированы, например, время внутри завтра. , а погодное явление - следующий Дождь, это то, что могут делать именованные сущности.
После предварительной обработки признаков и распознавания именованных объектов введите формальное понимание этого предложения. Прежде всего, для каждого вопроса пользователя необходимо сделать оценку поля. Как правило, эта оценка поля делается, потому что в диалоговой системе поддерживаются различные сценарии. Сначала предложение пользователя ограничивается фиксированной сценой, а затем Может сделать соответствующие последующие действия.
Как правило, существуют различные способы оценки поля, будь то написание шаблона или некоторого алгоритма классификации.Например, если мы отправим это предложение в классификатор, он может решить, что оно связано с полем погоды. Здесь, через заполнение слота, он может получить намерение поля погоды, которое является полем погоды, с его местоположением и временем. Конечно, в этом предложении не упоминается местоположение, потому что обычно такая система получает местоположение по умолчанию или город по умолчанию с помощью датчиков, информации о местоположении, IP-адреса или информации о различных сценариях, связанных с устройством, а затем мы получаем структурированную информацию. намерение.
Затем это структурированное намерение отправляется модулю управления диалогом или модулю отслеживания состояния диалога, и модуль управления состоянием диалога принимает решение, удовлетворяет ли его слот в текущем поле, таком как поле погоды. Для поля погоды это относительно просто: я обнаружил, что это предложение действительно соответствует назначению поля, времени и местоположению, а затем добавил эти слоты.
Согласно этой дополненной информации, это на самом деле структурированная информация.В соответствии с ее временем, местоположением и погодным явлением, затем перейдите к службе данных в фоновом режиме, чтобы выполнить поиск, и введите реальную погоду, например, будет ли дождь Завтра или быть Выньте информацию, например, солнечный день, а затем сгенерируйте ее через ответ, модуль, подобный Генерации ответов, а затем сгенерируйте более естественное предложение, например, завтра может быть солнечный день, и тогда это будет Солнечный день Если вы скажете это более естественно, может быть, Сказано, что сейчас хорошее время для путешествий, что-то вроде этого, весь процесс, вероятно, такой, на самом деле это относительно простой процесс.
В рамках этого процесса я хотел бы поделиться с вами базовой архитектурой диалоговой системы. Сначала ей необходимо обработать запрос пользователя, а затем пройти через модуль управления диалогами. Это управление диалогами фактически поддерживает контекстную информацию. Далее идет понимание намерения, которое может пониматься по-разному, включая базы знаний или графы знаний, включая форму вопроса и ответа, сопоставление сходства этого вопроса, а также некоторые общие и различные другие намерения. классифицировать эти вещи.
В этом управление диалогами в этом.Вообще говоря, управление диалогами на самом деле чем-то похоже на блок-схему.Например,в погоде только сейчас,это на самом деле называется Заполнение слотов.После заполнения нескольких кусков информации Вот и все. Затем в некоторых других диалоговых процессах, таких как типичное обслуживание клиентов, по сути, в конкретных сценариях обслуживания клиентов, таких как определенный финансовый бизнес в финансовой сфере или пользователь, запрашивающий финансовый продукт, такой как страхование, определенное страхование. продукт, который имеет некоторую информацию, на самом деле в виде блок-схемы.
Есть еще эвристический диалог, о котором мы упомянем позже, сочетание этих форм и есть диалоговое управление. Общая система может иметь дело с диалогом определенного типа, или с заполнением слотов, или с установленным процессом, или с эвристикой, и может быть не так уж много того, что можно интегрировать.
Продолжая эту картинку, я упомянул, что управление диалогом — это DM, понимание диалога — это база знаний, вопрос и ответ — это правильно, а есть некоторые общие, такие как жалобы, общее состояние, в общем, это может быть способ классификации После понимания этого NLU каждый модуль должен принять решение после реализации этого NLU, потому что в различных системах предложение пользователя может найти ответ, какой ответ мы должны выбрать, поэтому просто выполните сортировку, после сортировки генерируется ответ, и, наконец, ответ дается пользователю.
Конечно, есть еще один дополнительный модуль, который является управлением контекстом, он используется в управлении диалогами, NLU, модулях сортировки и генерации ответов, он поддерживает некоторую контекстную информацию. Конечно, структура этой картинки относительно проста, но на самом деле в каждой из них очень много вещей, конкретное содержание мы рассмотрим позже, и, наконец, когда мы вернемся к этой картинке, там может быть что-то другое.
Перед просмотром давайте подведем итоги текущего состояния некоторых диалоговых роботов, как оценить общего диалогового робота или его текущее состояние, общий стандарт оценки, наша оценка роботов не очень хорошая, делаем системную или делаем академическую Как измерить эффект этого робота вообще на самом деле очень важная вещь, и нам нужно установить стандарт, прежде чем делать это.
Вообще говоря, в диалоговой системе существует несколько основных параметров оценки. Одним из них является уровень точности. Уровень точности может основываться на том, являются ли некоторые вопросы и ответы правильными или неправильными, или правильными или неправильными ответами диалога. Например, этот диалог ведется на протяжении десяти раундов.Несколько раз правильно, несколько раз неправильно, прямо дайте ноль-единичную оценку, а потом посчитайте точность.
Другой - ручная оценка, потому что это может быть не абсолютное суждение ноль-один в этом диалоговом процессе, и иногда ответ, который он дает, может быть не таким разумным, но в определенной степени приемлемым, поэтому люди обычно могут дать его баллы, такие как от 1 до 10 баллов или от 1 до 5 баллов, дают оценку и, наконец, дают роботу полную оценку.
С академической точки зрения можно использовать некоторые другие системные стандарты, такие как недоумение или значение BLEU, чтобы дать некоторые баллы.Как правило, этот стандарт больше используется для измерения этого предложения в ограниченном наборе данных, и это предложение генерируется.Его язык беглость может быть измерена больше с точки зрения беглости языка.Конечно, недоумение или значение BLEU, его преимущество в том, что его можно автоматически оценить, но недостаток в том, что на самом деле трудно строго исходя из семантики.Судить, является ли система хорошо или плохо.
В некоторых очень узких областях, таких как заказ еды, или даже более узких, таких как заказ пиццы или кофе, или телефонный звонок, в этой очень узкой области, на самом деле, как методы машинного обучения, так и методы шаблонов могут сделать лучше. точность.
Машинное обучение или глубокое обучение, но глубокое обучение также опирается на относительно большой объем данных в этом сценарии, По сравнению с этим сценарием, потому что, как правило, в такого рода экспериментах его сценарий все еще относительно мал. Если сцен много, теперь в более сложной сцене эффект глубокого обучения может быть не очень хорошим, то есть в сцене несколько раундов диалога, и есть несколько смешанных сцен.
Кроме того, в некоторых более крупных областях, таких как обслуживание клиентов, сценарии обслуживания клиентов, как правило, для обслуживания клиентов предприятия, обслуживание клиентов предприятия может включать несколько продуктов, даже категория продуктов также будет включать эту категорию. Различные линейки продуктов и их различные модели, обслуживание клиентов является относительно широкой областью.
Теперь, будь то глубокое обучение или другое традиционное машинное обучение, если глубокое обучение используется в целом, его точность относительно низка, и редко удается достичь более 50%, то есть в относительно большой области. Итак, теперь в области обслуживания клиентов многие системы основаны на поиске или шаблоне. Метод поиска означает, что он подготовил некоторые стандартные пары вопросов и ответов, потому что, когда предприятие занимается собственным обслуживанием клиентов, оно обычно накапливает некоторые Для стандартных вопросов и ответов по своим продуктам пользователь должен найти здесь наиболее похожий вопрос, а затем дать на него ответ. Этот метод в настоящее время используется больше.
Другой - это шаблон, вручную напишите некоторые шаблоны правил или семантические шаблоны, а затем объясните основную информацию, содержащуюся в вопросе пользователя, а затем сопоставьте ее с намерением дать ответ.В этих полях, по сути, алгоритм машины обучение все еще имеет некоторые проблемы в более крупных областях.Даже использование шаблонов сопряжено со многими проблемами, потому что после того, как шаблонов станет слишком много, возникнут конфликты и проблемы с обслуживанием.
▌Эвристическая диалоговая система
Эвристическая диалоговая система - это эвристическая диалоговая система, над которой мы работаем.Эвристическая диалоговая система теперь имеет некоторые похожие концепции, такие как активный диалог.Эвристический диалог, предложенный Spiech, в основном таким образом, в некоторых сценариях предприятия, много раз пользователь на самом деле сталкивается с говорящим роботом, он не совсем уверен, какие вопросы он может задавать, какие способности может задать робот, на какие вопросы он может ответить, или пользователь, вероятно, знает, чего он хочет. но ему все равно придется потратить немного мозгов, чтобы задавать вопросы.
Эвристический диалог, вероятно, является таким процессом. Это на самом деле поддерживает этот разговор через некоторые связи, стоящие за этими проблемами. Конечно, ты говоришь, что не хочешь знать, и тогда все кончено. Это основная концепция.
Давайте рассмотрим основные характеристики эвристического диалога. Во-первых, диалоговое взаимодействие активно направляется в соответствии с вопросом пользователя. Пользователь задает вопрос, и система будет перечислять некоторые связанные вопросы на основе этого вопроса или спрашивать пользователя, если он хочет знать больше. Вопрос пользователя связан с точкой знаний в различных формах.Конечно, после этого диалога мы называем это точкой знаний.В виде точки знаний подключение точки знаний может быть для конкретной проблемы, и эта проблема может имеют различные типы.Спросите закон, мы все думаем, что это точка знаний.
В различных формах оно относится к общепринятой сейчас форме, может быть в виде пары вопрос-ответ, за этой диалоговой системой может быть в виде пары вопрос-ответ, а может существуют в виде графа знаний, но их связь едина, и ими управляет точка знаний.
Если точка знаний интуитивно понятна, мы можем думать, что это что-то вроде пары вопросов и ответов или связанного с сущностью атрибута в графе знаний.Между этими точками знаний или между вопросами она интегрирована через темы и темы на самом деле для пользователей.Невидимая концепция, она используется для рекомендаций, потому что после того, как мы связываем вопрос через тему, последний эвристический диалог фактически делает некоторый выбор на основе темы, пользователь задает вопрос, мы ставим вопрос точка знаний этой точки знаний, тема, к которой она принадлежит, в соответствии с этой темой, чтобы найти некоторые связанные темы, а затем найти соответствующие вопросы по этим темам, а затем рекомендовать ее пользователям.
Между темами существуют некоторые семантические или логические отношения, и как они организованы, мы обсудим позже. Весь процесс диалога может быть основан на общем планировании и переходе темы. Вот некоторые особенности всего эвристического диалога.
Это конкретный пример, это форма произведения, то есть организация темы. Для заказчика предприятия, если он хочет сделать для него диалоговую систему, он может задать некоторые темы искусственно.Эта тема организована в древовидном виде.Например,есть тема о цветах,типа как выучить цветок расположение, различная информация, связанная с цветочной композицией, для каждой темы оранжевая часть - это организация этой темы, дерево тем, пользователи могут установить организацию такой темы. В этой теме пользователи в каждой теме могут определить некоторых, например, мастеров-флористов, пользователи мастеров-флористов могут определить в ней информацию, относящуюся к некоторым людям, а затем перечислить соответствующую информацию об этих людях.
Пользователь терминала может запросить эту информацию о людях, так что, вероятно, есть несколько форм тем.Во-первых, в виде картинки справа таких тем может быть две или три под определенной темой.Конечно, у этой темы также может быть иерархия, у нее могут быть подтемы, дочерние темы, эта иерархическая структура может быть организована и расширена, конечно, в теме может быть много тем, организационная форма этой темы, эти основные понятия.
▌Управление знаниями в диалоговой системе
Давайте посмотрим, как знания в диалоговой системе играют роль в понимании диалога и управлении диалогом. Позже я буду комбинировать существующие технологии, которые обычно используются в диалогах. Связанные технологии, Затем вместе с эвристическими диалогами мы вводим управление знаниями в диалоговых системах.
Давайте сначала рассмотрим несколько примеров, некоторые проблемы, с которыми роботы могут столкнуться при понимании языка, это даст вам интуитивное представление о том, с какими проблемами можно столкнуться. Например, с точки зрения понимания, когда робот понимает язык, например, такой ввод, как «Подходит ли Тяньцзинь сегодня для мойки автомобилей?» Если он вводится голосом или пиньинь, могут быть такие проблемы, «Подходит ли Тяньцзинь? Подходит для мойки автомобилей сегодня» может быть таким же, как «Сегодня, Хэси, Тяньцзинь», в Тяньцзине есть район Хэси, вы можете неправильно его понять и сделать ошибки при переходе от пиньинь к тексту. На самом деле, это очень похоже.
Это связано с тем, что у нас могут быть некоторые проблемы с языком. Когда машина делает это, на самом деле трудно судить. У людей есть некоторые базовые знания и контекстуальные знания.
Давайте посмотрим. Только что было перечислено так много вопросов. Вообще говоря, мы займемся ядром этого диалога. Мы видели три основные части диалоговой системы на исходной архитектурной диаграмме. Одна — это понимание естественного языка, а другая — второй — понимание естественного языка, состоит из трех частей: понимания намерений диалога, управления диалогом и генерации ответов диалога.
Все больше озабочены первыми двумя аспектами, пониманием и управлением диалогом. Наиболее распространенное понимание этой части, вероятно, основано на правилах. Например, мы напишем шаблон, исследователи, время, опубликованные статьи и т. д. на.В этой системе правил есть несколько словарей и организации правил.Конечно, есть ряд проблем с организацией правил.На самом деле это также относительно огромный проект,но с точки зрения алгоритма или нашего понимания,мы можем подумать это относительно простой способ, конечно, его очень сложно поддерживать после того, как будет больше правил.
Другая возможность состоит в том, чтобы классифицировать его с помощью намерения, например, классифицировать его с помощью некоторых методов машинного обучения. Например, если мы делаем что-то простое, такое как погода, пока диалоговая система понимает, что это погода, мы будем транслировать ей прогноз погоды, что приемлемо для пользователей во многих сценариях.Система не понимает определенные вещи в нем, а только понимает определенное намерение, а затем делает для него передачу. Здесь можно использовать общие алгоритмы для такого рода классификации.
Другой метод — это метод извлечения запросов, который на самом деле широко используется в чате или обслуживании клиентов. Мы говорим о светской беседе. На самом деле, с академической точки зрения, многие исследования могут проводить светскую беседу с глубоким обучением, но в реальной светской беседе сцены многие из них также извлекаются с помощью поиска вопросов и ответов. Конечно, это требует большое количество пар вопрос-ответ Эти пары вопрос-ответ заранее отсортированы вручную, что является относительно трудоемким делом, и его охват ограничен.
Общий способ сделать это - сначала пройти инвертированный индекс, получить набор вопросов после того, как придет вопрос пользователя, а затем сделать кандидата для него, а затем выполнить некоторую сортировку.Алгоритм сортировки может иметь различные веса, есть традиционные обучение ранжированию и алгоритмы глубокого обучения для глубокого семантического сопоставления Мы рассмотрим несколько примеров этих алгоритмов позже.
Есть также некоторые классификации вопросов, которые напрямую используют текущее глубокое обучение, например, встраивание, которое сейчас на самом деле является глубоким обучением, например, вышеупомянутая модель Sequence to sequence, которая может напрямую встраивать вопрос пользователя в вектор, мы действительно можем использовать этот вектор непосредственно делать классификацию или расчет подобия некоторых вопросов, эта картина о более чем 2000 вопросов пользователей, а затем сделал вложение, то есть с помощью последовательности для последовательности, чтобы сделать вложение.
В настоящее время используйте этот вид инструмента визуализации, чтобы визуализировать его. Мы видим, что его, вероятно, можно разделить. Это три типа проблем. На самом деле, это действительно три типа проблем. Хотя между ними есть некоторые пересечения, теперь этот метод глубокого обучения обладает сильными возможностями моделирования для такого рода вещей, и основные категории проблем все еще можно выделить.
На рисунке ниже эти алгоритмы в этом базовом глубоком обучении имеют очень простую модель, которая представляет собой модель «Последовательность в последовательность», которая основана на каждом слове, произнесенном пользователем, например, ABC — это входное слово, ABC — это входной вопрос. , A — слово, B — слово, C — слово, и тогда его вывод может быть XYZ, он отправляет его в нейронную сеть Sequence для последовательности, A — слово, после ввода — модель RN, он делает такое вложение, по сути, доходит до ABC, а затем eos, то есть до конца предложения.
После окончания средний слой нейронной сети представляет собой W. Этот W может представлять семантическое представление предложения. Используйте этот W для декодирования ответа. После большого объема обучения данных ответ может быть сгенерирован. Генеративный чат может быть Это в основном делается Эта модель, включая представление W посередине, действительно может использоваться для классификации вопросов или вычисления сходства вопросов.
Это базовая модель. Теперь мы делаем вопросы. Мы только что упомянули, что большое количество практических вопросов используется для сопоставления сходства вопросов. Может быть, один из способов - вычислить сходство предложений. Эта картина - сходство предложений. базовая модель расчета степени, это все существующие методы.
Например, LSTM используется для кодирования предложения. Базовая модель LSTM аналогична стадии кодирования последовательности в последовательность только что. Проблема пользователя и проблема в системе проходят через LSTM, и этот X представляет собой ввод, H представляет собой скрытый слой в середине модели, предложение пользователя кодируется в состояние, такое как h3 (a), через LSTM, и есть стандартный вопрос (вопрос, который нужно получить), который кодируется как В состоянии из h4(b), оба могут быть отправлены в классификатор после расчета расстояния и вынесения для него аналогичного или различного решения.
Этот метод заключается в том, чтобы преобразовать пользователя в проблему классификации, проблему бинарной классификации, проблему пользователя похожа или не похожа на проблему в нашей стандартной библиотеке, а затем сделать суждение. Это можно сделать и таким способом.Это более классический способ.На самом деле эффект от него неплохой,и он вполне подходит во многих сценариях.
Давайте посмотрим на следующую статью, я думаю, что эта статья является классической статьей о вычислении подобия, и она хорошо справляется со своей задачей. Левая часть — это ввод, например u_1, u_n-1, u_n — ввод пользователя, от u_1 до u_n — весь контекст ввода пользователя, возможно, он сказал несколько предложений. r - ответный ответ.
Этот контекст проходит через встраивание слов, каждое из которых может быть внедрено в представление вектора слов, затем проходит через GRU или LSTM, а затем кодирует его в вектор. Вот более сложная операция. Средняя часть, часть M1M2, состоит в том, чтобы пересечь ввод пользователя и ответ, чтобы выполнить вычисление внутреннего продукта. Все они являются векторами. Фактически, все они являются матрицами. Выполните операцию смешивания внутреннего продукта. между ними, и после достаточного пересечения, пройти через CNN, CNN, затем пройти через объединение, а затем пройти через GRU, как здесь, и, наконец, вывести оценку.
Самая большая разница между этим и методом LSTM только сейчас заключается в том, что, во-первых, количество слоев увеличилось, потому что у него есть GRU впереди, GRU в конце и слой CNN в середине. этого слоя CNN на самом деле решить проблему.Хорошо смешайте информацию с ответом, чтобы найти в нем совпадающие похожие или комбинированные точки, а затем приходите, чтобы дать ответ. Эффект от этой модели лучше во многих сценариях и даже лучше в некоторых экспериментах, но проблема с ней в том, что, поскольку она подверглась достаточному перемешиванию, мы видим, что она хорошо влияет на входные данные. определенные требования.Этот вход относительно длинный, и его информации относительно достаточно.Лучше сделать так. Но в некоторых диалоговых сценариях, когда диалог относительно короткий, его эффект на самом деле ограничен. Это один из способов.
Это изображение находится в статье Google. Он использует только внимание для решения, например, ввода и вывода. После серии внимания оно, наконец, выводится, и мы принимаем решение о классификации. Когда мы используем модель внимания и многоуровневую модель внимания для выполнения этой задачи классификации, в некоторых сценариях с относительно короткими текстами и относительно короткими задачами их эффект на самом деле лучше. На самом деле эти модели не могут быть всемогущими, каждая модель имеет свои применимые сценарии, по данным мы можем видеть, в каких сценариях она лучше или имеет свои преимущества. Каждая модель имеет свои сильные и слабые стороны.
Есть также несколько способов графа знаний. Наиболее интуитивно понятный граф знаний создается с помощью некоторых логических выражений. Например, простой вопрос - где родилась жена Яо Мина. Граф знаний хранит Яо Мина и его супругу Е Ли, этот метод относительно просто для нас понять, то есть выполнить такой поиск, но когда граф знаний относительно большой, на самом деле довольно сложно выполнять вопросы и ответы на графе знаний. Основная причина заключается в том, что пользовательскому выражению трудно строго соответствовать тому, что находится в графе знаний.В общем, этот метод строго анализирует вопрос пользователя из сущностей и их отношений в вопросе, а затем преобразует их в логические выражение, по которому осуществляется поиск графа знаний. Этот метод на самом деле довольно распространен.
Я только что представил основные методы понимания, но есть также много способов сказать «интеграция». , поиск, карта знаний, встраивание Да, их можно использовать для вопросов и ответов. Вопросы и ответы на основе задач могут иметь правила, встраивание или классификацию. Сложные проблемы могут заключаться в том, что в службе поддержки возникает много вопросов. На самом деле они достаточно сложны и длина относительно велика.Вы можете использовать этот тип классификации или поиск также может быть выполнен более строгим способом семантического анализа. Эти разные методы и алгоритмы интегрированы, на самом деле, многие из них делают это сейчас, и эффект все равно очень хороший.
То есть мы делаем модель, чтобы сделать выбор.Например, мы сделали три-пять моделей для понимания, и пользователь может понять все эти модели в одном предложении.После понимания мы сделаем интеграцию, а потом сделаем финал после интеграции.Вывод интеграции собственно сделать выбор.Какая модель ответ?Конечно есть два основных пути интеграции.Один-конвейерный.Я располагаю эти модели в одном порядке.Получить ответ , а затем не возвращайтесь. Другой - интеграция моделей. Каждая модель исчезает, а затем принимается решение, чтобы определить результат, какую модель выбрать.
Вышеприведенная часть относится к NLU в диалоге, а другая часть касается управления знаниями в диалоге или управления знаниями в управлении диалогом, части управления диалогом.
Управление диалогом обычно выглядит так: когда у нас есть контекст, управление диалогом означает, что мы можем анализировать намерение пользователя в данный момент, а иногда мы даже не можем анализировать намерение в данный момент. Например, если пользователь говорит Шанхай, мы на самом деле не знаем, что пользователь имеет в виду, когда говорит Шанхай. Если пользователь говорит о погоде, то Шанхай связан с погодой. Если пользователь говорит о бронировании, то Шанхай связан с бронированием. Есть текущее намерение пользователя, даже это не намерение, а еще есть выше, какое поле какое-то из вышеперечисленных, и есть информация о пользователе, а иногда может быть какая-то долговременная информация о пользователе , в соответствии с этими Информация делает некоторые действия, будь то ответить, отклонить или попросить пользователя о дополнении, пользователь должен дополнить некоторую информацию.
Существует несколько основных форм управления диалогами.Одна основана на слоте.Слот может быть заполняющим слотом.Если есть три слота,время,место и погодное явление,я просто заполню их,и заполню любой отсутствует. Спросите пользователя, какой из них у него есть. Еще одна проблема, которую не так просто решить с помощью слота, заключается в том, что некоторые процессы очень сложны, особенно в обслуживании клиентов, например сцена на этой картинке, это сцена обслуживания клиентов, и ее процесс очень сложен. в определенном месте, Ему необходимо оценить информацию об этом месте, а затем предпринять следующее действие, что и является основным в этом управлении диалогом.
На этом изображении представлено самое простое управление диалогом, такое как SlotFilling. Оно заранее определяет сцену этого бронирования, есть ли контекст, а затем у него есть некоторая контекстная информация, как ею управлять. Эта сцена упоминается только что. Когда она прибудет , не буду вдаваться в подробности.
В эвристическом диалоге также есть управление диалогом на основе темы.Прежде всего, сама тема, потому что она вводит новое понятие, является темой и вводит тему в дополнение к вопросам, заданным пользователем.Тема может быть создается вручную, или он может быть автоматически рассчитан системой, или может быть создан системой под руководством пользователя.Эту тему мы видели, когда я впервые говорил об эвристическом диалоге.Способ обучения чтобы выкопать темы между проблемами, особенно в некоторых сценариях обслуживания предприятия, потому что у самого предприятия есть свои четкие сценарии приложений, поэтому у него есть некоторые темы, и оно организовало себя по этим темам.
Конечно, проблем в организации тем на самом деле много.Например, мы используем дерево для организации этих тем, и как организовать эту тему в задней части системы. Например, чтобы организовать темы по продуктам и персонажам, все продукты являются темой, и все персонажи являются темой, но когда я действительно хочу задать эту систему, вы обнаружите, что между продуктами и персонажами есть совпадение, потому что Люди, такие как люди в области технологий и люди в сфере развлечений, у них может не быть сквозных областей, и нам нецелесообразно помещать это в одну тему. Таким образом, разделение тем на самом деле имеет определенное пересечение.Конечно, мы показываем, что оно в целом организовано в виде дерева, которое легче понять пользователям. Но на самом деле за его реальным управлением стоит много кроссоверов.
Диалоговое управление, на самом деле, в общем, мы можем думать об этом как об этом состоянии.Этот процесс перехода состояния может быть типичным марковским процессом принятия решений, где S - множество состояний, A - множество действий, В определенном состоянии, он сталкивается с чем-то, а затем какой ответ или какое действие нужно выполнить, методу машинного обучения может потребоваться организовать этот диалог в такое состояние, важным местом здесь является то, что должна быть какая-то функция возврата.
Например, когда обучение с подкреплением делает такой диалог, не обязательно заниматься управлением диалогом, Существует также такой сценарий при создании диалога, то есть он определяет диалог в диалоге, имитирует несколько раундов, и в соответствии с заранее определенной функцией вознаграждения, а затем вынести суждение, которое представляет собой управление диалогом, что можно сделать с помощью обучения с подкреплением. На самом деле, обучение с подкреплением заключается в моделировании нескольких раундов диалога, а затем возвращении, чтобы определить, какой шаг подходит для текущего состояния.
Это простое состояние, которое использует глубокое обучение с подкреплением для отслеживания состояния диалога.Например, если пользователь вводит предложение с помощью распознавания речи, он может иметь управление состоянием, а затем управлять этим состоянием и контролировать его вывод с помощью стратегии. Конечно, частью его среднего ядра является функция Вознаграждения.В диалоге функция Вознаграждения очень важна.В целом она не очень четко определена.Потому что мы говорим,что уместно и что неуместно?Это не очень управляемый.
Давайте посмотрим на использование обучения с подкреплением для диалога. Короче говоря, в состоянии S он может иметь m операций. Мы не знаем, какие из этих m операций могут принести какие вознаграждения, поэтому давайте проведем исследование. , чтобы изучить награду за каждую возможную операцию, используйте эту награду, чтобы дать ответ, принять решение или подсчитать баллы за эту награду.
Кроме того, это делается и с состязательными сетями, но есть проблема с состязательными сетями, которые на самом деле не очень управляемы, и в некоторых случаях могут форсировать направление этих разговоров, и стабильность состязательных сетей также является проблемой. Во время тренировочного процесса стабильность также является проблемой.
Будь то глубокое обучение или традиционное машинное обучение, некоторые методы или функции в НЛУ диалога и управления диалогом, выше приведены некоторые существующие методы, как это сделать, но в этом будут некоторые проблемы, машинное обучение. Во многих случаях если оно порождающее, то трудно контролировать, порождено оно или не связано с этим, и трудно судить. Если это поисковый тип, предложение, которое сказал пользователь, даст ему поисковый ответ, независимо от того, предназначен ли ответ для пользователя или нет, и пользователь задает неуместный вопрос, я также могу получить его для него. Ответ, ответ давать или не давать? Это тоже проблема. На самом деле здесь используются знания, и этот процесс очень важен.
Знания здесь делятся на два типа, один из них — карта знаний, карта строгих знаний, вот эта часть ЗЗ. Другие — это языковые знания, такие как языковое словосочетание, преобразование языковой грамматики, проблемы с орфографией, проблемы с предметной областью и фактически некоторые проблемы со словами предметной области, похожие слова и синонимы.Эти вещи развивались в естественном языке в течение стольких лет.На самом деле, многое знаний в этой области накоплено, но эти вещи на самом деле сложно интегрировать в глубокое обучение.
С помощью упомянутой выше модели вычисления сходства мы можем завершить задачу вычисления сходства естественного языка, упомянутую выше, но ответ, который мы дали, вероятно, будет неправильным, поэтому после характеристик этих языков и знания KG поставьте Знание используется в качестве доказательства для проверки кандидатов, а глубокая семантическая модель дает несколько ответов-кандидатов. Мы анализируем этих возможных кандидатов с помощью графов знаний или языковых явлений, а затем находим некоторые доказательства, которые будут проверены снова. Какой ответ выбрать. Потому что вообще при прямом использовании строгого графа знаний для разбора задачи возникает проблема, во многих случаях мы не можем строго разобрать эту задачу, а можем разобрать только ее часть.
С предложением учителя Гэ Фуцзяна и набором инструментов соответствующего базового содержания.