Google поддерживает семантическую разметку (RDFa)!!!

Семантика наступает на WEB...  RDFa самый простой способ внедрить семантику в веб-страницы.

Перевод стандарта RDFa можно почитать здесь.

Google станет первой машиной поиска, которая начнет учитывать семантику веб-страниц.

С этим шагом, даже те, кто относился снисходительно к технологиям , пересмотрят свое отношение. А те кто не захотят, потеряют прибыли. Кстати говоря, несмотря на критические замечания менеджмента Google в сторону , поддержка семантических технологий  у  Google появилась первой.

Думаю это может говорить о положительных тенденциях... ))

Подборка ссылок по теме от Новитского Александра:

http://googleblog.blogspot.com/2009/05/more-search-options-and-other-updates.html

http://www.jenitennison.com/blog/node/104
http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=146898
http://dltj.org/article/google-rdfa/


Как я написал в одном комментарии:

ДА СОДРОГНУТЬСЯ ВСЕ SEOШНИКИ!
Как только семантическая разметка начнет влиять на выдачу результатов google. Все продвигаемые сайты станут семантически размечены. Скорее всего "черной" семантикой, но ...прийдет "злобный" Pellet, мы к нему напишем правила фильтрации, и сделаем логический вывод и все станет "белым и пушистым"
А если это будет так, то Яндекс без поддержки семантических технологий будет выглядеть бледно. А жаль, кто-кто, а они могли бы внедрить поддержку этого формата уже давно.

Автоматическое построение онтологий

Рабчевский Евгений

Пермский Государственный Университет

Введение

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

Однако задачи пользователей требуют более систематизированного и настраиваемого механизма интеграции распределенных и разнородных знаний в целостную картину предметной области.

Необходимо заметить, что оригинальная спецификация WWW [1] разрабатывалась именно для решения задачи интеграции научных материалов.

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

Стандарты

В Интернет используется множество языков представления данных, основанных на XML. В рамках проекта , для представления данных, имеющих графовую структуру, консорциум W3 разработал язык RDF (Resource Definition Framework – Среда Описания Ресурса). RDF предоставляет средства для записи триплетов, троек данных – субъект - предикат - объект. Объект и субъект соответствуют узлам графа, а предикат или свойство - направленной дуге графа. Дуга направлена от субъекта к объекту. Каждый из элементов триплета называют RDF ресурсом и идентифицируют с помощью URI идентификаторов.

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

Для машинного представления различных предметных областей в Интернет, используются онтологии и словари. Онтология – спецификация концептуализации [3], или явное, формальное описание предметной области. Как и в объектно-ориентированном описании, онтология состоит из классов и их экземпляров. У классов и экземпляров выделяются свойства, на свойства могут накладываться логические ограничения.

Поисковой системой SWOOGLE [4] на сегодня проиндексировано свыше 10 тысяч онтологий и словарей, доступных в Веб. Онтологии используются научными сообществами – для описания терминологии [5], в электронной коммерции – для описания товаров и услуг [6], и в других приложениях Интернет. Из-за своей популярности онтологии стали использоваться и в качестве баз знаний локальных интеллектуальных систем.

Для описания онтологий, доступных через Веб, созданы языки RDFS [7] (RDF Schema – RDF Схема) и [8] (Ontology Web Language - Язык Сетевых Онтологий). В качестве своих базовых элементов данные языки используют RDF ресурсы. RDFS используется для записи словарей, а – онтологий. Сетевые онтологии предоставляют более выразительные возможности по сравнению с RDF словарями, например логические операции над классами и логические ограничения свойств.

Постановка задачи

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

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

Для решения данной задачи был сформирован корпус англоязычных текстов, относящихся к теме .
Ресурсы корпуса представляют собой спецификации технологий с сайта
W3 консорциума.

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

Построение семантической карты ресурса

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

1. формировался набор пар «текст – конструкция языка »;

2. по набору выявленных пар «текст – конструкция» выявлялись правила, позволяющие автоматизировать процесс отображения текста в соответствующую конструкцию;

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

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

Рассмотрим несколько правил:

1. «Сложный предмет» или «noun1 + noun2» (два подряд идущих существительных),
например словосочетание «ontology editor».

Проанализируем данный пример. Можно предположить существует целый класс абстрактных редакторов – Editor. Этот класс характеризуется тем, что все его экземпляры обладают неким характерным для этого класса свойством. В данном случае, это то, что они все что-либо редактируют. Назовем это характерное свойство mainPropertyOfEditor. Доменом этого свойства является класс Editor. Определим диапазон этого свойства, как класс RangeOfMainPropertyOfEditor. Выделим класс OntologyEditor, который будет подклассом класса Editor. При этом значение свойства mainPropertyOfEditor для подкласса OntologyEditor имеет строго определенное значение – экземпляр класса RangeOfMainPropertyOfEditor, индивид Ontology. Данные утверждения можно представить следующим кодом:

