Главная > Интеллектуальные системы > Искусственный интеллект (Э. Хант)
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

14.2. Дедуктивный вывод в информационном поиске

14.2.0. Существующие методы

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

Алгоритм вывода фактов должен быть корректным. Кажется, нет реальной ситуации, где были бы приемлемы ложные ответы. С другой стороны, полнота, т. е. способность ответить на любой вопрос, допускающий ответ, не является непременным условием. Как мы видели при обсуждении доказательства теорем, полнота часто достигается очень дорогой ценой. В наиболее реальных вопросно-ответных ситуациях большинство вопросов относится к одному и тому же типу, и лишь немногие — к другим. Цель конструктора такой системы — максимизировать полезность системы для пользователя, так что иногда было бы целесообразно пожертвовать способностью вообще отвечать на одни вопросы, чтобы на другие вопросы можно было отвечать очень быстро. Как и следовало ожидать, при создании экспериментальных вопросно-ответных систем вывода такими сугубо практическими соображениями пренебрегали. Возможно, это было оправдано.

Мы будем различать несколько типов сложности в процедурах вывода. На самом нижнем уровне программа может быть способной только к перераспределению имеющихся фактов для ответа на запрос. Это демонстрировалось при ответе системы DEACON на вопрос „Кто командир 638-го батальона?“, где ответ был получен подбором нужного сочетания вхождений в базу данных. В качестве побочного продукта процесса ответа на вопросы никакие новые

данные не были получены. Более мощный способ — ввести специальные операции для вывода новых фактов. Здесь очень важны вопросы полноты, практичности и определения стратегии решения задач. Программа может содержать ограниченное множество операторов, таких, как импликация и включение множеств, выполнение которых не представляет труда, но которые обеспечивают лишь ограниченные возможности вывода. Другим крайним случаем была бы программа, содержащая полную систему вывода, как, например, резолюции, и рискующая тем, что на некоторые выводы будет тратиться очень много времени.

Третий подход состоит в том, чтобы позволить пользователю определять свои собственные процедуры вывода. По существу, пользователь задает вопрос и затем сообщает системе, как найти ответ. Этот подход разделяют Слейгл (1965) в системе DEDUCOM, а также Достерт и Томпсон (1971). Он в принципе отдает все возможности машины в руки пользователя, но может также возложить на него бремя программистской работы. Наоборот, система информационного поиска может содержать заранее составленные подпрограммы дедуктивного вывода, но в то же время позволять пользователю выбирать при желании стратегию.

14.2.1. Системы, использующие неполный вывод

14.2.1.1. РЕАГИРУЮЩАЯ БИБЛИОТЕКА

Нашим первым примером будет очень ограниченная система неполного вывода, которая предназначалась для эксперимента с возможностями некоторых грубых правил вывода (Хант и Куинлан, 1967). В литературе термин „машинное понимание" фактически считается синонимом ответов на вопросы, но эта программа не была классической системой такого рода. Зато она запоминала факты и комментировала связи старых фактов с новыми. Поэтому мы назвали программу РЕАГИРУЮЩАЯ БИБЛИОТЕКА по аналогии с библиотекарем, который публикует комментарии к поступающим книгам. Работа системы проверялась на вполне реальной задаче — анализе литературы по физиологии памяти. Мы будем брать примеры из этой же области.

