Программы общения на естественном языке

Анализ в мире животных

Как изучать Лисп?

Программа сопоставления с образцом, которую мы упомянули, не только является важной составной частью системы, использующей правила. Эта программа даст почти все необходимое для построения известной программы Доктор, которая ведет себя подобно врачу-психиатру, высказывающему сочувствиев ответ на ваши жалобы, касающиеся семейных неурядиц. Более существенно то, что программы сопоставления с образцом тесно связаны с программами общения на естественном языке, основанными на так называемой семантической грамматике. В общих чертах семантическая грамматика представляет собой модель того, что можно сказать в рамках короткого разговора, используя базу данных ограниченного объема. Допустим, вас интересует цвет, вес, размер, количество и местонахождение определенных инструментов. Мы можете дать следующие команды:

  1. Найди молоток.
  2. Сосчитай красные отвертки.
  3. Какого цвета гаечные ключи?
  4. Сколько весит маленькая красная отвертка?
  5. Каковы размер и вес большой пилы?
  6. На каком расстоянии находится маленькая красная отвёртка от большой голубой?

На рис. 4 показано, каким образом можно обрабатывать такие вопросы, используя семантическую грамматику. Интерпретатор семантической грамматики находит путь но сети, подобной той, что изображена на рисунке, используя входную последовательность предложений для выбора маршрута. Ветвь, помеченная знаком >, требует исследования некоторой подсети. Каждый законченный путь от входа к выходу связан со своей  процедурой извлечения информации.  Например, предложение, приведенное на рис. 5, соответствует верхней линии сети.

Отметим еще раз, что возможности Лиспа работать с символами позволяют легко писать программы, которые могут как сопоставлять предложения с образцом, представленным семантической грамматикой, так и запускать соответствующие процедуры поиска. На распечатке 5 видно, как выглядит подобное представление в лисповской форме.

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

Рис. 5. Пример вопроса, сопоставимого с верхней строкой семантической грамматики, изображенной на рис. 4.

Распечатка 5. Фрагмент программы, осуществляющей сопоставление предложений с образцами, задаваемыми семантической грамматикой, и запускающей соответствующие процедуры поиска