<:Class rdf:ID="Editor"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">класс абстрактных редакторов</rdfs:comment>

</:Class>

<:Class rdf:ID="RangeOfMainPropertyOfEditor"><rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">диапазон характерного свойства реадактора (редактируемый объект)</rdfs:comment>

</:Class>

<:Class rdf:ID="OntologyEditor">

<rdfs:subClassOf>

<:Restriction>

<:onProperty>

<:ObjectProperty rdf:ID="MainPropertyOfEditor"/>

</:onProperty>

<:hasValue>

<RangeOfMainPropertyOfEditor rdf:ID="Ontology"/>

</:hasValue>

</:Restriction>

</rdfs:subClassOf>

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

>класс редакторов онтологий</rdfs:comment>

<rdfs:subClassOf rdf:resource="#Editor"/>

</:Class>

<:ObjectProperty rdf:about="#MainPropertyOfEditor">

<rdfs:domain rdf:resource="#Editor"/>

<rdfs:range rdf:resource="#RangeOfMainPropertyOfEditor"/>

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

>характерное свойство редактора (редактирует)</rdfs:comment>

</:ObjectProperty>

2. «Предмет с определением» или «adjective + subject», например словосочетание «abstract syntax». Для записи соответствующего кода необходимо провести рассуждения, аналогичные приведенным в предыдущем примере.

3. Простое предложение, subject1 + verb + preposition + subject2 (подлежащее, сказуемое, предлог, дополнение), например «Ontology’s incorporate information about

4. subject1 + are + subject2 + that + verb + preposition + subject3 (подлежащее, are/is, дополнение, that, сказуемое, предлог, дополнение), например предложение «Decision Engineering is an emerging discipline that focuses on developing tools».

Отдельно выделяются правила, которые сами не строят семантическую конструкцию, но определяют, каким образом (к каким словам) применять правила, непосредственно выявляющие семантические конструкции. Например, правило «Если сложный предмет состоит из трех и более простых, то нужно применять правило «noun1 + noun2» начиная с конца».

Рассмотрим правило из примера 2, в котором по аналогии с примером 1 были бы введены свойство mainPropertyOfAbstract и класс RangeOfMainPropertyOfAbstract. Данные конструкции введены чисто формально, используя некие законы языка, однако данное свойство и класс имеют определенную семантику. Так определение Abstract характеризует некую особенность предмета Syntax. В данном случае эту особенность можно назвать, например как «степень детализации».

Если же подходить к анализу данного словосочетания с учетом семантики, указанные свойство и класс назывались бы «имеетСтепеньДетализации» и «СтепеньДетализации» соответственно.

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

Слово Характерное свойство
Abstract Степень детализации
Editor Редактирует

Предполагается представить данный источник знаний в виде RDF представления WordNet подобного ресурса [9] компьютерной лингвистики.

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

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

Онтология «»

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

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

- каждое понятие дополнялось экспертным определением;

- выявлялись триплеты, содержащие найденные понятия;

- для каждого понятия и триплета фиксировался ресурс-источник.

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

Семантическая разметка,  RDF/A, GRDDL

RDF графы и онтологии на их основе могут размещаться в отдельных Веб ресурсах, например файлах или RDF хранилищах, доступ к которым осуществляется через RDF сервера. Также  RDF графы могут встраиваться в другие XML документы, например в XHTML. Встраивание RDF данных в XHTML используется для спецификации семантики (семантической разметки) контента.

Семантическая разметка или аннотирование представляет собой явное описание семантики контента ресурса при помощи понятий семантической модели (онтологии или словаря). Такое явное описание семантики выполняется указанием четкого соответствия между определенной частью контента ресурса и его семантикой, описанной в семантической модели.

Рабочая группа развертывания Семантического Веба W3 консорциума разработала технологию RDF/A [10], которая позволяет встраивать RDF данные в XHTML. RDF/A является одним из множества микроформатов [11] или диалектов языков, расширений языка HTML, в котором определяется, каким образом использовать конструкции языка HTML, чтобы интерпретировать записанный таким образом HTML код, как RDF данные.

Существуют микроформаты для записи таких словарей, как vCard, , RDF Calendar, RSS, GeoInfo. Все указанные словари записываются в виде RDF графов, RDF/A является микроформатом для записи непосредственно RDF синтаксиса, и может быть использован для записи терминов любых RDF словарей, например тех же vCard, , RDF Calendar, RSS, GeoInfo.

