Спецпроекты

Экспертные системы помогут. Но экспертом не сделают

ПО Софт Интеграция Бизнес-приложения

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

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

Об общего — к частному

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

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

Первые ЭС — «химическая» Dendral (1965 г.) и «медицинская» Mycin (начало 70-х) — были разработаны в Стендфордском университете, они стали классическими и описаны в любом учебнике по ЭС. Обе показали неплохие результаты, с помощью первой написано около двух десятков научных работ, второй мешали проблемы с интерфейсом, а также неясности этического и правового характера («кто будет отвечать если ЭС ошибется?»).

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

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

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

car1751750960720.jpg
Экспертные системы широко применяются для диагностики и ремонта

А эксперты кто? И зачем им экспертные системы?

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

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

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

Конечно, БЗ часто, особенно в медицине, формировались по печатным источникам, но в целом это снижало качество выдаваемых рекомендаций.

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

Во взаимодействии с искусственным интеллектом

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

В технологическом плане наиболее существенный процесс в жизни экспертных систем — их объединение с системами искусственного интеллекта на основе нейросетей. В таких гибридных системах вместо всей или части базы знаний используется обученная нейронная сеть. Это дает возможность экспертной системе оперировать неполными и недостоверными знаниями, а также быть устойчивой к зашумленным данным. Используются в ЭС и другие современные технологии — облачные, обработки больших данных, Data Mining (для формирования БЗ). Есть попытки создать самообучаемые ЭС.

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


Стратегия месяца

Зачем государство ввязалось в гонку технологических вооружений

Михаил Замыцкий

директор по развитию «Ситилинк»

Событие месяца

CNews FORUM 2019 прошел с рекордным успехом

Более 1,5 тысяч гостей;     100 экспертных докладов;   50 инновационных стендов