Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы знаний интелл. систем - Гаврилова.doc
Скачиваний:
340
Добавлен:
12.11.2019
Размер:
3.9 Mб
Скачать

8.3. Системы и средства представления онтологических знаний

8.8.1. Основные подходы

В настоящее время во всем мире исследования по пространствам знаний в среде Интернет [Khoroshevsky, 1998] ведутся широким фронтом. И одним из ключевых аспектов в таких исследованиях являются алгоритмические и программные средства представления онтологических знаний и работы с онтологиями.

В качестве примеров исследовательских проектов по данной тематике можно указать Cooperative Information Gathering Project из лаборатории Распределенного ИИ университета Массачусет; проект экстрактирования знаний из гипертекстов на основе использования методов машинного обучения, выполняемого в университете Карнеги Мэллон; работы Knowledge Technology Group лаборатории Sun Microsystems no технологии обработки знаний (проект-«Precision Content Retrieval»), целью которого является построение концептуальной таксономии фраз, выделяемых из индексированных материалов, и многие другие [Lesser et al., 1998; Luke et al., 1996; Woods et al, 1999]. Общей целью практически всех таких проектов является разработка новых подходов к построению пространств знаний и средств работы с ними, где бы обеспечивались:

• использование семантики для управления процессом ответа на запросы;

• возможность построения ответов с хорошо определенной семантикой и простым синтаксисом, которые могли бы быть «поняты» и обработаны программными агентами или другими программными средствами;

• возможность гомогенного доступа к информации, которая физически распределена и гетерогенно представлена в Интернете;

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

Впечатляющая коллекция ссылок на такие проекты представлена в Интернете по адресу http://www.tzi.org/grp/i3/, но наиболее'интересными с точки зрения темы данного раздела, по-видимому, являются инициатива (КА)2 [Benjamins et al., 1998] и проект SHOE [Heflin et al., 1998], которые и обсуждаются ниже.

8.3.2. Инициатива (ка)2 и инструментарий Ontobroker

Аннотация знаний в рамках инициативы (КА)2

Аннотация знаний сообществом приобретения знаний (Knowledge Annotation Initiative of the Knowledge Acquisition Community) — так расшифровывается аббревиатура (КА)2. Целью работ по этому международному проекту является, в конечном счете, интеллектуальный поиск в среде Интернет и автоматическое накопление новых знаний.

В рамках инициативы (КА)2 выделяются три основных направления исследований:

• онтологический инжиниринг (ontological engineering);

• аннотация Web-страниц;

• запросы к информации на Web-страницах и вывод ответов на базе онтологических знаний.

Онтологический инжиниринг — одно из основных направлений, в рамках которого предполагается, что сообщество (КА)2 должно создать свою собственную и достаточно общую систему онтологии на основе использования средств Ontolingua [Farquhar et al., 1996]. В настоящее время уже разработано воесемь онтологии, которые могут рассматриваться как разделы общей онтологии — онтология организации (organization ontology), проекта (project ontology), личности (person ontology), направления исследований (research-topic ontology), публикаций (publication ontology), событий (event ontology), исследовательских продуктов (research-product ontology) и исследовательских групп (research-group ontology). При этом разработка примеров онтологии осуществляется и управляется участниками проекта — так называемыми провайдер-агентами («provider agents»), а размещаются эти онтологии на их Web-страницах. Такие страницы аннотируются с использованием нового типа HTML-тегов (ONTO), информация в пределах которых обрабатывается специальной компонентой, работающей на основе онтологии, — системой Ontocrawler. В рамках этой компоненты, в зависимости от «богатства» используемой онтологии, может выводиться новая информация, релевантная запросам, но не присутствующая явно на Web-страницах в сети Интернет.

Сама система Ontocrawler разрабатывается в рамках отдельного проекта инициативы (КА)2 — проекта Ontobroker [Fensel et al, 1998], который, собственно, и интересен с точки зрения обсуждения средств представления и обработки онтологических знаний.

Средства спецификации онтологии в проекте Ontobroker

В Ontobroker имеются три основные подсистемы: интерфейс формулирования запросов (query interface), машина вывода ответов (inference engine) и собственно машина доступа к Интернет-ресурсам — «червяк» (Webcrawlef), используемый для накопления требуемых знаний из этой среды.

