Реферат: Традиционные способы представления и обработки знаний в интеллектуальных системах
Глава 2
ТРАДИЦИОННЫЕ СПОСОБЫ
ПРЕДСТАВЛЕНИЯ
И ОБРАБОТКИ ЗНАНИЙ
В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ
Я должен ... рассмотреть тысячи различных вещей для того, чтобы способ, с помощью которого я мог бы выразить истину, не поражал бы ничьего воображения и не противоречил общепринятым мнениям.
Рене Декарт
Необходимой частью любой интеллектуальной системы являются знания. Теоретическими и практическими вопросами представления и обработки знаний в компьютерных системах активно занимаются исследователи, работающие в области инженерии знаний. Это понятие в 1977 г. ввел Э. Фейгенбаум, который писал: «По опыту нам известно, что большая часть знаний в конкретной предметной области остается личной собственностью эксперта. И это происходит не потому, что он не хочет разглашать своих секретов, а потому, что он не в состоянии сделать этого — ведь эксперт знает гораздо больше, чем сам осознает». Данное направление ИИ связано с развитием теоретических и прикладных аспектов приобретения и формализации знаний специалистов, с проектированием и разработкой баз знаний.
^ 2.1. ОТЛИЧИЯ ЗНАНИЙ ОТ ДАННЫХ
Характерным признаком интеллектуальных систем является
наличие знаний, необходимых для решения задач конкретной
предметной области. При этом возникает естественный вопрос,
что такое знания и чем они отличаются от обычных данных, об
рабатываемых ЭВМ.
55
Данными называют информацию фактического характера, описывающую объекты, процессы и явления предметной области, а также их свойства. В процессах компьютерной обработки данные проходят следующие этапы преобразований:
исходная форма существования данных (результаты наблю
дений и измерений, таблицы, справочники, диаграммы, графики
и т.д.);
представление на специальных языках описания данных,
предназначенных для ввода и обработки исходных данных в ЭВМ;
• базы данных на машинных носителях информации.
Знания являются более сложной категорией информации по
сравнению с данными. Знания описывают не только отдельные факты, но и взаимосвязи между ними, поэтому знания иногда называют структурированными данными. Знания могут быть получены на основе обработки эмпирических данных. Они представляют собой результат мыслительной деятельности человека, направленной на обобщение его опыта, полученного в результате практической деятельности.
Для того чтобы наделить ИИС знаниями, их необходимо представить в определенной форме. Существуют два основных способа наделения знаниями программных систем. Первый — поместить знания в программу, написанную на обычном языке программирования. Такая система будет представлять собой единый программный код, в котором знания не вынесены в отдельную категорию. Несмотря на то что основная задача будет решена, в этом случае трудно оценить роль знаний и понять, каким образом они используются в процессе решения задач. Нелегким делом являются модификация и сопровождение подобных программ, а проблема пополнения знаний может стать неразрешимой.
Второй способ базируется на концепции баз данных и заключается в вынесении знаний в отдельную категорию, т.е. знания представляются в определенном формате и помещаются в БЗ. База знаний легко пополняется и модифицируется. Она является автономной частью интеллектуальной системы, хотя механизм логического вывода, реализованный в логическом блоке, а также средства ведения диалога накладывают определенные ограничения на структуру БЗ и операции с нею. В современных ИИС принят этот способ.
Следует заметить, что для того, чтобы поместить знания в компьютер, их необходимо представить определенными структу-
56
рами данных, соответствующих выбранной среде разработки интеллектуальной системы. Следовательно, при разработке ИИС сначала осуществляются накопление и представление знаний, причем на этом этапе обязательно участие человека, а затем знания представляются определенными структурами данных, удобными для хранения и обработки в ЭВМ. Знания в ИИС существуют в следующих формах:
исходные знания (правила, выведенные на основе практи
ческого опыта, математические и эмпирические зависимости,
отражающие взаимные связи между фактами; закономерности и
тенденции, описывающие изменение фактов с течением време
ни; функции, диаграммы, графы и т. д.);
описание исходных знаний средствами выбранной модели
представления знаний (множество логических формул или про
дукционных правил, семантическая сеть, иерархии фреймов
и т. п.);
представление знаний структурами данных, которые пред
назначены для хранения и обработки в ЭВМ;
• базы знаний на машинных носителях информации.
Что же такое знания? Приведем несколько определений.
Из толкового словаря С. И. Ожегова: 1) «Знание - постижение действительности сознанием, наука»; 2) «Знание — это совокупность сведений, познаний в какой-либо области».
Из японского толкового словаря: «Знания — это результат, полученный познанием», или, более подробно, «система суждений с принципиальной и единой организацией, основанная на объективной закономерности».
Исследователями в области ИИ даются более конкретные определения знаний.
«Знания — это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области» [1].
«Знания — это хорошо структурированные данные или данные о данных, или метаданные» [1].
«Знания - формализованная информация, на которую ссылаются или используют в процессе логического вывода» [8].
Существует множество классификаций знаний. Как правило, с помощью классификаций систематизируют знания конкретных предметных областей. На абстрактном уровне рассмотрения
57
можно говорить о признаках, по которым подразделяются знания, а не о классификациях. По своей природе знания можно разделить на декларативные и процедурные.
Декларативные знания представляют собой описания фактов и явлений, фиксируют наличие или отсутствие таких фактов, а также включают описания основных связей и закономерностей, в которые эти факты и явления входят.
Процедурные знания — это описания действий, которые возможны при манипулировании фактами и явлениями для достижения намеченных целей.
Для описания знаний на абстрактном уровне разработаны специальные языки - языки описания знаний. Эти языки также делятся на языки процедурного типа и декларативного. Все языки описания знаний, ориентированные на использование традиционных компьютеров фон-неймановской архитектуры, являются языками процедурного типа. Разработка языков декларативного типа, удобных для представления знаний, является актуальной проблемой сегодняшнего дня.
По способу приобретения знания можно разделить на факты и эвристику (правила, которые позволяют сделать выбор при отсутствии точных теоретических обоснований). Первая категория знаний обычно указывает на хорошо известные в данной предметной области обстоятельства. Вторая категория знаний основана на собственном опыте эксперта, работающего в конкретной предметной области, накопленном в результате многолетней практики.
По типу представления знания делятся на факты и правила. Факты — это знания типа «А — это А», такие знания характерны для баз данных и сетевых моделей. Правила, или продукции, -это знания типа «ЕСЛИ А, ТО В».
Кроме фактов и правил существуют еще метазнания — знания о знаниях. Они необходимы для управления БЗ и для эффективной организации процедур логического вывода.
Форма представления знаний оказывает существенное влияние на характеристики ИИС. Базы знаний являются моделями человеческих знаний. Однако все знания, которые привлекает человек в процессе решения сложных задач, смоделировать невозможно. Поэтому в интеллектуальных системах требуется четко разделить знания на те, которые предназначены для обработки компьютером, и знания, используемые человеком. Очевидно,
58
что для решения сложных задач БЗ должна иметь достаточно большой объем, в связи с чем неизбежно возникают проблемы управления такой базой. Поэтому при выборе модели представления знаний следует учитывать такие факторы, как однородность представления и простота понимания. Однородность представления приводит к упрощению механизма управления знаниями. Простота понимания важна для пользователей интеллектуальных систем и экспертов, чьи знания закладываются в ИИС. Если форма представления знаний будет трудна для понимания, то усложняются процессы приобретения и интерпретации знаний. Следует заметить, что одновременно выполнить эти требования довольно сложно, особенно в больших системах, где неизбежным становится структурирование и модульное представление знаний.
2.2.
^ ТИПИЧНЫЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
К типичным моделям представления знаний относятся логическая, продукционная, фреймовая и модель семантической сети.
Каждой модели отвечает свой язык представления знаний. Однако на практике редко удается обойтись рамками одной модели при разработке ИИС за исключением самых простых случаев, поэтому представление знаний получается сложным. Кроме комбинированного представления с помощью различных моделей, обычно используются специальные средства, позволяющие отразить особенности конкретных знаний о предметной области, а также различные способы устранения и учета нечеткости и неполноты знаний.
^ 2.2.1. ЛОГИЧЕСКАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Логическая модель основана на системе исчисления предикатов первого порядка. Знакомство с логикой предикатов начнем с исчисления высказываний.
Высказыванием называется предложение, смысл которого можно выразить значениями: истина (Т) или ложь (F). Напри-
59
мер, предложения «лебедь белый» и «лебедь черный» будут высказываниями. Из простых высказываний можно составить бо-лее сложные:
«лебедь белый или лебедь черный», ,
«лебедь белый и лебедь черный»,
«если лебедь не белый, то лебедь черный».
В свою очередь, сложные высказывания можно разделить на частичные, которые связаны между собой с помощью слов: и, или, не, если — то. Элементарными называются высказывания, которые нельзя разделить на части. Логика высказываний оперирует логическими связями между высказываниями, т. е. она решает вопросы типа: «Можно ли на основе высказывания А получить высказывание B?»; «Истинно ли В при истинности А?» и т.п. При этом семантика высказываний не имеет значения. Элементарные высказывания рассматриваются как переменные логического типа, над которыми разрешены следующие логические операции:
отрицание (унарная операция);
конъюнкция (логическое умножение);
дизъюнкция (логическое сложение);
импликация (если — то);
эквивалентность.
Операция импликации должна удовлетворять следующим требованиям.
1. Значение результата импликации зависит от двух опе
рандов.
Если первый операнд (А) — истинный, то значение резуль
тата совпадает со значением второго операнда (В).
Операция импликации не коммутативна.
Результат импликации совпадает с результатом выражения
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;
Для устранения этой неопределенности введем скобки и порядок применения кванторов - слева направо, тогда получим следующие формулы, соответствующие интерпретациям:
(^ Х)(У)ЛЮБИТ(Х, Y).
(У)( /Х)ЛЮБИТ(Х, У).
Рассмотрим остальные варианты расположения кванторов и их интерпретации.
(Х)( ^ У)ЛЮБИТ(Х, Y) и (Y)( X) ЛЮБИТ(Х, Y) -«Всеобщее человеколюбие».
(Х)(У)ЛЮБИТ(Х, У) - «Существует хотя бы один человек,
который любит всех людей».
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
еще рефераты
Еще работы по разное
Реферат по разное
1. Мой покоя дух не знает
17 Сентября 2013
Реферат по разное
А. Н. Радищев «Путешествие из Петербурга в Москву». А. С. Грибоедов «Горе от ума»
17 Сентября 2013
Реферат по разное
31 января 2011 года
17 Сентября 2013
Реферат по разное
5. 11. Как упростить логическую формулу?
17 Сентября 2013