banner banner banner
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Оценить:
 Рейтинг: 0

Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии


4.1. Экспертные системы, основанные на правилах

Системы, основанные на правилах, преобразуют знания человека-эксперта в формат, подходящий для использования в автоматизированной системе с использованием набора утверждений, т. е. фактов, и набора правил, воплощающих эти знания [18, 19]. Правила задаются в форме ЕСЛИ – ТО. Подобные экспертные системы очень популярны в медицине [20—27]. В исследовании [28] описан унифицированный фреймворк для построения подобных экспертных систем, в котором формализуются операции генерации, упрощения и представления правил.

4.2. Экспертные системы, основанные на фреймах

Фреймовые экспертные системы [29—32] функционируют на основе так называемых фреймов, представляющих собой развитую структуру данных, содержащую концептуальную информацию: именование понятия, возможные значения каждого из атрибутов, а также информацию о процедурах для обработки целевых задач. Фреймовые системы могут решать более сложные задачи по сравнению с экспертными системами, основанными на правилах [10, с. 203—204], и часто комбинируются с последними, образуя, таким образом, мощную систему для решения сложных задач [33].

4.3. Экспертные системы на основе нечеткой логики

Экспертные системы на основе нечеткой логики [34—40] построены на основе теории нечетких множеств, которая используется в процессе принятия решений. Такие системы обладают высокой надежностью и способны выполнять предварительные и эвристические рассуждения [10, с. 204].

Цель экспертных систем на основе нечеткой логики – предоставить простой способ работы в среде с высоким уровнем неопределенности. Если допускается, что сделанные экспертной системой выводы не будут точными, и при этом принимается в расчет определенная погрешность, то в таких случаях использование нечеткой логики может быть очень эффективным [41].

4.4. Экспертные системы на основе нейронных сетей

Экспертные системы на основе нейросетей, как следует из названия, используют нейронные сети для построения базы правил на основе примеров, приведенных человеком-экспертом. Экспертная система на основе нейронной сети со временем увеличивает знания, представленные в ее связях, обучаясь на примерах [42].

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

Несмотря на то что нейронные сети изначально не были предназначены для создания экспертных систем [42], этот подход активно используется в настоящее время в связи с бурным развитием алгоритмов машинного обучения [10, с. 204].

При построении экспертных систем с использованием нейросетевого подхода могут использоваться различные алгоритмы и типы нейронных сетей. Например, в статье [44] показано, как алгоритм прямого распространения ошибки (feedforward backpropagation) [45] можно использовать для прогнозирования температуры корпуса печи. В работе [46] описана экспертная система видеонаблюдения на основе рекуррентной нейронной сети (RNN) [47] и сети долгой краткосрочной памяти (LSTM) [48]. В исследовании [49] была предложена экспертная система на основе нейронной сети обобщенной регрессии (GRNN) [50] для диагностики заболевания, вызванного вирусом гепатита В.

5. Инструментарий для создания экспертных систем

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

5.1. Exsys Corvid

Exsys Corvid [51] уже много лет является одной из самых популярных коммерческих оболочек и активно используется до сих пор. Он включает в себя инструменты для программной отладки и тестирования, а также редактирования и модификации знаний и данных. Система логического вывода (Corvid Inference Engine), написанная на Java, позволяет решать сложные задачи с использованием правил ЕСЛИ – ТО.

Экспертные системы автоматизации знаний на основе Exsys Corvid нашли свое широкое применение в самых разных областях, таких как медицина, техническое обслуживание, управление человеческими ресурсами, госсектор, энергетика и т. д. [52]. Использование Exsys Corvid в качестве инструмента разработки для реализации экспертных систем описано в статьях [53—56].

5.2. CLIPS

CLIPS [57] – хорошо известный программный инструмент для построения экспертных систем на основе правил. Он написан на языке программирования C и использует прямую цепочку логического вывода (forward chaining). В настоящее время CLIPS активно используется в многочисленных современных проектах, таких как разработка экспертной системы для выбора тоннелепроходческой машины [58], прототипирование экспертных систем на основе правил [59], а также в реализации цифрового фитнес-тренера [60].

5.3. Java Expert System Shell (JESS)

Java Expert System Shell (JESS) – это еще одна популярная оболочка для создания экспертных систем. Данная оболочка является интерпретатором языка программирования Jess и может использоваться в консольных и графических приложениях. С архитектурной точки зрения система JESS основана на продукционной модели представления знаний (production system) и выполняет программы, основанные на правилах [61].

