Разработка языка запросов в бинарной модели знаний и транслятора этого языка в язык SQL (бакалаврская работа) (544460), страница 3
Текст из файла (страница 3)
Здесь для простоты мы предполпгаем, что унарные (одноместные) предикаты Работник, Менеджер и Исследователь «жесткие», т.е. каждый имеет один и тот же экстенсионал для всех γ
Г. Но для бинарных предикатов подчинен и сотрудничает_с нет предположения «жесткости».
В практических приложениях, как и в человеческом общении, мы используем язык для того, чтобы ссылаться на элементы концептуализации. Например, чтобы выразить факт, что работник 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.
1.5. Формальная модель понятия и концептуальные языки
Американский толковый словарь Webster следующим образом определяет термин «понятие»: An abstract or general idea inferred or derived from specific instances (Абстрактная или общая идея, выведенная или произведенная из конкретных примеров.)
Понятие есть ментальная сущность (объект), а ее примерами (экземплярами) могут быть как физические, так и ментальные сущности. Для того чтобы моделировать понятия в компьютере, необходимо символическое, формальное представление понятий и их примеров. Такое представление основано на именах, которые присваиваются (реально или потенциально) моделируемым объектам. Между именами и моделируемыми объектами имеется отношение референции ref, которое назначает объекту его имя. Вообще говоря, данный объект о может иметь не одно имя, а несколько. Мы скажем, что имена a и b кореферентны и запишем a ~ b, если они обозначают один и тот же объект. Таким образом, a ~ b тогда и только тогда, когда существует объект о такой, что о ref a и o ref b. Ясно, что кореференция является отношением эквивалентности.
Понятие имеет два аспекта – экстенсионал и интенсионал. Экстенсионал (или объем) понятия – это множество всех его примеров. Интенсионал – это совокупность условий, характеризующих примеры понятия.
Формальное понятие строится из имен. В экстенсиональном аспекте формальное понятие имеет следующие компоненты.
• Имя понятия С.
• Универсум понятия UC – множество всех имен, которые могут обозначать примеры понятия С.
• Множество точек соотнесения Г.
• Подмножество ЕСγ
UC для каждой точки соотнесения γ
Г – множество всех примеров (экземпляров) в этой точке (точнее, имен примеров).
• Отношение эквивалентности ~γ , заданное на множестве ЕСγ для каждой точки соотнесения γ
Г – кореференция в этой точке.
• Счетное множество Surr специальных имен, называемых суррогатами. Суррогаты служат идентификаторами объектов. Для каждого имени е
ЕСγ существует единственный суррогат s
Surr, кореферентный этому имени: e ~ s.
• Пара ExtСγ = (ЕСγ, ~γ) для каждой точки соотнесения γ
Г – экстенсионал понятия С в этой точке.
• Семейство ExtС = { ExtСγ | γ
Г} – полный экстенсионал понятия С.
Объекты предметной области обладают, как правило, свойствами, или атрибутами. Атрибут А формального понятия С можно рассматривать как функцию, заданную на множестве ЕС = U{ ЕСγ | γ
Г}. Значением этой функции служит имя примера другого понятия (или этого же понятия) или элемент некоторого типа данных.
Пример 1.5. Рассмотрим задачу построения системы, хранящей сведения об учебном процессе. Тогда можно ввести такие понятия, как «студент», «преподаватель», «предмет» и т.п. Предположим, что понятие «студент» имеет атрибуты ФИО, ГодРожд (год рождения), Руков (руководитель). Формальное понятие «студент» определим как имеющее следующий компоненты.
• Имя понятия: Студент;
• Универсум понятия:
UСтудент = iName U Surr U {[ФИО:x, ГодРожд:y, Руков:z] | x
String, y
Integer z
Surr}. Здесь iName – тип данных, элементы которого используются для имен индивидных объектов, а Surr – тип данных, элементами которого служат суррогаты. Элементами Surr будем считать #1, #2, #3,… .















