logo
Базы знаний интелл

8.3.3. Проект shoe — спецификация онтологии и инструментарий

Общая характеристика проекта

Проект SHOE (Simple HTML Ontology Extensions) ориентирован на решение проблемы добавления к Web-страницам семантической информации и соотнесения ее с онтологиями соответствующих предметных областей. Предполагается, что, используя эту информацию, поисковые системы смогут обеспечивать более релевантные ответы на запросы, чем это возможно сейчас на базе использования машин поиска, функционирующих в Интернете.

Для поддержки процессов аннотирования в рамках проекта SHOE разрабатывается специальный набор инструментальных средств (suite of tools), а основой кх является язык Интернет-совместимого представления знаний, который, собственно, и дал название всему проекту.

В настоящее время в проекте SHOE выделены следующие главные направления исследований:

• Разработка множества повторно используемых онтологии (reusable ontologies) для концептов, которые наиболее частотны для Web-ресурсов.

• Создание средств проектирования онтологии — аннотаторов знаний (Knowledge Annotator), которые бы упростили этот процесс.

Предполагается также, что в SHOE-инструментарий будет включена «несложная» обработка естественного языка (lightweight natural language processing techniques), которая обеспечит представление пользователям аннотаций документов.

Спецификации онтологии и инструментарий SHOE

В данном подразделе мы сосредоточимся не столько на самих онтологиях, разрабатываемых в рамках проекта SHOE [Luke et al, 1996], сколько на языке представления онтологических знаний и средствах поддержки процессов проектирования онтологии.

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

Следует сразу отметить, что-SHOE по своей идее близок к уже обсуждавшейся выше инициативе (КА)2. Но концепция языка представления знаний здесь другая, хотя и она лежит в русле расширения HTML специальными тегами. А основное отличие языка SHOE в том, что здесь, по существу, предлагается «полномасштабное» расширение HTML. Для этого SHOE вводит в HTML-стандарт следующие новые теги для спецификации онтологии: ONTOLOGY, USE-ONTOLOGY, DEF-CATEGORY, DEF-RELATION, DEF-ARG. DEF-RENAME, DEF-CON-STANT, DEF-TYPE, DEF-INFERENCE, INF-IF, INF-THEN, COMPARISON, CATEGORY, RELATION, ARC и некоторые другие. Для аннотирования HTML-документов используется часть из уже перечисленных тегов и, кроме того, вводятся новые, например INSTANCE. И наконец, в SHOE вводится метатег вида <МЕТА НТТР-EQUIV =...">.

Для определенности в рамках спецификации языка SHOE предполагается, что онтология представляется в виде is_a иерархии классов/категорий, множества атомарных отношений между категориями и множества правил вывода в форме простых клауз Хорна.

Термами языка являются термы HTML и дополнительно к этому понятия Category (Class), Data (причем с типами STRING, NUMBER, DATE, TRUTH),Element, Instance, Instance Key, Name, Ontology, Relation (Relationship), Rule и некоторые другие.

Декларации онтологии задаются внутри тела HTML-документа и не могут перекрываться с другими тегами HTML. В одном документе может быть определено несколько онтологии, но такие определения тоже не может перекрываться или быть вложенными. Общая схема определения онтологии следующая:

<ONTOLOGY ID="идентификатор-онтологии"

VERSION="версия"

