Найти в Дзене
11,8K подписчиков

Экспертные системы

704 прочитали

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

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

В первую очередь возникли проблемы организационного характера, если так можно выразиться. Хотя в целом они не являются непреодолимыми, разработка экспертных систем серьёзно «провисла». Дело в том, что эксперты не стремятся делиться своим знанием, особенно в целях его неограниченного распространения и применения. Ведь если экспертная система будет решать все задачи за человека в заданной проблемной области, то зачем нужен эксперт? Другими словами, это вполне обоснованное опасение специалиста в том, что если он поделится своим знанием, то тем самым «размоет» свою полезность и востребованность. Тем не менее, вопрос вполне решаем с учётом того, что большая часть действительно нужных знаний изложена в письменных источниках — статьях и книгах. И их можно использовать для построения баз знаний интеллектуальных систем.

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

Развитие экспертных систем началось чуть ли не с началом эры искусственного интеллекта, и разработка этого класса систем была вторым существенным прорывом в исследованиях.-2

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

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

Развитие экспертных систем началось чуть ли не с началом эры искусственного интеллекта, и разработка этого класса систем была вторым существенным прорывом в исследованиях.-3

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

Однако перед тем как перейти к подробному рассмотрению новых методик и технологий, которые пришли на смену экспертным системам, необходимо чуть более детально посмотреть, что же находится «под капотом» у традиционных экспертных систем. Это будет полезно для понимания того, как должен быть устроен символьный искусственный интеллект (или подсистема верхнего уровня в гибридном искусственном интеллекте). Итак, вот общая архитектура экспертной системы:

Развитие экспертных систем началось чуть ли не с началом эры искусственного интеллекта, и разработка этого класса систем была вторым существенным прорывом в исследованиях.-4

Кратко опишем компоненты экспертных систем, представленных на этой диаграмме:

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

2. Рабочая память содержит факты, которые вводятся пользователем при помощи интерфейса (либо как-то иначе добываются экспертной системой из внешнего мира — например, с сенсоров). При помощи фактов машина вывода активирует знания из базы знаний и выводит новые факты, которые так же помещаются в рабочую память.

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

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

Развитие экспертных систем началось чуть ли не с началом эры искусственного интеллекта, и разработка этого класса систем была вторым существенным прорывом в исследованиях.-5

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

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

Развитие экспертных систем началось чуть ли не с началом эры искусственного интеллекта, и разработка этого класса систем была вторым существенным прорывом в исследованиях.-6

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

Но более конкретно на этот вопрос мы ответим в следующей публикации.