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)Стратегии и эвристика. Этот тип представляет собой врожденные
или приобретенные правила поведения, которые позволяют в дан­
ной конкретной ситуации принять решение о необходимых действиях. Он использует информацию в порядке, обратном тому, в ко­тором она была получена. В качестве примера можно привести рас­суждение типа: "Я знаю, что это действие приводит к такому-то результату (информация типа 4), поэтому, если я хочу получить именно этот результат, я могу рассмотреть это действие". Человек постоянно пользуется этим типом знаний при восприятии, форми­ровании концепций, решении задач и формальных рассуждениях.

Появление экспертных систем связанно с необходимостью при­нятия в расчет именно этого фундаментального типа человеческих знаний.

8)        Метазнание. Без сомнения оно присутствует на многих уровнях и
представляет собой знание того, что известно и определяет значение коэффициента доверия к этому знанию, важность элементарной информации по отношению ко всему множеству знаний. Кроме то­го, сюда же относятся вопросы организации каждого типа знаний и указаний, когда и как они могут быть использованы.

Представления знаний в БЗ. Приведем краткий список наиболее распространенных в настоящее время методов. Фундаментальное различие между ними состоит в простоте модификации знания. На рис.5.38 они приведены в порядке от наиболее процедурного (наиболее застывшего, структурирован-ного) до наиболее декларативного (наиболее открытого, свободного, неупоря-доченного) Такая классификация является несколько грубой, но правильно отражает идею.

Напомним, что конечные автоматы, программы, исчисление предикатов и системы с продукционными правилами с теоретической точки зрения эквивалентны друг другу, поскольку их в принципе можно свести к универ-сальной машине Тьюринга, хотя их "эксплуатационные характеристики" сильно различаются.

Такие формальные понятия, как фреймы; скрипты, семантические сети, возникли из реальных потребностей искусственного интеллекта и приносят большую помощь в понимании языка.

Фреймы предложены Минским в 1975 г. и представляют собой слож­ные структуры данных, описывающих какую-либо типичную ситуацию, на­пример, ожидание в аэропорту или участие в семейном обеде. Фрейм состоит из позиций для размещения объектов, характеризующих данную ситуацию. Позиция может быть передана другому фрейму. Кроме того, он содержит информацию о выполняемых действиях, о том, как следует поступать в типичных и нетипичных случаях, о влиянии соседних фреймов.

Скрипт или схема представляет собой описание стереотипного сцена­рия действий с участием определенных объектов. Скрипты связаны с теку­щей культурой и необходимы для понимания таких предложений, как "Я вошел в ресторан, официантка принесла мне меню". Они могут вызывать другие скрипты и обладают большими, чем фреймы, возможностями для описания динамических аспектов знания.




Процедурные

«закрытые»


















Декларативные

«открытые»

Методы

Библиографическая

ссылка

1. Конечный автомат


2. Программа


3. Скрипт (схема)


4. Семантическая сеть


5. Фрейм (прототип)


6. Графы, сети


7. Формальная спецификация


8. Исчисление предикатов


9. Теоремы, правила перезаписи


10. Продукционные правила


11. Предложения на языке

Markov, 1954

Meyer, 1978



Schank, 1977


Mc Carthy, 1977


Minsky, 1975


Petri, 1962


Germain, 1981


Kowalski, 1979


Huet, 1978



Shortliffe,1976

Pitrat, 1981



Рис. 5.38. Методы представления знаний в БЗ.


Семантические сети - это графы, которые часто представляют собой объединение двух предыдущих понятий и объектом описания которых явля­ются элементы окружающего мира и связи между ними. Они имеют много общего с реляционными моделями баз данных.

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

Инструментальные средства построения систем баз знаний. Для соз-дания БЗ могут использоваться следующие средства: 

1.Традиционные языки программирования - C, Basic, Pascal, Lisp и др. Особо в этом ряду стоит выделит язык функционального программирования Lisp. Его основные свойства: данные представляются в виде списков, для получения решений используется рекурсия. 

2.Языки представления знаний (такие как Prolog) - имеют специфические средства описания знаний и встроенный механизм поиска вывода. 

3.Пустые оболочки экспертных систем - содержат реализации некоторого языка представления знаний и средства организации интерфейса пользователя. Позволяют практически полностью исключить обычное программирование при создании прикладной экспертной системы.