Для спецификации онтологии разработан специальный язык представления знаний. Подмножество этого языка служит и для формулировки запросов, а язык аннотирования — для «обогащения» Web-документов онтологической информацией. Все эти компоненты и обсуждаются ниже.

Формализм запросов

Формализм запросов ориентирован на фреймовое представление онтологии, в рамках которого, как и обычно, определены понятия экземпляров, классов, атрибутов и значений.

Схема O:C[AV] означает, что объект О является экземпляром класса С с атрибутом А, имеющим значение V. Важно, что в каждой позиции такой схемы могут использоваться не только константы, но и переменные или выражения. Для примера, запрос вида

FORALL R <- R:Researcher

предполагает поиск всех объектов, являющихся экземплярами класса Researcher. Если предположить, что идентификатором объекта служит URL домашней страницы специалиста, в качестве результата по этому запросу будет выдан список соответствующих Интернет-ссылок.

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

FORALL Obj, FN, ЕМ <-

Obj:Researcher[firstName->>FN;

lastNamе->>"Иванов"; email->>EM].

В качестве ответа при этом могут быть получены значения переменных:

Obj = http://www.anywhere.ru/~ivanov/

FN = Иван

ЕМ = mailtg:ivanov@anywhere. ru

Имеются в языке Ontobroker и средства вывода значений свойств. Так, некоторые из атрибутов объекта могут задавать отношения, свойства которых известны машине вывода. Для примера, в запросе вида

FORALL Obj.CP <-

Obj:Researcher[lastNarn8 ->>"Иванов"; cooperatesWith->>CP],

атрибут cooperatesWith является отношением, обладающим свойством симметричности. Это означает, что даже если у объекта, описывающего специалиста по фамилии Иванов, свойства cooperatesWith нет, Ontobroker выведет его, если в онтологии представлен объект, описывающий другого специалиста, который имеет такое свойство со значением «Иванов»,

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

FORALL Att, T <- Researcher[Att=>>T]

вернет в качестве результата имена всех атрибутов класса Researcher и связанных с ним классов.

В самой системе Ontobroker поддерживаются два типа интерфейсов при формировании запросов — текстовый (для экспертов) и графический (для пользователей). Первый из них предполагает, что запросы формулируются непосредственно во входном языке описания онтологии. Понятно, что при этом знание синтаксиса языка Ontobroker и знакомство с онтологией, для которой запрос формулируется, должны у эксперта присутствовать.

Проблема знания синтаксиса решается в данном случае, как, впрочем, и в большинстве других инструментальных средств нового поколения^ за счет диалогов, управляемых системой (system-driven dialogue). Пользователю выдается соответствующая панель, где могут быть определены (путем выбора из меню) компоненты запроса и связки между ними. Такой подход обеспечивает синтаксическую корректность и однозначность интерпретации запроса.

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

В Ontobroker для визуализации онтологии используется подход, основанный на идеях гиперболической геометрии (Hyperbolic Geometry) [Lamping et al., 1995]. В случае обсуждаемой системы эти идеи реализуются следующим образом: класс, интересующий пользователя в данный момент, представляется «большим шаром», а классы, с ним непосредственно связанные, — «маленькими шарами» и располагаются по границе круга, «очерчивающего» соответствующий слой. Используя данный интерфейс, и эксперт и пользователь могут легко и эффективно включать в свой запрос нужные концепты и их атрибуты, а система Ontobroker переведет их в текстовое представление автоматически. Реализован интерфейс онтологии Ontobroker как Java-апплет, что обеспечивает работу с Web-броузерами на любых платформах, где поддерживается Java-технология.

Формализм представления и машина вывода

Как уже отмечалось выше, онтология определяется через концепты (классы), связанные отношениями, атрибуты и аксиомы. И адекватный язык представления должен обеспечить удобные средства для описания всех перечисленных компонентов. В Ontobroker базисом представления являются так называемые логики фреймов (Frame-Logic) [Kifer et al., 1995].

Базисными конструкциями в данном подходе являются:

• Подклассы (Subclassing) — запись С1 :: С2 означает, что класс С1 является подклассом С2.

• Экземпляры (Instance of) — запись О : С означает, что О является экземпляром класса С.

• Декларации атрибутов (Attribute Declaration) — запись С1[А=>>С2] означает, что для экземпляра класса С1 определен атрибут А, значением которого должен быть экземпляр С2.

