Моделирование рассуждений. Опыт анализа мыслительных актов
Шрифт:
Другой проблемой управления реализацией системы продукций является поиск наиболее эффективных способов проверки выполнения условий А в множестве продукций на текущем состоянии базы знаний di. При большой базе знаний эта переборная процедура весьма неэффективна. Каков аналог данного процесса у человека?
У психологов бытует термин «поле активного внимания». В это поле попадает та часть хранимой в памяти человека информации, которая обусловливает его текущие размышления или рассуждения. Как бы лучом прожектора эта информация выхватывается из огромного хранилища всевозможных знаний. Поле активного внимания скользит по памяти, не всегда подчиняясь нашему желанию. Как порой мучительно трудно выудить нужную информацию (например, вспомнить фамилию человека, лицо которого вам явно знакомо), как, отчаявшись, мы перестаем об этом думать, а оно «само, без видимых усилий» как бы всплывает из темных, неосвещенных глубин памяти.
Нечто аналогичное применяют специалисты в области баз знаний, вводя механизм окна активизации знаний. С помощью этого «окна» активизируются
Мы рассматривали до сих пор лишь такие продукции, в которых В обязательно следовало при активизации продукции. Однако весьма часто продукции приходится использовать в условиях правдоподобного вывода. Собственно говоря, правдоподобные схемы рассуждений из четвертой главы уже демонстрируют продукции такого сорта. Тем не менее, приведем еще один пример, взяв его из уже упоминавшейся экспертной системы MYCIN. Поскольку в ряде случаев система не может выдать рекомендацию со стопроцентной уверенностью, то она выдает ее с оценкой правдоподобности, о которой мы говорили в предшествующей главе.
При работе с правдоподобными продукциями применяются приемы, аналогичные описанным в четвертой главе. Вместо числового значения оценки правдоподобия в таких продукциях могут встречаться нечеткие квантификаторы, как в D-силлогизмах.
Кроме обычных приемов вывода (как достоверного, так и правдоподобного) для систем продукций могут использоваться и иные способы получения результатов рассуждений. Один из них – это получающий в последнее время распространение вывод на семантической сети.
Вывод на семантической сети
Семантические сети – это наиболее общая модель представления знаний об окружающем интеллектуальную систему мире и способах действий в нем. В самом общем виде семантическая сеть есть множество вершин, каждая из которых соответствует определенному понятию, факту, явлению или процессу, а между вершинами заданы различные отношения, изображаемые дугами. Дуги снабжены именами или описаниями, задающими семантику отношений. Вершины также помечены именами или описаниями, содержащими нужную для понимания семантики вершины информацию.
Прибегнем, как всегда, к наглядному примеру. Известный роман Э. Хемингуэя «Острова в океане» начинается так:
«Дом был построен на самом высоком месте узкой косы между гаванью и открытым морем. Построен он был прочно, как корабль, и выдержал три урагана. Его защищали от солнца высокие кокосовые пальмы, пригнутые пассатами, а с океанской стороны крутой спуск вел прямо от двери к белому песчаному пляжу, который омывался Гольфстримом».
Попробуем отобразить информацию, содержащуюся в этом отрывке, в виде семантической сети. Введем систему понятий, которым для удобства присвоим имена по первым буквам соответствующего слова текста: Д – дом, СВМ – самое высокое место, К – коса, Г – гавань, ОМ – открытое море, КП – кокосовые пальмы, С – солнце, КС – крутой спуск, ДВ – дверь, П – пляж, Г – Гольфстрим. Теперь будем постепенно строить семантическую сеть, вводя нужные отношения и описания. На рис. 33, а показан фрагмент семантической сети, соответствующей первым двум фразам текста. Отношение R1 есть тернарное отношение «быть между». Двойная дужка на нашем рисунке объединяет между собой обе части этого соотношения. «Узкая» входит в описание понятия «коса». Отношение R2 есть отношение «принадлежать». Таким образом фиксируется тот факт, что СВМ принадлежит «косе». Отношение R3 интерпретируется как «находиться на», а текст около вершины, соответствующей понятию «дом», принадлежит описанию этой вершины. На рис. 33, б показан фрагмент сети, соответствующий остальной части текста. Отношения, использованные здесь, интерпретируются следующим образом: R4 – «защищать от», R5 – «соединять», R6 – «омывать». Полное описание текста в виде семантической сети получится, если в построенных двух фрагментах объединить вершины, соответствующие понятию «дом».
Рис. 33.
При переходе имеется определенный произвол в представлении текста, касающийся формирования описаний. Те или иные сведения можно отражать прямо в структуре сети, а можно и в описаниях. Например, в нашем случае не было введено понятие «ураган» или понятие «пассат». Сведения о них содержатся в описаниях. Но можно было бы ввести для них специальные вершины и отразить эти понятия в структуре семантической сети.
В зависимости от того, какую смысловую нагрузку несут отношения в семантической сети, их можно классифицировать по различным типам. Если они, например, отражают каузальные отношения, то мы имеем дело с семантическими сетями, называемыми сценариями, а если эти отношения отражают связи по включению (родовидовые,
отношения «состоять из», отношения «элемент-класс» и т.п.), то такие семантические сети будут задавать классификации. Если же, наконец, интерпретация отношений в сети такова, что они связывают между собой аргументы и значения функции, вычисляемые при задании значений аргументов, то такие семантические сети принято называть вычислительными моделями. В последнем разделе третьей главы мы также говорили о семантических сетях, выделив из них тот класс сетей, который связан с задачей вывода. Именно о таких сетях и будем говорить далее, а интересующихся аппаратом семантических сетей в более широком объеме отсылаем к источникам, которые указаны в комментарии к последнему разделу третьей главы.Вывод на семантической сети можно представить в продукционной системе, в которой каждая продукция имеет вид Fr1
Рис. 34.
На рис. 34 показана такая продукция. Знак вопроса означает, что в качестве имени вершины может выступать любое из тех, которые имеются в базе знаний. Но если знак вопроса заменен какой-то вершиной, то в правой части продукции появляется такое же имя. Исходное состояние базы знаний показано на рис. 35, а. Для облегчения дальнейших рассуждений будем считать, что вершины семантической сети соответствуют некоторым персонажам, отношение R1 имеет смысл «быть отцом», отношение R2 – «быть матерью», а отношение R3 – «носить фамилию». Тогда продукция, показанная на рис. 34, может интерпретироваться следующим образом: «Если в базе знаний есть сведения о детях, для которых D является отцом, а К – матерью, то эту информацию из базы надо убрать, добавив в нее информацию о том, что все эти дети носят фамилию М».
Рис. 35.
Обработка продукции идет следующим образом. В семантической сети, показанной на рис. 35, а, ищутся вершины с именами D1 и К. Если таких вершин (или одной из них) в базе нет, то поиск прекращается и выдается сигнал о неудаче поиска. Если вершины найдены, то из вершины D возбуждаются все отношения с именем R1, а из вершины К – все отношения с именем R2. Так возникают две волны возбуждения. Первая волна возбуждает вершины С, F, G и H, а вторая – вершины F, G, Н и I. Волны встречаются лишь в вершинах F, G и H. В вершинах C и I возбуждение угасает. На замещение знака «?» в продукции претендуют вершины с именами F, G и H. Эти же имена возникают в правой стороне продукции. На рис. 35, б показано результирующее состояние базы знаний после того, как продукция завершила свою работу.