Главная arrow Логика arrow Семантическая грамматика
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Семантическая грамматика Печать

Так называемая "семантическая грамматика" - это грамматика, в которой категории обозначают как семантические, так и синтаксические понятия. Впервые она была разработана в начале 1970-х годов при создании интерфейсов на естественном языке для программы-оболочки SOPHIE и баз данных LIFER и PLANES. Ее продолжали использовать в различных коммерческих и других приложениях, таких как ROBOT (известный также как INTELLECT), PHRAN, XCALIBUR и CLOUT. Отличительная черта семантической грамматики - тип кодируемой информации, а не формализм для ее представления. В семантических грамматиках использовались различные формализмы, включая расширенные сети перехода и расширенные грамматики непосредственных составляющих.

В отличие от систем на естественном языке в общем, цель семантических грамматик - описать раздел естественного языка для свободного взаимодействия пользователя с системой. В таком виде семантическая грамматика - прежде всего инструмент в области инженерии естественного языка (хотя некоторые исследователи предлагают считать семантические грамматики психологической теорией языкового понимания).

Пониманию семантических грамматик способствуют знания о теориях естественного языка. Цель этих теорий - объяснить закономерности языка. Примером может служить трансформационная грамматика. Синтаксическая часть теории объясняет структурные закономерности языка, например, порядок слов. Эти правила называются грамматикой. Пример пассивных отношений в английском языке:

The boy hit the ball.

The ball was hit by the boy.

[Noun Phrase 1][Verb][Noun Phrase 2]:=[Noun Phrase 2][Auxiliary Verb][Verb]by[Noun Phrase 1]

В семантических грамматиках выбор категорий базируется на семантике знаний о мире и сферах приложения, а также на закономерностях языка. Таким образом, категории системы SOPHIE, разработанной для ответов на вопросы пользователя об электрических цепях, могут включать measurement, measurable quantity, part наряду со стандартными категориями determiner, preposition. Например, правило [Measurement]:=[Determiner][Measuable-Quantity][Preposition][Part] применимо к следующим предложениям:

The voltage across R9.

The current through the voltage reference capacitor.

The power dissipation of the current-limiting transistor.

Преимущества семантических грамматик

Семантические грамматики обеспечивают решение многих проблем, возникающих при построении естественно-языковых интерфейсов. Проблемы включают в себя:

  1. эффективность;
  2. удобство;
  3. учет особенностей речи;
  4. ошибки ввода;
  5. самообъяснение.

Семантические грамматики эффективны, так как они допускают использование семантических отношений для сокращения количества альтернативных парсингов, которые должны учитываться. Эффективность также повышается за счет того, что семантическая интерпретация (значение) выражения выводится непосредственно из грамматических правил.

Обычно в семантической грамматике каждому правилу соответствует расширение, связанное с ним, которое строит общую интерпретацию из интерпретаций составляющих. Например, интерпретацией правила [Query]:=[Question-Intro][Measurement] является запрос к базе данных, который ищет измерение, определенное в интерпретации [Measurement]. Интерпретация [Measurement] уточняет количество, которое измеряется, и где оно будет измеряться. Прямая связь семантической интерпретации с грамматикой дает возможность избежать отдельного процесса семантической интерпретации.

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

Удобная система принимает незначительные незначительные или местные варианты вводимой информации. Например, система, которая принимает вопрос "Is something wrong?" и не принимает "Is anything wrong?" не удобна. Любой подъязык, который не обеспечивает высокого уровня удобства, хуже, чем отсутствие возможности естественно-языкового общения вообще, так как пользователю придется постоянно изменять введенную информацию.

Разработку удобных интерфейсов осложняет существование прономинальной и анафорической референции и эллипсиса.

Системы, использующие семантические грамматики, распознают "San Diego" как значение параметра [City]. Самое последнее употребление располагается в предыдущем вводе информации, и новое предложение заменяется старым. В системах SOPHIE, PLANES, XCALIBUR операция производится с использованием интерпретационной структуры предыдущих вводов информации, а в системе PHRAN замена происходит в предыдущей строке, которая затем подвергается повторному анализу. Семантические грамматики могут также обрабатывать прономинальную и анафорическую референцию, как, например, в предложении "What is it for San Francisco?"

Естественно-языковой интерфейс должен обрабатывать предложения вне его грамматики, т.е. предложения не поддающиеся анализу. Решением проблемы является частичное понимание предложения, когда или игнорируются непонятные слова ("fuzzy parsing"), или распознаются словосочетания, удовлетворяющие грамматике. С пользователем постоянно поддерживается обратная связь.

Относительной сложностью в разработке естественно-языковых интерфейсов является объяснение возможностей системы. Для помощи пользователю используется информация, содержащаяся в грамматике.

Ограничения, накладываемые на семантические грамматики

Семантические грамматики не обрабатывают сложные формы союзов, сравнительных степеней и предложения с вставленными частями, как, например: "Which ships does the admiral think the forth fleet can spare?" Более того, для каждой предметной области нужно создавать отдельную грамматику, что очень неудобно.