Представление знаний Операции над знаниями

Автор работы: Пользователь скрыл имя, 11 Апреля 2011 в 14:14, курсовая работа

Краткое описание

Цель курсовой работы является исследование различных моделей представления знаний.
Задача курсовой работы дать определения понятия знания, показать особенности представления знаний внутри интеллектуальной системы, описать модели представления знаний и разработать операции над знаниями в логической модели представления знаний.

Содержание работы

Введение 3
Знания 4
Классификация знаний 7
Особенности представления знаний внутри ИС 10
Представления знаний 12
Модели представления знаний 14
Продукционная модель 15
Логическая модель 17
Семантические сети или сетевые модели знаний 19
Фреймовая модель знаний 21
Ленемы 24
Извлечение знаний 25
Экспертная система 26
Операции над знаниями в логической модели представления знаний 28
Заключение 34
Список используемой литературы 35

Содержимое работы - 1 файл

Курсовая Овчинникова НГ грПРИЭС-081.doc

— 179.00 Кб (Скачать файл)

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

 

10 Ленемы

     Ленемы  представляют собой смешенный тип  модели, являющийся как бы «развитием»  других моделей.

     Линема  предназначена для структурного комплексного описания понятий предметной области. По изобразительным возможностям ленемы более совершенны, чем такие традиционные модели представления знаний, как сематическая сеть, фрейм, система продукций. Однако, для некоторых понятий модель представления знаний на основе ленем может быть неудобной и даже неприемлемой. Например, это такие понятия, в описании которых очень большую роль играет внутренняя динамика. Модель, созданная на базе ленем, позволяет объединить на пользовательском уровне три существующие в настоящее время парадигмы представления знаний:

      1. логическую ;
      2. структурную (сематические сети и фреймы);
      3. процедурную.

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

 

11 Извлечение знаний

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

     Извлечение  знаний (knowledge elicitation) – это процедура взаимодействия эксперта с источником знаний, в результате которой становится явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.

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

    • Организационные неувязки;
    • Неудачный метод извлечения, не совпадающий со структурой знаний в данной области;
    • Неадекватная модель (язык) для представления знаний;
    • Неумение наладить контакт с экспертом;
    • Терминологический разнобой;
    • Отсутствие целостной системы знаний в результате извлечения только «фрагментов»;
    • Упрощение «картины мира» эксперта и др.

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

     Формирование  знаний – процесс анализа данных и выявление скрытых закономерностей  с использованием специального математического  аппарата и программных средств.

 

12 Экспертная система

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

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

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

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

     Пролог  – язык высокого уровня, имеющий строгое теоретическое обоснование и ориентированный на использование концепций и методов математической логики.

 

13 Операции над знаниями в логической модели представления знаний

     Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, процедур и программы на языке Пролог. Вопросы – это основное средство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.

     Пример  экспертной системы «Выбор профессии».

     rule - определяющий связи объектов с древовидной структурой и набором  профессий;

     - cond - определяющий характеристики  успеваемости ученика по предметам

     Файл  prof.dba:

     rule(1,"prof","Хороший  шанс преуспеть в администрировании",[1,2,3])

     rule(2,"prof","Вам  можно посвятить себя юриспруденции",[2,5,7])

     rule(3,"prof","Вы  прирожденный бухгалтер",[2,5,10])

     rule(4,"prof","Хороший  шанс преуспеть в архитектуре",[2,8])

     rule(5,"prof","Ваше  призвание - медицина",[2,9])

     rule(6,"prof","Вам  стоит попробовать себя в литературе",[4,7])

     rule(7,"prof","Попробуйте себя в политике",[4,6,7])

     cond(1,"Вы  успешно занимаетесь точными  науками")

     cond(2,"Точными  науки даются неплохо")

     cond(3,"У  вас есть успехи в гуманитарных  науках")

     cond(4,"Вы  хоть немножко разбираетесь в  гуманитарных науках ")

     cond(5,"У  вас математика -выше среднего")

     cond(6,"Математика  вам не дается")

     cond(7,"Вы  хорошо владеете родным языком")

     cond(8,"Вы  успешно занимаетесь искусствами")

     cond(9,"Вас  увлекает биология")

     cond(10,"Вам  хорошо дается экономика")

     Файл  PROG1005.pro

     /* Программа: Выбор профессии экспертная система Файл: prog1003.pro */

     /* Назначение. Демонстрация работы  экспертной системы,          */

     /* Замечание: Это выбор профессии  экспертная система. Система состоит  из базы знаний (БЗ), механизма  вывода (МВ) и системы пользовательского интерфейса (СПИ).

     domains

     CONDITIONS = BNO *

     HISTORY = RNO *

     RNO, BNO, FNO = INTEGER

     CATEGORY = SYMBOL

     database

     /* Предикаты базы данных */

     rule(RNO, symbol, CATEGORY, CONDITIONS)

     cond(BNO, STRING)

     yes(BNO)

     no(BNO)

     topic(string)

     predicates

     /* Предикаты системы пользовательского интерфейса */

     do_expert_job

     show_menu

     do_consulting

     process(integer)

     listopt

     evalans(char)

     info(CATEGORY)

     goes(CATEGORY)

     /* Предикаты механизма вывода */

     go(HISTORY, CATEGORY)

     check(RNO, HISTORY, CONDITIONS)

     notest(BNO)

     inpo(HISTORY, RNO, BNO, STRING)

     do_answer(HISTORY, RNO, STRING, BNO, INTEGER)

     erase

     clear

     goal

     do_expert_job.

     clauses

     /* Cистема пользовательского интерфейса (часть 1) */

     do_expert_job :- makewindow(1,7,7,"prof EXPERT SYSTEM ",0,0,25,80),

     show_menu,

           nl,write(" Press space bar. "),

           readchar(_),

           exit.

     show_menu :- write(" "),nl,

           write(" * * * * * * * * * * * * * * * * * * "),nl,

           write(" *         MEDICAL EXPERT          * "),nl,

           write(" *                                 * "),nl,

           write(" * 1. Load KBS                     * "),nl,

           write(" * 2. Consultation                 * "),nl,

           write(" * 3. Save KBS                     * "),nl,

           write(" * 4. Exit the system              * "),nl,

           write(" *                                 * "),nl,

           write(" * * * * * * * * * * * * * * * * * * "),nl,

           write(" "),nl,

           write("Please enter your choice: 1,2,3 or 4 : "),nl,

           readint(Choice),

           process (Choice).

     process(0).

     process(1) :- consult("prof.dba"),do_consulting.

     process(2) :- do_consulting.

     process(3) :- save("prof.DBA").

     process(4) :- exit.

     do_consulting :- goes(Mygoal),nl,nl,

           go([],Mygoal),

           !.

     do_consulting :- nl, write(" Ничем не могу вам помочь"),

           nl,write(" Пожалуйста  посмотрите и выбирете базу. "),nl,

           clear.

     goes(Mygoal) :- clear,

           clearwindow,

           nl,nl,

           write(" "),nl,

           write(" WELCOME TO THE prof EXPERT SYSTEM "),nl,

           write(" "),nl,

Информация о работе Представление знаний Операции над знаниями