Классификация ошибок в базах знаний экспертных систем

УДК 004: 65

О.Н. Долинина

КЛАССИФИКАЦИЯ ОШИБОК В БАЗАХ ЗНАНИЙ ЭКСПЕРТНЫХ СИСТЕМ

Рассмотрены основные типы ошибок в базах знаний экспертных систем, построенных на основе продукций и искусственных нейросетей. Показано, что наиболее общей является ошибка типа «забывание об исключении»; приведены способы отладки экспертных систем.

Искусственные нейросети, ошибки в базах знаний, отладка экспертных систем, ошибка типа «забывание об исключении»

O.N. Dolinina

CLASSIFICATION OF ERRORS IN KNOWLEDGE BASES OF EXPERT SYSTEMS

There are considered main types of errors in knowledge bases, debugging of expert systems, error “forgetting about exceptions”; described ways of debugging of expert systems.

Artificial neural networks, errors in knowledge bases, debugging of expert systems, error “forgetting about exceptions”

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

Одним из наиболее распространенных способов представления знаний в экспертных системах является продукционный. Еще в 1943 году Пост [1] доказал, что продукционная система является логической системой, эквивалентной машине Тьюринга. Продукционные системы универсальны, т.е. любая формальная система, оперирующая символами, может быть реализована в виде одной из продукционных систем Поста.

Продукционная база знаний (ПБЗ) определяется совокупностью:

P =

где F - конечное множество фактов о решаемой проблеме. Каждый факт может быть установленным или неустановленным, совокупность установленных фактов задает некоторую ситуацию в предметной области. R - множество продукций или правил, включающее правила вида

rm : ЕСЛИ f И f ... И fn ТО fk,

где rm - имя правила, rmeR; ft ,fj...,fn - условия выполнения правила; fk - следствие правила, f, f ,..., fn, fk e F; G - множество целей или терминальных фактов ЭС; I -интерпретатор правил, реализующий процесс вывода. C является множеством разрешенных комбинаций фактов. В множество С не входят, например, комбинации, в которых установлены одновременно какие-либо два факта, взаимно исключающие друг друга. База правил R и множество целей G образуют базу знаний.

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

Можно составить конечный список Г = {/1,/2 , /п) элементарных условий

(фактов) так, что условие выполнимости каждого правила гт из Я состоит в одновременном выполнении некоторой совокупности {/ц,/2, ..., /¡„} элементарных условий. Действием продукции считаем установление одного из фактов списка Г.

При создании систем, основанных на знаниях, важным этапом является этап отладки. На этапе отладки проверяется компетентность систем на предмет соответствия поставленным целям решений, выдаваемых ЭС. Этот процесс продолжается до тех пор, пока эксперт не решит, что система достигла требуемого уровня компетентности.

Так как база знаний наполняется человеком-экспертом, то в силу своих психологических особенностей эксперт может допускать различного рода ошибки. В работе американского исследователя Б. Маркота [2] приводятся данные, что процент ошибок человека-эксперта при внесении информации в БЗ в среднем равен 15.

Введем понятие отладки ЭС в узком смысле слова.

Отладкой ЭС в узком смысле называется процесс выявления, локализации ошибок в БЗ, а также коррекции БЗ, не связанной с выбором нового способа представления знаний.

Существующее состояние дел в области разработки принципов, методов и средств контроля качества БЗ ЭС в целом может быть охарактеризовано следующим образом:

Для отладки БЗ ЭС используются две основных группы методов:

1) методы статического анализа (верификация), осуществляющие проверку БЗ на уровне формального контроля качества, не требующие запуска интерпретатора системы;

2) тестирование, заключающееся в прогоне ЭС на заданном множестве тестовых данных и сравнение результатов вывода ЭС с эталонными, определяемыми экспертами.

В литературе выделяют следующие основные классы ошибок в БЗ: неполнота, избыточность, противоречивость.

Для каждого класса выделяются типы ошибок, например, неполнота БЗ может характеризоваться недостижимыми, пропущенными, терминирующими продукциями (которые могут быть выполнены, но их заключения не являются целью вопроса и отсутствуют среди посылок других продукций). Избыточность БЗ характеризуется

дублирующими продукциями, а также продукциями, не ведущими ни к какой цели.

Структурное представление БЗ в виде И/ИЛИ графа дает наиболее наглядное представление базы знаний.

Введем следующие

определения.

Определение 1. Структурной ошибкой в продукционной БЗ называется ошибка, выявляемая на основе анализа И/ИЛИ графа.

Определение 2. БЗ является статически корректной, если она не содержит структурных ошибок, т. е. БЗ непротиворечивая, полная и

неизбыточная.

На рис. 1 правило г2 является лишним, т.к. для установки/1 достаточно фактов/2 и /з (правила г1).

Рис. 1. Включающие правила

Пример противоречивых правил приведен на рис. 2.

Рис. 3 иллюстрирует пример неполноты БЗ, т.к. не существует правила, ведущего в вершину g2. На рис. 4 изображен пример избыточности БЗ, т.к. существует лишнее правило г2, не ведущее ни к какой цели.