Ниже следует пример использования терминов словаря набора данных (словарь описывает мета свойства электронных документов) в XHTML.

<head profile="http://www.w3.org/2003/g/data-view">

<link rel="schema." href="http://purl.org/"/>

<meta name=".Title" xml:lang="en" lang="en" content="Использование терминов словаря в XHTML коде" />

</head>

Данный XHTML соответствует триплету субъектом которого является URI самого ресурса, предикатом – свойство Title, описанное в словаре по адресу http://purl.org/dc, объектом – строка "Использование терминов словаря в XHTML коде". Вставка такого RDF триплета в заголовок HTML страницы позволит соответствующим приложениям понять, что название документа - "Использование терминов словаря в XHTML коде". При этом это название может отличаться от того, которое представлено пользователю с помощью тега <title>. Таким образом, в XHTML можно вставлять любые RDF графы. Использование профиля profile= необходимо для возможности указания значения "transformation" у тега rel, что необходимо для указания ссылки на механизм GRDDL извлечения (см. следующий абзац).

Для извлечения RDF данных из различных микроформатов W3 консорциум разработал технологию GRDDL [12] (Gleaning Resource Descriptions from Dialects of Languages - Извлечение Описания Ресурса из Диалектов Языков). Для работы GRDDL-скреперов (программ, извлекающих RDF данные из XHTML) в XHTML коде необходимо указать ссылку на механизм извлечения:

<link rel="transformation" href=/>

Механизм извлечения основан на технологии преобразования XML документов XSLT[18], в данном случае XHTML преобразуется в RDF.

Литература

1. Tim Berners-Lee, World Wide Web: Proposal for HyperText Project. 1990. //http://www.w3.org/Proposal.html

2. Сообщество // http://www.w3.org/2001/sw

3.Gruber, T.R. (1993) A translation approach to portable ontology specifications. Knowledge Acquisition. Vol. 5.

4. Swoogle - Search Engine. // http://swoogle.umbc.edu/

5.Е.М. Бениаминов  "Алгебраические методы в теории баз данных и представлении знаний". М.: Научный мир, 2003.

6.Реестр товаров и услуг ООН. // http://www.unspsc.org/.

7.RDF Schema 1.0, Язык описания RDF словарей. Рекомендация 10 Февраля 2004. // http://www.w3.org/TR/rdf-schema/

8. Язык . // http://www.w3.org/2004//

9. RDF/ представление WordNet, Рабочий документ 19 Июня 2006 http://www.w3.org/TR/wordnet-rdf/

10. Встраивание RDF в XHTML RDFa. Рабочий документ 12 марта 2007. //http://www.w3.org/TR/xhtml-rdfa-primer

11. Сообщество пользователей микроформатов. http://microformats.org/

12. Рабочая группа GRDDL http://www.w3.org/2001/sw/grddl-wg/

Семантические плагины Firefox (часть 2)

В продолжение заметки о семантических плагинах FireFox...

Итак, чем радует нас Mozilla Foundation в семантической сфере:

FOAFox 0.2.1 - плагин для обнаружения профилей FOAF на веб-страницах. Напомню, FOAF - акроним понятия Friend-of-a-Friend - RDF/XML формат для описания людей и их взаимоотношений в .

Внедренный в веб-страницу профиль FOAF можно с помощью этого плагина просмотреть через HTML-интерфейс.

Semantic Turkey 0.6.5 - семантический "закладочник"(Semantic Bookmarking tool) и средство разработки онтологий. С одной стороны, это исследовательский проект  ART Research Group, позволяющий создавать онтологии на языках RDF/RDFS и . С другой стороны, с помощью этого плагина можно сформировать онтологию на основе информации о посещенных веб-страницах. Кроме того, есть средства для экспорта полученных онтологий. Среди недостатков, отмечу следующее - несмотря на то, что плагин, ориентирован на использование в  Firefox, домашняя страница этого плагина в  FF нормально не отображается - пришлось заходить на сайт через Safari. Далее, плагин очень интересный, но текущая функциональность скромна ( даже до возможностей редактора онтологий Protege бежать еще и бежать)  и чувство недоделанности проекта не покидало меня на протяжении всего знакомства с плагином. Обратить внимание на этот плагин стоит обязательно, но мой вывод - надо подождать релиза! А так, конечно, must have!

