3.4 Представление знаний в экспертных системах.
Первый и основной вопрос, который надо решить при представлении знаний,- это вопрос опре деления состава знаний, т.е. определение того, "ЧТО ПРЕДСТАВЛЯТЬ"в экспертной системе. Второй вопрос касается того, "КАК ПРЕДСТАВЛЯТЬ"знания. Эти две проблемы взаимоза висимы. Выбранный способ представления может оказаться непригодным в принципе либо неэффективным для выражения некоторых знаний. Вопрос "КАК ПРЕДСТАВЛЯТЬ" можно разделить на две в значительной степени независимые задачи: как организовать (структурировать) знания и как представить знания в выбранном формализме. Стремление выделить организацию знаний в самостоятельную задачу вызвано, в частности, тем, что эта задача возникает для любого языка представления и способы решения этой задачи являются одинаковыми (либо сходными) вне зависимости от используемого формализма.
Необходимы следующие знания:
• знания о методах взаимодействия с внешним окружением;
• знания о модели внешнего мира.
Знания, определяемые пользователем.
1. Зависимость состава знаний от требований пользователя проявляется в следующем:
• какие задачи (из общего набора задач) и с какими данными хочет решать пользователь;
• каковы предпочтительные способы и методы решения;
• при каких ограничениях на количество результатов и способы их получения должна быть решена задача;
• каковы требования к языку общения и организации диалога;
• какова степень общности (конкретности) знаний о проблемной области, доступная поль зователю;
• каковы цели пользователей.
2. Интерпретируемые и неинтерпретируемые знания
Состав знаний о языке общения зависит как от языка общения, так и от требуемого уровня понимания.
С учетом архитектуры экспертной системы знания целесообразно делить на интерпретиру емые и неинтерпретируемые. К первому типу относятся те знания, которые способен интерпретировать решатель (интер претатор). Все остальные знания относятся ко второму типу. Решатель не знает их структуры и содержания.
3. Неинтерпретируемые знания
Неинтерпретируемые знания подразделяются на вспомогательные знания, хранящие информа цию о лексике и грамматике языка общения, информацию о структуре диалога, и поддержива ющие знания. Вспомогательные знания обрабатываются естественно-языковой компонентой, но ход этой обработки решатель не осознает, так как этот этап обработки входных сообщений является вспомогательным для проведения экспертизы. Поддерживающие знания используются при создании системы и при выполнении объяснений.
Поддерживающие знания выполняют роль описаний (обоснований) как интерпретируемых знаний, так и действий системы. Поддерживающие знания подразделяются на технологические и семантические. Технологические поддерживающие знания содержат сведения о времени создания описываемых ими знаний, об авторе знаний и т.п.
Семантические поддерживающие знания содержат смысловое описание этих знаний. Они содержат информацию о причинах ввода знаний, о назначении знаний, описывают способ ис пользования знаний и получаемый эффект. Поддерживающие знания имеют описательный характер.
Интерпретируемые знания можно разделить на предметные знания, управляющие знания и знания о представлении. Знания о представлении содержат информацию о том, каким образом (в каких структурах) в системе представлены интерпретируемые знания. Предметные знания содержат данные о предметной области и способах преобразования этих данных при решении поставленных задач. По отношению к предметным знаниям знания о представлении и знания об управлении являются метазнаниями. В предметных знаниях можно выделить описатели и собственно предметные знания.
Описатели содержат определенную информацию о предметных знаниях, такую, как коэффициент определенности правил и данных, меры важности и сложности. Собственно предметные знания разбиваются на факты и исполняемые утверждения. Факты определяют возможные значения сущностей и характеристик предметной области. Исполняемые утверждения содержат инфор мацию о том, как можно изменять описание предметной области в ходе решения задач. Говоря другими словами, исполняемые утверждения- это знания, задающие процедуры обработки. Однако мы избегаем использовать термин "процедурные знания", так как хотим подчеркнуть, что эти знания могут быть заданы не только в процедурной, но и в декларативной форме.
Управляющие знания можно разделить на фокусирующие и решающие. Фокусирующие знания описывают, какие знания следует использовать в той или иной ситуации. Обычно фо кусирующие знания содержат сведения о наиболее перспективных объектах или правилах, которые целесообразно использовать при проверке соответствующих гипотез (см. п. 9.2). В первом случае внимание фокусируется на элементах рабочей памяти, во втором- на правилах базы знаний. Решающие знания содержат информацию, используемую для выбора способа интерпрета ции знаний, подходящего к текущей ситуации. Эти знания применяются для выбора стратегий или эвристик, наиболее эффективных для решения данной задачи.
5. Метазнания
Качественные и количественные показатели экспертной системы могут быть значительно улучшены за счет использования метазнаний, т.е. знаний о знаниях. Метазнания не представляют некоторую единую сущность, они могут применяться для достижения различных целей.
Перечислим возможные назначения метазнаний:
• метазнания в виде стратегических метаправил используются для выбора релевантных правил;
• метазнания используются для обоснования целесообразности применения правил из об ласти экспертизы;
• метаправила используются для обнаружения синтаксических и семантических ошибок в предметных правилах;
• метаправила позволяют системе адаптироваться к окружению путем перестройки предметных правил и функций;
• метаправила позволяют явно указать возможности и ограничения системы, т.е. определить, что система знает, а что не знает.
Вопросы организации знаний необходимо рассматривать в любом представлении, и их решение в значительной степени не зависит от выбранного способа (модели) представления.
Выделим следующие аспекты проблемы организации знаний:
• организация знаний по уровням представления и по уровням детальности;
• организация знаний в рабочей памяти;
• организация знаний в базе знаний.