5.8. Базы знаний База знаний (БЗ) – семантическая модель, описывающая предметную область и позволяющая отвечать на такие вопросы из этой предметной области, ответы на которые в явном виде не присутствуют в базе. База знаний является основным компонентом интеллектуальных и экспертных систем. Система управления базами знаний – комплекс программных, языковых и интеллектуальных средств, посредством которого реализуется создание и использование базы знаний. Компоненты БЗ: база знаний; механизм получения решений; интерфейс. Структура и функции системы баз знаний. Знания в базе знаний можно разделить на алгоритмические и неалгоритмические:
На практике во многих экспертных системах и БЗ содержимое базы знаний подразделяют на "факты" и "правила". Факты - элементарные единицы знания (простые утверждения о характеристиках объекта), правила служат для выражения связей, зависимостей между фактами и их комбинациями. Таким образом, классификацию знаний можно представить следующим образом:
Прямое использование знаний из базы знаний для решения задач обеспечивается механизмом получения решений (inference engine - машина вывода) - процедурой поиска, планирования, решения. Механизм решения дает возможность извлекать из базы знаний ответы на вопросы, получать решения, формулируемые в терминах понятий, хранящихся в базе. Примеры запросов:
Интерфейс - обеспечивает работу с базой знаний и механизмом получения решений на языке высокого уровня, приближенном к профессиональному языку специалистов в той прикладной области, к которой относится СБЗ. Типы знаний. В настоящее время целью исследований в области ИИ является создание таких систем, которые, с одной стороны, могут использовать большое количество знаний, передаваемых им специалистами, а с другой - способны вступать в диалог и объяснять свой собственные выводы. Это предполагает наличие эффективного управления большой по объему и хорошо структурированной базой знаний, строгое разграничение между различными уровнями знаний, наличие множества удобных представлений для правил, схем предикатов или прототипов и четко определенный процесс обмена информацией между различными источниками. Необходимо, чтобы система знала, что она знает. Если попытаться провести аналогию с людьми, то подобное метазнание означает постоянное использование в течение жизни информации о каждом прожитом дне. Если, например, вы забыли имя приятеля, встреченного на улице, то ваше метазнание состоит в том, что либо вы его имя знали, но забыли, либо этого имени никогда не знали. Впрочем, мы постоянно используем важные эвристические правила, основанные на подобном метазнаний, такие, как "если бы это была правда, то я бы это знал". Они зависят от двух важных параметров: значимости имеющего к ним отношения факта и степени нашей собственной компетентности в данной области. В действительности каждое человеческое знание сразу же требует метазнания, связанного с тем местом, которое мы отводим данному знанию в ряду другой информации, как мы к нему относимся, для каких целей оно нам полезно, к какому семейству принадлежит. Все эти моменты рассматриваются в следующих разделах, посвященных описанию реальных информационных систем. Выделим восемь основных типов знаний по следующим признакам. 1)Базовые элементы, объекты реального мира. Они связаны с непосредственным восприятием, не требует обсуждения, и добавляются к нашей базе фактов в том виде, в котором они получены. 2)Утверждения и определения. Они основаны на базовых элементах 3)Концепции. Они представляют собой перегруппировки или обобщения базовых объектов. Для построения каждой концепции используются свои приемы. Например, в системах МЕСНО (Bundy, 1979) или AM (Lenat, 1977) они построены на основе примеров, контр примеров, частных случаев, более общих или аналогичных концепций. 4)Отношения. Они выражают как элементарные свойства базовых элементов, так и отношения между концепциями. Кроме того, к свойствам отношений относятся их большее или меньшее правдоподобие, большая или меньшая связь с данной ситуацией. Еще раз отметим, что представление знаний в экспертных системах близко к моделям, используемым в базе данных. Таким путем построена реляционная (обобщенная) модель базы данных в системах OPS, PROLOG, SNARK и TANGO. Пара понятий "свойство - значение" (relationship - entity) хорошо известна в семантических сетях; фреймы и скрипты являются не чем иным, как наиболее простыми бинарными отношениями. Некоторые экспертные системы (INTERNIST, BAOBAB, SPHINX) в качестве базы факторов используют уже базы существующих данных. 5)Теоремы и правила перезаписи. Они являются частным случаем продукционных правил с вполне определенными свойствами. Теоремы не представляют никакой пользы без экспертных правил их использования. Явное присутствие теорем в экспертных системах представляет главное отличие от систем управления классическими базами данных (СУБД), в которых они либо отсутствуют, либо программируются. Модификация или добавление новых теорем является весьма трудоемкой, хотя и необходимой процедурой, так как нужно обеспечить хорошее структурированное управление базой данных и оптимизировать получение ответов. 6)Алгоритмы решений. Они необходимы для выполнения определенных задач. Во всех случаях они связанны со знанием особого типа, поскольку определяемая ими последовательность действий оказывается оформленной в блок в строго необходимом порядке в отличие от других типов знания, где элементы информации могут появляться и располагаться без связи друг с другом. Очевидно, что очень трудно работать с длинными процедурами, состоящими из большого числа различных действий. Использование чистых алгоритмов ограниченно очень частными случаями, большая часть которых имеет дело с обработкой числовой информации. Человек же должен уметь работать со многими другими типами информации и оказывается, что ЭВМ в отличие от простого калькулятора может помочь человеку в подобных неалгоритмических ситуациях. 7)Стратегии и эвристика. Этот тип представляет собой врожденные Появление экспертных систем связанно с необходимостью принятия в расчет именно этого фундаментального типа человеческих знаний. 8) Метазнание. Без сомнения оно присутствует на многих уровнях и Представления знаний в БЗ. Приведем краткий список наиболее распространенных в настоящее время методов. Фундаментальное различие между ними состоит в простоте модификации знания. На рис.5.38 они приведены в порядке от наиболее процедурного (наиболее застывшего, структурирован-ного) до наиболее декларативного (наиболее открытого, свободного, неупоря-доченного) Такая классификация является несколько грубой, но правильно отражает идею. Напомним, что конечные автоматы, программы, исчисление предикатов и системы с продукционными правилами с теоретической точки зрения эквивалентны друг другу, поскольку их в принципе можно свести к универ-сальной машине Тьюринга, хотя их "эксплуатационные характеристики" сильно различаются. Такие формальные понятия, как фреймы; скрипты, семантические сети, возникли из реальных потребностей искусственного интеллекта и приносят большую помощь в понимании языка. Фреймы предложены Минским в 1975 г. и представляют собой сложные структуры данных, описывающих какую-либо типичную ситуацию, например, ожидание в аэропорту или участие в семейном обеде. Фрейм состоит из позиций для размещения объектов, характеризующих данную ситуацию. Позиция может быть передана другому фрейму. Кроме того, он содержит информацию о выполняемых действиях, о том, как следует поступать в типичных и нетипичных случаях, о влиянии соседних фреймов. Скрипт или схема представляет собой описание стереотипного сценария действий с участием определенных объектов. Скрипты связаны с текущей культурой и необходимы для понимания таких предложений, как "Я вошел в ресторан, официантка принесла мне меню". Они могут вызывать другие скрипты и обладают большими, чем фреймы, возможностями для описания динамических аспектов знания.
Рис. 5.38. Методы представления знаний в БЗ. Семантические сети - это графы, которые часто представляют собой объединение двух предыдущих понятий и объектом описания которых являются элементы окружающего мира и связи между ними. Они имеют много общего с реляционными моделями баз данных. Изображения и графы эффективно используются для доказательства теорем. Они оказывают большую помощь в проверке отсутствия зацикливания этапов, в полном и эффективном хранении задачи в памяти, в организации ввода новых элементов. Инструментальные средства построения систем баз знаний. Для соз-дания БЗ могут использоваться следующие средства: 1.Традиционные языки программирования - C, Basic, Pascal, Lisp и др. Особо в этом ряду стоит выделит язык функционального программирования Lisp. Его основные свойства: данные представляются в виде списков, для получения решений используется рекурсия. 2.Языки представления знаний (такие как Prolog) - имеют специфические средства описания знаний и встроенный механизм поиска вывода. 3.Пустые оболочки экспертных систем - содержат реализации некоторого языка представления знаний и средства организации интерфейса пользователя. Позволяют практически полностью исключить обычное программирование при создании прикладной экспертной системы. |