Экспертные системы и их использование

Автор работы: Пользователь скрыл имя, 19 Ноября 2012 в 15:52, реферат

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

Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.
В информатике экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности.

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

Введение: Экспертная система.
Cтруктура, режимы функционирования, классификация экспертных систем...............................................................................................................4
Этапы разработки экспертных систем...........................................................6
Экспертная система Cyc...............................................................................7
Экспертная система CLIPS...........................................................................12
Список используемой литературы...............................................................14

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

Экспертные системы и их использование.doc

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

 

 

Введение: Экспертная система

Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.

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

Похожие действия выполняет программа-мастер (wizard). Мастера применяются как в системных программах, так и в прикладных для интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний; все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем.

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

 

Структура, режимы функционирования, классификация экспертных систем

 

Структура

  • Интерфейс пользователя (Интерфейс (от англ. interface — поверхность раздела, перегородка) — совокупность средств и методов взаимодействия между элементами системы.)
  • Пользователь
  • Интеллектуальный редактор базы знаний
  • Эксперт (Эксперт (от лат. expertus — опытный) — специалист, дающий заключение при рассмотрении какого-нибудь вопроса.)
  • Инженер
  • Рабочая (оперативная) память
  • База знаний
  • Решатель (механизм вывода)
  • Подсистема объяснений

База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, дает рекомендации по разрешению проблемы.

