Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка языка запросов в бинарной модели знаний и транслятора этого языка в язык SQL (бакалаврская работа).doc
Скачиваний:
13
Добавлен:
28.06.2014
Размер:
1.31 Mб
Скачать

1.3. Области применения онтологий

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

• электронная коммерция;

• биоинформатика;

• юридические информационные системы;

• электронное обучение;

• технология агентов;

• построение баз данных;

• программная инженерия;

• обработка естественного языка;

• информационный поиск;

• Семантический Веб;

• Веб-сервисы .

1.4. Формальная концептуализация и формальные онтологии

В книге [Genesereth et al., 1987], определяя понятие концептуализации, авторы пишут: «Блок формально представленного знания основан на концептуализации: объекты, понятия и другие сущности, которые существуют, как предполагается, в некоторой области интереса, а также отношения, которые существуют между ними. Концептуализация – абстрактный, упрощенный взгляд на мир, который мы хотим представить с некоторой целью. Каждая база знаний, система, основанная на знаниях, или агент на уровне знаний фиксирует, явно или неявно, некоторую концептуализацию».

Несмотря на сложность ментальной природы понятия «концептуализация», Дженесерет и Нильссон выбирают для его объяснения очень простое математическое представление – экстенсиональную реляционную структуру.

Экстенисинальная реляционная структура (концептуализация по Дженесерету и Нильссону) – это пара (U,R), где

• Uмножество, называемое универсумом;

R – множество отношений, заданных на U.

Заметим, что по этому определению элементами множества R являются обычными математическими отношениями, т.е. некоторыми множествами кортежей, составленными из элементов D. Таким образом, элемент Rэто экстенсиональное отношение, отражающее конкретное состояние мира.

Пример 1.1. Рассмотрим предметную область «Компания», связанную с хранением сведений о работниках некоторой компании. Предположим, что в компании работает 300 человек, каждый из которых идентифицируется номером ИНН (индивидуальный номер налогоплательщика). Пусть универсум U содержит всех этих работников. Мы интересуемся отношениями между ними. Таким образом, R содержит некоторые унарные отношения (т.е. подмножества) такие, как Работник, Менеджер и Исследователь, а также бинарные отношения подчинен и сотрудничает_с. Соответствующая экстенсиональная реляционная структура (U,R) такова:

• U = ИНН всех работников компании;

R = {Работник, Менеджер, Исследователь, подчинен, сотрудничает_с}.

Экстенсионалы отношений отражают конкретный мир. Здесь мы предполпгаем, что множество Работник совпадает с универсумом U, а множества Работник, Менеджер, Исследователь являются собственными подмножествами универсума. Бинарные отношения подчинен, сотрудничает_с являются множествами пар, которые указывают иерархию подчинения и совместную работу работников. На Рис.1.1 некоторые из этих пар изображены в виде ориентированного графа. Здесь исследователь 110104675801 подчинен менеджеру 11010382002 и сотрудничает с другим исследователем 110104444303, который также подченен менеджеру 11010382002.

Менеджер(110103482002)

подчинен

Исследователь(110104675801) подчинен

Работает_вместе_с

Исследователь(110104444303)

Работник(110105000027)

Рис.1.1

Работник = U;

Менеджер = {…, 110103482002,…};

Исследователь = {…, 110104444303,…, 110104675601,…};

подчинен = {…, (110104675801,1103482002),…,

(110104444303,110103482002),…};

сотрудничает_с = {…, (110104675601,110104444303),…};

Несмотря на простоту понятия «экстенсиональная концептуализация», это понятие на самом деле плохо соответствует нашим нуждам и отвечает нашей интуиции, главным образом, потому, что оно слишком зависит от конкретного состояния предметной области. Концептуализация должна зависеть только от понятий, а не от состояний (примеров понятий). Следует ли понятию «подчинен» изменяться тогда, когда иерархическая стуруктура компании меняется? В работе [Guarino et al.,1995] обсуждается, следует ли изменять концептуализации предметной области при изменении сосотяний это предментной области. Если в соответствии с взглядами Дженесерета и Нильссона считать, что это так, то каждый новый конкретный граф отношения «подчинен» такой, как в примере 1.1., давал бы новую концептуализацию.

Пример 1.2. Рассмотрим следующую модификацию примера 1.1.:

R* = { Работник, Менеджер, Исследователь, подчинен*, сотрудничает_с },

где подчинен*= подчинен U {(110103482001,110105000005)}.

Поскольку (U,R) ≠ (U,R*), то в соответствии с Дженесеретом и Нильссоном мы имеем две различные экстенсиональные концептуализации. Проблема в том, что принадлежащие R экстенсиональные отношения отражают конкретные состоянии предметеной области. Однако, мы должны сосредоточиться на смысле (значении) понятий, которые не зависимы от кокретного состояния. Например, смысл отношения сотрудничает_с лежит в конкретном способе как два работника действуют в компании.

В примере 1.1 предметная область состоит из элементов универсума U и имен Работник, Менеджер, Исследователь, подчинен и сотрудничает_с. Приведенную в этом примере экстенсиональную концептуализацию можно представить себе как назначение именам Работник, Менеджер и Исследователь конкретных подмножеств множества U, а именам подчинен , сотрудничает_с назначение конкретных отношений, т.е. подмножеств множества U x U.

С каждой парой (Менеджер, х), где хU, свяжем булеву переменную ξ«Менеджер,х» , которая равна 1 в том и только том случае, если х является примером понятия Менеджер (т.е. х есть ИНН некоторого менеджера). Точно так же, введем булевы переменные ξРаботник,х и ξИсследователь,х . Таким образом, в примерах 1.1 и 1.2 имеем, что ξРаботник,х = 1 для всех хU (поскольку универсум U состоит из ИНН всех работников), а ξ«Менеджер,110103482002» = 1 и ξ«Менеджер,110104444303» = 0 (так как работник с ИНН 110103482002 является менеджером, а работник с ИНН 110104444303 менеджером не является).

С каждой тройкой (подчинен,х,у), где х,уU, свяжем булеву переменную ξ«подчинен,х,у», которая равна 1 в том и только том случае, если работник с ИНН х подчинен работнику с ИНН у. Точно так же, введем булеву переменную ξ«сотрудничает_с,х,у» .

Итак, с предметной облстью из примеров 1.1 и 1.2 связано следующее множество булевых переменных:

{ξ«Работник,х», ξ«Менеджер,х», ξ«Исследователь,х»,

ξ«подчинен,х,у», ξ «сотрудничает_с» | х, уU}.

Состоянием этой предметной области назовем присваивание этим переменным конкретных значений 0 или 1.

Рассмотрим общий случай задачи моделирования некоторой системы (или приложения) S. Пусть PS – предметная область для этой задачи. Пусть Var = Var(PS) – множество всех переменных, связанных с предметной областью PS. (Заметим, что в основном Var состоит из булевых переменных; но в Var могут входить и не булевы пременные.) Состоянием σ предметной области PS назовем присваивание булевых значений переменным из Var. Другими словами, состояние σ можно отождествить с функцией, заданной на множестве Var и принимающая значения в {0,1}, т.е. σ: Var → {0,1}. Однако, вообще говоря, не любую функцию σ: Var → {0,1} следует считать допустимым состоянием. Обозначим А(PS) множество всех допустимых состояний предметной области PS. Это множество выражает смысл понятий, входящих в эту предметную область.

Пусть rимя какого-либо отношение предметной области PS. Предположим, что r имеет арность (местность) n. Тогда для заданных (х1,х2,…,хn) Un имеем булеву переменную ξ«r1,х2,…,хn». Каждое состояние σ предметной области PS задает n-местное отношение rσ = {(х1,х2,…,хn) | σ(ξ«r1,х2,…,хn») = 1}. Определим семейство n-местных отношений r = {rσ | σА(PS)}, состоящее из всех отношений rσ , когда σ пробегает все допустимые состояния предметной области PS. Семейство rотношений rσ называется интенсиональным отношением.

Замечание. Сказанное является общим способом выражения интенсиональных свойств, восходящим к Рудольфу Карнапу, [Карнап, 1959]. Данное нами определение интенсионального отношения является модификацией определения, данного в [Guarino et al., 2004]. Гуарино называет интенсиональные отношения также концептуальными.

Интуитивное понимание смысла отношения сотрудничает_с связано с некоторым правилом, определяющим кооперацию работников. Предположим, в нашем случае, два работника сотрудничают друг с другом, если: (1) оба они заявляют, что имеют одну и ту же цель; (2) оба делают что-то для достижения этой цели. Тогда смысл отношения сотрудничает_с можно определить как функцию, которая для каждого допустимого состояния дает множества всех пар работников, которые удовлетворяют условиям (1) и (2).

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

Пусть U - универсум и Г – множество точек соотнесения, взаимно однозначно соответствующих допустимым состояниям предметной области. Концептуализация (или интенсиональная реляционная структура) – это тройка (U,Г,R), где R – множество концептуальных (интенсиональных) отношений.

Пример 1.3. Возьмем опять предметную область, рассмотренную в примерах 1.1 и 1.2. Положим:

• Г = {…, γ1,…, δ2,…};

R – следующее множество концептуальных отношений:

Работник (γ) = U для всех γГ;

Менеджер(γ) = {…, 110103482002,…} для всех γГ;

Исследователь(γ) = {…, 110104444303,…, 110104675801,…, 1101001243005}

для всех γГ;

подчинен

={…,(110104675801,110103482002),…,(110104444303,110103482002),…};

подчинен2) = {…, (110104675801,110103482002),…, (110104444303,110103482002),

…, (1101001243005,110103482002) };

…………………………….

Сотрудничает_с1) = {…};

Сотрудничает_с2) = {…};

……………………………. .

Здесь для простоты мы предполпгаем, что унарные (одноместные) предикаты Работник, Менеджер и Исследователь «жесткие», т.е. каждый имеет один и тот же экстенсионал для всех γГ. Но для бинарных предикатов подчинен и сотрудничает_с нет предположения «жесткости».

В практических приложениях, как и в человеческом общении, мы используем язык для того, чтобы ссылаться на элементы концептуализации. Например, чтобы выразить факт, что работник 110104675801 сотрудничает с работником 110104444303, мы должны ввести в соответствующем формальном языке L специальное имя отношения сотрудничает_с для обозначения данного концептуального отношения. В этом случае мы говорим, что язык L используется для онтологических установок для данной концептуализации.

Предположим теперь, что Lязык логики первого порядка с сигнатурой {110104675801, 110104444303, подчинен, сотрудничает_с}. Как мы можем быть уверены, что такие имена интерпретируются в соответствии с концептуализацией, которую мы намерены установить? Но в логике допустимы произвольные интерпретации сигнатуры в данном универсуме. Другим словами, когда мы делаем онтологические установки для данной концептуализации, мы должны быть уверены, что допустимыми будут только те модели, которые соответствуют нашим намерениям.

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

Здесь выявляется роль онтологии как «явной спецификации концептуализации». В принципе мы можем явно специфицировать концептуализацию двумя путями: экстенсионально и интенсионально. В наших примерах экстенсиональная спецификация данной концептуализации потребовала бы создания списков экстенсионалов каждого отношения в каждой точки соотнесения. Но это невозможно в большинстве случаев (например, в принципе когда бесконечны универсум U или множество Г точек соотнесения) или, по крайней мере, это весьма непрактично. Все-же в некоторых случаях имеет смысл частично специфицировать концептуализацию экстенсиональным образом посредством выписывания примеров и конрпримеров экстенсионалов в отдельных выбранных точек соотнесения, ссылающихся на стереотипические состояния. В общем случае, однако, более эффективный способ спецификации – фиксировать формальный язык и записать в нем ограничения на интерпретации интенсионально посредством аксиом, называемых в [Карнап, 1959] постулатами значения (meaning postulates). Например, можно написать простые аксиомы, утверждающие, что отношение подчинен асимметрично и интранзитивно, а отношение сотрудничает_с симметрично, иррефлексивно и симметрично.

Пример 1.4. В определении Грубера онтологии как «явной спецификации концептуализации» слово «явная» означает, что речь должна идти о конкретном символическом объекте. Рассматрим пример Дженесерета и Нильссона. Они анализируют ситуацию, где имеются две составленные из блоков башни (см. рис.1.2). Возможная концептуализация этой сцены дается следующей структурой:

({a, b, c, d, e}, {на, сверху, свободно, на_столе}),

где {a, b, c, d, e} – блоки, а {на, над, свободен, на_столе} – отношения между блоками, причем на и сверху – бинарные отношения, а свободен и на_столе – унарные отношения. Универсум U состоит из 9 объектов – пяти индивидных объектов a, b, c, d и четырех отношений на, сверху, свободно, на_столе. Эти отношения связывают объекты следующим образом:

FB1 = {на(a,b), на(b,c), на(d,c), на_столе(c), на_столе(e), свободно(a), свободно(d)}.

Здесь FB1 обозначает базу фактов, которая рассматривается как состояние предметной области. Другое состояние предметной области изображено на рис.1.3. Сосответствующей базой фактов является

FB2 = {на(b,c), на(a,d), на(d,e), на_столе(c), на_столе(e), свободно(a), свободно(b)}.

a

b d

c e

Рис.1.2

a

b d

c e

Рис.1.3

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

О = {ху(на(х,у) → над(х,у),

хуz(на(х,у) /\ на(y,z) → на(х,z)),

хуz(над(х,у) /\ над(y,z) → над(х,z)),

ху(на(х,у) → на(х,у)),

у (на(х,у) → над(х,у)),

ху (на(х,у) → свободен(у))

х (на_столе(х) →у над(х,у),

х (свободен(x) → <>y на(у,х))

}.

Эта онтология формализует следующее знание, представленное неформально (в есетественном языке):

• если объект х лежит на объекте у, то х находится сверху у;

• если х лежит на у и у лежит на z, то х лежит на z;

• если х лежит на у, то у не лежит на х;

• если х лежит на у, то х находится над у;

• если х лежит на у, то у не свободен;

• если х лежит на столе, то не существует объекта у, такого, что х находится над у.

• на объект х можно положить объект у только тогда, когда х свободен.

Замечание. Последнее предложение в онтологии О содержит модальный оператор возможности <>. Предложение это можно прочитать так:

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

В данном примере имеются две базы знаний, соотвествующие двум базам фактов:

KB1 = O U FB1 и KB2 = O U FB2.

Соседние файлы в предмете Государственный экзамен