Добавить в цитаты Настройки чтения

Страница 1 из 2



Никита Культин

Искусственный интеллект: как создать свою экспертную систему?

Введение

В последнее время системы, обладающие “искусственным интеллектом”, стали проникать практически во все области человеческой деятельности: технику, транспорт, промышленность, медицину, менеджмент, банковский сектор, юриспруденцию, науку и образование. Разработчики и потенциальные пользователи систем искусственного интеллекта (ИИ) возлагают на эти системы большие надежды, предполагая, что они смогут решить большинство, если не все, проблемы. Вместе с тем, мода на искусственный интеллект может привести к тому, что системы ИИ будут разрабатываться для тех областей, в которых их применение не всегда оправдано и будет неэффективно, а иногда даже невозможно. Поэтому важно понимать, что такое "искусственный интеллект", какие существуют технологии искуственного интеллекта и в каких областях они могут использоваться.

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

Искусственный интеллект и экспертная система

В настоящее время искусственный интеллект зачастую сводят к машинному обучению, что не совсем правильно. Машинное обучение (machine learning) и его разновидности, например, нейросети (neural network), это – технология, позволяющая решать задачи из области искусственного интеллекта (распознавание образов, распознавание речи, машинный перевод, анализ больших данных и т.д.). Другой технологией искусственного интеллекта являются экспертные системы (expert system).

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

Экспертная система (ЭС) – компьютерная программа, использующая экспертные знания для обеспечения высокоэффективного решения задач в узкой предметной области.

Есть и другие определения термина "экспертная система".

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

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

При реализации экспертной системы важным вопросом является выбор архитектуры и языка программирования.

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

Знания о предметной области меняются во времени – уточняются характеристики объектов и связи между ними, выявляются новые связи, правила поведения объектов, факты. Изменение знания о предметной области требует изменений поведения экспертной системы, изменения базы знаний. Исходя из этого, можно утверждать, что архитектура экспертная система должна быть открытой, т.е. у пользователя должна быть возможность "повышения квалификации" экспертной системы в процессе ее использования путем корректировки базы знаний, причем, желательно, без привлечения программистов. Указанному требованию соответствует экспертная система, в которой база знаний отделена от кода и представлена совокупностью правил логического вывода, находящихся во внешнем текстовом файле доступном для редактирования. В такой архитектуре программный код, реализующий интерфейс пользователя, механизм заключений и объясняющую систему, называют оболочкой экспертной системы, при этом задача создания экспертной системы сводиться к задаче создания базы знаний – совокупности правил логического вывода.

Экспертная система как инструмент поддержки принятия решений

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

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

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

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

Медицина

– Диагностика и выявление причин болезни

– Выбор стратегии лечения

– Подбор лекарства

– Анализ кардиограммы

– Подбор диеты

Техника



– Выявление причин неисправностей оборудования

– Устранение аварийных ситуаций

– Выбор конфигурации системы

– Выбор технологии, материала, комплектующих, оборудования

Бизнес

– Оценка инвестиционной привлекательности проекта

– Оценка рисков проекта

– Выбор/оценка поставщика (подрядчика)

– Выбор стратегии развития бизнеса

– Формирование команды проекта

Финансы

– Оценка надежности заемщика

– Операции с ценными бумагами

– Оценка рисков

– Юриспруденция

– Выбор стратегии поведения

Мода

– Выбор стиля, элемента одежды

Экспертная система – взгляд снаружи

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

Рис. 1. Диалог с экспертом

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

Рис. 2. Диалог с экспертной системой

Архитектура экспертной системы

Архитектура экспертной системы, в которой знания представлены совокупностью правил логического вывода, показана на рис. 3.