Главная > Искусственный интеллект (Э. Хант)
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

14.1.2. DEACON: кольцевые структуры и приближения английского языка

Следующий пример, который мы обсудим, DEACON (Direct English Access and Control — прямой доступ и управление на английском языке; Крейг, Березнер, Карни и Лавьёр, 1966), представляет собой экспериментальную систему для управления некоторой фиктивной военной базой данных. Как и в случае BASEBALL, структура

данных в DEACON носит более общий характер, чем ее конкретное приложение. В самом деле, база данных в DEACON состоит, строго говоря, из неупорядоченных множеств, и в силу этой общности может иметь любую желаемую структуру. Структура данных, однако, не самая достопримечательная особенность системы DEACON. В ней структура языка пользователя связана со структурой базы данных гораздо теснее, чем в большинстве программ информационного поиска. На первый взгляд установление связи между анализом языка и управлением структурой данных может показаться нарушением заповеди программиста об использовании модульных команд. В действительности стремление объединить структуру данных и анализ языка основано на модели Томпсона (1966) того, как работает язык программирования и как мог бы английский язык служить языком программирования для информационного поиска. Основная мысль Томпсона состоит в том, что языки программирования представляют собой аппарат для определения действий в окружающей среде. Например, программисты, пользующиеся Фортраном, оперируют с вещественными и целыми числами. Возьмем оператор

Синтаксический анализ показывает, что это оператор на Фортране вида

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

Основной структурой данных в DEACON является кольцо. Кольцо — это неупорядоченный список (множество) элементов,

Рис. 14.2. (см. скан) Кольца в примере работы программы DEACON.

физически реализованный последовательным соединением слов вычислительной машины друг с другом, причем последнее слово из списка соединяется с первым (обсуждение методов соединения содержится в книге Кнута, 1969). Каждое кольцо содержит множество имен, некоторые из них могут быть названиями других колец. На рис. 14.2 показано множество колец для гипотетической военной ситуации. Каждый референтный термин (артиллерия, бронетанковые войска, батальон, 638-й и 12-й) в языке пользователя служит

названием кольца в структуре данных, так же, как имена переменных в Фортране относятся к ячейкам памяти ЭВМ. Связи между кольцами соответствуют отношениям между основными терминами. Таким образом, на рис. 14.2 мы найдем, что означает „полк морской артиллерии», так как одновременно входит в каждое из соответствующих колец.

DEACON распознает команду, обнаруживая во входном языке характерную структуру, которую он воспринимает как приказ выполнить операцию на базе данных. Слова в этом лексиконе разбиваются на два класса: функциональные слова и референтные. Функциональные слова участвуют в идентификации структур, в то время как референтные определяют конкретные кольцевые структуры. Когда на входе появляется английское предложение, для него сначала разыскиваются референтные и функциональные слова, а затем последовательность референтных и функциональных слов, чтобы установить, согласуется ли она с одной или несколькими из предварительно определенных структур. Если структура найдена, то можно либо продолжить определение входной цепочки, либо выполнить операцию в базе данных. Когда две структуры одновременно соответствуют одной и той же цепочке, выполняются операции, определенные каждой структурой, пока одна из операций не станет невозможной. В этом случае соответствующая структура удаляется. Как будет показано в нашем примере, анализ системы DEACON очень похож на метод систем продукций, рекомендуемый Ньюэллом и Саймоном (1972).

Эти идеи можно продемонстрировать на примере, предложенном Крейгом и др. (1966). Рассмотрим структуру данных, показанную на рис. 14.3, и допустим, что задается вопрос:

Эта цепочка содержит функциональные слова who, of, the, ? и референтные слова командир, 638 и батальон. Предложение (7а) сначала упрощается до

Теперь начинается поиск структур. Структура в DEACON, согласующаяся с (76), описывается так:

Синтаксис Входная цепочка содержит последовательность а за ней сразу (записывается

Семантика База данных содержит два различных кольца с именами содержащие имена друг друга в качестве входов (это называется пересечением)

Действие Заменить во входной цепочке на

Предложение (76) содержит так что синтаксическое условие удовлетворяется. Исследуем данные, чтобы проверить, удовлетворяется ли семантическое условие.

Рис. 14.3. Структура данных в примере работы программы DEACON.

Как видно из рис. 14.3, оно удовлетворяется, поскольку 638 появляется в кольце и обратно. Предложение принимает вид

Теперь применим правило позволяющее выбрасывать артикль. Заметим, что иногда это правило неприменимо, поскольку артикль может нести определенную смысловую нагрузку. Получаем

Далее DEACON применяет такое правило:

Синтаксис Входная цепочка содержит подцепочку Семантика Существует множество связанных попарно пересекающихся колец

Действие Заменить на

Кольца 638, КОМАНДИР и ПАРКЕР (рис. 14.3) попарно пересекаются, так что предложение принимает вид

Это согласуется с правилом

Синтаксис Семантика Отсутствует

Действие Вывести внешнее референтное имя

Ответом на наш вопрос оказалось имя ПАРКЕР.

Данные поступают на вход DEACON точно так же, как и вопросы. Единственное различие заключается в том, что при получении предложения вида

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

DEACON может разрешать синтаксические неопределенности в естественном языке, замечая, что контекст допускает лишь одну осмысленную семантическую интерпретацию. Без сомнения, это как раз то, что делают люди. Ясно, что для высказывания

Джон видел Большой Каньон в полете в Калифорнию

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

Заявление, что DEACON „использует естественный язык", ошибочно. Язык команд лучше представлять себе как язык программирования, по внешним признакам настолько похожий на английскую речь в областях, связанных с информационным поиском, что его очень легко выучить. В то время, когда работа над DEACON была приостановлена, в „английском" языке управления данными не было возможности ни использовать, ни обрабатывать последовательность предложений или ветвящиеся высказывания. Без сомнения, при желании это все можно добавить к программе. Такая система могла бы работать с легко определенными правилами вывода, и в этом смысле была бы действительно очень мощной. С другой стороны, корректное введение таких правил могло бы оказаться столь же трудным, как и программирование на обычном языке ЭВМ. В какой степени транслятор может считаться моделью понимания?

1
Оглавление
email@scask.ru