Как правило, база знаний ЭС содержит факты (статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты.

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

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

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

База знаний ЭС создается  при помощи трех групп людей:

  1. эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
  2. инженеры по знаниям, являющиеся специалистами по разработке ИИС;
  3. программисты, осуществляющие реализацию ЭС.

Режимы функционирования Экспертных систем

ЭС может функционировать  в 2-х режимах.

  1. Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний ЭС.
  2. Режим консультации — пользователь ведет диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС. Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее вероятных при данных симптомах.

Классификация Экспертных систем по решаемой задаче

  • Интерпретация данных
  • Диагностирование
  • Мониторинг
  • Проектирование
  • Прогнозирование
  • Сводное Планирование
  • Обучение
  • Управление
  • Ремонт
  • Отладка

Классификация Экспертных систем по связи с реальным временем

  • Статические ЭС
  • Квазидинамические ЭС
  • Динамические ЭС

 

Этапы разработки Экспертных систем

 

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

Наиболее известные/распространённые ЭС

  • CLIPS — весьма популярная ЭС (public domain)
  • OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов

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

Cyc — проект по созданию объёмной онтологической базы знаний, позволяющей программам решать сложные задачи из области искусственного интеллекта на основе логического вывода и привлечения здравого смысла.

Проект начал Дуглас Ленат в 1984 году в Microelectronics and Computer Technology Corporation. Название «Cyc» (образованное от «encyclopedia» произносится «цик») является зарегистрированной торговой маркой компании Cycorp, Inc в Остине, которой управляет Ленат и созданной для разработки Cyc. База знаний является собственностью компании, однако небольшая часть базы, предназначенная для установления общего словаря для программ автоматического рассуждения, была выпущена как OpenCyc под открытой лицензией. Позднее, Cyc стала доступной для исследователей ИИ под специальной исследовательской лицензией как ResearchCyc.

Типичным примером знаний в базе являются «Всякое дерево является растением» и «Растения смертны». Если спросить «умирают ли деревья?», машина логического  вывода может сделать очевидный  вывод и дать правильный ответ. База Знаний (англ. Knowledge Base или KB) содержит более миллиона занесённых туда людьми утверждений, правил и общеупотребительных идей. Они формулируются на языке CycL, который основан на исчислении предикатов и имеет схожий с лиспом синтаксис. Англоязычные пользователи шутят что они «велосипедисты» (от англ. cyclist — велосипедист).

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

Описание Базы Знаний, терминология

Концепции в Cyc называются константами. Имена констант начинаются с необязательных символов «#$» и чувствительны к регистру. Существуют константы для:

  • Отдельных элементов, которые называются individual, например #$BillClinton или #$France.
  • Совокупностей (Collections) таких, как например, #$Tree-ThePlant (в которую входят все деревья) или #$EquivalenceRelation (в которой содержатся все отношения эквивалентности). Член совокупности называется экземпляром данной коллекции.
  • Функций истинности (Truth Functions) которые можно применять к одной или нескольким концепциям и возвращающие значение истина или ложь. Например #$siblings (потомки одного родителя) является отношением родства, истинным только в том случае, когда два его аргумента являются братьями или сёстрами. По соглашению, константы функций истинности начинаются с буквы в нижнем регистре. Функции истинности поддаются разбиению на логические связки (такие как #$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists, и т. д.) и предикаты.
  • Функций Functions, которые образуют новые термы из данных. Например, если передать функции #$FruitFn в качестве аргумента тип (или коллекцию) растений, вернёт коллекцию их фруктов. По соглашению, имена констанит функций начинаются с буквы в верхнем регистре и заканчиваются строкой «Fn».

Наиболее важными предикатами  являются #$isa и #$genls. Первый является утверждением что некий элемент является экземпляром  некой коллекции, а второй что  коллекция является подколлекцией другой коллекции. Факты о концепциях декларируются с помощью особых высказываний языка CycL. Предикаты записываются в скобках перед своими аргументами:

 

(#$isa #$BillClinton #$UnitedStatesPresident)

 

означает что «Билл  Клинтон входит в совокупность президентов США», а высказывание

 

(#$genls #$Tree-ThePlant #$Plant)

читается как «Все деревья являются растениями».

(#$capitalCity #$France #$Paris)

значит: «Париж столица  Франции».

 

Высказывания также  могут содержать переменные, строки начинающиеся со знака «?». Эти высказывания называются «правилами». Одно из важнейших правил, относящихся к предикату #$isa читается:

 

(#$implies

(#$and

(#$isa ?OBJ ?SUBSET)

(#$genls ?SUBSET ?SUPERSET))

(#$isa ?OBJ ?SUPERSET))

 

что означает «если OBJ является экземпляром коллекции SUBSET, а SUBSET в  свою очередь является подколлекцией SUPERSET тогда также OBJ является экземпляром  коллекции SUPERSET». Другой типичный пример:

 

(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)

 

что означает что любой  экземпляр коллекции #$ChordataPhylum (то есть любое хордовое) связан с самкой животного (экземпляром #$FemaleAnimal), которая  является его матерью (что описывается  предикатом #$BiologicalMother).

База знаний Cyc разделена на микротеории (Mt), коллекции концепций и фактов принадлежащих одной конкретной области знаний. В отличие от полной базы знаний, всякая микротеория должна быть свободной от противоречий. Всякая микротеория имеет название, которое является обычной константой; по соглашению константы микротеорий содержат строку «Mt». Пример — #$MathMt, микротеория содержащая математические знания. Микротеории могут наследоваться одна от другой и организованы в иерархию: одной из специализаций #$MathMt является #$GeometryGMt — микротеория о геометрии.

OpenCyc

Последняя версия OpenCyc, 1.0 была выпущена в июле 2006 года. OpenCyc 1.0 включает в себя полную онтологию Cyc содержащую сотни тысяч выражений, миллионы утверждений, связывающих  термы между собой. База знаний содержит 470000 концепций и 306000 фактов и её можно просмотреть на сайте OpenCyc. Первая версия OpenCyc была выпущена в мае 2001 года и содержала только 6000 концепий и 60000 фактов. База знаний выпущена под лицензией Apache. Cycorp намерена выпускать OpenCyc под параллельными, менее жесткими лицензиями чтобы удовлетворить потребности своих пользователей. Интерпретатор CycL и SubL (программа, которая позволяет вам просматривать и изменять базу данных и делать выводы) выпущена бесплатно, но только в двоичном виде, без исходных текстов. Она работает как под GNU/Linux так и под Microsoft Windows.

ResearchCyc

В июле 2006 года Cycorp выпустила ResearchCyc 1.0, бесплатную (но с закрытыми исходниками) версию Cyc предназначенную для исследовательского сообщества. (ResearchCyc находился в бета версии в течение всего 2004 года, а выпущена в бета-тестирование она была в феврале 2005.) В дополнение к таксономической информации из OpenCyc, ResearchCyc включает значительно больше семантических знаний (то есть дополнительные факты) о концепциях в своей базе знаний, и включает большой лексикон, инструменты для грамматического разбора и генерации Английского языка, написанные на языке Java интерфейсы для редактирования знаний и создания запросов к базе.

Информация о работе Экспертные системы и их использование