1) Простота создания и понимания отдельных правил;
2) Простота пополнения, модификации и аннулирования;
3) Простота механизма логического вывода.
Слабые стороны:
1) Неясность взаимных отношений правил;
2) Сложность оценки целостного образа знаний;
3) Крайне низкая эффективность обработки;
4) Отличие от человеческой структуры знаний;
5) Отсутствие гибкости в логическом выводе.
Таким образом, если объектом является небольшая задача, выявляются только сильные стороны системы продукций. В случаях увеличения объема знаний, необходимости решения сложных задач, выполнения гибких выводов или повышения скорости вывода требуется структурирование базы данных. Первое, что приходит в голову в таких случаях, - это группировка знаний и структурирование базы данных. Другими словами, путем предварительной группировки соответствующих правил в некотором состоянии процесса вывода можно ограничить диапазон выбора правил. В тех случаях, когда объекты, для которых используются правила, также имеют иерархическую структуру, эффективным является структурирование базы данных. Этот подход был реализован в системах EMICIN и MECS-AI, разработанных на базе системы MYCIN с применением универсального языка представления знаний.
Расширенным вариантом модели правил является модель доски объявлений (blackboard), которая была предложена в системе распознавания разговорной речи HEARSAY-II как модель представления знаний.
3.3 Представление знаний фреймами
Фреймовая модель, или модель представления знаний, основанная на фреймовой теории М. Минского, представляет собой систематизированную модель памяти человека и его сознания.
Теория фреймов - это парадигма для представления знаний с целью использования этих знаний компьютером. Впервые была представлена Минским в 1975 году, как попытка построить фреймовую сеть, или парадигму с целью достижения большего эффекта понимания. С одной стороны он пытался сконструировать базу данных, содержащую энциклопедические знания, но с другой стороны, хотел создать наиболее описывающую базу, содержащую информацию в структурированной и упорядоченной форме. Эта структура позволила бы компьютеру вводить информацию в более гибкой форме, имея доступ к тому разделу, который требуется в данный момент. Минский разработал такую схему, в которой информация содержится в специальных ячейках, называемых фреймами, объединенными в сеть, называемую системой фреймов. Новый фрейм активизируется с наступлением новой ситуации. Отличительной его чертой является то, что он одновременно содержит большой объем знаний и в то же время является достаточно гибким для того, чтобы быть использованным как отдельный элемент базы данных. Термин «фрейм» был наиболее популярен в середине семидесятых годов, когда существовало много его толкований, отличных от интерпретации Минского.
Итак, как было сказано выше фреймы – это фрагменты знания, предназначенные для представления стандартных ситуаций. Термин «фрейм» (Frame – рамка) был предложен Минским. Фреймы имеют вид структурированных компонентов ситуаций, называемых слотами. Слот может указывать на другой фрейм, устанавливая, таким образом, связь между двумя фреймами. Могут устанавливаться общие связи типа связи по общению. С каждым фреймом ассоциируется разнообразная информация (в том числе и процедуры), например ожидаемые процедуры ситуации, способы получения информации о слотах, значение принимаемые по умолчанию, правила вывода.
Формальная структура фрейма имеет вид:
f[<N1, V1>, <N2, V2>, …, <Nk,Vk>],
где f – имя фрейма; пара <Ni, Vi> - i-ый слот, Ni – имя слота и Vi – его значение.
Значение слота может быть представлено последовательностью
<K1><Li>;...; <Kn><Ln>; <R1>; …; <Rm>,
где Ki – имена атрибутов, характерных для данного слота; Li – значение этих атрибутов, характерных для данного слота; Rj – различные ссылки на другие слоты.
Каждый фрейм, как структура хранит знания о предметной области (фрейм–прототип), а при заполнении слотов знаниями превращается в конкретный фрейм события или явления.
Фреймы можно разделить на две группы: фреймы-описания; ролевые фреймы.
Рассмотрим пример.
Фрейм описание: [<программное обеспечение>, <программа 1С бухгалтерия, версия 7.7>, <программа 1С торговля, версия 7.7>, <правовая программа «Консультант +» проф.>].
Ролевой фрейм: [<заявка на продажу>, <что, установка и покупка программы 1С торговля, версия 7.7>, <откуда, фирма ВМИ>, <куда, фирма «Лукойл»>, <кто, курьер Иванова>, <когда, 27 октября 1998г.>].
Во фрейме-описании в качестве имен слотов задан вид программного обеспечения, а значение слота характеризует массу и производителя конкретного вида продукции. В ролевом фрейме в качестве имен слотов выступают вопросительные слова, ответы на которые являются значениями слотов. Для данного примера представлены уже описания конкретных фреймов, которые могут называться либо фреймами – примерами, либо фреймами – экземплярами. Если в приведенном примере убрать значения слотов, оставив только имена, то получим так называемый фрейм – прототип.
Достоинство фрейма – представления во многом основываются на включении в него предположений и ожиданий. Это достигается за счет присвоения по умолчанию слотам фрейма стандартных ситуаций. В процессе поиска решений эти значения могут быть заменены более достоверными. Некоторые переменные выделены таким образом, что об их значениях система должна спросить пользователя. Часть переменных определяется посредством встроенных процедур, называемых внутренними. По мере присвоения переменным определенных значений осуществляется вызов других процедур. Этот тип представления комбинирует декларативные и процедурные знания.
Фреймовые модели обеспечивают требования структурированности и связанности. Это достигается за счет свойств наследования и вложенности, которыми обладают фреймы, т.е. в качестве слотов может выступать система имен слотов более низкого уровня, а также слоты могут быть использованы как вызовы каких-либо процедур для выполнения.
Для многих предметных областей фреймовые модели являются основным способом формализации знаний.
3.4 Представление знаний семантическими сетями
Одним из способов представления знаний является семантическая сеть. Изначально семантическая сеть была задумана как модель представления структуры долговременной памяти в психологии, но впоследствии стала одним из основных способов представления знаний в инженерии знаний.
Моррис дал точное определение семантическим и прагматическим отношениям в семиотике и определил их как проблемы различных функциональных уровней. Другими словами, семантика означает определенные (общие) отношения между символами и объектами, представленными этими символами, а прагматика – выразительные (охватывающие) отношения между символами и создателями (или пользователями) этих символов.
Первоначально в психологии изучались объекты, именуемые семантическими с точки зрения известных ассоциативных свойств, накапливаемых в системе обучения и поведения человека. Однако с развитием психологии познания стали изучаться семантические структуры, включающие некоторые объекты. Затем были изучены принцип действия человеческой памяти (способы хранения информации и знаний), в частности предположительные (гипотетические) структурные модели долговременной памяти, и созданы моделирующие программы, понимающие смысл слов.
Одной из структурных моделей долговременной памяти является предложенная Куиллианом модель понимания смысла слов, получившая название TLC- модели (Teachable Language Comprehender: доступный механизм понимания языка). В данной модели для описания структуры долговременной памяти была использована сетевая структура как способ представления семантических отношений между концептами (словами). Данная модель имитирует естественное понимание и использования языка человеком. Поэтому основной ее идеей было описание значений класса, к которому принадлежит объект, его прототипа и установление связи со словами, отображающими свойства объекта. В качестве примера на схеме 2 показана весьма простая семантическая сеть для представления концептуального объекта “чайник”. В этой сети определены операторы отношений, называемые классом, свойством и примером, для которых описаны значения.
Схема 2