Е.А. Рабчевский
АВТОМАТИЧЕСКОЕ ПОСТРОЕНИЕ ОНТОЛОГИЙ
Каждый Интернет-пользователь периодически посещает сайты профессиональных сообществ, осуществляет подписку, просматривает тематические рассылки и RSS-подачи, ищет в поисковых системах неизвестные термины и.т.п. У каждого пользователя, таким образом, выстроена своя использующая различные Интернет-технологии система интеграции знаний в интересующей его предметной области. Однако задачи пользователей требуют более систематизированного и настраиваемого механизма интеграции распределенных и разнородных знаний в целостную картину предметной области. Заметим, что оригинальная спецификация WWW [1] была разработана именно для решения задачи интеграции научных материалов.
Очевидно, что для эффективной интеграции данных некой предметной области из различных Интернет-источников соответствующее приложение должно работать с семантикой веб-ресурсов. В таких приложениях актуально использование различных технологий Semantic Web [2].
Стандарты Semantic Web
В Интернет используется множество языков представления данных, основанных на XML. В рамках проекта Semantic Web, для представления данных, имеющих графовую структуру, консорциум W3 разработал язык RDF (Resource Definition Framework – Среда Описания Ресурса). RDF предоставляет средства для записи триплетов, троек данных – субъект - предикат - объект. Объект и субъект соответствуют узлам графа, а предикат или свойство - направленной дуге графа. Дуга направлена от субъекта к объекту. Каждый из элементов триплета называют RDF ресурсом и идентифицируют с помощью URI идентификаторов.
Платформа RDF активно используется для представления различных данных, в частности RSS 3.0 агрегаторы новостей собирают информацию в формате RDF.
Для машинного представления различных предметных областей в Интернет, используются онтологии и словари. Онтология – спецификация концептуализации [3], или явное, формальное описание предметной области. Как и в объектноориентированном описании, онтология состоит из классов и их экземпляров. У классов и экземпляров выделяются свойства, на свойства могут накладываться логические ограничения.
Поисковой системой SWOOGLE [4] на сегодня проиндексировано свыше 10 тысяч онтологий и словарей, доступных в Веб. Онтологии используются научными сообществами – для описания терминологии [5], в электронной коммерции – для описания товаров и услуг [6], и в других приложениях Интернет. Из-за своей популярности онтологии стали использоваться и в качестве баз знаний локальных интеллектуальных систем.
Для описания онтологий, доступных через Веб, созданы языки RDFS [7] (RDF Schema – RDF Схема) и OWL [8] (Ontology Web Language - Язык Сетевых Онтологий). В качестве своих базовых элементов данные языки используют RDF ресурсы. RDFS используется для записи словарей, а OWL – онтологий. Сетевые онтологии предоставляют более выразительные возможности по сравнению с RDF словарями, например логические операции над классами и логические ограничения свойств.
Постановка задачи. Интеллектуальные системы на основе онтологий показали на практике свою эффективность, однако построение онтологии требует экспертных знаний в исследуемой предметной области и занимает существенный объем времени, поэтому актуальной задачей является автоматизация процесса построения онтологии. Для этого предлагается использовать текстовое содержание массива Веб ресурсов описательного характера определенной тематики.
Базовой является задача разработки алгоритма автоматического построения семантической карты веб ресурса с помощью анализа его текста. Семантической картой ресурса назовем отображение контента Веб ресурса в концептуализацию его содержания, представленную в виде OWL онтологии.
Для решения данной задачи был сформирован корпус англоязычных текстов, относящихся к теме Semantic Web. Ресурсы корпуса представляют собой спецификации технологий Semantic Web с сайта W3 консорциума.
Алгоритм исследовался для определенной предметной области, что объясняется профессиональными интересами автора, а также возможностью последующей оценки полученного метода сравнением результатов с онтологией, полученной с помощью экспертных знаний (параллельно с данными исследованиями автор анализировал выбранный корпус и создавал онтологию данной предметной области без средств автоматизации).
Построение семантической карты ресурса. Такая карта строится на основе особенностей языка, которые позволяют вытягивать семантические конструкции из текста.
•Исследования проводились следующим образом:
•Формировался набор пар “текст -- конструкция языка OWL”;
По набору выявленных пар “текст -- OWL-конструкция” выявлялись правила, позволяющие автоматизировать процесс отображения текста в соответствующую OWL-конструкцию.
Семантическая карта строится в два этапа, сначала строится формальная семантическая OWL-конструкция, затем происходит привязка полученной конструкции к конкретной предметной области.
Сформулируем правила, использующие синтаксис языка. Правила синтаксического уровня, выявляют семантику на основе принципов построения словосочетаний и предложений. Правила формулируются, как конструкции из различных частей речи, частей предложения, предлогов и союзов, а также конкретных слов. Дополнительно вводится понятие предмета – сущности, о которой говорится в предложении, предмет может состоять из нескольких слов. Понятие предмета также используется для формулировки правил.
Рассмотрим несколько правил:
•«Сложный предмет» или «noun1 + noun2» (два подряд идущих существительных), например словосочетание «ontology editor» (редактор онтологии).
Проанализируем данный пример. Можно предположить существует целый класс абстрактных редакторов – Editor. Этот класс характеризуется тем, что все его экземпляры обладают неким характерным для этого класса свойством, в данном случае - они все что-либо редактируют.
Назовем это характерное свойство mainPropertyOfEditor (главное свойство редактора). Доменом этого свойства является класс Editor. Определим диапазон этого свойства, как класс RangeOfMainPropertyOfEditor (диапазон главного свойства редактора). Выделим класс OntologyEditor, который будет подклассом класса Editor. При этом значение свойства main Property Of Editor для подкласса Ontology Editor имеет строго определенное значение – экземпляр класса RangeOfMainPropertyOfEditor, индивид Ontology. Данные утверждения можно представить следующим OWL кодом:
<owl:Class rdf:ID="Editor">
<rdfs:comment
rdf:datatype= »http://www.w3.org/2001/XMLSchema#string»
>класс абстрактных редакторов</rdfs:comment>
</owl:Class>
<owl:Class rdf:ID=vRangeOfMainPropertyOfEditor»>
<rdfs:comment
rdf:datatype= »http://www.w3.org/2001/XMLSchema#string»
>диапазон характерного свойства редактора (редактируемый
объект)</rdfs:comment>
</owl:Class>
<owl:Class rdf:ID= »OntologyEditor»>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:ID= »MainPropertyOfEditor»/>
</owl:onProperty>
<owl:hasValue>
<RangeOfMainPropertyOfEditor rdf:ID= »Ontology»/>
</owl:hasValue>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:comment
rdf:datatype= »http://www.w3.org/2001/XMLSchema#string»
>класс редакторов онтологий</rdfs:comment>
<rdfs:subClassOf rdf:resource= »#Editor»/>
</owl:Class>
<owl:ObjectProperty rdf:about= »#MainPropertyOfEditor»>
<rdfs:domainrdf:resource= »#Editor»/>
<rdfs:rangerdf:resource= »#RangeOfMainPropertyOfEditor»/>
<rdfs:comment
rdf:datatype= » http://www.w3.org/2001/XMLSchema#string»
>характерное свойство редактора
(редактирует)</rdfs:comment>
</owl:ObjectProperty>
2. «Предмет с определением» или «adjective + subject», например словосочетание «abstract syntax» (абстрактный синтаксис). Для записи соответствующего OWL-кода необходимо провести рассуждения, аналогично предыдущему случаю.
3. Простое предложение, subject + predicate + subject1 + preposition + subject2 (подлежащее, сказуемое, дополнение 1, предлог, дополнение 2), например «Ontology incorporate information about classes» (онтология объединяет информацию о классах).
4. subject1 + are/is + noun + that/which/who + predicate + preposition + object (подлежащее, are/is, существительное, that/which/who, сказуемое, предлог, дополнение), например предложение «Decision Engineering is an emerging discipline that focuses on developing tools».
Отдельно выделяются правила, которые сами не строят семантическую конструкцию, но определяют, каким образом (к каким словам) применять правила, непосредственно выявляющие семантические конструкции. Например, правило «Если сложный предмет состоит из трех и более простых, то нужно применять правило «noun1 + noun2» начиная с конца».
Рассмотрим правило из примера 2, в которое по аналогии с примером 1 были бы введены свойство mainPropertyOfAbstract и класс RangeOfMainPropertyOfAbstract. Данные конструкции введены чисто формально, используя некие законы языка, однако данное свойство и класс имеют определенную семантику. Так определение Abstract характеризует некую особенность предмета Syntax. В данном случае эту особенность можно назвать, например, «степень детализации».
Если же подходить к анализу данного словосочетания с учетом семантики, указанные свойство и класс назывались бы «имеетСтепеньДетализации» и «СтепеньДетализации» соответственно.
Задача преобразования формальных семантических конструкций в конструкции, привязанные к семантике конкретной предметной области, на данный момент автором не решена. Для решения данной задачи требуется источник знаний со следующей структурой:
Слово |
Характерное свойство |
Abstract |
Степень детализации |
Editor |
Редактирует |
Предполагается представить данный источник знаний в виде RDF-представления WordNet подобного ресурса [9] компьютерной лингвистики.
Для решения данной задачи предполагается получить правила, которые позволили бы выявить данную информацию, на основе статистики совместного использования слов, содержащих название понятия и его семантику.
Для того чтобы привязать полученную семантическую модель к конкретной предметной области, используется словарь соответствующей тематики. В итоговой онтологии фиксируются только те семантические конструкции, в которых участвуют термины из словаря предметной области. Словарь может создаваться экспертом или автоматически на основе статистических методов классификации.
Онтология «SemanticWeb»
Для оценки метода автоматического построения онтологии авторы создают онтологию предметной области «Semantic Web» без средств автоматизации. Онтология создается на основе того же корпуса англоязычных тестов, из которого выявляются правила построения семантической карты ресурса. Тексты корпуса исследовались следующим образом:
•выявлялись понятия предметной области, и обозначающие их термины на русском и английском языках;
•каждое понятие дополнялось экспертным определением;
•выявлялись триплеты, содержащие найденные понятия;
•для каждого понятия и триплета фиксировался ресурс-источник.
Для оценки программной реализации метода автоматического построения онтологии предполагается обработать исследуемый корпус полученным программным средством и сравнить результаты с онтологией, полученной ручным способом. Создан RDF словарь для хранения результатов ручной разработки онтологии, представляющий собой модель для хранения понятий с их определениями, триплетов и оригинальных источников понятий и триплетов.
Семантическая разметка, RDF/A, GRDDL
RDF графы и онтологии на их основе могут размещаться в отдельных Веб-ресурсах, например файлах или RDF-хранилищах, доступ к которым осуществляется через RDF-сервера. Также RDF-графы могут встраиваться в другие XML-документы, например в XHTML. Встраивание RDF-данных в XHTML используется для спецификации семантики (семантической разметки) контента.
Семантическая разметка или аннотирование представляет собой явное описание семантики контента ресурса при помощи понятий семантической модели (онтологии или словаря). Такое явное описание семантики выполняется указанием четкого соответствия между определенной частью контента ресурса и его семантикой, описанной в семантической модели.
Рабочая группа развертывания семантического веба W3 консорциума разработала технологию RDF/A [10], которая позволяет встраивать RDF данные в XHTML. RDF/A является одним из множества микроформатов [11] или диалектов языков, расширений языка HTML, чтобы интерпретировать HTML-код, записанный таким образом, как RDF-данные.
Существуют микроформаты для записи таких словарей, как vCard, DC, RDF Calendar, RSS, GeoInfo. Все указанные словари записываются в виде RDF-графов, RDF/A является микроформатом для записи непосредственно RDF-синтаксиса и может быть использован для записи терминов любых RDF-словарей, например тех же vCard, DC, RDF Calendar, RSS, GeoInfo.
Приведем пример использования терминов словаря набора данных DC (словарь DC описывает метасвойства электронных документов) в XHTML.
<headprofile=http://www.w3.org/2003/g/data-view»>
<link rel= »schema.DC»
href= »http://purl.org/dc»/>
<metaname= »DC.Title» xml:lang= »en»
lang= »en» content= »Использование терминов словаря
DC в XHTML коде» />
</head>
Данный XHTML соответствует триплету, субъектом которого является URI самого ресурса, предикатом – свойство Title, описанное в словаре DC по адресу http://purl.org/dc, объектом – строка "Использование терминов словаря DC в XHTML-коде". Вставка такого RDF-триплета в заголовок HTML страницы позволит соответствующим приложениям понять название документа -"Использование терминов словаря DC в XHTML-коде". При этом это название может отличаться оттого, которое представлено пользователю с помощью тега <title>. Таким образом, в XHTML можно вставлять любые RDF графы. Использование профиля profile= http://www.w3.org/2003/g/data-view необходимо для возможности указания значения "transformation" у тега rel, что необходимо для указания ссылки на механизм GRDDL-извлечения (см. далее).
Для извлечения RDF данных из различных микроформатов W3 консорциум разработал технологию GRDDL [12] (Gleaning Resource Descriptions from Dialects of Languages - Извлечение Описания Ресурса из Диалектов Языков). Для работы GRDDL-скреперов (программ, извлекающих RDF-данные из XHTML) в XHTML коде необходимо указать ссылку на механизм извлечения:
<link rel=»transformation» href=http://www.w3.org/2000/06/dc-extract.xls/>
Механизм извлечения основан на технологии преобразования XML-документов XSLT. В данном случае XHTML преобразуется в RDF.
СПИСОК ЛИТЕРАТУРЫ
1.Berners-Lee T. World Wide Web: Proposal forHyperText Project. 1990. //http://www.w3.org/Proposal.html
2.Сообщество SemanticWeb //http://www.w3.org/2001/sw
3.Gruber, T.R. (1993) A translation approach toportable ontology specifications. KnowledgeAcquisition. Vol. 5.
4.Swoogle - Semantic Web Search Engine. //http://swoogle.umbc.edu/
5.Бениаминов Е.М. "Алгебраические методы в теории баз данных и представлении знаний". М.: Научный мир, 2003.
6.Реестр товаров и услуг ООН. // http://www.unspsc.org/.
7.RDF Schema 1.0, Язык описания RDF словарей. Рекомендация W3C 10 Февраля 2004. // http://www.w3.org/TR/rdf-schema/
8.Язык OWL. // http://www.w3.org/2004/OWL/
9.RDF/OWL представление Word Net, Рабочий документ W3C 19 Июня 2006 http://www.w3.org/TR/wordnet-rdf/
10.Встраивание RDF в XHTML RDFa. Рабочий документ W3C 12 марта 2007. //http://www.w3.org/TR/xhtml-rdfa-primer
11.Сообщество пользователей микроформатов. //http://microformats.org/
12.Рабочая группа GRDDL http://www.w3.org/2001/sw/grddl-wg/