Источник: Естественно-языковые системы: курс лекций. – Улан-Удэ: Изд-во ВСГТУ, 2006. – 92 с.: илл. http://window.edu.ru/library/...

УДК 004.8 (075.8)
ББК 32.813 я73
Е155
Рецензент: Найханова Л.В., к.т.н., доцент, заведующая кафедрой систем информатики
ВСГТУ
Печатается по решению редакционно-издательского совета ВСГТУ
Курс лекций предназначен для студентов старших курсов специализации
«Искусственный интеллект» специальностей 230105 «Программное обеспечение
вычислительной техники и автоматизированных систем» и 010503 «Математическое
обеспечение и администрирование информационных систем». Данный курс содержит
теоретический материал по одноименной дисциплине, в нем изложены основные понятия
систем общения на естественном языке, рассматриваются архитектура и основные классы
ЕЯ-систем, вопросы создания основных компонент ЕЯ-систем и их методы организации.
И.С. Евдокимова. Естественно-языковые системы: курс лекций. – Улан-Удэ: Изд-во
ВСГТУ, 2006. – 92 с.: илл.
ISBN
5-89230-182-6
Лекция 3. Методы реализации ЕЯ-систем
Приведем методы реализации основных функциональных компонент, получившие
наиболее широкое распространение в практике создания ЕЯ-систем.
Методы реализации диалогового компонента
Диалог можно рассматривать на трех уровнях: общая (глобальная) структура,
характеризующая тип диалога и класс решаемых задач; тематическая структура,
отражающая структуру конкретной задачи; структура шага диалога (локальная структура),
отражающая взаимодействие участников в элементном акте диалога.
На уровне глобальной структуры действия ЕЯ-системы обычно задаются в виде
последовательности этапов, определяемых в зависимости от класса решаемых задач. Так, в
случае общения с экспертными системами глобальная структура включает следующие
этапы: инструктаж, определение задачи, решение задачи, объяснения в ходе решения задачи,
выдача результатов решения задачи и их оценка, объяснения после решения задачи,
определение причин неудачи и приобретение новых знаний.
Перечисленные этапы не обязательно должны выполняться в каждом конкретном
диалоге, но если они выполняются, то в том порядке, который указан в глобальной
структуре. Тот или иной этап может не выполняться либо в связи с явным указанием
пользователя, либо по умолчанию. Например, если результат решения задачи удовлетворяет
пользователя, то этапы объяснения и приобретения могут быть пропущены. В силу простоты
и статичности глобальной структуры она, как правило, встраивается в управляющий
механизм диалогового компонента (т. е. задается процедурно), однако в ряде систем,
ориентированных на многоцелевое применение, глобальная структура задается декларативно
с помощью правил, имеющих вид продукций.
Тематическая структура диалога обычно представляется в виде сценария, в рамках
которого определяются: структура задачи, решаемой в процессе общения, т. е. разбиение
задачи на упорядоченное множество подзадач; распределение подзадач между участками
общения, т. е. определение, какие подзадачи решаются системой и какие - пользователем;
языковые средства, используемые при обращениях к пользователю. Для задания
тематической структуры (сценария) диалога в существующих системах общения
применяются различные способы. Они могут быть сгруппированы в три класса:
сценарий присутствует в системе в «готовом» виде (например, он встраивается в
систему при ее создании или вводится в процессе настройки системы на
проблемную область);
сценарий генерируется системой в процессе решения задачи;
некоторые компоненты сценария присутствуют в системе в готовом виде, а
некоторые генерируются.
Последний класс является композицией предыдущих, поэтому ограничимся
рассмотрением способов, составляющих первый и второй классы.
Готовый сценарий может быть задан в виде частично упорядоченного множества
правил с параметрами, значения которых устанавливаются в процессе решения конкретной
задачи. В зависимости от значений параметров между правилами устанавливается
отношение строгого порядка, определяющее тематическую структуру конкретного диалога.
Использование готовых сценариев целесообразно в тех случаях, когда к системе
предъявляются жесткие требования по быстродействию (это характерно для промышленных
и коммерческих систем), а решаемые задачи имеют устойчивую структуру и заранее
известны функции (роли) участников общения. Класс подобных задач весьма широк. Это
большинство задач общения с базами данных, задачи предупреждения или устранения
определенных видов локальных неудач, задачи, возникающие при настройке ЕЯ-систем на
проблемную область. Во всех случаях функция ведения диалога ограничивается
интерпретацией готового сценария. При этом если сценарий не встроен заранее в
диалоговый компонент, а должен вводиться в систему при ее настройке на проблемную
область, то для его описания используются специальные языки. Примерами отечественных
систем, имеющих языки описания сценариев, могут служить АИСТ и АДС.
Если сценарий диалога не присутствует в системе в готовом виде, а генерируется в
процессе решения задачи, то в диалоговый компонент включается специальный механизм
вывода (планирования). Метод планирования определяется в зависимости от используемой в
конкретной ЕЯ-системе системы представления знаний. Например, если для представления
знаний применяется исчисление предикатов, то процесс генерации сценария реализуется
методами доказательства теорем. Специфика применения методов планирования для
генерации сценариев состоит в том, что в качестве операторов, решающих элементарные
подзадачи, рассматриваются не только действия, ведущие к изменению отношений между
сущностями проблемной области, но и типовые действия, которые соответствуют
определенным речевым поступкам (речевым актам, например таким, как «сообщать»,
«спрашивать», «предлагать»). Это позволяет естественным образом включить в план
решения задачи - в последовательность действий по решению элементарных подзадач,
полученную с помощью механизма вывода - речевые акты, т. е. определить языковые
средства, используемые для обращений к пользователю.
Генерация сценариев диалога целесообразна в тех случаях, когда структура задачи
зависит от контекста ситуации, в которой происходит ее решение, а полный перечень
ситуаций не может быть определен заранее. К подобным задачам относится большинство
задач общения с экспертными системами, а также многие задачи, возникающие при
обработке связных текстов (в последнем случае методы планирования позволяют
устанавливать цели и строить планы действий (в том числе и речевых) участников событий,
описываемых в текстах).
При задании локальной структуры шаг диалога состоит из действия и реакции и
характеризуется следующими параметрами: инициатор и тип инициирования (вид) действия;
способ влияния действия на реакцию; способ спецификации подзадачи, решаемой на данном
шаге. Последний параметр будем характеризовать двумя подпараметрами: ограниченностью
пространства выбора функции (и/или параметров), используемой для решения подзадачи, и
однозначностью определения функции. Данные параметры позволяют выделить шесть
основных типов шагов диалога для ЕЯ-систем (табл. 3).
На локальном уровне диалога задача диалогового компонента состоит в определении
параметров текущего шага. Инициатором шага в общем случае может быть как пользователь,
так и система. Действия пользователя подразделяются на задания и команды. Задания
предусматривают формулировку решаемой задачи (подзадачи) и ввод необходимых для ее
решения параметров. При этом однозначность определения функции, обеспечивающей
решение этой задачи, не гарантируется. Например, пользователь может специфицировать
задачу, для решения которой в системе отсутствует подходящая функция (либо такая
функция есть, но она не может быть выполнена на данном шаге), или задать значения
параметров не в том виде, в котором требуется системе. Команды обычно служат для
перехвата инициативы или для выполнения технологических действий, например листания
отчета, получения твердой копии и т. п. Фиксированность набора команд позволяет системе
легко идентифицировать команду и однозначно определять требуемую для выполнения
команды функцию.
Таблица 3
Основные типы шагов диалога
Способ спецификации подзадач
Инициатор шага Вид действия Вид реакции ограниченность
пространства
выбора
однозначность
определения
Пользователь
задание
отчет или
диагностическое
сообщение
неограниченное
неоднозначное
Пользователь команда
выполнение
команды или
диагностическое
сообщение
ограниченное однозначное
Система
простой вопрос ответ на простой
вопрос
фиксированное то же
Система
вопрос с
фиксированной
структурой ответа
ответ в заданной
структуре
ограниченное то же
Система
вопрос со
свободной
структурой ответа
произвольный
ответ
неограниченное неоднозначное
Система
альтернативный
вопрос
(предложение
выбора)
выбор
альтернативы ограниченное однозначное
Если инициатива принадлежит системе, то вид действия определяется исходя из того,
насколько диалоговому компоненту известна функция (и/или параметры), с помощью
которой осуществляется решение подзадачи на данном шаге. Если функция известна, а
неизвестны лишь некоторые параметры этой функции, то используется простой вопрос.
Например, пользователь задал системе вопрос: «Какой домашний адрес у Петрова?». В этом
случае для более релевантного поиска система уточняет один из параметров, путем задания
простого вопроса: «Введите номер отдела, в котором работает Петров».
Альтернативные вопросы и вопросы с фиксированной структурой ответа применяются
в тех случаях, когда на данном шаге возможно выполнение одной из нескольких функций, а
выбор осуществляется в зависимости от реакции пользователя. Альтернативные вопросы
ограничивают выбор явно, т.е. пользователю предъявляется множество возможных ответов
(например, для предыдущего примера: «Петров работает в 1, 2 или 3-ем отделе?»). Вопросы
с фиксированной структурой ответа предусматривают неявное определение функции. Эти
вопросы содержат анкету для ввода ответа. Анкета состоит из именованных полей,
предназначенных для ввода соответствующих значений. Определение функции
осуществляется в зависимости от того, какие поля анкеты будут заполнены пользователем
при вводе ответа.
Вопросы со свободной структурой ответа не содержат никаких сведений относительно
ожидаемых свойств ответа. В принципе эти вопросы в существенно меньшей степени
ограничивают (вплоть до отсутствия каких бы то ни было ограничений) область выбора
функции и параметров. Естественно, что при этом не гарантируется однозначность их
определения. С этой точки зрения вопросы со свободной структурой ответа аналогичны
заданиям, разница между ними — только в инициаторе действия.
Из рассмотрения основных типов шагов диалога следует, что при действиях, не
ограничивающих возможные реакции (заданиях и вопросах со свободной структурой
ответа), не гарантируется однозначная спецификация задачи. Кроме того, неоднозначность
спецификации может иметь место и в тех случаях, когда действие системы ограничивает
реакцию пользователя (простой вопрос и вопрос с фиксированной структурой ответа), но
вследствие использования естественного языка ответ неправильно понимается системой. Во
всех подобных случаях требуется приведение ситуации к однозначной. На практике для
этого применяется перефразирование или изменение темы диалога.
Перефразирование заключается в переформулировании на естественном языке
высказывания (задания или ответа) пользователя. При неоднозначном понимании все
возможные (с точки зрения системы) варианты выдаются в виде альтернативного вопроса.
Частным случаем перефразирования является «эхо». При этом повторяется часть
высказывания пользователя, в которой система сомневается (например, альтернативный
вопрос системы: «Выдать домашний адрес Петрова из 1-го отдела?»).
При изменении темы диалога текущий шаг диалога прерывается, и для достижения
однозначного понимания внутри него создается поддиалог из одного или нескольких шагов.
Поддиалог может быть заранее запланирован в сценарии диалога либо инициирован в
результате перехвата инициативы ранее пассивным участником. В последнем случае в
зависимости от того, кто из участников осуществляет перехват инициативы, диалоговый
компонент либо формирует перехват, либо обрабатывает его.
Как правило, действия участников по перехвату инициативы ограничены моментом
перехвата, способом перехвата и целями, которые участники могут преследовать, перехватив
инициативу. Обычно перехват инициативы разрешается в те моменты, когда активный
участник находится в ожидании реакции пассивного участника. Наиболее распространенный
способ перехвата инициативы системой - простые и альтернативные вопросы. В первом
случае целью системы является уточнение параметра, а во втором - функции, которая
должна быть выполнена для решения подзадачи на прерванном шаге диалога. Для перехвата
инициативы пользователем обычно применяются специальные стандартные команды, смысл
которых заранее известен системе. Появление в высказывании пользователя подобной
команды сигнализирует системе, как о наличии перехвата инициативы, так и о цели
перехвата.
Если способ перехвата инициативы пользователем не ограничен специальными
командами, то диалоговый компонент должен определять по смыслу очередного
высказывания его отношение к текущей цели (теме). Если взаимосвязь высказывания с
текущей целью установить не удается, то это высказывание должно рассматриваться как
перехват инициативы. При этом возникает достаточно сложная задача определения цели,
которую, перехватив инициативу, намерен преследовать пользователь. Данная задача в
настоящее время еще не имеет удовлетворительного решения, однако следует подчеркнуть,
что способность диалогового компонента обрабатывать перехваты инициативы с учетом
целей участников является одним из необходимых условий для организации гибкого
диалога, гарантирующего достижение в процессе общения глобального успеха.
Методы реализации компонента понимания высказываний
Понимание высказываний включает анализ и интерпретацию.
В методах анализа обычно выделяются анализ слов, предложений и текстов. Анализ
слов сводится к морфологическому анализу, обнаружению и исправлению орфографических
ошибок. Цель морфологического анализа состоит в получении основ (под основой
понимается словоформа с отсеченным окончанием) со значениями грамматических
категорий (например, часть речи, род, число, падеж) для каждой из словоформ
высказывания, поступившего на вход ЕЯ-системы. Методы морфологического анализа были
детально разработаны еще при создании первых ЕЯ-систем и более подробно рассмотрены в
главе III. Примерами отечественных ЕЯ-систем с достаточно полной для практических
потребностей реализацией морфологического анализа могут служить ПОЭТ, TULIPS и
АИСТ.
Методы обнаружения и исправления орфографических ошибок подразделяются на два
класса в зависимости от того, используют они словари основ или нет. К методам, не
использующим словари, относятся частотные и полиграммные. Частотные методы
основаны на сортировке слов по частоте их встречаемости в текстах. Предполагается, что
частота встречаемости слов, содержащих ошибки, низкая. Однако низкая частота
встречаемости и у правильных, но редко встречающихся слов, что значительно снижает
эффективность частотных методов. В полиграммных методах для поиска ошибок применяют
списки возможных сочетаний букв в словах (обычно анализируются пары и тройки идущих
подряд букв). Полиграммными методами целесообразно пользоваться в системах с
открытым (пополняемым) словарем наряду с методами, основанными на словарях.
Методы, в которых используются словари, разделяются в зависимости от типа
применяемой стратегии на абсолютные и относительные. К абсолютным относится
«исторический» метод, основанный на словаре встречаемых ранее ошибок. Данный метод
реализован, например, в системе SPEEDCOP. Эффективность исторического метода
существенно зависит от размера текстов, на основе которых порожден словарь ошибок.
Относительный метод состоит в нахождении в словаре таких слов, которые наиболее
похожи на искаженное слово, и выборе среди них правильного. Обычно искаженное слово
подвергается определенной обработке для получения из него правильных слов. Обработка,
как правило, включает действия по пропуску, перестановке и вставке букв. При этом для
уменьшения списка новых слов применяются частотные и полиграммные методы.
Анализ предложений обычно сводится к синтаксическому и семантическому анализу,
выполняемому отдельным функциональным блоком-анализатором (parser). Наиболее
распространенные методы анализа предложений, так же как и методы морфологического
анализа, были разработаны еще при создании первых ЕЯ-систем и предназначались для
обработки только «правильных», т. е. не содержащих отклонений от грамматической нормы,
предложений. Обычно при описании анализаторов основное внимание уделяется
распределению функций между синтаксическим и семантическим анализом и порядку их
выполнения. Однако с точки зрения современных требовании к ЕЯ-системам более важным
является вопрос о том, насколько существующие анализаторы могут быть приспособлены к
обработке «неграмматичностей», т. е. характерных для диалогов между людьми
высказываний с отклонениями от грамматической нормы (лексические и грамматические
ошибки, пропуски, повторы, шумы, эллипсис, идиомы и т.п.). Сравним по этому параметру
следующие типы анализаторов: традиционные, концептуальные, анализаторы,
использующие сопоставление по образцам и анализаторы, использующие разнообразные
стратегии. Более подробно существующие подходы, методы и алгоритмы синтаксического и
семантического анализов рассмотрены в следующих разделах.
Традиционные анализаторы
Наиболее распространенным способом анализа ЕЯ-предложений является разбор
сверху вниз, слева направо, основанный на некоторой фиксированной грамматике. В
последние годы подобные методы обычно выполнялись с применением ATN-техники, т.е. с
помощью расширенных сетей переходов. Такие анализаторы осуществляют разбор
предложения либо в общих грамматических категориях, либо в терминах категорий,
имеющих значение в некоторой ограниченной области. Анализаторы этого типа
чрезвычайно «хрупки», т. е. они терпят неудачу при разборе предложений, содержащих
минимальные отклонения от нормы.
Хрупкость традиционных анализаторов обусловлена тем, что их алгоритм
осуществляет поиск сверху вниз среди разборов, допускаемых грамматикой, того разбора,
который соответствует обрабатываемому предложению. Если некоторый частный разбор при
сопоставлении ему очередного слова противоречит используемой грамматике, то для
анализатора это сигнал того, что на более раннем этапе поиска сделан ошибочный выбор.
Таким образом, неудача на некотором шаге разбора является сигналом для выбора
очередного из возможных разборов, т. е. принципиальные затруднения возникают при
обработке предложений, содержащих отклонения от грамматики.
Для преодоления указанных недостатков традиционных анализаторов были
предложены способы, позволяющие ослаблять действие грамматических правил. Однако это
возможно только в ограниченном классе грамматических отклонений. Кроме того,
предпринимались попытки добавить в ATN-сеть дополнительные специфические дуги,
которые имеют дело с проблематичными входными предложениями. Некоторые из этих дуг
выполняют функцию сопоставления по образцу (см. ниже). Тот факт, что для обработки
неграмматичных предложений приходится осуществлять радикальные преобразования ATN-
техники, говорит о ее малой пригодности для обработки высказываний, имеющих место в
реальных, естественных диалогах.
Один из возможных подходов к преодолению хрупкости традиционных анализаторов
состоит в одновременном применении нескольких подграмматик. Каждая из подграмматик
предназначена для анализа частных конструкций какого-либо одного вида. Применение
подграмматик осуществляется независимо, поэтому неудача одной подграмматики не влияет
на возможности других. Впервые подобный подход был реализован в системе PLANES,
которая имеет подграмматики для каждого типа известных систем сущностей. При данном
подходе предложение в процессе разбора разбивается на несколько независимых
фрагментов. В этом случае в задачу анализатора входит построение общей (объединенной)
интерпретации предложения. Если проблемная область достаточно ограничена (как это
имеет место в системе PLANES), то интерпретация фрагментов всегда уникальна, однако в
общем случае эта задача не имеет единственного решения и может стать трудноразрешимой.
Концептуальные анализаторы
Анализаторы данного типа используют методы разбора, направляемые значениями
базовых событий, обнаруженных в анализируемых предложениях. Наиболее известными
разновидностями данного подхода являются анализаторы, основанные на модели
концептуальной зависимости и на модели управления. Анализатор первого типа был
впервые реализован в системе MAPGE, а второго - в системе ПОЭТ. Концептуальные
анализаторы не разрабатывались специально для анализа неграмматичных предложений.
Однако заложенные в них идеи в принципе позволяют этим алгоритмам работать в условиях
пропусков и повторов слов. Такие системы, как FRUMP, IPP, RESEARCHER, SNUKA с
концептуальными анализаторами обладают иммунитетом к ошибкам, так как они
игнорируют непонятные им слова, а понятные приспосабливают (даже если в них есть
ошибки) к базовым событиям обрабатываемого предложения.
Анализаторы, использующие сопоставление по образцам
Анализаторы данного класса основаны на том, что в простейшем случае анализ
сводится к сопоставлению предложения с некоторым множеством образцов,
представляющих собой последовательности из одного или нескольких слов. Подобные
анализаторы широко применялись в ранних ЕЯ-системах. Многие методы анализа,
основанные на сопоставлении по образцам, содержат в образце не только константы, но и
переменные. При этом предполагается, что переменные образца могут сопоставляться с
любой строкой символов. Гибкость анализаторов определяется гибкостью процесса
сопоставления. Различаются следующие формы сопоставления: синтаксическое,
параметрическое, семантическое и принуждаемое. Разнообразие форм сопоставления
позволяет анализировать входные предложения, отклоняющиеся от традиционной
грамматики в произвольной степени, однако глубина проникновения в смысл подобных
анализаторов обычно невелика.
Возможности методов анализа, основанных на сопоставлении по образцам, можно
увеличить, используя частичное сопоставление предложения с одним или несколькими
образцами. Примером такой системы может служить Flex-P. Следует отметить, что
возможности частичного сопоставления исследованы мало. Однако бесспорно, что этот
метод анализа весьма эффективен при обработке предложений с отклонениями от
грамматической нормы. Кроме того, сопоставление по образцам позволяет успешно
обрабатывать идиомы. Так как идиомы не могут быть обработаны путем интерпретации
образующих их слов, то для их обработки неизбежно привлечение механизмов, подобных
сопоставлению по образцам. По этой причине некоторые системы, например LUNAR,
основанные на традиционных методах анализа, для обработки идиом включают стадию
преданализа, на которой применяется механизм сопоставления по образцам.
Методы анализа, использующие сопоставление по образцам, имеют определенные
ограничения. Если все предложение сопоставляется с одним образцом, то ясно, что такой
подход не позволяет обеспечить точную обработку сложных предложений. Если
предложение сопоставляется с несколькими образцами, каждый из которых подходит к
отдельному фрагменту предложения, то возникает задача определения границ фрагментов.
Кроме того, после сопоставления фрагментов одного предложения с несколькими образцами
возникает задача получения общей интерпретации всех фрагментов данного предложения.
Анализаторы, использующие разнообразные методы
Все анализаторы, относящиеся к рассмотренным выше классам, основываются на
каком-либо одном методе. Исследования показали, что использование в одном анализаторе
нескольких специфических методов позволяет обеспечить гибкость процесса анализа,
необходимую для обработки неграмматичных конструкций. Примерами таких анализаторов
могут служить CASPAR и MULTIPAR. В настоящее время данный подход еще не получил
такого распространения, как рассмотренные ранее подходы. Это объясняется, на наш взгляд,
его сравнительной новизной и недостаточной исследованностью.
Перейдем к описанию методов анализа связного текста (дискурса). Связность дискурса
достигается как лингвистическими средствами, имеющими языковое выражение, так и
экстралингвистическими (ситуационными) средствами - «умолчаниями», не имеющими
языкового выражения и основанными на общности знаний участников общения о цели
общения и проблемной области. На этапе анализа связного текста, как правило, решается
задача выявления связей между предложениями, выражаемых лингвистическими
средствами, а на этапе интерпретации - ситуационными.
К основным лингвистическим средствам связи предложений относятся ссылки и
эллипсис. В проблеме установления ссылок могут быть выделены две задачи:
1) поиск в предыдущих предложениях (контексте) сущности (референта), обозначаемой
данной ссылкой;
2) определение соответствия между референтом и ссылкой.
Простейшим методом решения первой задачи является поиск референта в заданном
количестве предыдущих предложений. Однако отсутствие критерия для определения
количества просматриваемых предыдущих предложений приводит на практике, как к
увеличению времени поиска, так и к ошибкам в установлении ссылок. Решение второй
задачи является тривиальным для простейших видов ссылок (т. е. в случае тождества
референта и ссылки) и весьма трудным для случаев несовпадения референта и ссылки.
Отсутствие удовлетворительных методов решения обеих задач в общей постановке на этапе
анализа текста стимулировало попытки их решения на этапе интерпретации (см. ниже).
Задача обработки эллиптических конструкций решается на этапе анализа также в
ограниченной постановке. Под эллипсисом понимается сжатая форма высказывания, смысл
которой определяется либо предыдущими высказываниями (текстовый эллипсис), либо
ситуацией, имеющей место в проблемной области (ситуативный эллипсис). С формально-
грамматической точки зрения высказывания, содержащие эллипсис, выглядят как неполные
(т. е. содержащие пропуски слов) предложения. На этапе анализа может быть обработан (т. е.
восстановлен) только текстовый эллипсис. Сущность методов восстановления текстового
эллипсиса, например, состоит в подстановке фрагментов предыдущих высказываний в
текущее высказывание, содержащее эллипсис. При этом пропущенные слова в текущем
высказывании как бы восстанавливаются из текста предыдущего высказывания.
Восстановление ситуационного эллипсиса осуществляется на этапе интерпретации.
На этапе интерпретации решаются две основные задачи:
1) буквальная интерпретация высказываний в контексте диалога;
2) интерпретация на цели участников общения.
Методов решения этих задач в общей постановке не существует. Однако
применительно к простым проблемным областям их решение существенно упрощается.
К простым проблемным областям относятся различные области, над которыми
решаются простые задачи информационного обслуживания, например: справочные задачи (о
погоде, о товарах, о литературе), задачи резервирования (мест, билетов, товаров) и т. п. Все
эти задачи обладают «прозрачной» структурой, т. е. они оперируют ограниченным
множеством сущностей, которые являются параметрами предлагаемого вида обслуживания.
Структура простых задач информационного обслуживания соответствует структуре фрейма.
При этом параметры обслуживания соответствуют слотам фрейма, а весь вид обслуживания
представляется некоторым фреймом. Работа ЕЯ-системы при обслуживании пользователя
состоит в заполнении (означивании) слотов и, возможно, в выполнении некоторых
манипуляций над фреймами с заполненными слотами.
Для решения обеих задач интерпретации в рамках фрейм-представлений используется
единый механизм означивания фреймов. При этом структура целей участников общения (т.
е. разбиение целей на подцели) определяется структурой фрейма, описывающего данную
задачу, а подцели состоят в заполнении слотов, т. е. в идентификации сущностей через
описания, представленные в результатах анализа входных высказываний.
В общем случае процесс идентификации некоторой сущности может иметь три исхода:
1 исход: однозначный - данному описанию сопоставляется единственная сущность;
2 исход: многозначный - описанию сопоставляется более чем одна сущность;
3 исход: неудовлетворительный - описанию не сопоставляется ни одна сущность.
Последние два исхода рассматриваются как неудачи буквальной интерпретации и
служат сигналами о необходимости установления подцелей более глубокого уровня,
предусматривающих устранение неудачи. При этом в диалоговый компонент кроме
сообщения о неудаче и типе неудачи передаются исходные данные, позволяющие
сформировать (с помощью компонента генерации высказываний) действие системы по
перехвату инициативы и открытию уточняющего поддиалога, преследующего новую
подцель.
В случае многозначной интерпретации вместе с сообщением о неудаче передаются
возможные варианты сопоставления, что позволяет системе генерировать альтернативный
вопрос. При неудовлетворительной интерпретации от компонента понимания требуется
указать причины, по которым рассматриваемое описание является неудовлетворительным. В
большинстве случаев причины неудовлетворительной интерпретации сводятся к
неудовлетворительным (неполным или неоднозначным) результатам анализа входных
высказываний и к несоответствию пресуппозиций пользователя знаниям системы.
При решении задач интерпретации важную роль играет имеющееся в системе
представление общей точки зрения на то, о чем идет речь в текущий момент. Эту точку
зрения часто называют фокусом (или фокусом внимания). Разделяемый участниками фокус
позволяет им повысить компактность диалога за счет того, что сущности, находящиеся в
фокусе, могут либо вообще не упоминаться в высказывании (эллипсис), либо упоминаться в
виде кратких описаний (ссылок). Покажем, как используется фокус для установления
референтов ссылок и восстановления эллипсиса.
В работе предлагается приравнять фокус к текущей подцели, преследуемой
участниками общения. Подобная трактовка рассматривает фокус как набор сущностей, на
которые в текущий момент направлено внимание участников, при этом текущая подцель
может быть определена как множество сущностей, соответствующих этой подцели. Ясно,
что данная трактовка фокуса обеспечивает решение задач установления референтов ссылок и
восстановления эллипсиса. Поясним это на примере следующего диалога (П – пользователь,
С – система):
П1: Какая зарплата у Петрова?
С1: Вы имеете в виду Алексея Петрова или Николая Петрова?
П2: Я имею в виду Николая.
В данном диалоге пользователь ссылается на Николая Петрова (П2). Референт этой
ссылки может быть легко идентифицирован. Действительно, высказывание П1 генерирует
подцель «заполнить слот личность». Вследствие многозначной интерпретации система
генерирует подцель «выбрать между двумя личностями». Ответ пользователя выбирает одну
из них. С таким же успехом пользователь мог бы ответить: «Я имел в виду первого из них».
Заметим, что приведенные рассуждения опираются на тот факт, что высказывание
пользователя (П2) не изменило текущую подцель и, следовательно, не изменило текущий
фокус.
Если бы в приведенном выше диалоге ответ пользователя (П2) содержал эллипсис,
например ответ имел бы вид «Николая» или «Первого из них», то эллипсис мог бы быть
легко восстановлен. Действительно, если предположить, что пользователь согласен с
фокусированной подцелью системы (выбрать между двумя личностями), то естественно
считать, что сущность, упомянутая в ответе, определяет выбор пользователя. Отметим, что
при данном методе не возникает необходимость достраивать эллиптическое высказывание до
полного высказывания (как это требуется при восстановлении эллипсиса на этапе анализа).
Еще раз подчеркнем, что изложенные выше методы базируются на фрейм-
представлениях и широко применяются в ЕЯ-системах, ориентированных на решение
простых задач информационного обслуживания. Что же касается методов интерпретации,
используемых в более сложных проблемных областях (например, понимание связных
текстов, описывающих разворачивающиеся по времени события со многими действующими
лицами), то они находятся в стадии становления и пока не поддаются обобщенному
описанию, так как сильно зависят как от условий конкретных задач, решаемых ЕЯ-системой,
так и от специфики применяемых средств представления знаний.
Методы реализации компонента генерации высказываний
Процесс генерации высказываний состоит из генерации смысла высказывания и
синтеза высказывания на ЕЯ. Первый этап часто называется внелингвистическим (или
концептуальным) синтезом, а второй - лингвистическим синтезом. Результатом выполнения
первого этапа является внутреннее представление смысла генерируемого высказывания. Как
правило, на первом этапе решаются следующие задачи:
определение информации, которая должна быть сообщена пользователю;
определение уровня общности информации, включаемой в высказывание;
выделение из множества аспектов, описывающих сущности, о которых
говорится в высказывании, аспектов, интересующих и понятных пользователю;
разбиение сообщаемой информации на части, соответствующие будущим
предложениям, и установление последовательности этих частей;
определение лексем и построение семантического представления высказывания.
На втором этапе обычно решаются следующие основные задачи: построение
синтаксической структуры отдельных предложений; приписывание морфологической
информации вершинам синтаксических структур отдельных предложений -
морфологический синтез словоформ.
До последнего времени в большинстве исследований по генерации высказываний на
естественном языке (ЕЯ) наибольшее внимание уделялось проблемам, связанным с
решением задач второго этапа. В ходе этих исследований были развиты методы прямой
трансляции формализованного представления смысла в предложения на английском языке,
разработаны системные грамматики и механизмы их употребления для порождения текста,
предложены критерии для отбора слов из общего словаря системы. Для генерации
высказываний на русском языке были разработаны и внедрены в ряде ЕЯ-систем и систем
машинного перевода методы морфологического и синтаксического синтеза.
По сравнению с задачами второго этапа, для решения которых существуют
апробированные методы, задачи, решаемые на первом этапе генерации, изучены гораздо
меньше. Поэтому в большинстве действующих ЕЯ-систем решение задач генерации смысла
осуществляется, как правило, в упрощенной или сильно ограниченной постановке, что
приводит к упрощению, а иногда и к вырождению задач синтеза высказываний на ЕЯ.
Наиболее простым методом генерации высказываний является метод, который основан
на использовании заранее заготовленных шаблонов, содержащих текст на ЕЯ и переменные,
вместо которых подставляются конкретные данные (описания сущностей). Как показала
практика, данный метод особенно удобен для генерации высказываний типа
диагностического сообщения, простого вопроса, альтернативного вопроса и вопроса с
фиксированной структурой ответа в определенных стандартных ситуациях, не зависящих от
проблемной области, в которой используется ЕЯ-система. В подобных ситуациях текущей
целью системы является предупреждение или устранение типовых локальных неудач,
вызванных, например, такими факторами: наличие в высказывании пользователя незнакомых
системе слов; несоответствие пресуппозиций в высказывании пользователя знаниям
системы; многозначная или неудовлетворительная интерпретация высказывания
пользователя и т. п.
При методе шаблонов генерация высказываний осуществляется, строго говоря,
совместно с диалоговым компонентом, который идентифицирует стандартную ситуацию (т.
е., генерирует соответствующую этой ситуации цель) и определяет, какая информация (т. е.
описания каких сущностей) должна быть включена в высказывание. Компонент генерации
высказываний в этом случае выбирает подходящий формат для представления высказывания
и конкретизирует его соответствующими данными, возможно, производя при этом
морфологический синтез словоформ.
Аналогичный метод может применяться и при генерации большинства отчетов, т. е.
высказываний, выражающих результаты решения задач, полученные ЕЯ - системой. Отличие
состоит в том, что вместо заранее заготовленных шаблонов используются шаблоны, которые
порождаются компонентом генерации высказываний на основе метазнаний, т. е. описаний
данных, включаемых в ответ. Заметим, что в ряде случаев, например в системах ЕЯ-общения
с базами данных, результатом решения задачи часто является множество данных, формат
представления которых определяется средствами генерации отчетов СУБД. Очевидно, что в
этих случаях необходимость в компоненте генерации высказывании ЕЯ-системы вообще не
возникает.
Генерация высказываний, которые не могут быть описаны с помощью шаблонов,
представляет собой более сложную и недостаточно исследованную задачу. К таким
высказываниям, в частности, относятся объяснения, генерируемые в качестве ответов на
вопросы, областью интерпретации которых являются абстрактные знания и метазнания
системы. Такие вопросы часто задаются неопытными конечными пользователями для того,
чтобы получить общее представление о знаниях и возможностях ЕЯ-системы, например:
«Какого рода данные содержатся в базе данных?», «Что такое издержки производства?»,
«Какая разница между общезаводскими накладными расходами и издержками
производства?» и т. п. Основная особенность подобных вопросов заключается в том, что они
не дают точного представления о необходимой информации в ответе. Как правило,
содержание ответа (текста объяснения) зависит от ситуации, в которой задан вопрос, а
зачастую и от познаний пользователя в данной области.
Для генерации объяснений, т. е. ответов на вопросы метауровня и абстрактного уровня,
требуется достаточно тонкая классификация целей создания ЕЯ-текстов. Организация текста
(т.е. информации, сообщаемой пользователю, уровень ее общности, разбиение на части,
соответствующие будущим предложениям и т.п.) определяется так называемыми
дискурсными целями, такими, как, например: дать определение, описать, сравнить,
подтвердить, уточнить и т.д. Каждой дискурсной цели может быть сопоставлен
определенный способ организации текста, называемый дискурсной стратегией.
Предполагается, что, выявив дискурсные стратегии, используемые людьми, и выразив их в
подходящем формальном представлении, можно получить достаточно надежный и
эффективный механизм генерации смыслов порождаемых текстов.
Один из возможных методов представления дискурсных стратегий применяется в
системе TEXT. Данная система генерирует объяснения в виде отдельных абзацев и может
отвечать на вопросы следующих типов: вопросы на определения (дефиниции) объектов;
вопросы о различии между объектами; вопросы на описания объектов; вопросы
относительно имеющейся в базе данных информации. Дискурсные стратегии построения
объяснений были получены эмпирически в результате изучения коротких определений и
сопоставлений в различных справочниках и энциклопедиях. Каждая дискурсная стратегия
представляется в системе TEXT в виде грамматики (дерева составляющих), терминалами
которой служат так называемые риторические предикаты (например, идентификация объекта
как члена какого-то класса, представление свойств (атрибутов) объекта и т. п.),
определяющие тип информации из системной модели данных, которая может быть
использована для их конкретизации.
Изложенные выше методы не претендуют на универсальность. Отсутствие общих
методов решения задач генерации (в основном это касается задач генерации
смысла высказываний) объясняется как сложностью и недостаточной изученностью
проблемы, так и тем обстоятельством, что в силу исключительной способности человека
понимать «плохо построенные» ответы наибольшее внимание при разработке ЕЯ-систем
уделяется, как правило, компоненту понимания высказывания и диалоговому компоненту.