Вывод по базе знаний
Вывод на семантической сети
Кроме обычных приёмов вывода (как достоверного, так и правдоподобного) для продукционных систем применяется вывод на семантической сети.
Семантические сети – это наиболее общая модель представления знаний об окружающем (интеллектуальную систему) мире и способах действия в нём.
Вершины семантической сети соответствуют объектам – понятиям, фактам, явлениям или процессам. Дуги, связывающие вершины, определяют отношения между объектами. Они снабжены именами или описаниями, в целом задающими семантику отношений.
Д.А. Поспелов исследует пример на основе романа Э. Хемингуэя "Острова в океане" (рис. 5.3).
Роман начинается так: "Дом был построен на самом высоком месте узкой косы между гаванью и открытым морем. Построен он был прочно, как корабль, и выдержал три урагана. Его защищали от солнца высокие кокосовые пальмы, пригнутые пассатами, а с океанской стороны крутой спуск вёл прямо от двери к белому песчаному пляжу, который омывался Гольфстримом".
Отобразим информацию, содержащуюся в этом отрывке с помощью семантической сети. Для этого введём понятия, обозначив их первыми буквами слов в тексте: Д – дом, СВМ – самое высокое место, К – коса, Г – гавань, ОМ – открытое море, КП – кокосовые пальмы, С – солнце, КС – крутой спуск, ДВ – дверь, ПП – пляж песчаный, ТГ – течение Гольфстрим. Приступим к построению, постепенно вводя (определяя) необходимые отношения (рис. 5.4).
Отношение R1 означает "быть между". Отношение R2 означает "принадлежать". Оно применяется дважды: для указания о том, что СВМ (самое высокое место) принадлежит К (косе), и о том, что ДВ (дверь) принадлежит Д (дому). Отношение R3 интерпретируется как "находится на", а текст около вершины Д принадлежит описанию этой вершины. Отношение R4 - "защищать от", R5 – "соединять", R6 – "омывать". Совместно действующие факторы объединяются скобками. В дополнительных описаниях вершин допустим произвол, позволяющий постичь смысл всего изображения.
От смысловой нагрузки отношений зависит классификация семантических сетей. Если сеть отражает причинно-следственные (казуальные) связи, как в рассмотренном примере, такая семантическая сеть называется сценарием. Семантическая сеть отображает классификацию, если использует отношения принадлежности. Если отношения связывают аргументы функции, то такие семантические сети называются вычислительными моделями.
Отметим, что различные модели рассуждений при различии интерпретации отражают общую суть и могут легко сводиться одна к другой. Так, пример расчёта надёжности компьютера можно бы было привести в данном разделе.
Однако как производится логический вывод на семантической сети?
Вывод на семантической сети можно представить с помощью продукционной системы, где каждая продукция имеет вид . Слева и справа стоят фрагменты семантической сети. В зависимости от типа продукции, она может описывать изменения в базе знаний или результаты промежуточных шагов вывода в рассуждающей системе (решателе).
В базах знаний реализация указанных продукций обычно называется процедурой поиска по образцу. В качестве образца при поиске обычно выступает фрагмент Fr1. Выполнение может быть различным. Например, если в базе знаний найден фрагмент Fr1, то он удаляется, а в неё добавляется новый фрагмент Fr2.
Другой вариант: если в БЗ обнаружен фрагмент Fr1, то утверждению Fr2 решатель присваивает значение ИСТИНА.
Если при выводе на семантической сети фрагмент Fr2 добавляется в БЗ без выбрасывания Fr1, то говорят о процедурах пополнения знаний. Человек в своей деятельности часто выполняет подобные процедуры, используя известные ему знания о закономерностях внешнего мира.
В более сложных случаях для поиска могут использоваться условия применения продукций, о которых говорилось при обсуждении общей формы продукции. Например, продукционная система может иметь вид "Если имеет место Fr1, то Fr2, иначе Fr3". Образцы такого типа определяют альтернативные выводы в БЗ.
Рассмотрим простейший пример продукции поиска фрагмента Fr1 в БЗ и, при обнаружении, исключения соответствующей инструкции из БЗ с добавлением в неё фрагмента Fr2.
На рис. 5.5. показан начальный вид такой продукции. Вершины семантической сети соответствуют персонажам мужчинам и женщинам с известными фамилиями. Имя вершины со знаком вопроса должно быть сформировано на основе БЗ. Найденное имя появится в продукции справа. Отношение R1 имеет смысл "быть отцом", отношение R2 – "быть матерью", а отношение R3 – "носить фамилию". Тогда продукция, показанная на этом рисунке, может интерпретироваться как: "Если в БЗ есть сведения о детях, для которых Д является отцом, а К – матерью, то эту информацию из БЗ следует убрать, добавив в неё информацию о том, что все эти дети носят фамилию М".
Вопрос – ответ. Спор
- Деньги вперёд, - заявил монтёр, - утром – деньги, вечером – стулья или вечером – деньги, а ... утром – стулья.
- А может быть, сегодня – стулья, а завтра – деньги? – пытал Остап.
И. Ильф, Е. Петров. Двенадцать стульев
Давно известно, что правильно сформулированный вопрос во многом содержит в себе информацию о возможном ответе. Правильно поставить вопрос можно только тогда, когда ответ на него известен. Это философское умозаключение исключительно важно знать преподавателям. Существует несколько типов вопросов к базе знаний, которые задаются наиболее часто
Условно их пока делят на шесть типов в зависимости от того, какие процедуры требуются при ответе на них.
- ЧТО-вопросы. Это вопросы типа "Что ты знаешь о Иванове?" или "Сообщи, что ты знаешь о гриппе" и т.д. Для ответа необходим обзор БЗ и извлечение необходимой информации. Однако в БЗ между единицами информации возможны связи, например, если БЗ отражает семантическую сеть. Следовательно, необходимо определять релевантное окружение той информации, которая является прямым ответом на поставленный вопрос. (Релевантность – семантическое, смысловое соответствие (адекватность) поискового запроса требуемому ответу.)
- ЛИ-вопросы. Такие вопросы предполагают конечное множество альтернативных ответов для выбора истинного варианта. То есть, для ответа необходима процедура проверки истинности всех альтернатив. Возможные вопросы: "Петя ходит в школу или в детский сад?", "Перестала Маша по утрам ходить на музыку?" Возможным ответом может быть: "Не знаю", если информация в БЗ отсутствует, либо она противоречива.
- КАКОЙ-вопросы. Эти вопросы похожи на ЛИ-вопросы, но отличаются тем, что либо множество альтернатив является бесконечным, либо ответ определяется не по самому вопросу, а требует выполнения специальных процедур по его нахождению. Например, "Какие сотрудники института имеют детей в возрасте до пяти лет?" Поиск ответа характерен для реляционных баз данных. Поэтому КАКОЙ-вопросы часто называют типовыми вопросами к реляционным базам данных или просто реляционными вопросами. В более общем случае ответ на КАКОЙ-вопрос требует не только поиска, но и выполнения процедуры логического вывода из БЗ. Для этого может быть использован язык ПРОЛОГ.
- ПОЧЕМУ-вопросы. Это вопросы о причинах явлений или фактов, перечисленных в вопросе. Ответы на них требуют использования каузальных логик. То есть, они требуют обращения к анализу причинно-следственных связей, отражённых в БЗ. После этого моделируется рассуждение, схема которого и есть ответ на ПОЧЕМУ-вопрос.
- ЗАЧЕМ-вопросы. Это вопросы о целях. Ответ на них внешне похож на поиск ответа на ПОЧЕМУ-вопросы, но вместо каузальных связей в БЗ используются связи типа "цель – средство" или "цель – подцель". Ответом служит найденный путь, ведущий от текущей ситуации к целевой (целевым). При невозможности найти соответствующий путь при ответах на ПОЧЕМУ-вопрос или ЗАЧЕМ-вопрос ответом может быть "Не знаю" или "Отсутствует информация для ответа".
- КАК-вопросы. Эти вопросы предполагают, что в качестве ответа на них будут выданы пояснения о способах получения тех или иных результатов. Например, если КАК-вопрос касается того, как получен некоторый логический вывод, то в качестве ответа можно воспроизвести этот вывод или наиболее важные его части. Для этого удобно хранить в БЗ "треки" ("следы", пути) ранее полученных выводов, пока вопрос типа КАК остаётся актуальным.
Из приведённой типологии вопросов ясно, что ответы на многие из них могут трактоваться как объяснения. Проблема объяснения – одна из центральных в современных интеллектуальных системах Она обязательно должна разрешаться в экспертных системах и системах принятия решений. Пользователь должен быть уверен, что совет, данный интеллектуальной системой, верен и получен из исходных данных с учётом всей информации о задаче, имеющейся у него.
В более широком смысле от интеллектуальной системы требуется не просто объяснение, а, скорее, аргументированное обоснование того результата, который получен системой.
Проблему аргументации можно сформулировать, как проблему поиска тех фактов (из которых данный факт вытекает), которые могли бы обосновать проявление интересующего нас факта.
Например, из каких фактов более высокого уровня – политического, экономического, морального, личностного и т.д. следует факт неуклонного снижения финансирования высшего образования? Какие факты следует изучить, чтобы обосновать наблюдаемый факт? Можно считать, что аргументация – это такой процесс, при котором одна из сторон пытается сменить систему аксиом у собеседника, на основе приведённой совокупности фактов "настроить" его на вывод об истинности того утверждения, которое эта сторона защищает.
Процесс такого рода в практике человеческого общения называется спором. Мы можем заключить, что вся изложенная выше теория рассуждений в большей или меньшей степени обслуживает споры.