Headr surf tool 0.0.1.21 - инструмент для семантического серфинга - дополнительная панель инструментов для Firefox (сходу минус проекту - ну нельзя иметь в одном маленьком файрфоксе десяток панелей инструментов). Тем более задача плагина анализировать просматриваемые веб-страницы с целью рекомендации для прочтения связанных по смыслу веб-страниц и сайтов.  Я считал и считаю, что такие инструменты должны вызываться по нажатию кнопки на стандартной панели инструментов( или в статус баре), как, например, Zotero - почему-то о потенциальных пользователях разрабытываемых средств никто не хочет думать - а ведь для них все делается! Как результат - эта панель инструментов надоела мне через пять минут и была отключена. Но в идее этот семантический проект интересен.

Google Semantics 2.2.  - легкий способ получить синоним для ключевых слов через Google - этот плагин позиционируется как средство для поисковой оптимизации - общем для улучшения SEO необходим.

The Data Browser Extension 0.8.7 -  средство для табличного отображения RDF-данных (визуализация RDF в виде таблиц). Одно из лучших средств для представления "машино-понимаемых" форматов в человеко-читаемом виде.

Ontos Semantic Web Navigation Plug-in 1.0 - плагин,  делающий FireFox совместимым с Семантическим вебом. Как бы странно, это не звучало, смысл в этих словах есть - семантическая аннотация ресурсов на серверах проекта Ontos позволяет находить новую информацию об просматриваемых страницах, есть фукнция автоматической генерации семантических отчетов о ресурсах. Интересный плагин, но из серии надоедающих, при обращении к любом сайту идет запрос на сервера Ontos, что есть не очень хорошо (тотальный контроль об ваших перемещениях по Веб - оно вам нужно?). Я не хочу сказать, что проект плох. Я хочу сказать, что Семантический Веб не предназначен для увеличения контроля за его пользователями, уровень этого контроля как  раз должен уменьшиться. Я конечно, понимаю, что   тотальная слежка за пользователями есть и никуда не девается - ведь надо же адаптировать (улучшить) результаты поиска под наши потребности? - конечно надо. Кроме того, мы же повышаем уровень своей социальности. Правда этот уровень "держит за руку" мир программ, который о нас иногда знает больше чем собственно мы сами. Вот это проблема, при чем проблема, о которой буквально через 3-4 года будут все говорить, говорить, а может будут еще и кричать, только сделать уже ничего нельзя будет. Правда и сейчас нельзя ничего сделать, так как Семантический Веб стал инструментом для заработка денег, очень больших денег...

Fuzzbot 0.8.3  - еще один из плагинов для идентификации внедренной семантической информации в веб-страницы. Fuzzbot использует парсер ibrdfa для извлечения триплетов  RDF из веб-страниц. Этот плагин можно рассматривать как альтернативу SemanticRadar. Мое мнение - SemanticRadar более зрелый плагин, пока он лучший.

MozCC 2.4.3 - средство для просмотра метаданных о веб-страницах, включая информацию о лицензии Creative Commons. Метаданные, должны быть представлены на языке RDFa. Все стандартно, кроме информации о лицензии. Плюс плагина в том, что если информация о лицензии  на странице есть, то об этом отдельно будет пользователю сообщено!

И, напоследок, скажу - Файрфокс, как был самым семантическим браузером, так и остался!

Новый год – новый перевод стандарта W3C (RDFa)

Читателям сайта SHCHERBAK.NET доступен новый перевод стандарта W3С!

Начальное руководство по RDFa - Связь человеческого восприятия ресурса с машинным представлением. Заметка рабочей группы от 14 октября 2008.

Перевод доступен здесь!

Обзор «семантических» плагинов для FireFox 3

Браузер Firefox имеет ряд плагинов для идентификации и просмотра семантической разметки на web-страницах.
Наиболее полезными, на мой взгляд, являются плагины:

SemanticRadar -  плагин, предназначенный для автоматической идентификации внедренного RDF в страницу HTML. В случае, обнаружения FOAF (Friend-Of-A-Friend),  SIOC (Semantically-Interlinked Online Communities),  DOAP (Description Of A Project),  RDFa (RDF embedded in XHTML) плагин выведет соответсвующую иконку в статус-баре браузера...

Operator - плагин для определения и обнаружения микроформатов.

Tabulator -  плагин для просмотра и анализа связанных с web страницей семантических данных.

RDFa - плагин для автоматической идентификации RDFa на web-страницах с возможностью извлечения через PyRDFa.

RDF Viewer - навигатор по структуре RDF.

Semantic Radar, Operator и Tabulator работают с Firefox 3.  Остальные можно пытаться запустить с помощью MR Tech Toolkit.

Отдельно, нужно сказать о плагине Blue Organizer (smart browsing) . Однако, на момент написания заметки страница плагина не была доступна. Так что об этом позже!