База знаний как часть экспертной системы
Сейчас все только и говорят об ИИ, который поглощает терабайты данных и учится сам. А давайте вспомним кое‑что попроще — но от этого не менее крутое. Представьте: не надо заставлять машину разбираться с нуля. Можно просто вложить в неё то, что уже знают люди. Именно так появились экспертные системы (ЭС) — те самые «умные» программы, которые реально работают и помогают. Их фишка не в самообучении, а в том, чтобы хранить и применять знания настоящих профи: врачей, геологов, инженеров.
Мозг ЭС — база знаний. По сути, это концентрат опыта: факты и правила, которые вытащили из голов экспертов и упаковали так, чтобы компьютер мог с ними работать.
Давайте разбираться: как это устроено, с чего всё начиналось и почему без базы знаний экспертная система — как костюм без человека.
Экскурс в историю экспертных систем
В конце 1960‑х исследователи искусственного интеллекта сместили фокус с теоретических дискуссий на практические задачи. Вместо того чтобы создавать «мыслящую машину», они решили использовать уже существующие знания профессионалов. Проще говоря — собрать мудрость экспертов в одну базу, а потом научить машину этой базой пользоваться.
Первые ласточки появились уже в середине 1960‑х:
-
DENDRAL (Стэнфорд, 1965) — «химическая» система, которая по данным масс‑спектрометрии угадывала молекулярную структуру органических соединений.
-
MYCIN (1970‑е) — медицинский помощник, который диагностировал бактериальные инфекции крови и менингит, а ещё подбирал антибиотики.
MYCIN особенно впечатляла: в её базе было около 600 правил формата «ЕСЛИ‑ТО», впитавших опыт врачей‑инфекционистов. И что круче всего — система не просто ставила диагноз (часто не хуже живого специалиста!), но и объясняла, как пришла к выводу. Можете представить? Машина отвечала на вопросы «Почему?» и «Как?».
Этот успех породил волну систем в 1980‑х:
-
XCON (от Digital Equipment Corporation) — помогала конфигурировать компьютерные системы.
-
PROSPECTOR — анализировала геологические данные и искала месторождения.
Тогда же оформилась тройка ключевых ролей:
-
Эксперт — тот, кто делится знаниями.
-
Инженер по знаниям — переводчик с «человеческого» на «машинный».
-
Пользователь — тот, кто применяет систему в деле.
Итог прост: базы знаний и экспертные системы развивались рука об руку. Чем умнее становились способы хранить и обрабатывать информацию, тем сложнее были задачи, которые они решали.
Структура экспертной системы
Чтобы понять, как работает экспертная система, начнём с её устройства: разберём основные блоки и то, как они взаимодействуют между собой.
База знаний (БЗ)
В отличие от обычной базы данных, в базе знаний представлена набором правил и закономерностей, которые машина может понимать и применять. Она включает:
-
Факты. Статические, неизменяемые в рамках сеанса сведения о предметной области (например, «уровень гемоглобина в норме составляет 130-160 г/л», «сталь марки Ст3 имеет предел текучести 245 МПа»).
-
Правила. Знания вида «ЕСЛИ [условие], ТО [действие/заключение]». Они представляют собой эвристики — логические цепочки, которыми руководствуется эксперт.
-
Метазнания. Это, грубо говоря, «знания о знаниях». Представьте, что у вас есть набор правил для решения задач. Метазнания объясняют:
- как и когда эти правила применять;
- насколько им можно доверять;
- что делать, если ситуация неясна.
-
Описания объектов и их атрибутов (онтологии). Это своего рода «словари» для машин. Они описывают объекты существуют, их свойства и взаимосвязь. Так компьютер учится понимать мир примерно как человек — через понятия и их взаимосвязи.
Механизм логического вывода (инференционный двигатель)
Это «двигатель» системы, алгоритмическое ядро. Он не обладает собственными знаниями, но умеет манипулировать содержимым БЗ. Его основные функции:
-
Сопоставление. Анализ текущей ситуации (введенных пользователем фактов) с условиями правил из БЗ.
-
Выбор стратегии вывода. Определение направления рассуждений — от данных к цели (прямой вывод, или движение «вперед») или от гипотезы (цели) к данным, ее подтверждающим (обратный вывод, или движение «назад»).
-
Разрешение конфликтов. Если одновременно активируются несколько правил, механизм выбирает одно по определенному приоритету (например, наиболее специфичное или последнее использованное).
-
Обеспечение диалога. Запрос у пользователя недостающих данных для продолжения логической цепочки.
Пользовательский интерфейс
Посредник между человеком и системой. Он должен быть не просто удобным для ввода данных, а “разговаривать” с пользователем на привычном для его профессии языке. Например, врач ждёт одних формулировок, инженер — других.
Подсистема объяснений
Это «голос разума» системы. Она:
-
показывает, как было получено заключение;
-
объясняет, почему нужны конкретные данные;
-
помогает пользователю доверять результатам.
Без неё система выглядит как чёрный ящик — выводы есть, а логики не видно.
Интеллектуальный редактор базы знаний
Это, по сути, рабочая панель инженера по знаниям. С ним можно:
-
вносить новые правила;
-
корректировать старые;
-
сразу проверять, не конфликтуют ли они между собой.
Так база знаний и экспертная система работают как единое целое: одно без другого просто не функционирует.
Какие существуют модели представления знаний
Выбор способа формализации знаний — это определяющий этап в проектировании ЭС. От адекватности модели предметной области зависят эффективность работы и сложность механизма вывода. Рассмотрим основные модели.
Продукционные модели (системы правил)
Самый старый и популярный способ записать знания в системе — это продукционные модели, или просто «правила». Выглядит это так: «ЕСЛИ что‑то происходит, ТО делаем вот это».
Плюс в том, что с такими правилами удобно работать:
-
можно легко добавить новое или убрать ненужное;
-
они похожи на человеческие «лайфхаки» и понятны большинству;
-
их просто читать и проверять.
Но есть и минусы. Когда правил становится очень много (тысячи), начинаются проблемы:
-
где‑то правила начинают друг другу противоречить;
-
трудно быстро найти нужное;
-
сложно описать что‑то сложное, где много уровней и связей.
Пример реального правила: «ЕСЛИ загорелся индикатор „давление масла“, но уровень масла в норме, ТО, скорее всего, сломался датчик или масляный насос».
Семантические сети
Семантические сети — это способ показать знания в виде картинки‑схемы. Представьте граф, в котором:
-
узлы — это понятия или предметы (например, «Бигль», «Собака»);
-
стрелки между ними — связи типа «является», «входит в состав», «имеет свойство».
Так легко нарисовать иерархии и ассоциации. Например:«Бигль» → (is‑a) → «Собака» → (is‑a) → «Хищное млекопитающее» → (is‑a) → «Животное».
А ещё система может «додумывать»: если у «Собаки» есть свойство «лает», то и «Бигль» его наследует — благодаря иерархии.
Фреймовые модели
Суть в том, что мы описываем что‑то (объект или ситуацию) через «шаблон» — так называемый фрейм.
Представьте карточку с пустыми полями: это и есть фрейм. Поля называются «слотами» — по сути, это атрибуты объекта. В каждый слот можно вписать:
-
конкретное значение;
-
правило, как это значение вычислить;
-
ссылку на другой фрейм (то есть на другую карточку).
Например, фрейм «АВТОМОБИЛЬ» может содержать такие слоты:
-
МАРКА (например, «Toyota»);
-
МОДЕЛЬ (например, «Camry»);
-
ДВИГАТЕЛЬ (здесь не текст, а ссылка на отдельный фрейм «ДВИГАТЕЛЬ»);
-
ГОД ВЫПУСКА (например, 2023).
Такая модель удобна, когда нужно описать сложный объект со множеством связанных деталей.
Логические модели
Логические модели — это способ записать знания «на языке математики». А точнее математической логики. Знания превращаются в формулы — вроде уравнений, только для смыслов. Система «рассуждает» с помощью логических правил. Например, применяет метод резолюции, чтобы доказать или опровергнуть утверждение.
Плюс: всё строго и точно — никаких двусмысленностей.
Минус: в жизни часто встречаются «серые зоны»:
-
не хватает данных;
-
информация расплывчатая;
-
факты противоречат друг другу.
С таким логическая модель справляется плохо — ей нужны чёткие, непротиворечивые исходные данные.
Онтологические модели
Онтологические модели — это следующий шаг после семантических сетей и фреймов. По сути, это подробный «словарь» для конкретной области знаний.
Что в него входит:
-
чёткие определения понятий (что значит тот или иной термин);
-
свойства этих понятий (какие у них характеристики);
-
связи между ними (как они соотносятся друг с другом).
Это нужно, чтобы:
-
сделать базу знаний более строгой — без двусмысленностей;
-
научить машины «понимать» термины одинаково;
-
дать разным системам возможность обмениваться знаниями.
На практике часто используют «микс» моделей. Например:
-
продукционные правила (те самые «ЕСЛИ — ТО») — чтобы описать, как принимать решения;
-
фреймы или онтологии — чтобы выстроить чёткую структуру объектов в предметной области.
Так система получается и гибкой, и строгой одновременно.
Классификация экспертных систем
Разнообразие задач, которые решают экспертные системы, порождает множество подходов к их систематизации. Классификация ЭС — не просто теоретическое упражнение: она служит практическим инструментом, позволяющим:
-
определить тип решаемой задачи;
-
понять, какие данные и знания задействованы;
-
выбрать оптимальную архитектуру системы;
-
подобрать подходящую модель представления знаний.
Ключевые основания для классификации:
По типу решаемой задачи. ЭС группируют в зависимости от того, какую интеллектуальную функцию они выполняют:
-
интерпретация данных;
-
диагностика неисправностей или заболеваний;
-
мониторинг процессов в реальном времени;
-
проектирование объектов и систем;
-
прогнозирование развития ситуаций;
-
сводное планирование ресурсов;
-
оптимизация решений;
-
обучение и поддержка принятия решений;
-
управление технологическими процессами;
-
ремонт и отладка оборудования.
По связи с реальным временем. Здесь важен фактор динамики данных и знаний:
-
статические ЭС — работают с неизменными во времени данными и знаниями (например, справочные системы);
-
квазидинамические ЭС — обрабатывают информацию, меняющуюся с фиксированным интервалом (например, отчёты раз в час);
-
динамические ЭС — решают задачи в условиях постоянно обновляемых данных (например, системы управления производством).
По виду используемых знаний. Классификация отражает степень определённости и структуру знаний:
-
ЭС с детерминированными (чётко определёнными) знаниями — работают с точными фактами и правилами;
-
ЭС с неопределёнными знаниями — учитывают неполноту, неточность или противоречивость данных (часто используют нечёткую логику).
По числу источников знаний. Зависит от того, сколько экспертных мнений и баз данных интегрировано:
-
системы с одним источником знаний — опираются на единую базу правил или онтологию;
-
системы с множеством источников — объединяют альтернативные или дополняющие друг друга знания (например, мнения разных экспертов).
По способу формирования решения. Определяет логику вывода:
-
аналитические ЭС — строят решение пошагово, анализируя данные;
-
синтетические ЭС — генерируют варианты решений и выбирают лучший.
Зная тип ЭС, разработчик может:
-
Выбрать модель знаний. Например, для диагностических систем часто используют продукционные правила («ЕСЛИ — ТО»), а для описания сложных объектов — фреймы или онтологии;
-
Определить архитектуру. Статические задачи требуют простой структуры, динамические — механизмов обновления знаний в реальном времени;
-
Оценить инструменты. Для ЭС с неопределёнными знаниями подойдут методы нечёткой логики, для детерминированных — классические логические модели;
-
Спланировать интеграцию. Системы с множеством источников знаний нуждаются в механизмах согласования данных.
Пример использования баз знаний в экспертных системах
Чтобы наглядно увидеть, как работает база знаний (БЗ) в составе экспертной системы, рассмотрим реальный сценарий — диагностику заболеваний в медицине. Например, ЭС для первичной диагностики острых состояний. Её база знаний содержит:
-
правила вида «ЕСЛИ — ТО» («Если температура > 39 °C И боль в правом боку > 6 часов, ТО подозревать аппендицит»);
-
иерархию симптомов и их вероятных причин;
-
пороги значений (норма/патология) для анализов и показателей;
-
рекомендации по дополнительным исследованиям для уточнения диагноза.
Пошаговый пример работы выглядит так:
Ввод данных
Врач или пациент вносит симптомы:
-
температура 39,2 °C;
-
острая боль в правом боку;
-
тошнота;
-
длительность боли — 8 часов.
Анализ БЗ
Система сопоставляет данные с правилами из базы:
-
находит совпадение с шаблоном аппендицита;
-
проверяет исключающие условия (нет ли признаков других заболеваний);
-
оценивает степень уверенности (например, 85%).
Вывод и объяснение
Система выдаёт результат: «Наиболее вероятный диагноз: острый аппендицит (вероятность 85%).
Рекомендуется: срочная консультация хирурга, общий анализ крови, УЗИ брюшной полости».
Плюс — поясняет логику:
«На основании: высокой температуры, длительной боли в правом боку и тошноты. Симптомы соответствуют правилу №142 из БЗ».
Уточнение
Если врач сомневается, он может запросить альтернативные варианты. Система перепроверяет данные по другим правилам БЗ и предлагает: «Менее вероятные варианты: почечная колика (10 %), кишечная непроходимость (5 %)».
Это работает потому что:
-
БЗ хранит экспертный опыт — формализованные знания врачей, накопленные годами.
-
Правила структурированы — система не «гадает», а следует чётким алгоритмам.
-
Есть прозрачность — пользователь видит, как получен вывод (в отличие от «чёрных ящиков» типа нейросетей).
-
Можно дорабатывать — инженеры добавляют новые правила при появлении свежих клинических данных.
Аналогичные принципы работают в других областях:
-
Техника: диагностика поломок оборудования («Если вибрация > X И температура двигателя > Y, ТО проверять подшипник»).
-
Финансы: оценка кредитных рисков («Если доход < Z И история просрочек > 3, ТО отказать в кредите»).
-
Юриспруденция: анализ договоров («Если пункт А содержит формулировку B, ТО требуется согласование с юристом»).
-
Сельское хозяйство: рекомендации по обработке полей («Если влажность почвы < C И температура > D, ТО поливать утром»).
***
Базы знаний в экспертных системах — это способ сохранить и использовать человеческий опыт. Хотя сейчас популярны нейросети, экспертные системы по‑прежнему нужны там, где важно понимать, почему принято решение: в медицине, авиации, энергетике, юриспруденции.
Сегодня тренд — не выбирать между подходами, а объединять их. Гибридные системы совмещают:
-
базы знаний (логика и структура);
-
машинное обучение (анализ текстов, изображений, сигналов).
Так база знаний из набора правил превратилась в гибкий элемент сложных систем. Её развитие — на стыке информатики, психологии и предметных областей.
Используйте инструменты TEAMLY, чтобы управлять рабочими процессами
Записывайтесь на онлайн-презентацию! Продемонстрируем интерфейс и все возможности платформы