Отметим, что анализ литературы показал, что при описании процесса статического анализа российские и зарубежные исследователи зачастую используют различные определения. Некоторые исследователи в своих работах аналогичные методы и процедуры определяют как верификацию. Для устранения неоднозначности в определениях будем использовать только термин «статический анализ».

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

БЗ может быть непротиворечивой, но, тем не менее, включать содержательные ошибки. Одной из важнейших проблем является проблема выявления разного рода противоречий в базах знаний.

Если все факты, которыми оперирует ЭС, могут быть верны одновременно, то никаких

противоречий в ней не возникнет.

Противоречия возникают из-за содержательных связей между

фактами, которые запрещают некоторые связи. В некоторых предметных областях существуют

несовместимые системы взглядов, причем эта несовместимость может проявляться не сразу.

Учитывая вышесказанное, в работе [3] введены базовые понятия противоречивости СП. Полной непротиворечивостью называют такое состояние системы продукций, если из допустимых состояний можно вывести только допустимые.

У1

127

Рис. 4. Пример лишних правил

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

Другими словами, предлагается считать ЭС внутренне непротиворечивой, если ее можно сделать вполне непротиворечивой и эффективной, сузив множество допустимых состояний.

Во внутренне противоречивой ЭС существует цепочка вывода, которая приводит к противоречию всегда, когда она применяется.

Подводя итог рассмотренным противоречиям, отметим, что претендующей на доверие ЭС достаточно быть вполне непротиворечивой, что означает следующее: БЗ не должна содержать внутренних противоречий, но может содержать внешние, т.е. продукции, входящие в состав БЗ, могут противоречить модели мира.

Формализуем эти определения на основе терминологии теории графов. Введем следующие определения.

Определение 1. Факты, соответствующие вершинам графа Т с нулевой полустепенью захода, будем называть входными фактами Р. Все другие факты будем считать внутренними.

Определение 2. Правило г, єЯ лишнее, если не существует вершины gj такой, что в Т имеется путь из вершины г, в вершину gj.

Определение 3. Во множестве Я отсутствуют правила для gj, если вершина gj графа Т изолированная.

Определение 4. ПБЗ называется противоречивой, если существует набор фактов, если 8, є С, такой, что из 8, интерпретатором I может быть получен набор фактов Ї С.

Определение 5. Условие правила г, истинно всегда, когда истинно условие Г] и дуги, исходящие из вершин и Г] графа Т, ведут в одну и ту же вершину/

Признаком ошибок эксперта является также наличие циклов в И/ИЛИ графе ПБЗ.

Все рассмотренные типы ошибок могут быть обнаружены методами статического анализа, т.е. без запуска интерпретатора системы I путем анализа графа Г.

Если статический анализ уже применен и Р не является противоречивой, не содержит включающих, лишних правил, а И/ИЛИ граф Г свободен от циклов, то будем говорить, что Р статически корректна. Однако, ПБЗ может быть статически корректной, но выдавать неверные результаты при запуске интерпретатора. Причина этого состоит в наличии ошибок в самих правилах ПБЗ.

Такие ошибки не могут быть обнаружены методами статического анализа, т.к. не отражаются на И/ИЛИ графе ПБЗ. Средством обнаружения ошибок в правилах является тестирование. Тест ПБЗ, в общем случае, представляет собой набор установленных фактов Б є С и соответствующее множество G целей системы, которые при этом

достигаются [4]. Для получения эталонных значений G' могут быть использованы дополнительные эксперты, или те же, кто участвовал в формировании базы знаний. Такой подход также позволяет обнаруживать ошибки в правилах. Дело в том, что эксперт обладает несколькими дублирующими системами рассуждений. Допуская ошибки при формировании ПБЗ большой размерности, он как правило, дает правильные решения для конкретной постановки задачи.

Наиболее грубая ошибка в правиле имеет место (2), если факт / в данной предметной области никогда не может быть установлен в присутствии фактов /1, ..., /к. Именно такие ошибки обнаруживают тесты, построенные по критерию покрытия операторов [5]. Действительно, данный критерий предусматривает однократную активизацию каждого правила. Если факт - следствие некоторой продукции на самом деле не должен устанавливаться при выполнении условия продукции, то ЭС сообщит об истинности какой-либо цели, которая не должна удовлетворяться в данной ситуации.

Более реален случай, когда факт - следствие / иногда должен устанавливаться при установленных фактах /1, ..., /, входящих в условие продукции, а иногда не должен. Это зависит от состояния других фактов предметной области (ПО). Очевидно, что тестирование по критерию покрытия операторов не гарантирует обнаружения ошибок этого наиболее общего класса.

В общем случае, вследствие ошибок эксперта множество фактов ПБЗ Б может содержать не все факты, существенные для рассматриваемой ПО. В результате некоторые правила из Р могут оказаться неверными при установке некоторых фактов, не входящих в Б. Анализ ПБЗ не позволяет сформировать тестовый пример, обеспечивающий обнаружение подобных ошибок. В дальнейшем предполагается, что множество Г содержит все факты, установка которых может влиять на справедливость правил Я. Соответственно, класс обнаруживаемых ошибок ограничивается этим допущением.

