Экспертные системы управления бизнес процессами это

Дошина, А. Д. Экспертная система. Классификация. Обзор существующих экспертных систем / А. Д. Дошина. — Текст : непосредственный // Молодой ученый. — 2016. — № 21 (125). — С. 756-758. — URL: https://moluch.ru/archive/125/34485/ (дата обращения: 03.06.2023).

Keywords: expert system, structure expert system, classification of expert systems.

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

Как устроена общая архитектура экспертных систем? Душкин объяснит

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

Подобные задачи выполняет программный продукт, называемый «Мастер» (англ. Wizard). Мастера применяются в прикладных и системных программах для упрощения интерактивного общения с пользователем. Основным отличием данных программ — это отсутствие базы знаний — все действия запрограммированы.

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

В настоящее время «классическая» концепция экспертных систем 70–80 годов переживает серьезный кризис, связанный с её сильной ориентацией на текстовый человеко-машинный интерфейс, почти полностью вытесненный графическим интерфейсом (GUI). Помимо этого, «классическая» концепция экспертных систем плохо согласуется с реляционной моделью данных, что создает сложности в работе с современными промышленными системами управления базами данных (СУБД). Время от времени энтузиастами предпринимаются попытки объединить «классический» и современный подход к построению пользовательского интерфейса, но они не находят поддержки среди крупных компаний-производителей.

Структура ЭС

В состав ЭС входят следующие элементы:

‒ Интеллектуальный редактор базы знаний

‒ Инженер по знаниям

‒ Рабочая (оперативная) память

‒ Решатель (механизм вывода)

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

База знаний состоит из двух составляющих:

 факты — статические сведения о предметной области;

Какова роль и как работают экспертные системы в управлении компаниями.

 правила — набор инструкций, который позволяет выводить новые факты, исходя из уже известных.

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

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

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

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

Режимы функционирования

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

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

Классификация ЭС

По решаемой задаче:

‒ Диагностирование;

По связи среальным временем:

 Статические — решающие задачи в условиях, не изменяющихся во времени исходных данных и знаний.

 Квазидинамические — интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.

 Динамические — решающие задачи в условиях изменяющихся во времени исходных данных и знаний.

Этапы разработки ЭС

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

‒ Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.

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

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

‒ Реализация ЭС — создается один или несколько прототипов ЭС, решающие требуемые задачи.

‒ Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом.

Наиболее известные ЭС

 CLIPS — весьма популярная оболочка для построения ЭС. CLIPS является продукционной системой. Реализация вывода использует алгоритм Rete. CLIPS является одной из наиболее широко используемых инструментальных сред для разработки экспертных систем благодаря своей скорости, эффективности и бесплатности.CLIPS разработан для применения в качестве языка прямогологического вывода(forward chaining) и в своей оригинальной версии не поддерживает обратного вывода (backward chaining). Как и другие экспертные системы, CLIPS имеет дело с правилами и фактами.

 OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов. OpenCyc является сокращенным открытый вариантомбазы знаний Cyc. В БД OpenCyc содержится 47000 понятий и 300000 фактов.

 WolframAlpha — база знаний и набор вычислительных алгоритмов, интеллектуальный «вычислительный движок знаний». Wolfram Alpha вычисляет ответы на большое количество разнообразных вопросов. Для подбора ответов механизм использует встроенные модели из разных областей знаний, заполненные данными и алгоритмами, которые и представляют собой реальные познания.

 MYCIN — наиболее известная диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Также Mycin использовалась для диагностики заболеваний свертываемости крови. MYCIN оперировала с помощью довольно простоймашины вывода, и базы знаний из ~600 правил.

 HASP/SIAP — интерпретирующая система, которая определяет местоположение и типы судов в Тихом океане по данным акустических систем слежения. Данные имеют вид сонограмм, являющихся аналоговыми записями спектров принятой датчиками звуковой энергии. Для их интерпретации система применяет знания о характерных особенностях сонограмм различных типов кораблей.

 Акинатор — интернет-игра. Игрок должен загадать любого персонажа, а Акинатор должен его отгадать, задавая вопросы. База знаний автоматически пополняется, поэтому программа может отгадать практически любого известного персонажа. На каждом вопросе Акинатор пытается выбрать такой вопрос, который отсеет наибольшее количество вариантов. Каждый раз после вашего ответа у Акинатора «в голове» остаётся список персонажей, которые соответствуют вашим ответам.

 IBMWatson — суперкомпьютер фирмы IBM, способный понимать вопросы, сформулированные на естественном языке, и находить на них ответы в базе данных. В первую очередь Watson стали учить медицине, а конкретно, онкологии. Архитектура Watson такова, что позволяет осуществлять параллельные и распределенные вычисления, т. е. сразу работать с множеством задач в параллельном режиме. Watson способен работать с супербольшими данными, т. е. структурированной и неструктурированной информацией.

