ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Национальный исследовательский ядерный университет «МИФИ» Факультет Кибернетики Кафедра № 22 Курсовой проект Разработка консультационно-справочной системы для проблемной области: «Проектирование систем основанных на знаниях» Группа К9-222 Студент ______________________ ( Европейцев Г.А.) (подпись) (фио) Студент _________________________ ( Хасанов Н.В.) (подпись) Москва 2009 (фио) Оглавление 1 Назначение системы ........................................................................................................................... 3 2 Используемые инструменты для разработки ................................................................................... 3 3 Архитектура системы .......................................................................................................................... 4 4 Особенности реализации режима "Справка” ................................................................................... 5 5 Особенности реализации режима “Консультация” ......................................................................... 5 6 Особенности реализации интерфейсов ............................................................................................ 6 7 Сетевой график .................................................................................................................................... 7 2 1 Назначение системы Данная система предназначена для помощи разработчикам экспертных систем. Она может помочь при ответе на следующие вопросы, связанные с построением экспертных систем: Уместна ли разработка экспертной системы; Оправданна ли разработка экспертной системы; Возможна ли разработка экспертной системы; Подбор пары эксперт – инженер по знаниям; Выбор формализма для представления знаний; Выбор инструментария для реализации этой системы. Данная система позволяет ответить на эти вопросы в виде двух режимов: режим «справка» и режим «консультация». В режиме «справка» пользователю предоставляются справочные материалы по указанной тематике. В режиме «консультация» пользователю предлагается ответить на ряд вопросов. После получения ответов система выведет свои рекомендации. 2 Используемые инструменты для разработки 1. Язык программирования: C#, выбор обусловлен в первую очередь тем, что разработчики имеют богатый опыт работы с этим языком. 2. Среда разработки: Microsoft Visual Studio Express 2008 – данная версия является бесплатным аналогом пакета Microsoft Visual Studio 2008 с ограниченным функционалом. Тем не менее, проведенный анализ показал, что для разработки данного проекта среда разработки подходит. 3. Контроль версий: Для контроля версий была выбрана система SVN – т.к. имеется опыт работы и данная система обладает всеми необходимыми функциями. 3 3 Архитектура системы Компонент “Справка” Диалоговый компонент Компонент “Консультация” База тестов Объяснительный компоненет Рабочая память Компонент приобретения знаний Решатель База данных справочных статей База знаний Рассмотрим подробнее каждый компонент системы: Компонент «Справка» используется системой для отображения справочных статей, которые хранятся в базе справочных статей. Также этот компонент используется для реализации контекстно-зависимой справки. Диалоговый компонент – компонент, который на основании сценария диалога, задает пользователю вопросы, получает от него ответы, заносит факты в рабочую память и использует функции решателя для вывода других фактов. Компонент «Консультация» отвечает за формирование сценария диалога для каждого конкретного тестирования, на основании тестов, хранящихся в базе тестов и за передачу необходимых данных между тестами. Рабочая память используется диалоговым компонентом для сохранения фактов, полученных от пользователя и решателем для вывода новых фактов на основании знаний, хранящихся в базе знаний. Архитектура системы спроектирована таким образом, чтобы максимально разделить программный код с информационным обеспечением (например: Справочные статьи, Базу знаний, Базу тестов). Такой подход позволяет вносить изменения в систему, не прибегая к изменению кода. И, в дальнейшем, система может быть переориентирована в другую задачу. 4 4 Особенности реализации режима "Справка” Поскольку режим справка подразумевает сложную систему навигации по документам, то было принято решение использовать гипертекстовую методику. Каждая статья является гипертекстовым документом ( в формате HTML ). Для удобства навигации используется: 1. древовидный заголовок Обеспечивает иерархическую навигацию по всем справочным статьям. 2. панель поиска Производит поиск по ключевым словам, содержащимся в статье. Результатом будет список статей, в тексте, которых используются данные ключевые слова. 5 Особенности реализации режима “Консультация” Для реализации режима “Консультация” будет использована продукционная модель вывода. В качестве машины вывода будет использована CLIPS. Данная система является свободно распространяемой и завоевала большую популярность у разработчиков экспертных систем. Использование готовой машины вывода должно заметно ускорить процесс разработки и сэкономить время на тестирование и верификацию машины вывода. Система поддерживает следующий синтаксис правил <правило> ::= IF <список условий> THEN <список контрактов> <список условий> ::= <условие> | <условие><лог. операция><список условий> <условие> ::= <факт> | <переменная><операция сравнения><значение> | (<список условий>) <лог. операция> ::= AND | OR <операция сравнения> ::= == | >= | <= | < | > | != <список контрактов> ::= <контракт> | <контракт><список контрактов> <контракт> ::= <факт> | <математическое выражение> <математическое выражение>::= <переменная> = <арифм. выражение> <арифм. выражение> ::= <переменная> | <значение> | <арифм. выражение><арифм операция><арифм. выражение> | (<арифм. выражение>) 5 <арифм операция> ::= + | - | * | / В реализуемой системе продукций отсутствует строгая типизация, поэтому следует внимательно подходить к написанию правил. 6 Особенности реализации интерфейсов Выбрана следующая модель организации пользовательского интерфейса Диалоговая экспертная система 1 2 3 Область 1 - главное меню и панель инструментов. Область 2 – список разделов экспертной системы Область 3 – является рабочим пространством. Область рабочего пространства обеспечивает отображение режима “Консультация” и “Справка” 6 7 Сетевой график Разработка базы знаний (17.10.09 – 31.10.09) 1 Разработка диалогового компонента (17.10.09 – 31.10.09) Подключение Clips (9.10.09 - 17.10.09) I 3 Разработка компонента «Консультация» (31.10.09 – 11.11.09) 4 6 Разработка базы тестов (31.10.09 – 14.10.09) Разработка форматов данных (3.10.09 - 10.10.09) Разработка компонента «Справка» (10.10.09 – 17.10.09) 2 5 Разработка статей режима «Справка» (11.11.09 – 25.11.09) 7