Наиболее сложной для выявления является ошибка, связанная с так называемым «забыванием об исключении» в предметной области. Формальная модель ошибок типа, который можно назвать также «забывание об исключении», состоит в следующем: правило выполняется всегда, за исключением того случая, когда в ПБЗ установлен набор фактов

{/і, /2..., /к} = 8 є С.

Если все факты, которыми оперирует ЭС, могут быть верны одновременно, то никаких противоречий в ней не возникнет. Противоречия возникают из-за содержательных связей между фактами, которые запрещают некоторые связи. В некоторых предметных областях существуют несовместимые системы взглядов, причем эта несовместимость может проявляться не сразу. Например, вполне правильными являются следующие продукции:

г1: ЕСЛИ животное теплокровное И имеет крылья, ТО птица;

г2: ЕСЛИ животное теплокровное И имеет 4 лапы, ТО зверь. *

до тех пор, пока не встретится «летучая мышь». ПС (5) для летучей мыши делает вывод «и птица, и зверь». Этот вывод противоречит естественной связи между фактами «птица - это не зверь», без которой классификация вообще бессмысленна.

Другим часто используемым типом представления знаний в ЭС являются искусственные нейросети (ИНС). Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения - одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что, в случае успеха сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке. Важной проблемой остается подбор обучающей выборки, т. е. данных, на которых нейросеть будет принимать решения.

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

Однако для ИНС можно ввести ошибки для обучающего множества, например, понятие неполноты для обучающего множества, что подразумевает отсутствие у обучающего множества свойства репрезентативности, то есть наличия достаточного количества примеров для представления всей генеральной совокупности, а не только отдельных её классов.

Противоречивость означает наличие обучающих примеров с идентичными входными, но различными выходными параметрами. Заметим, что в реальных ИНС наличие огромного числа связей затрудняет нахождение внутренних противоречий на графовой модели.

Отметим, что ошибка типа «забывание об исключении»(4) является наиболее общей и покрывает все остальные ошибки.

Формальная модель ошибки типа «забывание об исключении» в терминах ИНС состоит в следующем:

Значение выходного признака Y(X) всегда соответствует правильному значению за исключением того случая, когда установлен набор входных нейронов X

В заключении отметим, что единственным способом обнаружения ошибки типа «забывание об исключении» является тестирование. Для решения задачи генерации тестовых наборов для продукционных БЗ или основанных на многослойном персептоне, предлагается подход, основанный на преобразовании БЗ к логической сети (ЛС) и применении к последней методов технической диагностики. В случае многослойного персептрона предварительно необходимо провести процедуру извлечения правил вида (6, 7). В работе [4] разработана методология тестирования продукционных баз знаний при помощи алгоритма поиска константной неисправности в логической сети PODEM (Path Oriented DEecision Making). В технической диагностике под константной неисправностью понимаются ошибки типа «константный ноль (единица)», когда на одном или нескольких выходах системы постоянно присутствует нулевой (единичный) сигнал независимо от входных значений [10]. Ошибку типа «забывание об исключении» можно рассматривать как неисправность «константный 0» логической сети, которая проявляется только при каком-то наборе значений сигналов ЛС. Также в работе [4] доказано, что если тест выявляет ошибки такого типа, то этот тест гарантированно выявляет ошибки и всех других типов.

ЛИТЕРАТУРА

1. Post E.L. Formal Reductions of the General Combinatorial Decision Problem / E.L. Post // American Journal of Mathematics. V.65. 1943. P. 197-215.

2. Marcot B. Testing your knowledge base / B. Marcot // AI Expert. August. 1987. P.43-

47.

3. Поспелов И.Г., Поспелова Л.Я. Динамическое описание систем продукций и проверка непротиворечивости продукционных экспертных систем. / И.Г. Поспелов, Л.Я. Поспелова // Известия АН СССР. Техническая кибернетика. 1987. N.1. С. 184-192.

4. Долинина О. Н. Обнаружение ошибок типа «забывание об исключении» в продукционных базах знаний экспертных систем / О.Н. Долинина. СГТУ. Саратов, 1997. Деп. в ВИНИТИ, N 678-В97.

5. Tepandi J. Comparison of Expert System Verification Criteria: Redundancy / J. Tepandi // Proc.ECAI 90 Conf. Stockholm, 1990. P.49-62.

6. Долинина О. Н. Применение методов технической диагностики для отладки баз знаний нейросетевых экспертных систем / О.Н. Долинина, А.К. Кузьмин // Информационные технологии, 2 (150), 2009. с.34-38.

7. Долинина О.Н. Метод генерации тестов для отладки нейросетевых экспертных систем / О.Н. Долинина, А.К. Кузьмин // Вестник ТГТУ. Т.16. №3. 2010. С. 519-528.

Долинина Ольга Николаевна -

кандидат технических наук, декан международного факультета прикладных информационных технологий, заведующая кафедрой «Прикладные информационные технологии» Саратовского государственного технического университета

Статья поступила в редакцию 05.10.10, принята к опубликованию 19.10.10