Читайте также:  Фирма как основная структурная единица бизнес деятельности

Вывод

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

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

  1. Сложносистемное мышление: Материя, разум, человечество. Майнцер, Клаус. Серия:Синергетика: от прошлого к будущему
  2. 2009 г.; Изд-во: М.: Книжный дом «Либроком»
  3. Интеллектуальные системы управления организационно-техническими системами. Антамошин, А.Н.; Близнова, О.В.; Большаков, А.А. и др. 2016 г.; Изд-во: М.: Горячая линия — Телеком.
  4. Принятие решений. Интегрированные интеллектуальные системы. Арсеньев, Ю.Н.; Шелобаев, С.И.; Давыдова, Т.Ю. 2003 г.; Изд-во: М.: Юнити-Дана
  5. Искусственный интеллект. Стратегии и методы решения сложных проблем. Люгер, Джордж Ф. 2003 г.; Изд-во: М.: Вильямс.
  6. Масленникова, О.Е.; Попова, И. В. Основы искусственного интеллекта. 2008 г.; Изд-во: Магнитогорск: Магнитогорский государственный университет

Основные термины (генерируются автоматически): CLIPS, баз знаний, база знаний, система, MYCIN, задача, знание, логический вывод, предметная область, проблемная область.

Источник: moluch.ru

ECM vs BPM – что выбрать для управления бизнес-процессами?

Работа с информацией — неотъемлемая часть деятельности любой компании. Фактически, каждая операция, от заказа сырья до звонка клиенту, предполагает работу с данными. А потому очевидно, что чем лучше будет выстроена работа с информацией, тем большего успеха сможет добиться предприятие.

При этом вся информация, которой владеет компания, может храниться в двух вариантах:

  • Структурированная.
  • Неструктурированная.

Самая простая система для работы с информацией внутри компании – это СЭД (система электронного документооборота). Рабочим объектом СЭД является именно документ, и главное внимание уделено его статусу:

  • Создан.
  • Согласован.
  • Подписан.
  • Отправлен клиенту.

