11 Часть I. Компоненты 14 Глава Компьютерная


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



бет156/197
Дата19.03.2022
өлшемі4,29 Mb.
#136225
түріЛитература
1   ...   152   153   154   155   156   157   158   159   ...   197
Байланысты:
nikolaev is mitrenina ov lando tm red prikladnaia i kompiute

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


Упрощенные версии диалоговых систем — чат-боты — имеют очень простую архитектуру. Она предполагает нахождение шаблонов или клю- чевых слов в высказываниях людей, с помощью которых система подби- рает ответ из существующего набора вариантов. Более подробно об этом рассказывается в следующем разделе. Во многих случаях обмен несколь- кими репликами может создать впечатление естественного диалога, но в какой-то момент он превращается в неразбериху.
Современные полномасштабные диалоговые системы имеют более сложную архитектуру и состоят из нескольких модулей. Их архитектура сильно варьируется, но принято считать, что в ней обычно присутствует пять главных элементов: распознавание речи (speech recognition), понима- ние языка (natural language understanding), диалоговый менеджмент (dia-


logue management), генерация естественного языка (natural language gen- eration) и синтез речи (speech synthesis). Некоторые элементы являются необязательными и отсутствуют в ряде систем. Например, распознавание и синтез речи часто исключаются, поскольку обычно они реализуются как отдельные независимые модули. Рассмотрим кратко три оставшихся ком- понента диалоговых систем.


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

Задачей модуля понимания естественного языка (natural language un- derstanding — NLU) является получение семантического представления входного текста, которое затем сможет быть использовано для реализации каких-либо заданий в рамках диалоговых систем. Есть два подхода для разработки данного модуля, выбор которых зависит от сложности диало- говой системы и имеющихся ресурсов: построенные вручную правила (handcrafted) или правила, основанные на данных (data-driven) [Ginzburg and Fernandez 2010].
Для успешной работы данного модуля необходимо большое количество информации, включающей знания об окружающем мире, контекст диалога и информацию о дискурсе. В системах типа IBM Watson или диалоговых функциях Google для описания окружающего мира используются базы знаний (knowledge graph). Базы знаний формируются на основании открытых структурированных источников, таких как Википедия, и пополняются с помощью различных алгоритмов извлечения информации из текстов. Эти данные также используются для дальнейшего обучения модулей NLU распознаванию именованных сущностей в репликах пользователей. Мобильные ассистенты также могут накапливать информацию о пользователе: его интересы, предпочтения, дату рождения и другую личную информацию.


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

Диалоговый менеджер — это центральная составляющая диалоговых систем, которая координирует деятельность других компонентов. Её ос- новной задачей является сохранение представления о текущем состоянии диалога [Bui 2006]. Траум и Ларссон [Traum and Larsson 2003] так опреде- ляют главные задачи диалогового менеджера:

    • обновление контекста диалога на основании проинтерпретированного общения;

    • предоставление контекстно-зависимых интерпретаций сигналов;

    • работа с обработкой задания и области знания (например, базы дан- ных, планирование, реализация и другие системы), координирование

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


Диалоговые менеджеры должны интерпретировать речевые акты, производить необходимые действия, формулировать ответы и поддержи- вать идею системы о состоянии дискурса [Dale, Moisi and Somers 2000]. Таким образом, диалоговый менеджер контролирует всю архитектуру и структуру беседы, а также является связующим звеном между модулями понимания и генерации языка, так как берет на себя функцию донесения информации от одного модуля к другому.
Существует масса различных классификаций диалоговых менедже- ров. Журавский и Мартин рассматривают четыре основных типа их архи- тектуры:

    • с конечным количеством состояний (finite-state DM);

    • базирующийся на фреймах-формах (frame/form based DM);

    • с информационными состояниями (information-state DM);

    • ДМ, основанный на плане (plan-based DM).

Буи совмещает первые два типа в одну группу и вводит понятие кол- лаборативного агентного подхода (collaborative agent-based approach). Бо- лее детальное обсуждение данных подтипов не входит в замысел данной главы, однако, заинтересованные читатели могут получить более подроб- ную информацию из [Jurafsky and Martin 2009, Bui 2006 и Ginzburg and Fernandez 2010].


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

Генерация естественного языка ответственна за автоматическое соз- дание высказываний на естественном языке на основе полученного пред- ставления нелингвистической информации. Преимущественно процесс генерации языка состоит из трех стадий: планирование документа (docu- ment planning), микропланирование (microplanning) и поверхностная реа- лизация (surface realization) [Reiter and Dale, 2000].
Планирование документов включает определение содержания (con- tent determination) (преобразование необработанного материала в опреде- ленный тип data objects) и структурирование документов/планирование дискурса (упорядочение информации, к которым относится и структури- рование выходного/конечного текста). Стадия микропланирования состоит из лексикализации (выбора подходящих слов для выражения информации), аггрегации (aggregation) (принятие решения о том, какую информацию вложить в одно предложение) и генерации отсылочных выражений (refer- ring expression). Последняя стадия, поверхностная реализация (surface


realization), включает лингвистическую реализацию (создание граммати- чески правильных предложений) и реализацию структуры (конвертация результирующего текста в какой-то запрашиваемый формат).
В диалоговых системах информация, поступающая в модуль генера- ции языка, приходит из диалогового менеджера. Это означает, что диало- говый менеджер ответственен за подбор информации для выдачи ее поль- зователю и для планирования дискурса. Таким образом, в большинстве случаев модуль генерации языка формулирует высказывания системы, то есть принимает решение «как сказать».
Многие диалоговые системы оперируют ограниченной областью зна- ния, таким образом, часть стадий генерации языка становятся тривиаль- ными, и нет нужды разрабатывать сложную систему. В таком случае обычно полагаются на заранее определенные шаблоны, хотя это может сказаться на качестве текста, и человеку такие высказывания покажутся неестественными. Для устранения данной проблемы, обычно используют- ся местоимения, небольшие перефразирования для внесения разнообразия в ответы системы. Некоторые чат-боты используют марковские цепи для генерации разнообразных ответов, при этом выглядящих похоже на пред- ложения, сгенерированные человеком [Bradeško et al. 2012].
Во многих простых чат-ботах модуль генерации речи может отсутст- вовать: система использует предварительно созданные разработчиками ответы, список которых может пополняться. Например, система Cleverbot используют для пополнения своей базы знаний реплики пользователей и пользовательские реакции на них — что сделало этого бота несколько аг- рессивным и не слишком приятным в общении.




  1. Достарыңызбен бөлісу:
1   ...   152   153   154   155   156   157   158   159   ...   197




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет