Модели представления знаний

Представление знаний происходит в рамках той или иной системы представления знаний. Система представления знаний – это совокупность программных средств для хранения и обработки знаний. Система представления знаний выполняет следующие функции:

- хранение знаний о предметной области в соответствии с моделью представления знаний в базе знаний (БЗ);

- ввод новых знаний;

- проверка непротиворечивости хранимых знаний;

- удаление знаний;

- вывод новых знаний из уже имеющихся знаний;

- предоставление знаний пользователю.

Модель представления знаний – это способ записи знаний, предназначенный для отображения текущего состояния объектов некоторой предметной области и отношений между ними, а также изменение объектов и отношений.

Модель представления знаний может быть универсальной, то есть применимой для большинства предметных областей, или специализированной, то есть разработанной для конкретной предметной области. К основным универсальным моделям представления знаний относятся:

- логические модели;

- сетевые модели;

- продукционные модели;

- фреймовые модели.

Знания хранятся в базе знаний в соответствии с моделью представления знаний.

Логические модели

В основе логических моделей лежит понятие формальной теории, задаваемой четверкой:

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; просмотров: 2808;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.037 сек.