Системы документооборота ECM очень похожи на СЭД, однако их функции шире. Расшифровка ECM (Enterprise Content Management» – «управление корпоративным контентом» уже даёт понять, что здесь рабочим объектом является контент. А это понятие шире, чем только документация. В него входят и фото, и видеоматериалы, и файлы различных программ, и веб-документы.

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

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

Какие задачи решает ECM?

ECM vs BPM

ECM vs BPM – дилемма, которая часто встаёт, когда нужно провести работу по цифровизации бизнес-процессов и документооборота, сильно связанных между собой. Чтобы не ошибиться с выбором, полезно знать, какие же функции выполняет каждая из этих систем.

Главная функция ECM – это сбор, хранение и предоставление доступа к информации. Причём речь идёт не только о документах, но и о так называемой базе знаний компании, включающей документы, файлы, папки, медиа и веб. Ещё одной важной задачей такой системы становится постепенное превращение всех неструктурированных данных в структурированные, то есть такие, из которых можно быстро извлечь самую важную информацию.

Однако стоит иметь в виду, что почти все современные примеры ECM выполняют далеко не только эту функцию. Сегодня, когда планируется внедрение ECM, обычно предполагается, что она будет в той или иной степени выполнять и функцию BPM (Business Process Management, «управление бизнес-процессами»).

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

Почти вся работа любой компании состоит из бизнес-процессов. Однако система документооборота ECM не работает с бизнес-процессами непосредственно, потому что у неё другой рабочий объект: документ (контент). А значит, если на входе имеется пустой новый документ, то благодаря работе программы он оказывается составлен, подписан, оформлен и отправлен нужным адресатам, а все данные из него сохранены.

Что же касается бизнес-процессов, то их результатом является не документ, а вполне реальные вещи: отгрузка товара, оказание услуги, отправка заказа.

Здесь мы подходим к тонкой грани между бизнес-процессом и документооборотом. А значит, и между системами BPM и ECM:

  • Очевидно, что большинство бизнес-процессов не обойдутся без документов.
  • Однако сам по себе документ не нужен, он имеет ценность лишь как часть процесса.

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

В чём преимущества BPM перед ECM?

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

Скриншот договоры

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

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

Таким образом, в противостоянии ECM vs BPM последняя модель часто выигрывает. Но это связано с тем, что от ECM подсознательно ожидают, что она будет также способна координировать бизнес-процессы. Если же говорить исключительно о функции документооборота, а также работы с информацией, то выбор в пользу ECM системы будет рационален, но принимая такое решение стоит учитывать, что ECM система обеспечивает ограниченные возможности функционального масштабирования.

Comindware представляет Low-code BPMS платформу для цифровой трансформации бизнеса. Закажите демо, чтобы увидеть платформу в действии и оценить её преимущества для вашего бизнеса.

Елена Гайдукова, маркетолог-аналитик. Работает в сфере BPM и автоматизации процессов с 2014 года. В настоящее время является бренд-менеджером решений на базе Comindware Business Application Platform.

Источник: www.comindware.ru

Читайте также:  Заморозка ягод как бизнес

Искусственный интеллект на практике: создаём экспертную систему для приготовления шашлыка

Обложка: Искусственный интеллект на практике: создаём экспертную систему для приготовления шашлыка

Экспертные системы — это вычислительные системы, способные в определённой предметной области принимать решения, схожие с решениями экспертов-людей.

Выглядит это примерно так: система задаёт ряд вопросов, причём последующие вопросы зависят от полученных ответов. Затем система делает вывод и показывает всю цепочку рассуждений, которая к нему привела. То есть знания и опыт эксперта тиражируются, а что не менее важно — тиражируется сам ход его рассуждений.

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

Таким образом, экспертные системы могут применяться для довольно широкого круга задач:

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

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

Тем не менее, в настоящее время существует и используется довольно много экспертных систем в сфере медицины, химии и военного дела. Вот некоторые примеры:

  • Система по глобальной онтологии;
  • Акинатор — система, которая отгадывает загаданного вами персонажа;
  • MYCIN — выбор антимикробной терапии в условиях стационара;
  • DENDRAL — химический анализ сложных молекул;
  • поговаривают также, что отечественная система «Периметр», предназначенная для ответного удара в случае уничтожения командных пунктов, оснащена экспертной системой (которая и принимает решение о нанесении удара).

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

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

Немного теории

Для начала разберёмся, что нам предстоит сделать.

Итак, экспертная система состоит из нескольких основных компонентов:

  • база знаний;
  • механизм логического вывода (МЛВ);
  • компонента объяснения.

База знаний

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

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

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

Получаемая при этом база знаний может быть представлена в различных видах. Это может быть, к примеру, семантическая сеть. Но более классический вариант — набор продукционных правил (продукций). Продукционное правило — это правило вида ЕСЛИ ТО . Формулируя на естественном языке: если мясо жарится долго, оно приготовилось. Где же тут действие, спросите вы. Обо всём по порядку.

Посмотрим на структуру правила более пристально.

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

Значение берётся из множества возможных значений — домена переменной. То есть наше условие «мясо жарится долго» можно переписать в виде: Время жарки = долго, где «время жарки» — переменная, а «долго» — значение. Если все возможные вопросы относительно времени жарки будут иметь ответ только «долго» и «недолго» — это и будет домен этой переменной.

Действие представляет собой присвоение истинности некоторому факту. То есть вместо человеческого «оно приготовилось», в ходе работы правила факт Мясо готово = да помечается как истинный.

Ещё раз посмотрим на то, что получилось из простого предложения эксперта. Из начального Если мясо жарится долго, оно приготовилось получается:

Переменные:

  1. Время жарки (домен: долго, недолго).
  2. Мясо готово (домен: да, нет).

Правило:

Если факт «время жарки = долго» — истинный, то факт «мясо готово = да» пометить как истинный.

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

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

Механизм логического вывода

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

Читайте также:  Что такое страховой бизнес обществознание

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

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

Существуют ещё выводимо-запрашиваемые переменные. Для них существуют и правила вывода, и вопрос пользователю. Сначала механизм логического вывода пытается определить такие переменные с помощью правил, а если не получается — задаёт вопрос.

Компонента объяснения

Ещё одна немаловажная часть экспертной системы. Именно объяснение хода рассуждений и обоснование выводов выгодно отличают экспертную систему от других отраслей искусственного интеллекта.

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

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

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

Переход к практике

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

Оболочка экспертной системы

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

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

Во-вторых, как ни странно, та же Википедия называет одним из основных недостатков экспертных систем отсутствие графического пользовательского интерфейса (взаимодействие обычно идёт через терминал). Так что наличие какого бы то ни было интерфейса (который у меня есть) — уже достаточный вклад в отрасль.

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

Модель данных можно использовать самую простую, как в теории:

  • Domain (Домен):
  • Имя.
  • Список значений.
  • Имя.
  • Домен.
  • Тип (выводимая, запрашиваемая, выводимо-запрашиваемая).
  • Вопрос для пользователя.
  • Объяснение.
  • Переменная.
  • Значение.
  • Истинность (неизвестно, истинный, ложный).
  • Список фактов-условий.
  • Факт-вывод.
  • Результат (не сработало, сработало и вывод признан истинным, сработало и не привело к получению значения переменной).

В режиме проектирования базы знаний пользователь может завести все эти данные. Затем он переходит в режим консультации. Выбирается цель консультации, и запускается процедура GoConsult . Вот схема её работы:

Как видно, эта процедура вызывает проверку правил DoRule , её тоже рассмотрим подробно:

DoRule в свою очередь вызывает GoConsult , то есть алгоритм получается косвенно-рекурсивным. А в результате мы получаем факт — значение искомой переменной, которое введено пользователем или получено из базы знаний, или отсутствие значения, если истину определить не удалось.

Теперь, когда у нас есть модель данных и алгоритм, можем переходить к самому интересному — проектированию базы знаний.

База знаний

Что ж, начнём записывать в систему свои знания о шашлыке. При этом нужно помнить несколько вещей:

  1. Согласно алгоритму логического вывода, все условия в правиле объединены через И. Чтобы использовать ИЛИ, нужно создать несколько правил.
  2. Создать нужно не только подтверждающие что-то правила, но и противоположные. Например, если мы создаём правило ЕСЛИ Время жарки = Долго И Степень поджарки = Поджаристое, ТО Готово = Да, мы должны создать ещё такие правила: ЕСЛИ Время жарки = Только положили ТО Готово = Нет и ЕСЛИ Степень поджарки = Ещё сырое, ТО Готово = Нет.
  3. Важен порядок правил в базе знаний.

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

Вершины определяют список переменных и возможных значений, а также какие переменные будут запрашиваемыми, а какие выводимыми. Дуги указывают на некоторые связи, из которых впоследствии получаются правила. Здесь я предположил, что мы будем жарить курицу или свинину, а система может подсказать три действия — ждать, перевернуть, снимать. Исходя из вашего опыта, вы можете сделать другие правила, расширить или переделать эту базу знаний. Вообще говоря, этим база знаний и хороша, что её ещё долго можно расширять, включая новые виды мяса, предполагаемые действия, обстоятельства и так далее. Пока же у меня получилось 27 правил:

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

Я сказал, что жарю свинину минут 10, и система посоветовала подождать ещё, и вот почему:

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

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

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин