Лекция № 11. Экспертные системы: структура и основные понятия.

Трансляторы с любых языков общения пользователя и ВС осуществляют трансляцию на язык представления знаний (ЯПЗ) в БЗ, интерфейсы с любыми средствами исполнительной системы осуществляют трансляцию с ЯПЗ на языки соответствующих подсистем.

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

А База знаний (БЗ) занимает центральное положение по отношению к остальным компонентам вычислительной системы в целом, через БЗ осуществляется интеграция средств ВС, участвующих в решении задачи.

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

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

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

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

Имеетсядве группы требований к представлению иОрганизациизнаний в БЗ

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

• Требования второй группы возникают в основном только при применении новой информационной технологии. К ним относятся необходимость адекватности отображения проблемной среды в базе знаний и необходимость естественного для человека способа описания ?еды.

^Адекватность при этом понимается как потенциальная нежность построения такого отображения, которое спечивачо бы моделирование любых процессов, проис-ящих в проблемной среде. Необходимость естествен-ЯДЙРО для человека способа описания среды вытекает из условия тесного общения конечного пользователя и ЭВМ в процессе решения задачи. Это означает, что язык представления знаний в БЗ должен иметь структуру, близкую к структуре естественного языка пользователя (что не означает подобия их грамматик).

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

Требования, выдвигаемые к организации знаний в БЗ в старых и новых задачах, во многом противоречат друг другу. Можно считать, что традиционным задачам наиболее адекватны структуры современных БД, сформировавшиеся на основе опыта их решения; новым задачам более соответствуют структуры различных моделей предметных областей, разрабатываемых в исследованиях по проблеме «искусственный интеллект». Между принципами организации баз данных и таких моделей невозможно провести четкие границы. Более правильно рассматривать степень близости структуры каждой конкретной БЗ к одному из концов спектра возможных структур, на одном из которых находятся традиционные «классические» БД раннего периода (в основном иерархического типа), на другом — модели проблемной среды.

Более подробно этот вопрос рассматривается в гл. 2, здесь же можно сказать только об интегральном критерии: развитие баз данных в базы знаний — это постоянное увеличение независимости содержащихся в них знаний от обрабатывающих программ (в том числе независимости их интеграции в проблемной среде!) и их целостности, постепенно превращающее базу данных в полную (относительно класса решаемых задач), целостную и независимую модель проблемной среды, т. е. базу знаний. Таким образом, в общем случае при организации баз знаний приходится удовлетворять двум противоречивым группам требований:

1) необходимости повышения универсальности по отношению к разным типам задач и обеспечения выразительных возможностей используемой системы представления знаний, достаточных для описания широких классов сложных проблемных сред, организации поиска по разнотипным связям, динамического изменения направлений поиска и т. д.;

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

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

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

Представление знаний на каждом уровне БЗ осуществляется применением некоторого языка представления знаний.

При этом под языком представления знаний (ЯПЗ) понимается конкретный способ описания проблемной среды, задаваемый синтаксисом описания, правилами соотнесения языковых выражений с отображаемыми ими объектами проблемной среды и конкретным составом слов языка.

Выбор ЯПЗ является одним из аспектов построения системы представления знаний, выступающим по отношению к ней как выбор средства ее реализации. Язык представления знаний нижнего уровня БЗ определяется типом соответствующей СУБД. Задача же выбора языка для представления знаний на концептуальном уровне требует специального рассмотрения.

Каждый язык программирования является языком представления знаний. Однако традиционные языки программирования строились в основном как языки, ориентированные на «процесс». Их структура ориентировалась на обеспечение возможности построения сложных программ и их эффективное выполнение. Данные в таких языках выступали как некоторое «окружение» программы, играющее в каком-то смысле второстепенную роль. И хотя на основе таких языков, вообще говоря, можно реализовать достаточно развитые системы представления знаний, сложность и трудоемкость реализации будут весьма велики, а эффективность работы с такими системами невысока. В качестве примеров можно назвать языки АЛГОЛ, ФОРТРАН, КОБОЛ, ПЛ/1 и т. д. Значительно более адекватными для разработки ЯПЗ являются языки обработки символьной информации, такие, как ЛИСП, РЕФАЛ, СНОБОЛ и др. В этих языках базовыми средствами адекватно отображаются лишь простые структуры типа символов, строк символов или списков. Однако, поскольку основой работы со сложноструктурированными данными является требование способности обрабатывать символы и совершать над ними нетривиальные операции, именно они либо непосредственно использовались при разработке различных систем ИИ, либо служили инструментальной базой для создания на их основе ЯПЗ более высокого уровня.

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

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

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

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

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

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

Принципы работы различных решателей, а также реализуемые ими методы автоматического (автоматизированного) формирования программ подробно рассматриваются в гл. 3.

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

По выполняемым функциям средства общения можно разделить на две группы: средства трансляции и средства обеспечения взаимопонимания.

Средства трансляции осуществляют в процессе общения перевод с языка пользователя на язык представления знаний ВС и обратный перевод — с языка представления знаний на язык пользователя

При этом они должны удовлетворять следующим требованиям:

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

б) адаптируемости вследствие нецелесообразности их ориентированности при разработке на узкую группу пользователей;

в) открытости вследствие невозможности предусмотреть все изменения интересов пользователей в процессе эксплуатации этих средств;

г) независимости от включения в различные конфигурации конкретных ВС.

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

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

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

Глава 5 посвящена описанию экспертных систем — первых интегральных систем искусственного интеллекта, включающих в различных конфигурациях средства интеллектуализации (описанные в предыдущих главах) и получивших уже в настоящее время широкое промышленное применение.

 

 

 

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

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

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

диагностика, т. е. процесс поиска неисправности в системе (или определение стадии заболевания в живом организме), основанный на интерпретации данных. Например, диагностика инфекционных заболеваний;

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

планирование, т. е. формирование плана действий, которые следует выполнять для достижения поставленных целей. Например, планирование эксперимента в молекулярной генетике;

проектирование, т. е. построение определенных конфигураций объектов, удовлетворяющих заданным требованиям и ограничениям. Например, проектирование цифровых или логических схем для ЭВМ;

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

ремонт, т. е. выполнение плана организации исправления некоторого обнаруженного дефекта;

управление, т. е. управление поведением некоторой системы. Например, управление воздушным или наземным транспортом.