Комплексный анализ
Наши эксперименты с системами CASPAR и DYPAR (кроме того, что они подчеркнули важность четырех наших принципов разработки надежных анализаторов, перечислением которых начинался данный раздел) показали также, что надежность может быть достигнута благодаря обработке одного и того же входного выражения с использованием нескольких различных стратегий анализа.
Эти стратегии применяются и для анализа грамматически правильных входных выражений, и для преодоления неграмматичности во входных выражениях. Понятие комплексного анализа (multi-strategy parsing) очень хорошо согласуется с четырьмя указанными принципами. В частности:— Требуемая высокая степень интерпретационности может быть достигнута благодаря тому, что несколько различных стратегий
применяют к входному высказыванию одну и ту же грамматическую информацию, причем при помощи нескольких различных способов.
— Для продуктивного использования различных аспектов нееди- нообразности различных типов конструкций могут быть употреблены различные стратегии.
— Некоторые стратегии могут осуществлять анализ сверху вниз, а другие — снизу вверх.
Кроме того, комплексный подход, как видно на примере работы системы DYPAR, вполне совместим с методом актуализации падежных фреймов, который является, как мы подчеркивали, особенно подходящим инструментом для надежного анализа. Безусловно, многие стратегии, необходимые для создания надежного анализатора, будут основываться на актуализации падежных фреймов со всей вытекающей отсюда гибкостью обработки. Однако один метод актуализации падежных фреймов не может обеспечить полную надежность и поэтому должен быть дополнен другими стратегиями, например такими, какие представлены в DYPAR. Фактически даже метод актуализации падежных фреймов, представленный в CASPAR, можно рассматривать как сочетание двух стратегий:, одна из них обеспечивает первоначальный просмотр с использованием стандартных ожиданий, а другая — это стратегия преодоления неграмматичности, вступающая в действие, когда терпит неудачу первая стратегия.
Более того, стратегия анализа снизу вверх, рассмотренная в конце подраздела, описывающего анализатор CASPAR, могла бы считаться тогда третьей стратегией.5.3.1. Координация нескольких стратегий с помощью сущностноориентированного подхода. Основная проблема, возникающая при использовании нескольких стратегий анализа, заключается в координации этих стратегий друг с другом. Здесь встают вопросы взаимодействия и порядка применения. В системах CASPAR и DYPAR проблема была решена просто, с помощью „жесткой увязки" взаимодействий между разными стратегиями, однако в общем случае такое решение неудовлетворительно, особенно если мы хотим безболезненно расширить набор применяемых стратегий. Одно из возможных решений, которое мы начали исследовать, включает идею сущностноориентированного (entity-oriented) анализа (Hayes, 1984).
Главное, что лежит в основе сущностно-ориентированного анализа,— это идея, согласно которой основная задача интерфейса, работающего на естественном языке, состоит в распознавании сущностей — объектов, действий, состояний, команд и т. п.,— принадлежащих предметной области интерфейса. Это распознавание может быть рекурсивным в том смысле, что описания сущностей могут содержать описания вспомогательных сущностей (например, команды используют отсылки к объектам).
При сущностно-ориентированном анализе все сущности, которые должен распознавать конкретный интерфейс, определяются отдельно. Эти определения содержат информацию как о способах манифестации сущностей во входных выражениях на естественном языке (данная информация может также использоваться и при вербализации ответных реакций системы), так и о внутренней семантической структуре сущностей. Такая организация знаний обладает следующими преимуществами в плане надежности анализа:
— Определения отдельной сущности составляют идеальную основу для организации комплексного использования нескольких стратегий анализа. В частности, каждое определение может указывать, какие стратегии могут применяться для распознавания данной сущности.
Безусловно, это дает только основу для надежного распознавания, достижение же надежности будет зависеть от качества различных используемых стратегий распознавания.— .Отдельное определение всех распознаваемых сущностей предметной области позволяет распознавать их независимо. Если считать, что сущности соответствующим образом выражены с помощью лексических единиц, которые могут появляться в поверхностной структуре высказываний, то такое распознавание может происходить по принципу снизу вверх, способствуя таким образом распознаванию эллиптичных, фрагментарных или частично непонятных входных выражений. Те же самые определения могут также использоваться при осуществлении более эффективного способа анализа сверху вниз, когда входное сообщение согласуется с ожиданиями системы.
— Такая организация знаний особенно хорошо согласуется с методом актуализации падежных фреймов. Соответствующие падежные фреймы могут быть приписаны определению каждой сущности, и тогда они будут легко использоваться падежно-ориентированными стратегиями. Конечно, это не препятствует использованию других стратегий для распознавания сущности, если в определении сущности содержится информация, подходящая для интерпретации ее другими стратегиями. Эти аргументы могут быть конкретизированы с помощью примера.
5.3.2. Примеры определения сущностей. Сначала мы проанализируем пример некоторой сущности и язык определений, пригодный для использования при сущностно-ориентированном анализе. Примеры взяты из области общения интерфейса с базой данных, содержащей сведения о курсах, читаемых в колледже. Здесь представлено (частичное) определение курса. Квадратные скобки обозначают списки вида атрибут/значение, а круглые скобки — обычные списки.
[
Имя Сущности: Курс, Читаемый в Колледже Тип: Структурированная Сущность
Компоненты: (
[Имя Компонента: Номер Курса Тип: Целое Число Больше Чем: 99 Меньше Чем: 1000
і
[Имя Компонента: Отделение, Обеспечивающее Курс Тип: Отделение Колледжа
і
[Имя Компонента: Группа, Слушающая Курс Тип: Группа Колледжа
і
[Имя Компонента: Преподаватель Курса Тип: Профессор Колледжа
]
Поверхностная Репрезентация: (
[Синтаксический Тип: Образец Образец: ($Отделение, Обеспечивающее Курс $Номер Курса)
і
[Синтаксический Тип: Именная группа Главное Слово: (курс|семинар|...)
Препозитивные Компоненты (Отделение, Обеспечивающее
Курс...)
Прилагательные: (
[Группа Прилагательного: (новый|самый новый)
Компонент: Семестр, Отведенный На Курс Значение: Текущий Семестр
і
)
Падежи, идущие после существительного: (
[Падежный Показатель: (? предназначенный для|направлен-
ный на|...)
Компонент: Группа, Слушающая Курс
і
[Падежный Показатель: (? читаемый (кем-либо) |...)
Компонент: Преподаватель Курса
і
Точные детали данного языка здесь нерелевантны.
Важно отметить, что определение курса является структурированным объектом с компонентами: номер, отделение, преподаватель и т. д. Это определение отделено от поверхностной репрезентации курса, которая принимает одну из двух форм: либо это простой лексический образец, состоящий из названия отделения, обеспечивающего данный курс, и из номера курса (знак доллара отсылает к описанию соответствующего компонента), либо это полная именная группа с прилагательными, постно- минальными падежами и т.д. Так как мы ориентируемся на комплексный подход к анализу, то два совершенно различных типа поверхностно-языкового определения не вызывают никаких проблем — оба они могут быть независимо применены к входному сообщению различными стратегиями, связанными с теми или иными конкретными конструкциями, а использовано будет то определение, которое лучше соответствует входному сообщению.Вспомогательные объекты типа „Отделение Колледжа" определяются сходным образом.
[
Имя Сущности: Отделение Колледжа Тип: Перечисление Перечисляемые Значения: (
Отделение Вычислительных Наук Отделение Математики Отделение Истории
“)
Поверхностная Репрезентация: (
[Синтаксический Тип: Образец
Образец: (ВН | Вычислительные Науки | Выч Науки | ...)
Значение: Отделение Вычислительных Наук
і
)
і
Сам „Курс, Читаемый в Колледже" будет вспомогательной сущностью в других сущностях более высокого уровня, входящих в нашу ограниченную предметную область, таких, например, как команда системе управления базой данных о внесении студента в списки курса.
L
Имя Сущности: Команда Записать Тип: Структурированная Сущность Компоненты: (
[Имя Компонента: Записываемый Тип: Студент Колледжа
]
[Имя Компонента: Целевой Объект Записи Тип: Курс, Читаемый в Колледже
]
)
Поверхностная Репрезентация: (
[Синтаксический Тип: Императивный Падежный Фрейм Главное Слово: (записать[зарегистрировать!включить...) Прямой Объект: ($3аписываемый)
Падежи: (
[Падежный Показатель: (в | на |...)
Компонент: Целевой Объект Записи
і
)
і
j )
5.3.3. Анализ сообщений при сущностно-ориентированном подходе.
Мы переходим к вопросу о том, как языковые определения типа только что приведенных могут направлять работу анализатора. Посмотрим сначала, как простая команда базе данных типаЗапишите Сюзан Смит на ВН 101 может быть проанализирована с помощью приведенных выше языковых определений. Прежде всего необходимо определить, что перед нами Команда Записать. В системе, осуществляющей анализ только по принципу сверху вниз, мы установили бы это на основе списка всех сущностей, ожидаемых в качестве полных входных выражений, то есть стали бы перебирать все сущности в этой форме, что является довольно неэффективным процессом. Более естественной стратегией при сущностно-ориентированном подходе является индексирование по принципу снизу вверх, то есть от входных слов к тем сущностям, на которые они указывают. В данном случае лучшим указателем для Команды Записать является первое слово — „запишите". В общем случае лучшим указателем не обязательно должно быть первое слово входной цепочки, поэтому нам следует проверить все слова, невольно увеличивая тем самым число потенциальных сущностей. Следовательно, мы можем в нашем примере выявить также сущности „Студент Колледжа", „Курс, Читаемый в Колледже", „Отделение Колледжа". Простым способом уменьшить число возможностей, порожденных указателями, для распознавания сущности является исключение всех тех сущностей, которые выступают как вспомогательные для уже найденных. Для нашего примера это означает исключение всех сущностей, кроме Команды Записать, а это и есть желаемый результат. Одно заключительное замечание относительно индексирования: безусловно, нежелательно рассматривать в качестве указателя каждое слово, которое могло бы появиться в поверхностной репрезентации сущности; должны использоваться только слова, обладающие высокой различительной силой, типа запишите или ВН. Обладает ли слово достаточной различительной силой, может быть определено либо вручную, что недостоверно, либо автоматически, на основе подсчета числа сущностей, указателем которых является данное слово, и исключением его из указателей, если это число превышает некоторое пороговое значение.
Как только в вышеприведенном примере устанавливается, что Команда Записать и есть сущность, подлежащая распознаванию, дальнейшее распознавание может осуществляться непосредственно по принципу сверху вниз. Определение поверхностной структуры для Команды Записать есть императивный падежный фрейм, имеющий в качестве прямого объекта Студента Колледжа, а в качестве второго падежа, выражаемого предлогом „на",— Курс, Читаемый в Колледже. Эта информация может быть непосредственно использована простой стратегией распознавания падежного фрейма того типа, который применялся в системе CASPAR. Необходимости перевода в структурно отличную репрезентацию здесь нет. Наиболее естественный способ представления результатов анализа будет таким:
Частный Случай Сущности: Команда Записать
Записываемый: [Частный Случай Сущности: Студент Колледжа Имя: (Сюзан)
Фамилия: Смит
і
Целевой Объект Записи: [Частный Случай Сущности: Курс, Читаемый В Колледже Отделение, Обеспечивающее Курс:
Отделение Вычислительных Наук Номер Курса: 101
і і
Отметим, что приведенный результат анализа выражен в терминах глубинной структурной репрезентации, используемой в определениях сущностей, и нужда в отдельном этапе семантической интерпретации отпадает.
Чтобы показать возможности надежной обработки высказывания при сущностно-ориентированном подходе, рассмотрим входное высказывание:
Поместите Сюзан Смит на вычислительные науки для первокурсников.
Здесь перед нами две трудности: будем считать, что пользователь употребил глагол „поместить" в качестве синонима глагола „записать", но его нет в словаре системы; кроме того, пользователь сократил грамматически правильное выражение „курс по вычислительным наукам для первокурсников" до эквивалентного выражения, которое не покрывается поверхностной репрезентацией сущности „Курс, Читаемый в Колледже", как она была определена выше. Так как „поместить" не является синонимом для „записать" в определенном ограниченном нами языке, то мы не можем использовать его в качестве указателя сущности „Команда Записать" и, следовательно, не можем применить тот же самый анализ сверху вниз, который был проиллюстрирован выше. Поэтому мы вынуждены распознавать более мелкие фрагменты по принципу снизу вверх. Допустим, у нас есть полный список всех студентов, и таким образом можно распознать „Сюзан Смит" как студентку. Остаются „вычислительные науки для первокурсников". Мы можем распознать „вычислительные науки" как Отделение Колледжа, а „первокурсников" — как Группу Колледжа, так как обе эти сущности являются компонентами сущности „Курс, Читаемый В Колледже". Мы можем попробовать объединить результаты распознавания фрагментов и постараться распознать описание курса на основе всего просмотренного сегмента, а именно: „вычислительные науки для первокурсников".
Для Курса, Читаемого в Колледже, имеется две возможные поверхностные репрезентации. Первая — образец — частично совпадает с выражением „вычислительные науки", но не объединяет двух фрагментов. Вторая — именная группа — объясняет оба фрагмента, но не соотносится с ними стандартным образом из-за отсутствия главного существительного. Однако в режиме распознавания фрагментов такой пропуск возможен, и данное выражение будет принято как описание сущности „Курс, Читаемый в Колледже", в котором значением компонента „Отделение, Обеспечивающее Курс", будет Отделение Вычислительных Наук, а значением компонента „Группа, Слушающая Курс", будет Группа.
Однако входное сообщение все еще состоит из двух фрагментов — Студент Колледжа и Курс, Читаемый В Колледже, и, поскольку у нас нет никакой информации о слове „поместите", мы вынуждены рассмотреть все сущности, содержащие в качестве своих компоненг тов эти две распознанные вспомогательные сущности. Будем считать, что таковых три: Команда Записать, Команда Исключить и Команда Перевести (с очевидными интерпретациями). Пытаясь распознать каждую из них, мы можем отбросить Команду Перевести в пользу первых двух, так как она требует наличия двух курсов, а мы имеем только один. Точно так же Команда Записать предпочтительнее, чем Команда Исключить, ибо предлог „на" указывает на падеж „Целевой Объект Записи" в описании Команды Записать, но не указывает на падеж „Объект, Откуда Исключают" в описании Команды Исключить. Таким образом, мы приходим к выводу, что пользователь имел в виду Команду Записать.
Следуя данной процедуре соединения фрагментов по принципу снизу вверх, мы не учитывали другие комбинационные возможности, не приводящие к правильному ответу, например, мы не рассматривали „вычислительные науки" в качестве падежа „Отделение, На Котором Учится Студент" для сущности „Студент Колледжа", в данном случае — „Сюзан Смит". На практике алгоритм объединения фрагментов снизу вверх должен будет рассмотреть все такие возможности. Однако если, как в данном случае, объединение окажется не соответствующим объединению более высокого уровня, которое объясняло бы все входное сообщение целиком, то оно может быть отброшено в пользу таких объединений, которые ведут к полному анализу высказывания. В случае, если будет получено более одного варианта полного анализа, система будет действовать, как и в случае любой другой неоднозначности, то есть с помощью фокусирующего взаимодействия с пользователем.
Даже предположив, что в вышеприведенном примере имеется только одно решение (так как оно опирается на несколько существенных допущений), мы тем не менее должны использовать метод фокусирующего взаимодействия (Hayes, 1981), чтобы предъявить нашу интерпретацию для подтверждения пользователю, прежде чем продолжить анализ. Заметим, что, если пользователь действительно ее одобрит, мы сможем (по-видимому, используя еще одно подтверждение) добавить слово „поместить" в словарь в качестве синонима для слова „записать", поскольку форма „поместите" оказалась нераспознанной в той поверхностной позиции, где должна была стоять форма „запишите".
Опытная реализация анализатора, разработанного в соответствии с сущностно-ориентированными принципами, описанными выше, завершена, и предварительные оценки многообещающи. Мы надеемся, в соответствии с данными принципами, построить более полный анализатор.
6.