• Значения атрибутов (Attribute Value) — запись O[A->>V] означает, что экземпляр О имеет атрибут А со значением V.

• Часть-целое (Part-of) — запись О1 <: О2 означает, что О1 является частью О2.

• Отношения (Relations) — предикаты вида p(al,...,a2) могут использоваться, как и в обычных логических формализмах, но с тем расширением, что в качестве аргументов здесь могут выступать не только термы, но и выражения.

Из базисных конструкций строятся более сложные — факты (facts), правила (rules), «двойные» правила (double rules) и запросы (queries). Запросы уже обсуждались выше. Факты, по сути, являются элементарными выражениями. Правила, как и обычно, имеют левую и правую части, причем левая часть (здесь она называется «головой») является конъюнкцией элементарных выражений, а правая («тело») — сложная формула, термами которой являются элементарные выражения, связанные обычными предикатными символами типа implies: —> , implied by: <—, equivalent: <—>, AND, OR и NOT. Отличие между обычными и «двойными» правилами в симметричности последних. Важное достоинство формализма — возможность использования переменных в «голове» правил (с квантором FORALL) или в его «теле» (с кванторами FORALL и EXISTS). Пример фрагмента онтологии в формализме Ontobroker, адаптированный из работы [Fensel et al., 1998], приводится ниже.

Определения атрибутов

Person [firstName =» STRING;

lastName =» STRING;

eMail =» STRING;

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

publication =>> Publication],

Employee [affiliation =» 0rganization; ...].

Researcher [researchlnterest =» ResearchTopic;

Member0f =>> ResearchGroup;

cooperatesWith =» Researcher].

Publication [ author =» Person;

title =» STRING;

year =» NUMBER;

abstract =» STRING].

Правила

FORALL Person"!, Person2

Personl:Researcher [cooperatesWith-» Person2] <-

Person2:Researcher [cooperatesWith-» Personl].

FORALL Personl, Publieationl

Publicationl:Publication [author-» Personl] <->

Personl:Person [publication-» Publicationl].

По-видимому, в пояснениях здесь нуждаются только правила. Первое из них фиксирует симметричность отношения cooperatesWith. Второе утверждает, что если конкретная личность (экземпляр класса Person) имеет публикацию, то последняя имеет автора, который тоже является экземпляром класса Person, и обратно.

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

Аннотация Web-страниц онтологической информацией

Поскольку, как уже отмечалось выше, Web-информация чаще всего представлена на языке HTML, в рамках проекта Ontobroker разработано простое его расширение для аннотации Web-страниц. Основная идея этого расширения состоит в следующем: в язык HTML добавлено несколько релевантных для решения поставленных задач тегов, использование которых позволяет Ontobroker интерпретировать аннотированные фрагменты HTML-текста как факты языка представления онтологических знаний. При этом Web-страницы остаются приемлемыми для стандартных броузеров типа Netscape Navigator или MS Explorer.

В язык введены три эпистемологически различных примитива:

• Идентификация объекта, который может быть определен как экземпляр определенного класса, с помощью URL

• Установка значения атрибута объекта.

• Определение отношений между объектами.

Все примитивы синтаксически расширяют тег <а ...> языка HTML. Так, например, если специалист Иванов захочет определить себя как объект обсуждавшейся выше онтологии, он может на своей домашней странице ввести конструкцию вида:

<а onto=" "http://www.anywhere.ru/~ivanov/" : Researcher"> </a>

Теперь для объекта Иванов класса Researcher можно ввести атрибут email и его значение с помощью следующей конструкции:

<а onto=" "http://www. anywhere.ru/~ivanov/"

[email="mailto:ivanov@anvwhere. ru"1 "> </a>

Аналогичным образом вводятся и отношения:

<а onto= "REL(Obj1, Obj2, Obj3, ___ Objn)" > ... </a>

Имеются в языке и средства, которые обеспечивают уменьшение сложности аннотирования: например, возможности именования «длинных» конструкций и последующего использования этих имен.

При таком подходе Ontocrawler — компонент системы Ontobroker — простой CGI-скрипт, который периодически проверяет аннотированные страницы на Web. Для поиска таких страниц он обращается к индексным страницам провайдеров, которые зарегистрированы в рамках инициативы (КА)2.