Разработка фрагментов оболочки экспертной системы
Введение
Сегодня всем, кто работает в области информатики или интересуется этой новой областью науки, известен термин "экспертные системы". Экспертная система (expert system, knowledge based system) - это программная система, знания и умения которой сравнимы с умением и знаниями специалистов в какой-нибудь специальной области знаний. Экспертные системы вместе с системами обработки естественных языков являются наиболее важными в коммерческом плане областями использования искусственного интеллекта.
В рамках исследования искусственного интеллекта созданы многочисленные экспертные системы для разных областей знания, таких, например, как медицинская диагностика и обследование пациентов, генные и молекулярные исследования, составление конфигурации вычислительных машин, образование, поиск неисправностей в устройствах и системах и многие другие практические приложения. В этой работе разрабатывается экспертная система, связанная с диагностикой заболеваний.
2. Анализ предметной области
В данной курсовом проекте предметную область составляют заболевания гортани, а именно: ларингит острый, ларингит хронический катаральный, ларингит хронический гипертрофический, ларингит хронический атрофический.
У каждой болезни имеется набор признаков или, выражаясь медицинскими терминами, симптомов.
Для удобства восприятия анализ предметной области сведен в таблицу 1. В ней в столбцы обозначены названиями болезней, а строки - названиями симптомов. На пересечении соответствующих столбцов и строк стоит знак "+", если симптом действительно принадлежит исследуемой болезни. Одни и те же симптомы могут являться признаками одной и той же болезни, поэтому некоторые из них (симптомов) перекрываются.
таблица1
симптом ¯ болезнь® | ларингит острый | ларингит хронический катаральный | ларингит хронический гипертрофический | ларингит хронический атрофический |
1. общее недомогание | + | + | + | + |
2. сухость першение, саднение | + | + | + | |
3. кашель сначала сухой, затем с мокротой | + | |||
4. голос хриплый или беззвучный | + | + | + | |
5. иногда боль при глотании | + | |||
6. головная боль | + | |||
7. повышение температуры тела | + | |||
8. быстрая утомляемость голоса | + | |||
9. периодический кашель с мокротой | + | |||
10. охриплость с афонией | + | |||
11. ощущение неловкости | + | |||
12. жжение в горле | + | |||
13. кашель при обострении | + | |||
14. сухой кашель | + | |||
15. слизистая покрыта густой слизью | + | |||
16. откашливание с прожилками крови | + |
Следующим этапом проектирования будет являться разработка (выбор) способа представления этих знаний.
3. Выбор способа представления знаний
Чтобы проводить эспертизу, компьютерная программа должна быть способна решать задачи посредством логического вывода и получать при этом достаточно надежные результаты. Программа должна иметь доступ к системе фактов, называемой базой знаний. Программа также должна во время консультации выводить заключения из информации, имеющейся в базе знаний. Некоторые экспертные системы могут также использовать новую информацию, добавляемую во время консультации. Экспертную систему, таким образом, можно представлять состоящей из трех частей:
1. База знаний (БЗ)
2. Механизм вывода (МВ)
3. Система пользовательского интерфейса (СПИ)
База знаний - центральная часть экспертной системы. Она содержит правила, описывающие отношения или явления, методы и знания для решения задач из области применения системы. Можно представлять базу знаний состоящей из фактических знаний и знаний, которые используются для вывода других знаний. Утверждение "Джон Ф. Кеннеди был 35-м президентом Соединенных Штатов" - пример фактического знания. "Если у вас болит голова, то примите две таблетки цитрамона" - пример знания для вывода. Сама база знаний обычно располагается на диске или другом носителе.
Механизм вывода содержит принципы и правила работы. Механизм вывода "знает", как использовать базу знаний так, чтобы можно было получать разумно согласующиеся заключения (выводы) из информации, находящейся в ней. Когда экспертной системе задается вопрос, механизм вывода выбирает способ применения правил базы знаний для решения задачи, поставленной в вопросе. Фактически, механизм вывода запускает экспертную систему в работу, определяя какие правила нужно вызвать и организуя к ним доступ в базу знаний. Механизм вывода выполняет правила, определяет когда найдено приемлемое решение и передает результаты программе интерфейса с пользователем.
Когда вопрос должен быть предварительно обработан, то доступ к базе знаний осуществляется через интерфейс с пользователем. Интерфейс - это часть экспертной системы, которая взаимодействует с пользователем.
Как правило, пользователи мало знают об организации базы знаний, поэтому интерфейс может помочь им работать с экспертной системой даже, если они не знают, как она организована. Интерфейс может также объяснить пользователю , каким образом экспертная система выводит результат.
Система интерфейса с пользователем принимает информацию от пользователя и передает ему информацию. Просто говоря, система интерфейса должна убедиться, что, после того как пользователь описал задачу, вся необходимая информация получена. Интерфейс, основываясь на виде и природе информации, введенной пользователем, передает необходимую информацию механизму вывода. Когда механизм вывода возвращает знания, выведенные из базы знаний, интерфейс передает их обратно пользователю в удобной форме. Интерфейс с пользователем и механизм вывода могут рассматриваться как "приложение" к базе знаний. Они вместе составляют оболочку экспертной системы. Для базы знаний, которая содержит обширную и разнообразную информацию, могут быть разработаны и реализованы несколько разных оболочек. Хорошо разработанные оболочки экспертных систем обычно содержат механизм для добавления и обновления информации в базе знаний.
Как видим , экспертная система состоит из трех основных частей. Взаимосвязь между частями может быть сложной, зависящей от природы и организации знаний, а также от методов и целей вывода.
Базы знаний и способы представления
Продукционная модель
Это один из наиболее часто используемых в экспертных системах способов представления знаний. Основная идея заключается в ассоциировании с соответствующими действиями набора условий в виде правил типа "если-то", называемых также продукциями:
ЕСЛИ условие ТО действия
"Если-то"-правила обычно оказываются весьма естественным выразительным средством представления знаний. Кроме того, они обладают следующими привлекательными свойствами:
- модульность: каждое правило описывает небольшой, относительно независимый фрагмент знаний;
- возможность инкрементного наращивания: добавление новых правил в базу знаний происходит относительно независимо от других правил;
- удобство модификации (как следствии модульности): старые правила можно изменять и заменять на новые относительно независимо от других правил;
- применение правил способствует прозрачности системы, т.е. способности к объяснению принятых решений и полученных результатов.
Однако продукционные системы не свободны от недостатков:
- процесс вывода менее эффективен, чем в других системах, поскольку большая часть времени при выводе затрачивается на непроизводительную проверку применимости правил;
- этот процесс трудно поддается управлению;
- сложно представить родовидовую иерархию понятий.
Фреймы
Представление знаний, основанное на фреймах, является альтернативным по отношению к системам продукций: оно дает возможность хранить родовидовую иерархию понятий в базе знаний в явной форме. Фреймом называется структура для описания стереотипной ситуации, состоящая из характеристик этой ситуации и их значений, характеристики называются слотами, а значения - заполнителями слотов. Слот может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислить его по заданному алгоритму, а также одну или несколько продукций (эвристик), с помощью которых это значение можно найти. В слот может входить не одно, а несколько значений. Иногда слот включает компонент, называемый фасетом, который задает диапазон или перечень его возможных значений. Фасет указывает также граничные значения заполнителя слота.
Совокупность фреймов, моделирующая какую-нибудь предметную область, представляет собой иерархическую структуру, в которую фреймы соединяются с помощью родовидовых связей. На верхнем уровне иерархии находится фрейм, содержащий наиболее полную информацию, истинную для всех остальных фреймов. Фреймы обладают способностью наследовать значения характеристик своих родителей, находящихся на более высоком уровне иерархии. Значения характеристик фреймов могут передаваться по умолчанию фреймам, находящимся ниже них в иерархии, но если последние содержат собственные значения данных характеристик, то в качестве истинных принимаются именно они.
Наиболее ярко достоинства фреймовых систем представления знаний проявляются в том случае, если родовидовые связи изменяются нечасто и предметная область насчитывает немного исключений. Во фреймовых системах данные о родовидовых связях хранятся явно, т.е. так же, как и значения всех других типов. Значения слотов представляются в системе в единственном экземпляре, поскольку включаются только в один фрейм, описывающий наиболее общее понятие из всех тех, которые содержат слот с данным именем. Такое свойство систем фреймов дает возможность уменьшить объем памяти, необходимый для их размещения в компьютере. Еще одно достоинство фреймов состоит в том, что значение любого слота при необходимости может быть вычислено с помощью соответствующих процедур или найдено эвристическими методами.
Как недостаток фреймовых систем следует отметить их относительно высокую сложность, что проявляется в снижении скорости работы механизма вывода и в увеличении трудоемкости внесения изменений в родовидовую иерархию. Кроме того, во фреймовых системах затруднена обработка исключений.
Семантические сети
Семантическая сеть, по мнению специалистов, - наиболее общий способ представления знаний, причем она появилась, по-видимому, ранее других. В ней понятия и классы, а также отношения и связи между ними представлены в виде сети. Семантическая сеть отображает совокупность объектов предметной области и отношений между ними, при этом объектам соответствуют вершины (или узлы) сети, а отношениям - соединяющие их дуги. В качестве объектов могут выступать события, действия, обобщенные понятия или свойства объектов. Свойства представляются в сети также в виде вершин и служат для описания классов объектов. Вершины сети соединяются дугой, если соответствующие объекты предметной области находятся в каком-либо отношении.
Как и в системе, основанной на фреймах, в семантической сети могут быть представлены родовидовые отношения, которые позволяют реализовать наследование свойств от объектов-родителей. Это обстоятельство приводит к тому, что семантические сети приобретают большинство недостатков и достоинств представления знаний в виде фреймов. Но основное преимущество семантических сетей заключается в их наглядности и непосредственной связанности понятий через сеть, которая позволяет быстро находить связи понятий и на этой основе управлять принимаемыми решениями. Именно этот формализм был использован в данной работе в качестве формализма для представления знаний в БЗ. Основной недостаток сетей - сложность обработки исключений. Таким образом, используя данные понятия, наша ПО на языке microLISP представляется следующим образом:
((1 "общее недомогание")
(2 "сухость, першение, саднение")
(3 "кашель сначала сухой, затем с мокротой")
(4 "голос хриплый или беззвучный")
(5 "иногда боль при глотании")
(6 "головная боль")
(7 "повышение температуры тела")
(8 "быстрая утомляемость голоса")
(9 "периодический кашель с мокротой")
(10 "охриплость с афонией")
(11 "ощущение неловкости")
(12 "жжение в горле")
(13 "кашель при обострении")
(14 "сухой кашель")
(15 "слизистая покрыта густой слизью ")
(16 "откашливание с прожилками крови"))
(("ларингит острый" (1 2 3 4 5 6 7))
("ларингит хронический катаральный" (1 2 4 8 9))
("ларингит хронический гипертрофический" (1 10 11 12 13))
("ларингит хронический атрофический" (1 2 4 14 15 16)))
4. Разработка меню экспертной системы
обеспечивающего заданные режимы
Для обеспечения наиболее понятной работы с программой разработана иерархическая структура меню.
Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций:
1. Обработка данных, полученных с клавиатуры, и высвечивание водимых и выводимых данных на экране.
2. Поддержка диалога между пользователем и системой.
3. Распознавание ситуации непонимания между пользователем и системой.
4. Обеспечение "дружественности" по отношению к пользователю.
Система интерфейса с пользователем должна эффективно обрабатывать ввод и вывод. Для этого необходимо обрабатывать вводимые и выводимые данные быстро, в ясной и выразительной форме. Необходимо также включить возможность работы с дополнительными средствами такими, как магнитные диски и дополнительные файлы данных.
Кроме того, система интерфейса должна поддерживать соответствующий диалог между пользователем и системой. Диалог - это общая форма консультации с экспертной системой.
Консультация должна завершаться ясным утверждением, выдаваемым системой, и объяснением последовательности вывода, приведшей к этому утверждению.
... И ТЕСТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА 19 РУКОВОДСТВО ПО ЭУСПЛУАТАЦИИ ПРОГРАММНОГО СРЕДСТВА 20 8.1. РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА 20 ЗАКЛЮЧЕНИЕ 22 ЛИТЕРАТУРА 23 ВВЕДЕНИЕ Тема проекта – «Разработка подсистемы вывода в диагностической экспертной системе». Данная дипломная работа была выполнена на кафедре систем информатики в лаборатории искусственного интеллекта, Института Систем Информатики ...
... правила и укажет соответствие между ответами пользователя, правилами и ответом экспертной системы. 8. Правила типа "если-то" для представления знаний. В качестве кандидата на использование в экспертной системе можно рассматривать, в принципе, любой непротиворечивый формализм, в рамках которого можно описывать знания о некоторой проблемной области. Однако самым популярным формальным языком ...
... в экспертной системе с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области искусственного интеллекта называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую ...
... и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта. Средняя продолжительность 1 - 2 недели. Глава 3. Анализ теории экспертных систем и выводы 3.1.Выбор подходящей проблемы для разработки экспертной системы. Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает: - определение проблемной области и ...
0 комментариев