Главная страница

Традиционные способы представления и обработки знаний в интеллектуальных системах


Скачать 360,51 Kb.
НазваниеТрадиционные способы представления и обработки знаний в интеллектуальных системах
Дата14.01.2017
Размер360,51 Kb.
ТипГлава

Глава 2

ТРАДИЦИОННЫЕ СПОСОБЫ

ПРЕДСТАВЛЕНИЯ

И ОБРАБОТКИ ЗНАНИЙ

В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ

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

Рене Декарт

Необходимой частью любой интеллектуальной системы явля­ются знания. Теоретическими и практическими вопросами пред­ставления и обработки знаний в компьютерных системах актив­но занимаются исследователи, работающие в области инженерии знаний. Это понятие в 1977 г. ввел Э. Фейгенбаум, который писал: «По опыту нам известно, что большая часть знаний в конкретной предметной области остается личной собственностью эксперта. И это происходит не потому, что он не хочет разглашать своих секретов, а потому, что он не в состоянии сделать этого — ведь эксперт знает гораздо больше, чем сам осознает». Данное направ­ление ИИ связано с развитием теоретических и прикладных аспектов приобретения и формализации знаний специалистов, с проектированием и разработкой баз знаний.

2.1. ОТЛИЧИЯ ЗНАНИЙ ОТ ДАННЫХ

Характерным признаком интеллектуальных систем является
наличие знаний, необходимых для решения задач конкретной
предметной области. При этом возникает естественный вопрос,
что такое знания и чем они отличаются от обычных данных, об­
рабатываемых ЭВМ.

55

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

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

  • представление на специальных языках описания данных,
    предназначенных для ввода и обработки исходных данных в ЭВМ;

базы данных на машинных носителях информации.
Знания являются более сложной категорией информации по

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

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

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

Следует заметить, что для того, чтобы поместить знания в компьютер, их необходимо представить определенными структу-

56

рами данных, соответствующих выбранной среде разработки ин­теллектуальной системы. Следовательно, при разработке ИИС сначала осуществляются накопление и представление знаний, причем на этом этапе обязательно участие человека, а затем зна­ния представляются определенными структурами данных, удоб­ными для хранения и обработки в ЭВМ. Знания в ИИС сущест­вуют в следующих формах:

  • исходные знания (правила, выведенные на основе практи­
    ческого опыта, математические и эмпирические зависимости,
    отражающие взаимные связи между фактами; закономерности и
    тенденции, описывающие изменение фактов с течением време­
    ни; функции, диаграммы, графы и т. д.);

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

  • представление знаний структурами данных, которые пред­
    назначены для хранения и обработки в ЭВМ;

базы знаний на машинных носителях информации.
Что же такое знания? Приведем несколько определений.

Из толкового словаря С. И. Ожегова: 1) «Знание - постиже­ние действительности сознанием, наука»; 2) «Знание — это сово­купность сведений, познаний в какой-либо области».

Из японского толкового словаря: «Знания — это результат, по­лученный познанием», или, более подробно, «система суждений с принципиальной и единой организацией, основанная на объек­тивной закономерности».

Исследователями в области ИИ даются более конкретные оп­ределения знаний.

«Знания — это закономерности предметной области (принци­пы, связи, законы), полученные в результате практической дея­тельности и профессионального опыта, позволяющие специали­стам ставить и решать задачи в этой области» [1].

«Знания — это хорошо структурированные данные или дан­ные о данных, или метаданные» [1].

«Знания - формализованная информация, на которую ссы­лаются или используют в процессе логического вывода» [8].

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

57

можно говорить о признаках, по которым подразделяются зна­ния, а не о классификациях. По своей природе знания можно разделить на декларативные и процедурные.

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

Процедурные знания — это описания действий, которые воз­можны при манипулировании фактами и явлениями для дости­жения намеченных целей.

Для описания знаний на абстрактном уровне разработаны специальные языки - языки описания знаний. Эти языки также делятся на языки процедурного типа и декларативного. Все язы­ки описания знаний, ориентированные на использование тради­ционных компьютеров фон-неймановской архитектуры, являют­ся языками процедурного типа. Разработка языков декларатив­ного типа, удобных для представления знаний, является актуаль­ной проблемой сегодняшнего дня.

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

По типу представления знания делятся на факты и правила. Факты — это знания типа «А — это А», такие знания характерны для баз данных и сетевых моделей. Правила, или продукции, -это знания типа «ЕСЛИ А, ТО В».

Кроме фактов и правил существуют еще метазнания — знания о знаниях. Они необходимы для управления БЗ и для эффектив­ной организации процедур логического вывода.

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

58

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

2.2.

ТИПИЧНЫЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ

К типичным моделям представления знаний относятся логи­ческая, продукционная, фреймовая и модель семантической сети.

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

2.2.1. ЛОГИЧЕСКАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ

Логическая модель основана на системе исчисления предика­тов первого порядка. Знакомство с логикой предикатов начнем с исчисления высказываний.

Высказыванием называется предложение, смысл которого можно выразить значениями: истина (Т) или ложь (F). Напри-

59

мер, предложения «лебедь белый» и «лебедь черный» будут вы­сказываниями. Из простых высказываний можно составить бо-лее сложные:

«лебедь белый или лебедь черный», ,

«лебедь белый и лебедь черный»,

«если лебедь не белый, то лебедь черный».

В свою очередь, сложные высказывания можно разделить на частичные, которые связаны между собой с помощью слов: и, или, не, если — то. Элементарными называются высказывания, которые нельзя разделить на части. Логика высказываний опери­рует логическими связями между высказываниями, т. е. она ре­шает вопросы типа: «Можно ли на основе высказывания А полу­чить высказывание B?»; «Истинно ли В при истинности А?» и т.п. При этом семантика высказываний не имеет значения. Элемен­тарные высказывания рассматриваются как переменные логиче­ского типа, над которыми разрешены следующие логические операции:

отрицание (унарная операция);

конъюнкция (логическое умножение);

дизъюнкция (логическое сложение);

импликация (если — то);

эквивалентность.

Операция импликации должна удовлетворять следующим требованиям.

1. Значение результата импликации зависит от двух опе­
рандов.

  1. Если первый операнд (А) — истинный, то значение резуль­
    тата совпадает со значением второго операнда (В).

  2. Операция импликации не коммутативна.

  3. Результат импликации совпадает с результатом выражения
    AB.

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

Исчисление высказываний позволяет формализовать лишь малую часть множества рассуждений, поскольку этот аппарат не позволяет учитывать внутреннюю структуру высказывания, ко-

60

Таблица 2.1 Результаты вычисления логических операций

А

А

В

АВ

AB

АВ

АВ

Т

F

Т

Т

Т

Т

Т

Т

F

F

F

т

F

F

F

Т

Т

F

т

Т

F

F

Т

F

F

F

Т

Т

торая существует в естественных языках. Рассмотрим ставший классическим пример рассуждения о Сократе:

Р: «Все люди смертны» Q: «Сократ — человек» R: «Сократ — смертен»

Используя для обозначения высказываний логические пере­менные Р, Q, R, можно составить формулу: (PaQ)—>R, которая может быть интерпретирована как «Если все люди смертны и Со­крат является человеком, то Сократ является смертным». Однако эта формула не является общезначимой, поскольку относится только к одному объекту (Сократу). Кроме того, высказывание R не выводится из Р и Q, т.е., если бы мы не сформулировали R за­ранее, мы не смогли бы записать приведенную выше формулу.

Чтобы осуществить этот примитивный логический вывод, высказывание Q следует разделить на две части: «Сократ» (субъ­ект) и «человек» (свойство субъекта) и представить в виде отно­шения «субъект — свойство», которое можно записать с помощью функции человек (Сократ).

Очевидно, что свойство конкретного субъекта с именем «Со­крат» быть «человеком» может быть присуще и ряду других субъ­ектов, что позволяет заменить константу «Сократ» на некоторую переменную, например X. Тогда получим запись человек (X), ко­торая обладает внутренней структурой, т.е. значение такого вы­сказывания будет зависеть от его компонент. Записанная функ­ция уже не является элементарным высказыванием, она называ­ется предикатом.

Приведем объяснение понятия предиката, данное Д. А. По­спеловым [6]: «Под предикатом будем понимать некоторую связь, которая задана на наборе из констант или переменных.

61

Пример предиката: «Р больше Q».

Если семантика Р и Q не задана, то о предикате сказать осо­бенно нечего. Пожалуй, только то, что он является антирефлек­сивным, антисимметричным и транзитивным. Но при задании семантики (т.е. областей определения переменных Р и Q) о пре­дикате можно будет сказать существенно больше. Например, ес­ли Р и Q — площади городов в России и Японии, то при задании списков городов и подстановке значений из этих списков в пере­менные мы получим отношение между двумя сущностями и смо­жем судить о его истинности, например:

«Площадь Волгограда больше площади Хиросимы» =T; «Площадь Вологды больше площади Токио»=F.

Иногда для утверждения об истинности или ложности преди­ката можно обойтись без подстановки. Например, если областью определения переменной X являются целые положительные чис­ла, то предикат «X больше -5» будет тождественно истинен.

Основными синтаксическими единицами логики предикатов являются константы, переменные, функции, предикаты, кванто­ры и логические операторы. Формальный синтаксис исчисления предикатов первого порядка удобно представить в нормальной форме Бэкуса—Наура, которая традиционно применяется для за­писи грамматик языков программирования.