РЕАГИРУЮЩАЯ БИБЛИОТЕКА накапливала и сортировала короткие утверждения (факты), например, такие, с помощью которых можно было бы резюмировать результаты эксперимента. При поступлении нового факта принимались во внимание его импликации, если они были как-то связаны с уже имеющимися фактами. Программа порождала два типа импликаций: либо два факта могли сочетаться друг с другом и обобщаться, образуя новое утверждение, называемое жпшфактом, либо новый факт мог противоречить старому (непосредственно или тем, что приводил к

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

Таблица 14.1 (см. скан) Выборки входов и выход РЕАГИРУЮЩЕЙ БИБЛИОТЕКИ

содержится в памяти. Четвертым входным утверждением было

(см. скан)

Система ответила:

(см. скан)

и

(см. скан)

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

Посмотрим теперь, что происходило на уровне программных операций. РЕАГИРУЮЩАЯ БИБЛИОТЕКА состояла из двух частей: программы и словаря. В словарь входили два класса слов: операнды и глаголы. Как и DEACON, РЕАГИРУЮЩАЯ БИБЛИОТЕКА обрабатывала предложение как упорядоченное множество элементов словаря, содержащего их. Предложение

(см. скан)

будет запомнено как

ЭЛЕКТРОСУДОРОЖНЫЙ ШОК ПОСЛЕ ОПЫТА НАРУШАЕТ ПАМЯТЬ

При этом предполагается, что другие слова предложения (ПРИМЕНЕНИЕ, ЧАСТО) в словаре не содержатся. Каждый глагол относится к некоторому классу глаголов, который в дальнейшем разбивается на множества положительных и отрицательных термов. Например, класс глаголов создать — разрушить содержит положительные термы

СОЗДАТЬ, СПОСОБСТВОВАТЬ, УЛУЧШАТЬ

и отрицательные термы

МЕШАТЬ, НАРУШАТЬ, РАЗРУШАТЬ

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

Операнды связаны друг с другом включением множеств. Так, СТРИХНИН включен в множество ПРЕПАРАТЫ ВЫЗЫВАЮЩИЕ СУДОРОГИ. Возможно также включение операнда в два множества, ни одно из которых не содержит целиком другого. В физиологическом словаре ЭЛЕКТРОСУДОРОЖНЫЙ ШОК (ЭСШ) включен в множества ТРАВМА и ЭЛЕКТРОШОК.

Каждый операнд имел внутреннее представление в виде кода, допускающего непосредственное сопоставление операндов для определения их наименьшего пересечения. Пусть имя операнда закодировано цепочкой символов, где первый символ — имя самого общего класса, которому принадлежат операнды, второй символ — имя второго по степени общности класса и т. д. Следовательно, если бы Ж было кодом животного, ЖМ могло быть кодом млекопитающего, ЖМК — кодом крысы, а ЖМК6 — кодами, скажем, для крыс TRYON-S1 и TRYON-S3. С помощью простой операции на масках можно определить „общий знаменатель" так, что для кодовых слов ЖМК6 и ЖМК7 наименьшим „общим знаменателем" будет ЖМК, т. е. код для крысы. Точно так же можно сразу найти имена всех млекопитающих, выделив в качестве первых двух символов все коды с ЖМ. Для случая, когда данный терм входит в два множества, ни одно из которых не содержит целиком другого, как в примере с ЭСШ, имя операнда можно приписать одному или более кодам.

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

Для внутренних целей предложения кодировались классом их глагола и знаком, а также множеством их левых и правых операндов. Перечислим компоненты в примере (19):

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

1. Удаление одного или более операндов или из субъекта, или из объекта.

2. Замена операнда более общим.

Процесс специализации заключался в замене операнда одним из его субъектов. Так, например, если

то некоторыми из полученных фактов, с которыми факт

КОШКИ ЕДЯТ ГРЫЗУНОВ (23)

можно связать описанными выше процессами, были кошки

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

Иногда пользователи хотели пресечь все или некоторые направления поиска, которые могла породить РЕАГИРУЮЩАЯ БИБЛИОТЕКА. Такая возможность обеспечивалась множеством селективных команд, позволявших пользователю определять новые операнды или ограничивать сравнение несколькими операндами.

Эти удобства не относятся к программе искусственного интеллекта, и мы их обсуждать не будем.

После исследования этой области оказалось, что РЕАГИРУЮЩАЯ БИБЛИОТЕКА интересна, но сама по себе не является адекватной системой информационного поиска. Пользователи сообщали, что она была бы очень полезна в паре с обыкновенной системой поиска документов. Это указывает на возможность применения ее для автоматизации библиотечного дела. Для искусственного интеллекта РЕАГИРУЮЩАЯ БИБЛИОТЕКА интересна в основном тем, что она показывает, что понимание не ограничивается ответами на отдельные вопросы и даже очень ограниченная программа может дать интересные обобщения. Легко привести пример, в котором РЕАГИРУЮЩАЯ БИБЛИОТЕКА выдает на выходе какую-нибудь глупость, но это не меняет существа дела. Неразумный ответ люди легко обнаружат. В чем они действительно нуждаются — это в напоминании о том, что сведения, которые они когда-то знали, но забыли, могут быть связаны с информацией, которую они только что получили. Ценность же сообщения им чего-то малосодержательного мала.

14.2.1.2. Дедуктивные подпрограммы системы PROTOSYNTHEX

PROTOSYNTHEX III (Шварц и др., 1970) содержит несколько сложных приемов для работы с импликациями троек формирующих основную базу данных. PROTOSYNTHEX - „истинный" ответчик на вопросы, ибо может отвечать на специальные вопросы о своей базе данных. Как мы видели в примерах для систем BASEBALL и PROTOSYNTHEX, при ответе на вопросы может потребоваться просто изощренный поиск правильных комбинаций введенных ранее фактов. PROTOSYNTHEX может также отвечать на вопрос выводом новой тройки из уже имеющихся троек. Применявшиеся методы дедуктивного вывода очень похожи на методы доказательства теорем в таких системах с продукциями, как FDS (Куинлан и Хант, 1968) и GPS (Эрнст и Ньюэлл, 1969). Продукции в PROTOSYNTHEX основаны на пяти свойствах отношений, которые могут возникнуть в тройке и пяти правилах для объединения отношений в более сложные. Подробности этих правил и их приложения громоздки, поэтому за точным описанием читателя отсылаем к статье Шварца и др. (1970). Процесс дедуктивного ответа на вопросы в PROTOSYNTHEX мы проиллюстрируем на примере, привлекая правила вывода по мере необходимости.

Основная стратегия в PROTOSYNTHEX — представить вопрос в виде начального узла в И/ИЛИ-графе решения задачи. Если на вопрос нельзя ответить сразу, порождаются подзадачи; для них либо находится ответ, либо строятся подподзадачи. Таким образом,

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

Рис. 14.7. Тройка событий для Наполеон командовал французской армией, которая проиграла битву при Ватерлоо в 1815 (модифицированный граф, представленный Шварцем и др., 1970).

Шварц и др. предлагают следующий пример. База данных выведена из предложения

Кроме того, системе сообщили ряд семантических фактов: НАПОЛЕОН это ГЕНЕРАЛ, ГЕНЕРАЛ это ЧЕЛОВЕК, КТО и ЧЕЛОВЕК эквивалентны и т. д. На рис. 14.7 изображен граф внутреннего представления этой базы данных. Был задан вопрос:

PROTOSYNTHEX распознает, что структура вопроса такова:

Она содержит две вопросные тройки

и

Тройку (28) можно сразу поместить в базу данных таким же способом, как в примере разд. 14.1.3. Для ответа на (29) PROTOSYNТНЕХ применяет правило вывода „сложное произведение" (СП):

Можно определить специальный терм отношения как сложное произведение двух других отношений. Следовательно, в нашем примере база данных содержит

как часть своей семантической информации. Это означает, что один из способов установить, что проиграл состоит в том, чтобы сказать: возглавлял и проиграл

С помощью правил вывода (30) и СП PROTOSYNTHEX обнаруживает, что

содержится в базе данных как пример класса СФС троек ЧЕЛОВЕК ВОЗГЛАВЛЯЛ ГРУППУ. Из рис. 14.7 видно, что

специфирует ГРУППУ ПРОИГРАВШУЮ БИТВУ. Программа далее сможет получить, что

Поскольку (33) — частный случай вопросной тройки (29), то на обе подцели исходного вопроса даны ответы, так что ответ на этот вопрос найден.

PROTOSYNTHEX демонстрирует два главных преимущества подхода семантических сетей: интуитивная разумность и использование в вопросно-ответной системе продукций и поиска на графе. Кроме того, демонстрируются некоторые возникающие здесь трудности. Мы уже обсуждали практичность управления данными в семантической сети. В системе вывода PROTOSYNTHEX не предусмотрен способ выражения отрицания и введения кванторов, так что она не полна. Шварц и др. указывают, что отрицание можно легко включить, но, сделай они это, система могла бы положительно ответить на противоречивые вопросы, если бы это позволяла база данных. Причина состоит в том, что PROTOSYNTHEX не содержит никакой проверки для предотвращения допуска противоречащих троек событий, таких, как

Конечно, никто не потребует от системы доказательства теорем, чтобы она допускала такие утверждения, но в этом ли задача системы дедуктивного ответа на вопросы? Иначе говоря, должна ли программа отвергать противоречивые базы данных? Возможно нет, поскольку много интересных баз данных противоречивы. Литература об экспериментах практически в любой науке полна противоречий, связанных с самыми важными темами исследования. В юриспруденции наиболее сложные юридические проблемы возникают, когда принципы отдельных законов вступают в конфликт. Работающая система PROTOSYNTHEX должна следовать примеру РЕАГИРУЮЩЕЙ БИБЛИОТЕКИ: замечай несоответствия, но не отказывайся их разбирать.

Неудача системы PROTOSYNTHEX в работе с кванторами гораздо серьезнее. В действительности работа с кванторами не была адекватным образом учтена ни одним из решателей задач, применяющих методы продукций. Кроме того, PROTOSYNTHEX не может оперировать с вопросами типа „как?“, т. е. с вопросами, для которых нужный ответ будет образом действий, дающим нужный выход. Как мы увидим в следующем разделе, существует естественный метод работы с такими вопросами, основанный на принципе резолюции.

Подводя итог, можно сказать, что подход семантических сетей одновременно и обещает, и разочаровывает. Обещает потому, что кажется таким разумным. На практике системы семантических сетей порождают много умных примеров, которые при ближайшем рассмотрении зависят от частных решений. Поскольку нет законченной формальной теории, как для программ, основанных на принципе резолюции, трудно предвидеть, что еще можно ожидать. Область искусственного интеллекта очень нуждается в теории семантических сетей. Такая теория должна была бы объединить вывод с помощью продукций, теорию графов и методы поиска на графе — одним словом, работу нужно проделать немалую!

<< Предыдущий параграф Следующий параграф >>
Оглавление