JESS успешно использовалась во многих проектах, включая интерактивную голосовую систему [62], обнаружение семантических веб-сервисов [63], анализ рисков безопасности [64], создание виртуальной лабораторной платформы [65], и многих других проектах.

5.4. Kappa PC

Kappa PC [66, 67] представляет собой оболочку, объединяющую критически важные технологии, необходимые для быстрой разработки недорогих и высокопроизводительных экспертных систем. Позволяет писать приложения с использованием графического пользовательского интерфейса и генерирует стандартный программный код ANSI C. Компоненты предметной области представлены как объекты и могут описывать объекты реального мира, такие как автомобили, или нематериальные понятия, такие как собственность, и эти объекты могут быть расширены с помощью методов [66].

Применение программного обеспечения Kappa PC можно найти во многих проектах, таких как экспертная система для проектирования коммерческих автобусов [68] или консультативная система, помогающая повысить эффективность транспортной системы [69].

5.5. Prolog

Prolog [70—72] – язык логического программирования, который очень популярен в программировании искусственного интеллекта и часто используется для разработки экспертных систем. Основными особенностями Prolog являются механизм сопоставления с образцом (pattern matching), поддержка поиска с возвратом (backtracking), а также возможность древовидного структурирования данных.

5.6. Flex

Flex – это набор инструментов для разработки экспертных систем на основе языка программирования Prolog. Поддерживает рассуждения на основе фреймов с наследованием, программирование на основе правил и процедуры, управляемые данными, полностью интегрированные в среду логического программирования [73, с. 9]. Существует множество экспертных систем, построенных с использованием этой оболочки, например: экспертная система выбора площадки для тепловых электростанций [74] и экспертная система для интерпретации результатов микроматрицы аллергенов [75].

5.7. Gensym G2

G2 – мощная экспертная система для операций в реальном времени, предоставляемая Gensym Corporation. G2 может обрабатывать десятки тысяч правил в секунду, поддерживает рассуждения как в пределах установленных временных рамок, так и рассуждения по умолчанию; определение правил на естественном языке и планирование приоритетов задач [76].

G2 используется в таких проектах, как, например, динамическое моделирование угольной шахты [77] и реализация концептуальной основы моделирования биофармацевтического завода [78], где требуются высокая производительность и надежность.

5.8. Lisp

Lisp, помимо Prolog, – это еще один популярный язык программирования для создания экспертных систем, который сегодня активно используется в таких проектах, как экспертная система диагностики и лечения диабета [79], а также во многих других.

5.9. VisiRule

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

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

6. Задачи категоризации и классификации с использованием экспертных систем

Экспертные системы могут использоваться для решения проблемы категоризации, т. е. они могут определять некоторые объекты или последствия неопределенных знаний посредством иерархической категоризации. База знаний таких категориальных систем состоит из таксономического набора вербальных категорий, а их целью является определение категории входного объекта на основе имеющихся фактов [83].

Поскольку категориальное знание состоит только из логических связей между фактами и не подвергается сомнению, его можно выразить в виде правил ЕСЛИ – ТО. Категориальные экспертные системы также требуют механизма логического вывода для решения конкретной проблемы. Механизм логического вывода может использовать методы как обратной (backward chaining), так и прямой (forward chaining) цепочки рассуждений и, кроме того, включать модули объяснения и разрешения конфликтов [84, с. 25—30].

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

6.1. Категориальная экспертная система Jurassic

Jurassic [85] является хорошо известным примером категориальной экспертной системы. Ее база знаний состоит из 423 правил, которые представлены в виде ориентированного ациклического графа с глубиной, равной пяти.

В Jurassic используется подход [86] представления объектов не в виде наборов признаков, а в виде списков, что позволяет включать в одно объектное представление копии одного и того же объекта, различающиеся своим положением в списке. Система выполняет категоризацию с использованием нейронной дедуктивной системы. В случае неопределенных знаний сходство определяется на основе общих признаков.

6.2. Экспертная система для классификации множественного интеллекта учащихся

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

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

6.3. Экспертная система классификации трещин дорожного покрытия

В исследовании [88] рассматривается мультиагентная экспертная система автоматического обнаружения признаков разрушения дорожного покрытия. В качестве компонента, выполняющего задачу классификации, в ней используется экспертная система, работающая при помощи нейронной сети. Данная система является гибридной [89] и имеет довольно сложную архитектуру, состоящую из трех подсистем, и помимо экспертной системы использует различные технологии, такие как нечеткая логика [90], обработка изображений, методы мягких вычислений (soft computing) и т. д.

6.4. Экспертная система классификации скачков напряжения