[BACKWARD-COMPATIBLE-WITH="список-версий]

[DESCRIPTION^1 текст"]

[DECLARATORS="список-деклар.-экземпляров"]>

собственно-декларация-онтологии

</ONTOLOGY>

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

<USE-ONTOLOGY ID="идентификатор-онтологии"

VERSION="версия" PREFIX="префикс" [URL='W]>

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

<DEF-CATEGORY ШЕ=" имя-категории"

[ISA="список-родительских-категорий"]

[DESCRIPTION="текст"] [SHOT="текст"]>

Аналогичный подход применяется и для определения отношений:

<DEF-RELATION NFME=" имя-отношения"

[DESCRIPTION="текст”] [SHORT="текст"]>

список-аргументов

</DEF-RELATION>

Возможно определение тех же понятий и с помощью тега ONTDEF с параметрами.

Одним из важнейших компонентов определения онтологии являются правила вывода. В SHOE такие правила «похожи» на Хорновские клаузы по сути, но отличаются от них по форме:

<DEF-INFERENCE [DESCRIPTION="текст"]>

<INF-IF> тело </INF-IF>

<INF-THEN> голова </INF-THEN>

</DEF-INFERENCE>

Для примера, ниже обсуждается фрагмент определения онтологии в формализме SHOE, коррелирующий с уже обсуждавшимся фрагментом определения аналогичной онтологии в формализме Ontobroker.

Пусть нас интересуют исследователи, имеющие в Интернете свои домашние страницы. Для работы с такими страницами можно воспользоваться уже существующей в рамках SHOE онтологией общих понятий (organization-ontology version 2.1) по адресу http://www.ont.org/orgont.html. Однако предположим для определенности, что существующую онтологию необходимо расширить понятиями Person и Organization. Тогда спецификация фрагмента новой онтологии (Но-mePageOntology) может быть представлена в формализме SHOE следующим образом:

<ONTOLOGY ID="HomePageOntology" VERSION="1.0">

<ONTOLOGY-EXTENDS "organization-ontology"

VERSION="2.1" PREFIX="org"

URL="ftttp://ww.'ont. org/orgont. html">

<ONTDEF CATEGORY^"Person" ISA="org. Thing">

<ONTDEF RELATION="IastWame" ARGS="Person STRING">

<ONTDEF RELATION^ first/Va/ne" ARGS="Person STRING">

<ONTDEF RELATION="marned7o" ARGS="Person Person">

<ONTDEF RELATION^1 employee" ARGS="oro..Organization Person">

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

</ONTOLOGY>

Аннотация Web-документов на базе онтологии

Аннотация HTML-документов в SHOE осуществляется также с использованием тегов. В частности, для этого служат теги USE-ONTOLOGY, INSTANCE, CATEGORY, RELATION. Последние три тега имеют следующие форматы:

<INSTANCE KEY="значение-ключа"

[DELEGATE-TO="список-примеров" ]> ... </INSTANCE>

<CATEGORY NAME="префикс, категория" [FОR-"ключ"]>

<RELATION NAME="префикс. отношение">список-аргументов </RELATION>

Для поиска и обработки домашних страниц с помощью специфицированной выше онтологии необходимо, чтобы авторы Web-публикаций сами (или на основе инструментария SHOE) проаннотировали свои документы.

Так, например, фрагмент аннотации персональной страницы исследователя Иванова в формализме SHOE выглядит следующим образом:

<BODY>

<МЕТА HTTP-EQUIV= "-Instance"

CONTENT="http://www. anywhere. ru/~ivanov">

<USE-ONTOLOGY "HomePageOntology"

VERSION="1.0" PREFIX="our"

URL="nttp;//Mw. ont. org/HomePageOntology. html">

<CATEGORY "our.Person">

<RELATION "our. first Name" TO="Ivan">

<RELATION "our.lastName" TO="Ivanoy">

<RELATION "our.tnarriedTo"

TO="http://www. somewhere. ru/~Mariya">

<RELATION "our. employee" FROM="http://www. ccas. ru">

……………………………………………………………………

</BODY>

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

Поэтому в рамках проекта SHOE для автоматизации процессов аннотирования Web-документов разработана специальная система Knowledge Annotator [KA, 1999], одна из экранных форм которой представлена на рис. 8.12.

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

Для визуализации знаний, содержащихся в обрабатываемом документе, Knowledge Annotator использует различные методы, начиная с аннотированного HTML-текста и заканчивая описаниями утверждений на естественном (английском) языке. Кроме того, система осуществляет проверку корректности действий пользователя и транслирует его выборы в синтаксически правильные конструкции SHOE.

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

В настоящее время существуют различные примеры языков запросов к документам, проаннотированным на основе формализмов SHOE, рассмотренных выше. Так, в университете Мэрилэнд (University of Maryland at College Park) разработан робот Expos, который обрабатывает SHOE-документы и добавляет их в свою базу знаний, используя систему представления знаний PARKA [Stoffcl et al., 1997].

Пример PARKA-запроса для поиска домашних страниц может быть специфицирован следующим образом:

(query! "(:and

(ft! instanceOf ?X #! Person) (ft! instanceOf ?Y #!Person)

(tt!instanceOf ?Z #!Organization)

(tfllastName ?X "Ivanov") (#!lastName ?Y "Ivanova")

(ft! employee ?Z ?X) (#! employee ?Z ?Y)

(tflmarriedTo ?X ?Y)

(#! involvedln ?Z "РФФИ-проекты")))

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