<константа> <идентификатор1> <переменная> <идентификатор2> <функция> <идентификаторЗ> <предикат> —> <идентификатор4>
<терм> —> <константа> | <переменная> |

<функция> (<список термов>)

<список термов> <терм> | <терм>, <список термов> <атом> <предикат> | <предикат> (<список термов>) <литера> <атом> | <атом>

<оператор>   | v | |

<список переменных> <переменная> | <переменная>,

<список переменных>

<квантор> <(<список переменных>) |

| < (<список переменных>)

<формула> <литера> | <формула> | <квантор> (<формула>) (<формула>) <оператор> (<формула>)

62

В данной записи любое имя в угловых скобках представляет собой тип синтаксического объекта. Определение каждого типа начинается с появления его имени в левой части каждой записи, т. е. слева от знака . В правой части каждой записи приводятся возможные способы организации синтаксически корректных объектов определяемого типа. Альтернативные варианты разде­лены знаком |, который можно интерпретировать как ИЛИ. Но­мера идентификаторов следует трактовать в том смысле, что идентификаторы, используемые для обозначения объектов раз­ных типов, должны быть различимыми. Например, константы обозначаются именами <идентификатор1>, которые формиру­ются из строчных букв, причем первым символом должен быть один из следующих: а, b, с, d, e, к, l, т, п, х, у, z, v, w, и. Имена пе­ременных <идентификатор2> должны начинаться, например, с заглавной буквы. Идентификаторы функций <идентификаторЗ> состоят из строчных букв, при этом первой является f, g, h, p или q. Имена предикатов <идентификатор4> должны состоять из про­писных букв. Функции, как и предикаты, задают некоторую связь между переменными или константами. Но эта связь или от­ношение не характеризуются истинностным значением. С помо­щью функции можно представить сложный объект, например, функция fbook (Author, Tytle, Publisher, Year) представляет набор информации, характеризующей книгу. Предикат и функция от­личаются также на синтаксическом уровне, а именно: функции могут являться аргументами предикатов (т.е. термами), а преди­каты - нет. Следует заметить, что в логике предикатов более вы­соких порядков по сравнению с первым аргументами предикатов могут быть другие предикаты. Функции с нулевым числом мест (аргументов) являются аналогами констант. Предикат без аргу­ментов эквивалентен высказыванию.

Кванторы в логике предикатов необходимы для определения области действия переменных. Так, в логическом выводе о Сок­рате высказывание «Все люди смертны» можно уточнить следую­щим образом:

«Для всех X, если Xявляется человеком, то Xявляется смерт­ным».

Введя предикаты ЧЕЛОВЕК(Х) и СМЕРТЕН(Х), можем со­ставить логическую формулу ЧЕЛОВЕК(Х)->СМЕРТЕН(Х). Что­бы показать справедливость этой формулы для любого X, исполь­зуется квантор общности:

Х— «для любого X».

63

Тогда рассматриваемое утверждение запишется в виде
(Х) ЧЕЛОВЕК(Х) СМЕРТЕН(Х).

Кроме квантора общности в логике предикатов есть квантор существования: Х — «существует хотя бы один такой X, что ...» или «найдется хотя бы один X, такой, что ...»

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

Если в логическую формулу входит несколько кванторов, не­обходимо учитывать их взаимное расположение. Рассмотрим возможные интерпретации логической формулы ЛЮБИТ(Х, У) с квалифицированными переменными. При этом существует несколько вариантов размещения кванторов, один из которых X Y ЛЮБИТ(Х,У). Эту формулу можно интерпретировать двояко:

  • для любого X существует хотя бы один человек Y, которого
    любит X;

  • существует по крайней мере один человек У, которого любят
    все X;

Для устранения этой неопределенности введем скобки и по­рядок применения кванторов - слева направо, тогда получим следующие формулы, соответствующие интерпретациям:

  1. (Х)(У)ЛЮБИТ(Х, Y).

  2. (У)(/Х)ЛЮБИТ(Х, У).

Рассмотрим остальные варианты расположения кванторов и их интерпретации.

  1. (Х)(У)ЛЮБИТ(Х, Y) и (Y)(X) ЛЮБИТ(Х, Y) -«Всеобщее человеколюбие».

  2. (Х)(У)ЛЮБИТ(Х, У) - «Существует хотя бы один человек,
    который любит всех людей».

5. (У)(Х)ЛЮБИТ(Х, Y) - «Каждого человека кто-нибудь любит».

6. (Х)(У)ЛЮЪУП(Х,Т) и (У)(Х)ЛЮБИТ(Х,У) - «Существует хотя бы один человек, который не утратил чувства любви».

В одной логической формуле не допускается применение раз­ных кванторов к одной переменной, например выражение (Х)(Х)Р(Х) является недопустимым.

64

Отрицание кванторных выражений выполняется в соответст­вии со следующими правилами:

-^(\/X)P(X)=(3Xi-iP(X),

Справедливость приведенных выражений вытекает из смысла кванторов. Эти соотношения позволяют любую формулу в логи­ке предикатов представить в виде предваренной нормальной формы (ПНФ), в которой сначала выписываются все кванторы, а затем — предикатные выражения.

Пример ПНФ: (V'Х)(Ъ' Y)(3Z)(P(X)^Q(Y, Z, W)).

В логике предикатов первого порядка не разрешается приме­нение кванторов к предикатам (более высокие порядки это поз­воляют).

Формула, в которой все переменные связаны, называется предложением. Каждому предложению можно поставить в соот­ветствие определенное значение — «истина» или «ложь».

Пример: пусть J(X) — функция, задающая отношение «отец»; Р(Х) — предикат, задающий отношение «человек». Тогда логическая формула (УХ)(Р(ДХ))^Р(Х)) будет интерпретироваться как «Все существа, отцом которых является человек, — люди».

Операции в логике предикатов имеют неодинаковые приори­теты. Самый высокий приоритет имеет квантор общности, са­мый низкий - операция эквивалентности.

у, з, -л, л, у, н>, <-> убывание приоритета

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

5-944 . 65

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

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

2.2.2.

ПРЕДСТАВЛЕНИЕ ЗНАНИЙ ПРАВИЛАМИ ПРОДУКЦИЙ

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

Примеры продукционных правил:

ЕСЛИ «двигатель не заводится» И «стартер двигателя не рабо­тает», ТО «неполадки в системе электропитания стартера»;

ЕСЛИ «животное имеет перья», ТО «животное — птица».

Антецеденты и консеквенты правил формируются из атрибу­тов и значений, например:

Атрибут Значение

'■ Двигатель Не заводится

Стартер двигателя Не работает

Животное Имеет перья

Животное Птица ,з ф

46

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

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

Примеры триплетов:

собака — кличка — Граф;

собака — порода — ризеншнауцер;

собака — окрас — черный.

Одним из преимуществ такого представления знаний являет­ся уточнение контекста, в котором применяются правила. На­пример, правило, относящееся к объекту «собака», должно быть применимо для собак с любыми кличками, всех пород и окрасок. С введением триплетов правила из базы правил могут срабаты­вать более одного раза в процессе одного логического вывода, по­скольку одно правило может применяться к различным экземп­лярам объекта (но не более одного раза к каждому экземпляру).

Существуют два типа продукционных систем — с прямыми и обратными выводами. Прямые выводы реализуют стратегию «от

5* 67

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

Основные достоинства продукционных систем связаны с простотой представления знаний и организации логического вывода. К недостаткам систем продукций можно отнести сле­дующие:

  • отличие от структур знаний, свойственных человеку;

  • неясность взаимных отношений правил;

  • сложность оценки целостного образа знаний;

  • низкая эффективность обработки знаний.

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

2.2.3.

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРЕДСТАВЛЕНИЕ ЗНАНИЙ ФРЕЙМАМИ

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

Фреймом называется структура данных для представления не­которого концептуального объекта.

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

68

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

Совокупность данных предметной области может быть пред­ставлена множеством взаимосвязанных фреймов, образующих единую фреймовую систему, в которой объединяются деклара­тивные и процедурные знания. Такая система имеет, как правило, иерархическую структуру, в которой фреймы соединены друг с другом с помощью родо-видовых связей. На верхнем уровне ие­рархии находится фрейм, содержащий наиболее общую инфор­мацию, истинную для всех остальных фреймов. Фреймы облада­ют способностью наследовать значения характеристик своих ро­дителей. Например, фрейм АФРИКАНСКИЙ_СЛОН наследует от фрейма СЛОН значение характеристики цвет=«серый». Значе­ние характеристики в дочернем фрейме может отличаться от ро­дительского, например, значением данного слота для фрейма АЗИАТСКИЙ_СЛОН является цвет=«коричневый».

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

69
2.2.4. МОДЕЛЬ СЕМАНТИЧЕСКОЙ СЕТИ


<>


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

  • множество — подмножество (типы отношений «абстрактное
    — конкретное», «целое - часть», «род — вид»);

  • индексы (свойства, имена прилагательные в языке и т.п.);

  • конъюнктивные связи (логическое И);

  • дизъюнктивные связи (логическое ИЛИ);

  • связи по ИСКЛЮЧАЮЩЕМУ ИЛИ;

  • отношения «близости»;

  • отношения «сходства — различия»;

  • отношения «причина - следствие» и др.

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

Для реализации семантических сетей существуют специаль­ные сетевые языки: NET, языкреализации систем SIMER+MIRh др. [4, 10]. Широко известны экспертные системы, использую­щие семантические сети в качестве языка представления знаний: PROSPECTOR, CASNET, TORUS [7, 9, 11 - 13].

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

74