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

14.1.3. Структуры баз данных, основанные на значимых отношениях; PROTOSYNTHEX III и связанные с ним системы

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

Рис. 14.4. Структура данных, представленная помеченным графом.

При таком подходе структуру данных можно рассматривать как граф, в котором узлами служат объекты базы данных, а помеченные дуги определяют соотношения. Куиллиан (1968, 1969) говорил о таких структурах как о семантических сетях, и хотя этот термин не очень точно соответствует нашему представлению о семантике, он довольно краток и его можно эффективно использовать. На рис. 14.4 приведена семантическая сеть, определяющая некоторые элементарные факты о человеке и его окружении. На каком-то этапе нам придется несколько усложнить это представление, но основная идея не изменится.

Семантические сети возникали в ряде программ при попытках реализовать процесс понимания. Одно из основных понятий в области семантических сетей — типовое-символьное различие (Куиллиан, 1968). Любая рассматриваемая область содержит набор объектов. Сами по себе эти объекты определяются их взаимоотношениями с другими объектами, образуя семантическую сеть. Внутри нее должен находиться узел, связанный с определением каждого объекта. Он называется типовым узлом. Кроме того, сеть должна содержать другие узлы, относящиеся к частным случаям объекта в связи с его соотнесением с другими объектами. Это символьные узлы. Для иллюстрации представьте себе структуру данных, определяющую вхождения в словарь. Символьный узел слова мужчина определился бы как отношение подмножества к понятиям мужской и Homo sapiens. Рассмотрим теперь определение слова адвокат. Адвокат можно определить как мужчина при условии, что мужчина удовлетворяет отношениям, выражающим мысль „тот, кто дает советы

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

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

III (Шварц, Бюргер и Симмонс, 1970) представляет амбициозную попытку применить представление с помощью семантической сети в информационном поиске. Кроме семантической сети, в ROTOSYNTHEX содержатся очень сложные правила вывода. Принятая здесь структура данных описывается ниже.

Основной элемент структуры данных в PROTOSYNTHEX — это „тройка событий" в которой X, R и Y — либо примитивные объекты лексикона (т. е. термы с типовыми узлами), а именно символы типовых узлов, либо в свою очередь тройки событий. Интерпретация тройки событий такова: находится в отношении к Поскольку отношение может быть вполне определенным, а тройка сама может быть термом в тройке событий, мы представляем ее не дугой с меткой соединяющей X и а узлом, соединенным с узлами X, R и Y с помощью дуг X, R и Y. Это показано на рис. 14.5. PROTOSYNTHEX III содержит свои данные в сети троек событий. Кроме того, программа использует сеть семантической информации о событиях и отношениях, которые могут возникнуть. Семантическую информацию можно разбить на два класса.

Отношения между термами отражает сеть иерархий и эквивалентностей. Эта сеть указывает программе такие факты, как мужчина есть Homo sapiens мужского рода, Сократ есть мужчина, человек — то же самое, что Homo sapiens, и т. д. Далее, PROTOSYNTHEX располагает классами интерпретируемых событий, называемых семантическими формами событий (СФС); они составляют общие классы событий . Следовательно, в качестве частного случая такой тройки как (ЖИВОТНЫЕ ЕДЯТ ПИЩУ), можно взять ВОЛКИ ПИТАЮТСЯ МЯСОМ. СФС особенно важны на этапе вывода, поскольку в общем виде можно установить правила вывода как соотношения между и применить к конкретным тройкам событий.

Рис. 14.5. Представление тройкой событий соотношения Джон любит Мэри.

PROTOSYNTHEX содержит также языковый препроцессор, отображающий предложения на английском языке в тройки событий. Очевидно, эта программа похожа на предпроцессорную программу в BASEBALL тем, что она определяет внутреннюю форму сообщения без обратной связи с его частичным анализом. Этим она отличается от программы DEACON, в которой анализ языка объединяется с анализом структуры данных. Мы не будем обсуждать программу анализа языка, а ограничимся лишь замечанием, что невозможность использования семантической обратной связи может оказаться весьма ограничительной.

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

The stones and iron that fall to earth from outer space are called meteorites.    (10)

Те камни и куски железа, которые упали на землю из космического пространства, называются метеоритами.

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

Из одних модифицированных термов могут создаваться другие:

(Звездочки указывают на пропуск в тройке.)

Общая структура предложения (10) показана на рис. 14.6, а в виде тройки событий, состоящей из двух троек, связанных отношением И и требующей, чтобы эти тройки включали в себя уточняющие термы.

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

Теперь ответим на вопрос

Что такое метеорит?

Вот ответы, которые дает PROTOSYNTHEX:

Метеорит быть „метеорит".

Метеорит быть „метеориты

Кусок железа, который упал на землю из космического пространства, быть „метеорит".

Камень, который упал на землю из космического пространства, быть „метеорит".

Ответы (12а) и (12б) получены, когда обнаружилось, что в семантической информации существует отношение эквивалентности между двумя термами.

Рис. 14.6. Данные к примеру работы программы PROTOSYNTHEX: а — тройки событий; б — семантические формы событий.

Ответы (12в) и (12г) получены, когда обнаружилось, что вопрос (11) эквивалентен тройке

объект эквивалентен метеорит (13) и тройки событий

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

использованием очень малой базы данных потребовалось время до 20 мин. Поскольку эти результаты получены на устаревшей теперь вычислительной машине (военная ЭВМ AN/FSO-32) и их, несомненно, можно улучшить, возникает вопрос, будет ли это улучшение достаточным. Для практических задач понимания мы должны увеличить скорость и емкость памяти по крайней мере на два порядка. Сомнительно, что развитие вычислительной техники позволит достичь этого в ближайшем будущем. Подобные проблемы свойственны и другим системам, в которых применяются семантические сети. Возможно, еще большая трудность связана с числом отношений, которые надо задать, чтобы получить систему, способную к серьезным рассуждениям. Абельсон (1966) указал, что моделирование человеческих рассуждений на ЭВМ часто бывает неудачным, так как мы забываем включить в базу данных такие прозаические факты, как Люди, остающиеся под дождем, оказываются мокрыми. Поскольку мы не можем предвидеть все факты, которые могут понадобиться „понимающей" программе, мы должны учесть все отношения, которые, возможно, здесь существенны. Даже если мы располагаем машинными возможностями, позволяющими работать с нужным нам графом, то как нам подготовить данные? С другой стороны, каков иной выход? Чтобы достичь максимального машинного понимания, нам, быть может, придется перенести в память ЭВМ все определения словаря Уэбстера. Сейчас это неосуществимо, хотя, возможно, скоро станет реальным применять семантические сети для представления нетривиальных баз данных при ограниченных требованиях к пониманию в специальных приложениях, таких, как токсикология или законодательство о недвижимом имуществе. До этого, однако, необходимо разработать практический пример такого метода.

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