Модели представления знаний
Представление знаний происходит в рамках той или иной системы представления знаний. Система представления знаний – это совокупность программных средств для хранения и обработки знаний. Система представления знаний выполняет следующие функции:
- хранение знаний о предметной области в соответствии с моделью представления знаний в базе знаний (БЗ);
- ввод новых знаний;
- проверка непротиворечивости хранимых знаний;
- удаление знаний;
- вывод новых знаний из уже имеющихся знаний;
- предоставление знаний пользователю.
Модель представления знаний – это способ записи знаний, предназначенный для отображения текущего состояния объектов некоторой предметной области и отношений между ними, а также изменение объектов и отношений.
Модель представления знаний может быть универсальной, то есть применимой для большинства предметных областей, или специализированной, то есть разработанной для конкретной предметной области. К основным универсальным моделям представления знаний относятся:
- логические модели;
- сетевые модели;
- продукционные модели;
- фреймовые модели.
Знания хранятся в базе знаний в соответствии с моделью представления знаний.
Логические модели
В основе логических моделей лежит понятие формальной теории, задаваемой четверкой:
S = < T, F, A, R >.
Рассмотрим компоненты формальной теории.
T – множество символов теории S, называемых термами и образующих алфавит теории. Конечная последовательность символов множества T называется выражением теории S.
F – подмножество выражений теории S, называемых формулами теории и построенных по синтаксическим правилам. Примерами правил могут быть праивла записи формул алгебры высказываний.
A – множество формул, называемых аксиомами теории S и являющихся априорно истинными формулами.
R – конечное множество отношений между формулами, называемые правилами вывода. Правила вывода позволяют получать новые формулы множества F за счет применения этих правил вывода к аксиомам или уже выведенным формулам.
Формальная система позволяет выводить новые правильные формулы множества F, применяя к аксиомам множества A и уже полученным формулам правила вывода множества R, то есть выводить из одних истинных высказываний новые истинные высказывания. Таким образом, в рамках формальной системы можно получить бесконечное число формул из небольшого числа исходных аксиом.
Вывод новых знаний в рамках логической модели представления знаний заключается в получении некоторого утверждения из имеющихся аксиом и правил вывод. Если в результате вывода утверждение получено, то оно считается истинным и является логическим следствием из аксиом.
В этом случае задачей пользователя или программиста является описание предметной области совокупностью утверждений в виде логических формул. Доказательство истинности утверждения осуществляется ЭВМ на основе исходных утверждений.
Наиболее простой метод логического вывода использует только одно правило вывода и называется методом резолюции.
Метод резолюции заключается в выполнении следующих шагов:
1) взять отрицание формулы A и привести формулу к КНФ;
2) выписать множество дизъюнктов K = {D1, ..., Dn} формулы ;
3) если во множестве существуют пара дизъюнктов Di и Dj, один из которых содержит переменную Y, а другой – отрицание переменной , то соединить эти дизъюнкты дизъюнкции Di + Dj и сформировать новый дизъюнкт + , исключив переменные Y и ;
4) возможны три случая:
- если дизъюнкты Di и Dj содержат только переменные Y и , то получен пустой дизъюнкт и логическое следствие верно;
- если во множестве K не существует двух дизъюнктов, для которых применим шаг 3, то логическое следствие неверно;
- если полученный дизъюнкт не является пустым, то и добавить его к множеству K и вновь выполнить шаг 3.
Пример 7.1. Рассмотрим логический вывод знаний. Пусть для некоторого студента справедливы три факта, являющихся аксиомами – исходными утверждениями для логического вывода:
1) если студент болеет, то он принимает лекарства;
2) если студент не болеет, то он ходит на учебу;
3) студент не принимает лекарства.
Следует ли из этих аксиом следующее высказывание:
4) студент ходит на учебу.
Выделим в этих утверждениях простые высказывания:
A = «студент болеет»;
B = «студент принимает лекарства»;
C = «студент ходит на учебу».
Запишем утверждения с помощью этих простых высказываний с учетом того, что конструкция «если A, то B» соответствует логической операции импликации A → B:
1) A → B;
2) → C;
3) ;
4) C.
При преобразованиях будем использовать следующие равносильные формулы алгебры высказываний:
= A;
A → B = + B;
= × ,
где «+» – дизъюнкция; «×» – операция конъюнкции; «→» – операция логического следствия (импликация).
Проверим, является ли высказывание 4 логическим выводом из утверждений 1-3:
[(A → B) × ( → C) × ] → C.
В соответствии с методом резолюций возьмем отрицание от данного выражения и преобразуем его к КНФ:
= ( + B) × (A + C) × × .
Множество K включает следующие дизъюнкты:
K = { + B, A + C, , }.
Из двух дизъюнктов + B и A + C получим новый дизъюнкт B + C, который включается в множество K:
K = { + B, A + C, , , B + C}.
Из двух дизъюнктов B + C и получим новый дизъюнкт C, который также включается во множество K:
K = { + B, A + C, , , B + C, C}.
Полученный дизъюнкт C является отрицанием дизъюнкта , а значит, высказывание 4 является логическим следствием из утверждений 1-3. □
Помимо высказываний, для представления знаний могут использоваться предикаты. В отличие от естественного языка, который очень сложен, язык логики предикатов использует конструкции естественного языка, которые легко формализуются.
Предикат – это функция, возвращающая значения 1 («истина») или 0 («ложь») в зависимости от значений аргументов. Например, P(x,y)=(x>y).
В логике предикатов вводятся две операции.
1. Квантор существования $.
Выражение $x P(x) (читается: «существует x, для которого P(x)») истинно, если существует такое значение x из множества M, при котором P(x) = 1:
$x P(x) = P(x1) + P(x2) + …
2. Квантор общности ".
Выражение "x P(x) («для любого x P(x)») истинно, если P(x) = 1 для всех значений x из множества M:
"x P(x) = P(x1) · P(x2) · …
Рассмотрим пример представления знаний с помощью предикатов.
Пример 7.2. Приведем структуру описания следующего объекта с помощью логики предикатов: «Солнечная система состоит из центрального светила и девяти планет, обращающихся вокруг него».
Выражения «состоит из» и «представляет собой» используют для того, чтобы описать структуру некоторого объекта. Описание может быть статическим и динамическим.
В случае статического описания указывается взаимное пространственное расположение частей. В случае динамического описания – законы их относительного перемещения в пространстве или описание иных видов движения (их зависимости от времени).
Для нашего примера, считая для простоты, что планеты равномерно движутся по круговым орбитам, можно построить следующее описание, используя следующее выражение:
"x $y "t (СОЛНЕЧНАЯ_СИСТЕМА (х, t) º
º СОСТОИТ_ИЗ(x, y, t) ×
× $z0 $z1 … $z8 "z (((z Î y) ® ((z = z0) + (z = z1) + … + (z = z8)) ×
× СОЛНЦЕ(z0) × МЕРКУРИЙ(z1) × ВЕНЕРА(z2) ×
ЗЕМЛЯ(z3) × МАРС(z4) × ЮПИТЕР(z5) × САТУРН(z6) ×
× УРАН(z7) × НЕПТУН(z8) ×
× $ КООРДИНАТЫ(z0, t, ) × ( = 0)) ×
× (КООРДИНАТЫ (zk, t, ) ×
× (rk = ak) × (qk = bk) × (jk = ck Å dk Ä t)))),
где º – логическая операция эквивалентности, «Å» – операция арифметического сложения; «Ä» – операция арифметического умножения; t – время.
Для описания пространственного положения космических тел определяются: – координатный вектор в сферической системе координат = < r, q, j> (соответственно, = 0 следует понимать как (r = 0) × (q = 0) × (j = 0), а $ как кортеж из трех кванторов); ak, bk, ck, dk – числа, определяющие соответственно радиус орбиты, угол наклона орбиты, положение на орбите, период обращения.
Названия Солнца и девяти планет символизируют не только имя, но и все существенные характеристики соответствующего объекта. Например:
МАРС(z4) º (ИМЯ (z4, МАРС) × МАССА(z4; 6,4Ä1013) ×
× ПЕРИОД_ВРАЩЕНИЯ_ВОКРУГ_СВОЕЙ_ОСИ(z4; 24,5) ×
× СРЕДНИЙ_ДИАМЕТР(z4, 6776)).
Общий вид такого описания можно представить схемой
"x $y "t (А(x, t) ~ СОСТОИТ_ИЗ(x, y, t) × S(y, t)),
где S(y, t) – описание совокупности y как статической или динамической системы пространственно организованных элементов. □
Возможность получения новых знаний из уже имеющихся знаний (аксиом) посредством логического вывода делает логические модели представления знаний широко используемыми в системах искусственного интеллекта.
Семантические сети
Семантическая сеть – это система знаний, имеющая вид сети, узлы которой соответствуют объектам предметной области и их свойствам, а дуги – отношениям между ними.
Представим с помощью семантической сети следующие факты:
«все кашалоты – киты»,
«Моби Дик – кашалот»,
«киты имеют хвост».
Моби Дику посвящен одноименный роман американского писателя Германа Мелвилла.
Из данных фактов можно выделить следующие объекты, которые будут являться узлами сети: «Моби Дик», «кашалот», «кит», «хвост».
Взаимосвязь этих объектов опишем с помощью отношений:
- «часть – целое» (IS-A) (пример: «стол» IS-A «мебель»);
- «целое – частное» (PART-OF) (пример: «рука» PART-OF «тело»).
Семантическая сеть, описывающая факты, представлена на рис. 7.1.
Рис. 7.1. Представление фактов семантической сетью
Используя отношения IS-A и PART-OF, из имеющихся фактов можно вывести факты «Моби Дик – кит» и «Моби Дик имеет хвост».
Семантическая сеть представляет собой ориентированный граф с поименованными дугами и вершинами. Вершинам графа, описывающего семантическую сеть, соответствуют:
- события представляют собой действия, происходящие в реальном мире;
- объекты представляют объекты реального мира, а также их особенности и характеристики (цвет, размер, качество), а применительно к событиям – продолжительность, время, место.
Дуги графа семантической сети отображают многообразие отношений между объектами, которые условно можно разделить на четыре класса:
- лингвистические отношения в свою очередь подразделяются на глагольные (время, вид, род, залог, наклонение), атрибутивные (цвет, размер, форма) и падежные;
- логические отношения, используемые в алгебре высказываний: дизъюнкция, конъюнкция, отрицание, импликация и др.;
- теоретико-множественные: отношение части целого (PART-OF), отношение множества и элемента (IS-A);
- квантифицированные отношения общности и существования; они используются для представления таких утверждений как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».
Рассмотренный выше пример семантической сети отображал теоретико-множественные отношения между объектами, представляющие понятия предметной области. Рассмотрим использование семантических сетей для представления событий.
Чтобы представить некоторые знания о событиях в виде семантической сети, необходимо выделить данные события. События обычно описываются глаголом. После этого выделяются следующие объекты:
- объекты, которые являются инициаторами события;
- объекты, на которые событие воздействует;
- объекты, характеризующие свойства события.
Все связи понятий, событий и свойств с действием (глаголом) называют падежами или падежными отношениями, которые относятся к классу лингвистических отношений (табл. 7.2).
Таблица 7.2. Возможные падежи
Падеж | Значение падежа |
агент | предмет, являющийся инициатором действия |
объект | предмет, подвергающийся действию |
источник | размещение предмета перед действием |
приемник | размещение предмета после действия |
время | момент выполнения действия |
место | место проведения действия |
цель | действие другого события |
Введение падежей позволяет перейти от поверхностной структуры к его смысловому содержанию.
Представим в виде семантической сети предложение: «Студент пришел в 18.50 с работы в университет на занятие, чтобы сдать лабораторную работу в компьютерном классе».
Выделим основные события в этом предложении, соответствующие действиям:
F1 – студент пришел;
F2 – пришел, чтобы сдать.
Схема семантической сети представлена на рис. 7.2.
Рис. 7.2. Представление знаний семантической сетью
Особенность семантических сетей как модели представления знаний состоит в единстве БЗ и механизма вывода новых знаний.
Рассмотрим метод сопоставления, который заключается в выполнении следующих шагов:
1) строится семантическая сеть, соответствующая структуре запроса;
2) сеть запроса сопоставляется с семантической сетью, в результате чего отыскивается искомый узел, который и является ответом.
Запрос «Куда пришел студент?» представим в виде сети (рис. 7.3).
Рис. 7.3. Семантическая сеть запроса «Куда пришел студент?»
Сопоставление общей сети с сетью запроса начинается с поиска вершины «пришел», имеющей дугу «агент», направленную от вершины «студент». Затем происходит переход по дуге «приемник», что приводит к ответу «в университет на занятие».
Наряду с методом сопоставления, в семантических сетях используется метод перекрестного поиска, состоящий из двух шагов:
1) поиск отношений между понятиями;
2) вершина, находящаяся на пересечении дуг, соответствующих отношениям в запросе, является ответом на запрос.
Сеть запроса «Что сделал студент в 18.50?» представлена на рис. 7.4.
Рис. 7.4. Семантическая сеть запроса
«Что сделал студент в 18.50?»
Сопоставление общей сети с сетью запроса начинается с поиска вершины, в которую сходятся дуги «агент» и «объект». В данной семантической сети присутствует одна вершина «пришел», и она связана падежами с вершинами «студент» и «в 18.50». Поэтому вершина «пришел» является ответом на этот запрос.
Любую семантическую сеть можно записать с помощью предикатов, то есть преобразовать семантические сети к логической модели представления знаний. Например, семантическую сеть, изображенную на рис. 7.1, можно описать с помощью предикатов
является (элемент, множество);
имеет (часть, объект),
следующим образом:
является (кашалот, кит);
является (Моби Дик, кашалот);
имеет (хвост, кит).
Отношение «студент – пришел» на рис. 7.2 можно описать предикатом
агент (инициатор, действие).
Другие отношения между объектами можно описать аналогичными предикатами.
Семантические сети, как модель представления знаний, имеют следующие преимущества:
- описание объектов и событий производится на уровне близком к естественному языку;
- возможность объединение нескольких семантических сетей в одну;
- возможность выделения фрагмента сети и использования ее в качестве автономной БЗ, содержащей все необходимые объекты, события и отношения между ними;
- небольшое число типов отношений между объектами и событиями.
Дата добавления: 2019-04-03; просмотров: 2786;