Расширенная сеть переходов имеет свои недостатки:
немодульность;
сложность при модификации, вызывающая непредвиденные побочные эффекты;
хрупкость (когда единственная неграмматичность в предложении делает невозможным дальнейший правильный анализ);
неэффективность при переборе с возвратами, т.к. ошибки на промежуточных стадиях анализа не сохраняются;
неэффективность с точки зрения смысла, когда с помощью полученного синтаксического представления оказывается невозможным создать правильное семантическое представление.
Семантические грамматики. Анализ ЕЯ, основанный на использовании семантических грамматик, очень похож на синтаксический, с той разницей, что вместо синтаксических категорий используются семантические. Естественно, семантические грамматики работают в узких предметных областях. Примером служит система Ladder, встроенная в базу данных американских судов. Ее грамматика содержит записи типа:
S ® <present> the <attribute> of <ship>
<present> ® what is|[can you] tell me
<ship> ® the <shipname>|<classname> class ship
Такая грамматика позволяет анализировать такие запросы, как Can you tell me the class of the Enterprise? (Enterprise - название корабля). В данной системе анализатор составляет на основе запроса пользователя запрос на языке базы данных.
Недостатки семантических грамматик состоят в том, что, во-первых, необходима разработка отдельной грамматики для каждой предметной области, а во-вторых, они очень быстро увеличиваются в размерах. Способы исправления этих недостатков - использование синтаксического анализа перед семантическим, применение семантических грамматик только в рамках реляционных баз данных с абстрагированием от общеязыковых проблем и комбинация нескольких методов (включая собственно семантическую грамматику).
Анализ с помощью падежных фреймов. С созданием падежных фреймов связан большой скачок в развитии NLP. Они приобрели популярность после работы Филлмора “Дело о падеже”. На сегодняшний день падежные фреймы - один из наиболее часто используемых методов NLP, т.к. он является наиболее компьютерно-эффективным при анализе как снизу вверх (от составляющих к целому), так и сверху вниз (от целого к составляющим).
Падежный фрейм состоит из заголовка и набора ролей (падежей), связанных определенным образом с заголовком. Фрейм для компьютерного анализа отличается от обычного фрейма тем, что отношения между заголовком и ролями определяется семантически, а не синтаксически, т.к. в принципе одному и то же слово может приписываться разные роли, например, существительное может быть как инструментом действия, так и его объектом.
Общая структура фрейма такова:
[Заголовочный глагол
[падежный фрейм
агент: <активный агент, совершающий действие>
объект: <объект, над которым совершается действие>
инструмент: <инструмент, используемый при совершении действия>
реципиент: <получатель действия - часто косвенное дополнение>
направление: <цель (обычно физического) действия>
место: <место, где совершается действие>
бенефициант: <сущность, в интересах которой совершается действие>
коагент: <второй агент, помогающий совершать действие>
]]
Например, для фразы Иван дал мяч Кате падежный фрейм выглядит так:
[Давать
[падежный фрейм
агент: Иван
объект: мяч
реципиент: Катя]
[грам
время: прош
залог: акт]
]
Существуют обязательные, необязательные и запрещенные падежи. Так, для глагола разбить обязательным будет падеж объект - без него высказывание будет незаконченным. Место и коагент будут в данном примере необязательными падежами, а направление и реципиент - запрещенными.
Часто в NLP бывает полезным использовать семантическое представление в как можно более канонической форме. Наиболее известным способом такой репрезентации являются метод концептуальных зависимостей, разработанный Шенком для глаголов действия. Он заключается в том, что каждое действие представлено в виде одного или более простейших действий.
Например, для предложений Иван дал мяч Кате (1) и Катя взяла мяч у Ивана (2), различающихся синтаксически, но оба обозначающих акт передачи, могут быть построены следующие репрезентации с использованием простейшего действия Atrans, применяющегося в грамматике концептуальных зависимостей:
(1) | (2) |
[Atrans | [Atrans |
отн: обладание | отн: обладание |
агент: Иван | агент: Катя |
объект: мяч | объект: мяч |
источник: Иван | источник: Иван |
реципиент: Катя] | реципиент: Катя] |
С помощью такого представления легко выявляются сходства и различия фраз.
Для облегчения анализа также используется деление роли на лексический маркер и заполнитель. Так, для роли объект может быть установлен маркер прямое дополнение, для роли источник - маркер вида <маркер-из>=из|от|...
В общем анализ текста с помощью падежных фреймов состоит из следующих шагов:
Используя существующие фреймы, подобрать подходящий для заголовка. Если такого нет, текст не может быть проанализирован.
Вернуть в систему подходящий фрейм с соответствующим заголовком-глаголом.
Попытаться провести анализ по всем обязательным падежам. Если один или более обязательных заполнителей падежей не найдены, вернуть в систему код ошибки. Такой случай может означать наличие эллипсиса, неверный выбор фрейма, неверно введенный текст или недостаток грамматики. Следующие шаги используются уже для анализа и исправления таких ситуаций.
Провести анализ по всем необязательным падежам.
Если после этого во введенном тексте остались непроанализированные элементы, выдать сообщение об ошибке, связанной с неправильным вводом, недостаточностью данного анализа или необходимостью провести другой, более гибкий анализ.
Преимущества использования падежных фреймов таковы:
совмещение двух стратегий анализа (сверху вниз и снизу вверх);
комбинирование синтаксиса и семантики;
удобство при использовании модульных программ.
Определенную трудность при анализе представляет вариативность одного и того же запроса. Например, на вход системы, управляющей зачислением и перераспределением учащихся на курсах разных специальностей, может поступить запрос типа Переведите Петрова, если это возможно, с математики на, скажем, экономику.
Наиболее легко такие трудности преодолеваются при использовании падежных фреймов. Правило, сформулированное Карбонеллом и Хейзом, гласит: “Следует пропускать неизвестные введенные элементы до тех пор, пока не будет найден падежный маркер; пропущенные элементы следует анализировать с учетом незаполненных падежей, используя только семантику”.
Наряду с проблемой распознавания текста существует и проблема поддержания интерактивного диалога. При этом возникают дополнительные особенности, характерные для диалогов, а именно:
анафора (т.е. использование местоимений вместо их анафорических антецедентов - самостоятельных частей речи);
эллипсис;
экстраграмматические предложения (пропуск артиклей, опечатки, употребления междометий и т.п.);
металингвистические предложения (т.е. попытка исправления введенного ранее).
Кроме того, пользователи систем с естественно-языковым интерфейсом стараются выражаться как можно короче, что в ряде случаев также затрудняет анализ.
Использование падежных фреймов, а именно слияние текущего фрейма с предыдущим, обеспечивает восстановление эллипсиса.
Таким образом, процесс разработки систем, обеспечивающих понимание ЕЯ, требует создание механизмов, отличных от традиционных способов представлений ЕЯ, а системы с естественно-языковыми интерфейсами применяются только в узких предметных областях.
АНАЛИЗ СНИЗУ ВВЕРХ И СВЕРХУ ВНИЗ
“Сверху вниз” vs. “снизу вверх”, “прямой” vs. “обратный”, “управляемый данными” vs. “движимый целью” - три пары определений для таких терминов, как “цепной анализ”, “парсинг”, “синтаксический разбор”, “логический анализ” и “поиск”. В принципе, все эти термины отражают сходные отношения, и различие между ними состоит лишь в том, что они взяты из различных подобластей компьютерной науки и искусственного интеллекта (парсинг, системы с заложенными в них правилами, поисковые системы и системы, направленные на решение проблем и т.д.)
Суть этих противопоставлений можно проиллюстрировать на примере парадигмы поиска. Основная задача любого поиска состоит в том, чтобы определить маршрут, по которому вы будете перемещаться с настоящей позиции к вашей цели. Если вы начнете поиск с текущей позиции и будете продолжать его, пока не наткнетесь на желаемый результат, - это так называемый прямой поиск или поиск снизу вверх. Если вы мысленно ставите себя в то место, где вы хотите очутиться в результате поиска и определяете маршрут, двигаясь в обратном направлении, т.е. туда, где вы действительно находитесь в настоящий момент, - это поиск в обратном направлении или поиск сверху вниз. Обратите внимание на то, что, определив маршрут в результате обратного поиска, вам все же предстоит добраться до своей цели. Несмотря на то, что сейчас вы движетесь вперед, это не является прямым поиском, т.к. поиск уже был осуществлен ранее, причем в обратном направлении.