Главная arrow книги arrow Копия Глава 10. Представление знаний arrow Семантические сети
Семантические сети

Овеществление высказываний дает возможность представить в системе обозначений семантической сети любое базовое, атомарное высказывание логики первого порядка, не содержащее функций. Реализация некоторых видов высказываний с кванторами всеобщности может осуществляться с помощью инверсных связей и применяемых к категориям стрелок с метками в одинарных и двойных прямоугольниках, но даже такие ухищрения отнюдь не позволяют приблизиться к возможностям полной логики первого порядка. В этой системе обозначений недостает всех таких выразительных возможностей, как отрицание, дизъюнкция, вложенные функциональные символы и кванторы существования. В последнее время появилась возможность расширить эту систему обозначений, чтобы сделать ее эквивалентной логике первого порядка (как при использовании экзистенциальных графов Пирса или секционированных семантических сетей Хендрикса [647]), но это приводит к исчезновению одного из основных преимуществ семантических сетей — простоты и прозрачности процессов логического вывода. Простая система обозначений позволяет проектировщикам создавать большие сети и все еще иметь полное представление о том, какие запросы должны быть эффективными, поскольку, во-первых, можно легко визуально представить, через какие шаги должна пройти процедура логического вывода, и, во-вторых, в некоторых случаях язык запросов настолько прост, что в нем невозможно сформулировать сложные, запутанные запросы. Для тех случаев, когда обнаруживается, что выразительная мощь слишком ограничена, во многих системах семантических сетей предусмотрены процедурные вложения, позволяющие компенсировать эти недостатки. Процедурное вложение — это метод, с помощью которого при выполнении запроса, касающегося некоторого отношения (а иногда и при вводе в базу знаний некоторого утверждения), осуществляется вызов специальной процедуры (предназначенной лишь для обработки этого отношения), а не общего алгоритма логического вывода.

Одной из самых важных характерных особенностей семантических сетей является их способность представлять заданные по умолчанию значения для категорий. Внимательно изучив рис. 10.7, можно обнаружить, что Джон имеет одну ногу, несмотря на тот факт, что он — человек, а все люди имеют две ноги. В строго логической базе знаний такое сочетание фактов было бы противоречивым, но в семантической сети утверждение, что все люди имеют две ноги, обладает лишь статусом значения, применяемого по умолчанию; т.е. применительно к любому человеку предполагается, что он имеет две ноги, если этому не противоречит более конкретная информация. Принудительное применение семантики заданных по умолчанию значений осуществляется естественным образом с помощью алгоритма наследования, поскольку этот алгоритм следует по связям, направленным вверх от самого объекта (в данном случае Джона), и останавливается, как только находит искомое значение. Принято говорить, что заданное по умолчанию значение перекрывается более конкретным значением. Обратите внимание на то, что можно было бы также перекрыть информацию о заданном по умолчанию количестве ног, создав категорию одноногих людей OneLeggedPersons, подмножество категории Persons, элементом которого является John.

Можно было бы также сохранить строго логическую семантику для этой сети, сформировав следующее высказывание, что утверждение Legs для Persons содержит исключение для John:

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