Анализатор DYPAR.
DYPAR был создан как средство экспериментальной проверки возможностей и потенциальных выгод, получаемых при объединении нескольких стратегий анализа в единый подход. Вначале были объединены три стратегии анализа (подбор образцов, интерпретация на основе семантической грамматики и синтаксические трансформации).
Трансформации использовались для сведения вариантов структуры предложения к канонической форме. Кроме большого набора операторов[15], образцы могли содержать рекурсивные нетерминальные субсоставляющие* соответствующие категориям семантической грамматики или другим субсоставляющим. Каждая нетерминальная составляющая могла расширяться до полного образца, содержащего дополнительные нетерминальные составляющие.Эксперимент оказался успешным в том отношении, что DYPAR позволял писать грамматики, по крайней мере на порядок более точные, чем чисто семантические грамматики такой же мощности. Эта версия системы была названа DYPAR-I (Boggs et al., 1983) и имелась в наличии для общего пользования. Затем в качестве новой главной стратегии была введена актуализация падежных фреймов. В настоящее время функционирует новая система DYPAR-II, выступающая в качестве экспериментального анализатора в естественноязыковом интерфейсе XCALIBUR, который взаимодействует с экспертными системами (С а г b о n е 1 1 et al., 1983).
Комплексный подход к анализу грамматически правильных входных сообщений в DYPAR-ІІ способствовал созданию нескольких дополнительных стратегий, нацеленных на преодоление различных видов неграмматичности. Имеются в виду следующие задачи:
— исправление орфографических ошибок, проводимое одновременно с морфологическим анализом слов, имеющих окончания;
— ликвидация провалов, вызванных наличием в ясном высказывании некоторых искаженных или случайных выражений;
— распознавание составляющих, которые во входном высказывании появляются в неожиданном порядке;
— обобщенное разрешение эллипсиса на основе падежных фреймов с использованием четкой семантики предметной области.
Две стратегии преодоления неграмматичности на уровне предложения (вторая и третья в приведенном выше списке) были стимулированы (и в большой степени обеспечены практически) соответствующими стратегиями в системе CASPAR, и поэтому они не требуют обширных комментариев. Однако дополнительная сложность в DYPAR-II состоит в том, что процесс актуализации падежных фреймов распознает рекурсивно вложенные падежные фреймы и поэтому при наличии неправильно построенного входного выражения должен иметь дело с ожиданиями на многих уровнях. Если бы не четко заданная семантика предметной области, это дополнительное осложнение вызывало бы некоторую неоднозначность в корректирующем процессе и требовало бы специального взаимодействия с пользователем.
5.2.1. Исправление орфографических ошибок и морфология в DYPAR. DYPAR объединяет основывающееся на ожиданиях исправление орфографических ошибок и морфологическое разложение слов с окончаниями. Поскольку грамматика в DYPAR составлена в форме перекрестных ссылок, при которых словарные статьи индексируются на основе образцов высказываний, то оказалось, что при обработке нераспознаваемого слова проще всего порождать списки ожидаемых слов. Хотя часто (благодаря действию сильных ожиданий) списки были небольшими, иногда все же порождалась значительная порция словарной информации.
Поскольку исправление орфографических ошибок взаимодействует с процессом морфологического разложения, эти стратегии были объединены в единый алгоритм преодоления орфографических ошибок. Здесь мы приводим несколько упрощенную версию этого алгоритма, в которой единственными разрешенными морфологическими операциями являются операции с окончаниями слов (например, образование единственного числа из множественного и другие операции отделения суффиксов).
1. Определить редуцированный словарь как множество слов, ожидаемых в той точке разбора, где встретилось нераспознанное слово. Это множество может содержать ожидаемые и (разрешенные морфологические окончания и варианты, а также основы слов.
2. Этап морфологического разложения. Если данное слово (плюс любая сопровождающая морфологическая информация) входит в редуцированный словарь, выдать его и закончить работу данного алгоритма.
3. Пытаться произвести одноуровневую морфологическую операцию с текущим словом (например, отделить стандартный суффикс).
а) В случае успеха разложить слово (например, на основу и суффикс), занести потенциальное разложение в список и перейти к шагу 2.
б) Если никакая морфологическая операция не может быть выполнена, то перейти к этапу исправления орфографических ошибок (шаг 4). Разрешается только стандартная последовательность суффиксов.
4. Этап исправления орфографических ошибок. Для каждого элемента из списка возможных разложений (имеющегося исходного нераспознанного слова) применить алгоритм исправления орфографических ошибок к основе слова, используя редуцированный словарь в качестве множества кандидатов на исправление.
а) В случае успеха выдать исправленное слово (вместе с любой морфологической информацией) и закончить работу данного алгоритма.
б) Если исправление ошибки невозможно, перейти к следующему предложенному разложению.
5. Если ни одно из предложенных разложений не дает распознаваемой основы слова ни с помощью прямого сопоставления, ни с помощью исправления ошибок, прекратить работу алгоритма с фиксацией ‘неудачи’.
Ясно, что эта стратегия включает критерий наилучшего подбора или минимального исправления, а не порождает множество всех возможных исправлений. Более того, слова ищутся только в редуцированном словаре. Это означает, что орфографические ошибки, приводящие к совпадению с другим словом, которое содержится в полном словаре системы, но нарушает ожидания (и поэтому не входит в редуцированный словарь), обрабатываются тем же способом, что и прочие орфографические ошибки.
Проследим, как работает стратегия исправления ошибок, на примере слова intrestingness. Поскольку слово не распознано, запускается вышеописанный алгоритм и порождается редуцированный словарь.
Положим, редуцированный словарь содержит слово interest, но не содержит никаких его морфологических вариантов. Сначала мы отсекаем суффикс ness, однако результирующая цепочка букв остается нераспознаваемой. Затем мы отсекаем суффикс ing с тем же результатом. Наконец, мы отсекаем в качестве суффикса случайно совпавшую последовательность est и по-прежнему не обнаруживаем распознаваемой основы. В этой точке разбора морфологическое разложение заканчивается, и алгоритм переходит к этапу исправления орфографических ошибок, имея следующих кандидатов:(основа: (intrestingness) суффиксы: ( ))
(основа: (intresting) суффиксы: (ness))
(основа: (intrest) суффиксы: (ing ness))
(основа: (intr) суффиксы: (est ing ness))
Далее мы пытаемся исправить intrestingness, используя редуцированный словарь, и терпим неудачу. Мы также терпим неудачу с intresting, но добиваемся успеха с intrest и заканчиваем исправление, имея на выходе значение
(корень: (interest) суффиксы: (ing ness))
и уже не рассматривая отсечение ложного суффикса est-. Если бы слово было написано правильно или если бы какая-то из производных морфологических форм была эксплицитно внесена в словарь, то алгоритм закончил бы успешную обработку гораздо раньше.
5.2.2. Разрешение эллипсиса. DYPAR-ІІ использует метод разрешения эллипсиса с помощью падежных фреймов (этот метод описан в разд. 4.1). Кроме общего алгоритма, он включает метод обработки эллипсиса для случаев, когда другой компонент системы XCALIBUR порождает сильные дискурсные ожидания. Эллиптичный фрагмент обрабатывается в контексте этих ожиданий, что иллюстрируется стратегией преодоления неграмматичности (см. ниже). Иллюстративное правило дискурсного ожидания:
ЕСЛИ: система породила запрос для подтверждения или опровержения некоторого предлагаемого ею значения заполнителя для какой-то падежной роли в текущем (фокусном) падежном фрейме,
ТО: ОЖИДАТЬ появления в ответном высказывании пользо
вателя одного или нескольких из следующих компонентов:
1) образец подтверждающего или опровергающего суждения в соответствии с типом текущего запроса;
2) другой, но семантически приемлемый заполнитель рассматриваемой падежной роли (при этом факультативно может называться атрибут или указываться падежный показатель);
3) образец сопоставительного или оценочного суждения, согласованного с типом предложенного системой значения заполнителя текущего падежа;
4) запрос относительно возможных заполнителей или ограничений на возможные заполнители для текущего падежа.
[Если данное ожидание подтверждается, то начинается определенный поддиалог, в котором сущности, находившиеся до этого в фокусе внимания, по-прежнему остаются в фокусе].
Приведем фрагмент диалога, иллюстрирующий, как эти ожидания срабатывают в фокусирующем диалоге:
> Добавьте линейное печатающее устройство с графопостроителем.
150 строк в минуту приемлемо?
> Нет, лучше 320 Ожидания
1,2 & 3
(или) Другие возможные скорости? Ожидание 4
(или) Слишком медленно, постарайтесь найти Ожидания 2
300 или быстрее & 3
Высказывание „постарайтесь найти 300 или быстрее" является синтаксически полным предложением, но семантически оно столь же фрагментарно, как и предыдущие высказывания. Сильные дискурсные ожидания заставляют обрабатывать его точно так же, как и синтаксически неполные высказывания, так как оно удовлетворяет перечисленным выше диалоговым ожиданиям. Таким образом, принцип сжатости действует на всех уровнях: синтаксическом, семантическом и прагматическом.
Кроме того, DYPAR-II содержит правила, обеспечивающие семантическую полноту высказываний даже при отсутствии каких-либо конкретных дискурсных ожиданий. Как мы только что видели, не все фрагменты предложения являются фрагментарными с синтаксической точки зрения. Но не все такие чисто семантические эллипсисы могут быть предсказаны на основе ожиданий, порождаемых диалогом.
> Какие диски с фиксированными средствами доступа совместимы с компьютером VAX 780?
RP07-aa, RP07-ab,...
> Добавьте наибольший.
В этом примере нет достаточно надежной основы для предсказания того, как отреагирует пользователь на информацию, полученную после своего первого вопроса. Его реплика оказывается семантически эллиптичной — прежде чем продолжить обработку, нам необходимо ответить на вопрос: „наибольший что?" Можно, вероятно, квалифицировать эту проблему не как семантический эллипсис, а как особый случай разрешения неоднозначности определенной именной группы, но дело здесь не в терминологии.
Такие группы регулярно встречаются в нашем корпусе примеров и должны разрешаться с помощью относительно общей процедуры. Следующее правило помогает ответить на вопрос на основе контекста независимо от синтаксической полноты нового высказывания.Правило контекстуального замещения
ЕСЛИ: в падежном фрейме команды или запроса отсутствует один или несколько заполнителей падежных ролей, а последний из рассматривавшихся падежных фреймов содержит актуализированный падеж, который удовлетворяет тем же семантическим условиям, что и падеж с пропущенным заполнителем,
ТО: 1) переписать заполнитель в новый падежный фрейм и
2) попытаться также переписать заполнители неактуали- зированных падежей (если они удовлетворяют семантическим условиям),
3) продублировать выполненные действия на экране дисплея для имплицитного подтверждения пользователем.
Для вышеприведенного примера падежный фрейм с пропущенным компонентом — это падежный фрейм „выбора", вводимый в процесс анализа словом „наибольший"; данный фрейм требует указания множества компонентов для выбора. Предшествующее (и, следовательно, все еще находящееся в фокусе) входное выражение в своем единственном падежном слоте содержит указание на набор дисков, а такой заполнитель как раз удовлетворяет семантическим условиям для слота во фрейме выбора; поэтому он переписывается и используется.
Правила типа вышеприведенного имеют довольно общий характер, и их содержание не зависит от конкретной падежной грамматики или от семантики предметной области. Такие правила, однако, основываются на операциях с теми же конкретными падежными фреймами и семантическими ограничениями, что используются при стандартной обработке изолированных грамматических конструкций.
5.3.