msgbartop
Блог об удобном управлении знаниями, интеграции wiki и онтологий и обо всем, что связано с Semantic Web
msgbarbottom

24 Ноя 11 Несколько проектов semantic web

Введение

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

Получение картины тех изменений во взаимодействии пользователя с Сетью, которые вызываются внедрением новых подходов к построению сети и соответствующих технологий.
Некоторая систематизация сценариев использования этих подходов с целью сравнения её результатов с уже имеющимися классами web-приложений.

Предпосылки возникновения. Цели создания.

Прежде чем рассматривать конкретные приложения стоит обратиться к самой концепции semantic web. В сети Интернет на данный момент накоплены огромные массивы данных. Данные эти однако структурированны весьма разнообразно, а иногда и вообще никак. Смысловую нагрузку некоторого документа, его места в общей системе обычно весьма трудно понять даже человеку не говоря уже об автоматических системах обработки информации, таких как поисковые сервисы.
Концепция semantic web предполагает изменение этой ситуации посредство введения семантического аннотирования контента, распространения сервисов, ориентированных на выдачу самих данных и знаний, а не какого-то конкретного их представления, введения унифицированной системы индентификации объектов (ресурсов) в Сети. Ключевым результатом всего этого должна стать повсеместная переориентация знаний, доступных в Интернет на машинную, а не человеческую интерпретацию.
Консорциумом W3C принят ряд стандартов, регламентирующих перечисленные выше и некоторые другие аспекты semantic web. Для лучшего понимания концепции стоит уделить особое внимание нескольким из них.
Во-первых это язык описания ресурсов RDF. Этот язык основывается на проверенной модели представления знаний субъект – предикат-объект. При этом все элементы таких триплетов должны являться уникальными идентификаторами ресурсов (URI согласно стандартам W3C). Универсальный характер объектов, выступающих как элементы логических выражений в этом языке позволяет добиться высокого уровня повторного использования данных и их переносимости. Данный язык позволяет унифицированно сообщать широкому кругу пользователей практически любые сведения об интересующем их объекте.
На основе RDF строятся более высокоуровневые языки (RDF schema, OWL) позволяющие строить форматы для описания определённых типов объектов и полноценные онтологии соответственно. Кроме того разработан язык запросов к RDF-хранилищам SPARQL, позволяющий осуществлять выборки из массивов метаданных.
Таким образом уже сейчас существует формальная основа для построения полностью распределённого, но единого хранилища данных на основе сети Интернет. Также поверх описанных стандартов разработан набор соглашений о именовании ресурсов и способах выдачи метаинформации о них для облегчения построения такого хранилища.
Далее будут даны примеры приложений и сервисов использующих как непосредствено описанные выше стандарты и методы работы с информацией так и просто имеющие схожие принципы в основе своей работы.

Примеры использования

Falcons

Falcons – пример поисковой системы, осуществляющей поиск не только документов но и объектов или концептов (в терминах семантических моделей). Его интерфейс выполнен в классическом стиле Интернет-поисковика: поле для запроса и кнопка «Search». Важным отличием является то, что пользователь может выбрать цель поиска: объект, концепт или документ.

Результат поиска в соответствии с поисковой традицией выдаётся в виде списка результатов с заголовком и краткой выдержкой из найденного. Для документов выдержка представляет собой фрагмент текста, а для объектов и концептов – их описание (список отношей в которых они участвуют, несколько свойств). Также на странице результата отображается список концептов, к которым принадлежат найденные объекты, при выборе одного из них производится фильтрация найденного по принадлежности к данному концепту. При выборе одного из найденных элементов пользователь направляется на документ, либо на страницу с описанием найденного объекта, построенную самим Falcons
на основании найденных метеданных (на ней показываются свойства, связи объекта и т.п.). Со страницы с описанием объекта также можно перейти к одному из браузеров semantic web: Disco или Marbles.Для разработчика преложений Falcons предоставляет API с функциями, повторяющими возможности поиска. Также есть возможность добавлять свои источники данных. Для этого достаточно в соответствующей форме ввести URL RDF или OWL документа.
Пока что проект располагает небольшой поисковой базой и форма представления результата не очень понятна для простого пользователя. Однако он является примером реализации функций, критических для будующих семантических поисковых сервисов:

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

Marbles

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

Подробное. Полный список отношений в которых участвует данный ресурс. Приводятся ссылки для просмотра в Marbles типа отношения и связанного объекта.
Сводка. Несколько наиболее важных характеристик, например имя, текстовое описание, домашняя страница.
Фотографии. Автоматически найденные изображения предмета.

Интересной особенностью является то, что после результатов приводится список источников с их значками-метками. Этими значками помечаются результаты, полученные из данного источника.
Особенно важен в этом проекте подход к способу представления результатов. В нём используется так называемый словарь представления RDF-документов Fresnel. Этот словарь образует язык, позволяющий описать способ отображения пользователю данных, распределённых в Сети. Он создан рабочей группой консорциума W3C для унификации способов представления метаданных и возможности отделения описания этого представления от сервиса, выполняющего сбор и, возможно, обработку данных.
В целом подводя итог обзору этого приложения можно отметить, что несмотря на общую недружественность пользователю, он несёт в себе следующие практически интересные идеи:

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

Operator

Operator – плагин для браузера Firefox, предназначенный для обработки различных микроформатов. Функции предельно просты: обнаружение микроформатов на странице, просматриваемой пользователем, и возможность перенаправить данные из них в один из популярных сервисов.
Сценарий работы прост: если плагину удаётся обнаружить на странице данные в знакомом микроформате, он информирует об этом пользователя(предусмотренно несколько путей для этого) и тот может выбрать куда извлечённую информацию перенаправить.

Rich snippets

Rich snippets – способ дополнения результатов поиска, используемый Google. Это небольшая вставка рядом с результатом, содержащая некоторую дополнительную информацию о найденном ресурсе. Например отзывы о статье или персональную информацию человека.
Однако основной интерес представляет на snippet сам по себе, а способ его формирования. Дело в том, что данные для него могут браться непосредственно с самого ресурса. Для этого веб-мастеру достаточно внедрить в тело ресурса дополнительную разметку, содержащую необходимую информацию. Поддерживается два варианта разметки: на основе распространённых микроформатов и на основе открытого RDF-словаря, также разработанного Google. Таким образом устанавливается семантическая связь между ресурсом и его внешним представлением (результатом поиска).

Bueda

Bueda – веб-сервис (сейчас находится в стадии бета-тестирования), ориентированный на анализ массивов пользовательских меток. На выходе он предлагает ряд логических заключений о помеченном контенте, а также «нормализованный» набор меток. Нормализованные метки – это наиболее распространённые имена понятий, которые предположительно имели в виду пользователи под этими метками.
Основное применение такого сервиса авторы видят в улучшении структурированности генерируемого пользователями контента. Проблема очевидна: пользователи использует каждый собственную систему меток. Они во многом пересекаются, но крайне редко совпадают, кроме того часто возникают проблемы с вариацией написания одних и тех же меток. В то время как для поддержания структуры сайта, улучшения поиска и контекстной рекламы.
Из основных результатов анализа, выполняемого сервисом, можно выделить:

Информацию о понятиях, стоящих за метками. Это идентификатор соответствующего RDF-ресурса и список классов понятий к которому его можно отнести.
Предположения о принадлежности контента к какой-то категории с оценкой вероятности.
Рекомендованные дополнительные метки.

Таким образом сервис ориентирован на веб-разработчиков, усилиями которых результаты его работы представляются уже простым пользователям в виде улучшенных классификации и поиска контента. К его недостатка можно отнести только слабое использование стандартов semantic web: используется собственный протокол взаимодействия, нет поддержки приёма информации в какой-то структурированной форме(фактически входные данные сервиса – всегда список строк). Однако решаемые им задачи и подход к их решению несомненно соответствуют концепции нового веба.

True Knowledge

True Knowledge – являет системой поиска ответов на конкретные вопросы. Сервис основывается на решении двух вопросов: получение наборов формальных фактов из Интернет и преобразование запросов на естественном языке в запросы к имеющемуся набору фактов.
В качестве источников фактов выступают различные семантически аннотированные ресурсы (например Википедия или Freebase). Факты из них регулярно переносятся во внутреннее хранилище и становятся доступны для поиска. Для каждого ответа приводится факт на основании которого он был выведен и способ которым он был выведен. О факте также можно получить подробную информацию, например откуда он был получен.
Важной частью концепции этого ресурса является привлечение пользователей к наполнению базы знаний. Это достигается несколькими путями. Во-первых на главной странице портала есть несколько ссылок, позволяющих пользователям добавлять факты о некоторых объектах(людях, компаниях и т.д.). Во-вторых вместе с каждым ответом выдаётся вопрос согласен-ли пользователь с ним. Если пользователь не согласен, то ему предлагается указать с чем именно он не согласен и привести ссылку на подтверждающий документ. Также есть возможность вручную отредактировать ошибочный факт, введённый другим пользователем. Третьим способом является ввод правильного ответа на естественном языке.
Надо отметить, что данный сервис является одним из наиболее актуальных и полезных в данном обзоре. В нём прослеживается не академическая разработка, а близкий к коммерческому использованию проект. На его примере мы видим как масса распределённой в Сети информации может быть преобразована, интерпретирована и эффективно использована. Данный ресурс также отличается тем, что он не просто берёт информацию из Интернет, но и всячески привлекает своих пользователей к её оценке и, при необходимости, корректировки.

Freebase

Данный ресурс позиционирует себя как «коллекция фактов», а его создателем является компания Metaweb, входящая ныне в состав Google. Основным его интерфейсом является всё та же строка поиска, которая позволяет выполнить запрос на поиск «топика». Топик в терминологии Freebase – это некоторый предмет или понятие, о котором известен какой-то набор фактов. Если находится несколько подходящих топиков, то пользователю приводится их список с аннотацией. Сам топик представляется как список фактов, сгруппированных по типу. Например для человека это будут биографичекие факты (рождение, смерть и т.п.), написанные им книги, научные интересы и т.д. Естественно факты часто могут связывать текущий топик с другими и они также доступны для просмотра. Факт может подразумевать связь не с одним, а со многими другими топиками, такие факты называются коллекциями.
Кроме поиска имеется также поддержка обзоров некоторой темы. Например для темы «кино» можно просмотреть известные их коллекции, новые фильмы, известных актёров. Также приводится статистика по данной теме, например для фильмов количество известных актёров и режиссёров в базе.
Помимо этого, основного, функционала присутствует также возможность редактирования пользователями фактов. В этом режиме можно добавлять и редактировать факты, описание, добавлять новые типы фактов к топику и заполнять их и т.д.. Также есть возможность редактировать и мета-структуру данных: типы и присущие им факты.
Большое внимание уделено и доступности накопленных данных для других приложений. Всё, что имеется в freebase может быть запрошено с помощью специального языка запросов. Для разработчиков создана подробная и понятная документация по использованию этого языка и обработке результатов. На самом сайте поддерживается коллекция сторонних приложений, дополняющих сервис различными возможностями анализа данных.
Этот сервис вместе с True Knowledge является одним из флагманов технологии, позволяющих посмотреть на её возможности в очень качественном, технологичном исполнении. К сожалению он имеет характерный недостаток: использование собственного языка запросов и представления данных (второй продублирован возможностью экспорта данных в формате RDF).

Sig.ma

Сигма, разработка Digital Enterprise Research Institute, может использоваться для трех целей:

  • Поисковик-броузер по сайтам, содержащим информацию в RDF, RDFa или Microformats. У броузера очень наглядное представление результатов. Довольно впечатляющие результаты дает при запросе информации об известных личностях и организациях. Помимо обычных запросов в стиле Google, понимает специальные параметры, позволяющие получать данные в виде json и rdf.
  • Как виджет с автоматически обновляемой (живой) информацией. Можно создать сигму и повесить её у себя на сайте. Сигма позаботится о том, чтобы вовремя следить за обновлениями.
  • Как семантический API

Yahoo! SearchMonkey

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

  • Авторы сайтов добавляют структурированные метаданные (поддерживается большой набор микроформатов и OWL-онотлогий).
  • Поисковый робот Yahoo! индексирует их.
  • Пользователь выбирает каким приложениям разрешить обработку своих результатов поиска.
  • Поиск Yahoo! при определённых условиях (наличии нужного класса метаданных) вызывает приложения, передаёт им найденные данные и отображает в своих результатах возвращённое ими представление результатов.

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

Классификация

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

Обзор ресурсов

Сервисы данного типа призваны помочь пользователю в осознании и интерпретации связей между разнородным контентом. Типичным сценарием для таких систем является указание пользователем некоторого понятия, отправной точки и вывод в той или иной форме всего множества связанных с ним ресурсов. Соответственно для одного из элементов этого множества можно повторить операцию и т.д.
Можно с уверенностью сказать, что у этого класса нет аналогов внутри предыдущего поколения веб. Сама возможность существования таких приложений порождена предлагаемым semantic web подходом к хранению и представлению информации.
В этот класс попадают первые два из рассмотренных приложений: Marbles и Falcons. Оба они достаточно далеки от массового, коммерческого использования и являются прототипами используемых широким кругом пользователей средств. Ближе к практике находится проект Freebase, предоставляющий развитый интерфейс для навигации в своей базе знаний.

Поиск

Сервисы этого типа уже широко распространены и являются лицом Интернет. В контексте интеграции в семантические сервисы видоизменение этой функции выглядит достаточно логичным: результатом поиска являются факты, а не контент. Непосредственно поиском занимается Falcons, также поиском ответов занимается проект True Knoweledge. Своеобразным поисковым сервисом обладает и Freebase. Что характерно, каждый из этих сервисов предлагает свой подход к подаче результатов поиска.
Польза от подхода к поиску в сети как к поиску фактов трудно поддаётся оценке. Очевидно, что значительную часть поисковых запросов люди делают именно с целью получения конкретных фактов. Но также очевидно, что есть ряд запросов подразумевающих «развёрнутый ответ».
Стоит также обратить внимание и на вторую общую особенность таких сервисов: в результатах поиска они в той или иной форме дают обзор контекста. Например другие факты об объекте, другие объекты с похожими наборами фактов или из той же области.

Коллективное накопление знаний

Системы данного класса принимают на себя роль хранилища знаний, вносимых их пользователями.Чаще всего они также включают в себя черты двух предыдущих классов для помощи пользователям в работе с накопленным массивом знаний или являются их дополнением, выполняющим роль социального фильтра.
Достаточно прямым аналогом таких приложений являются весьма популярные сейчас вики. Помимо отличия в форме накопляемых знаний (факты, а не тексты), характерной особенностью нового поколения является способность впитывать знания из внешних источников (кстати наиболее популярными источниками являются как-раз вики) и следовательно предоставлять пользователям не чистый лист, не которые наброски знаний, доступные для пополнения и корректировки.
Интеллектуальная обработка данных
Сервисы из этого класса помогают своим потребителям интерпретировать размещённые у них данные, делать выводы об их структуре, семантической связи и т.п. для лучшего представления пользователям или другим приложениям. В даннуюгруппу можно отнести такие сервисы как Bueda и RichSnippets.
Аналоги для этого класса весьма трудно найти. Вполне возможно, что сейчас наблюдается зарождение нового вида сервисов, которые станут со временем такими же привычными инструментами веб-мастеров какими сейчас являются карты и рекламные блоки.

Выводы

В целом можно сделать вывод о росте доступности информации – инструменты поиска и обзора проще получают доступ к большим объёмам информации, распределённой в Сети интернет. Структурированность данных, позволяет разработчикам концентрироваться на задачах её обработки и представления, а не добычи.
Весьма характерно, что многие проекты применяют схожую технику для борьбы с «информационным шумом», неизбежно возникающим при обработке больших массивов информации. Техника эта состоит в социализации знаний, перекрётной проверке большим количеством людей (классический приём, стоящий за успехом открытых энциклопедий на базе вики). Естественно при этом предоставляются все возможности для оценки качества фактов или даже их исправления.
Из не очень приятных тенденций можно отметить склонность многих разработчиков отказываться от использование стандартных средств, рекомендованных W3C и строить свои форматы и протоколы для обмена информацией. Хотя нельзя исключить, что многообразие средств коммуникации также как и многообразие информации и сервисов является одной из черт Интернет будущего.

29 Сен 11 Системы управления знаниями и применение онтологий

Хотя и с небольшим опозданием, но и с огромным удовольствием мы приводим анонс новой книги по управлению знаниями и онтологиям, написанной нашим коллегой и другом Дмитрием Кудрявцевым. В книге рассмотрены понятия знания, управления знаниями (УЗ), системы управления знаниями (СУЗ). Представлен обзор современных методологий УЗ. Предложено применение онтологий и семантических технологий в СУЗ. Описан процесс УЗ в организации. Дано описание задач, методов и программных средств для повышения эффективности процессов создания, накопления, распределения и использования знаний в организации. Рассмотрены вопросы структурирования и представления знаний, работы с метаданными, поиска информации, а также обмена неявными знаниями на предприятии. Систематизированы программные средства для работы со знаниями. Приведены примеры СУЗ, а также указаны направления современных исследований в области представления и управления знаниями.

С книгой можно познакомиться здесь, а приобрести здесь.

Метки: , ,

11 Дек 10 Семинары по Semantic Web. Часть 1.

Не так давно наша лаборатория провела серию семинаров и мастер-классов по технологиям Semantic Web. Для нас время пролетело незаметно, а вот многие участники школы могли изрядно подзабыть о том, что же мы рассказывали. Попробуем восполнить этот пробел и рассказть для участников и всех желающих о том, что же интересного у нас происходило . Первый день можно было бы назвать «Semantic Web для топ-менеджеров» – мы успели рассказать совсем немного технических подробностей, фокусируясь на вопросах «как и что называется в SW?», «зачем это нужно?», «почему это хорошо?».
В приветственном слове было подчеркнуто, что никакой мистики за Семантическим вебом нет.
На первой лекции Катков Юрий рассказал об общей идее и истории Semantic Web. Приводим тут скрипт выступления. Вот ссылка на презентацию доклада.

Общие положения

Итак, что же обычно понимают под семантическим веб и семантическими технологиями? Семантический веб – это расширение современного www, в котором кроме людей живут и действуют машины. Такое определение отдает некоторой мистикой и трудно применяется. Наши семинары будут сосредоточены на практике, а потому для на Semantic Web будет набором стандартов, инструментов и технологий, облегчающий работу с данными.

Рыцарь Тим, сделавший Веб
Термин был введен сэром Тимоти Бернерсом Ли, человеком, который сделал самую первую в мире веб-страницу и самый первый в мире веб-браузер. Благодаря усилиям Тима, веб стал распространяться все шире и шире и, в конечном итоге, стал доступен в том виде, в котором мы им пользуемся сейчас. Тим основал и возглавил консорциум W3C, в котором были созданы важнейшие стандарты: html, xml, png, svg, DOM.

Свое видение Тим и его коллеги изложили в публицистической статье The Semantic Web. Центральным элементом видения Тима являются действующие в Сети семантические агенты – умные программы, работающие от имени людей. Эти агенты могут выполнять интеллектуальные поисковые запросы, добывать новые знания из уже имеющихся и таким образом помогать людям принимать важные решения.

Футуристический пример сэра Тимоти выглядит примерно так. Люси хочет записать свою маму на мед.процедуры в какую-нибудь из клиник города. При этом ей хочется, чтобы до клиники не требовалось долго ехать, а расписание врачей подходило под расписание её мужа Пита. У Пита есть так называемый интеллектуальный агент, который, получив набор требований к клинике,

  1. опрашивает картографические сервисы,
  2. связывается с агентами докторов, узнавая расписание докторов в клиниках и порядок предоставляемых услуг,
  3. связывается с сообществами в которых имеются отзывы и рейтинги клиник,
  4. запрашивает дополнительную информацию у тех агентов, которым он полностю доверяет в этом вопрос,
  5. сопоставляет полученную информацию с расписанием Пита.
  6. и наконец, предлагает Питу клинику, наилучшим образом удовлетворяющую его требованиям.

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

Проблемы сегодняшнего Web

Так почему сценарий Тима нельзя воплотить в жизнь уже сегодня? Мультиагентные системы – довольная развитая область, выводить одни факты из других люди научились еще тридцать лет назад, в эпоху мечты об искусственном интеллекте, а многокритериальные запросы к агенту очень похожи на запросы к базам данных на языке SQL.
Дело в том, что в сегодняшний web подходит для жизни мыслящих роботов не больше чем песок – для разведения форели. Посмотрите исходный код web-страницы – мы видим там лишь форму её представления: вот заголовок первого уровня (отображай его большим кеглем), вот маркированный список (отображай его в виде пулек через увеличенный интервал) и т.д. На странице, как правило, нет намеков на то, какой текст на ней является наиболее важным; непонятно, на какую тему написана та или иная статья. Другими словами, наши страницы выражают представление данных, а не модель. До тех пор пока на страницах нет информации в формате, понятном для машинной обработки, веб-страницы для агента выглядят примерно так:

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

Для использования доступно огромное количество сервисов, но их совместное автоматическое использование связано с неделями или даже месяцами работы. Даже несмотря на то, что нам доступен картографический сервис Google Maps, в социальной сети мы можем назначить встречу и её место, а сервис календаря позволяет планировать свое рабочее время, мы вынуждены прыгать из одной вкладки на другую, выясняя положение места встречи на карте, проверяя, свободно ли это время и т.д. Если же мы попробуем создать web-приложение, которое бы связывало все эти данные, мы немедленно обнаружим, что каждый из сервисов имеет свой API, что формат запросов к данным разнится от сервиса к сервису, так же как разнятся форматы информации, которую сервис выдает. Способность систем к взаимодействию называется интероперабельностью: чем больше усилий нам надо приложить к тому, чтобы несколько систем работали сообща – тем более низкая интероперабельность этих систем. Что и говорить, в сегодняшнем www степень интероперабельности очень низка.

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

Все делов в том, что в отсутствии хорошей модели данных работа поискового движка напоминает движения слепого – мы ищем не понятие «Машина-в-смысле-автомобиль», а лишь буквосочетание «М-а-ш-и-н-а». Омонимы – слова, которые пишутся одинаково, но означают разные слова – еще одна проблема, затрудняющия поиск. Как же мне объяснить этой железке, что я хочу купить себе мышку. Да нет же, не от фирмы Microsoft, а просто грызуна c серым мехом и большими зубами! Мы можем ждать того момента когда компьютер сможет распознавать человеческую речь, а потом производить рассуждения, но ждать нам придется довольно долго.

Решения, которые предложены в семантическом web

Итак, как показала практика математической лингвистики, сложно и долго учить компьютер естественному языку. Так как оказалось слишком трудно создать машины думающие о мире, то новая задача – это описать мир таким образом, чтобы машинам было удобно о нем думать. Это и есть одна из задач Semantic Web. Рассмотрим, как эту задачу планируется решать.

Во-первых, для этого надо пометить каждый объект уникальным идентификатором. И тут мы имеем в виду не только html-страницы – в идеале, каждый объект должен быть помечен идентификатором. Для книг таким идентификатором будет isbn, для людей – url’ы их профиля в социальных сетях или даже номера паспортов.
Во-вторых, надо начинать внедрять в веб-страницу наряду с информацией об оформлении текста также и информацию о его содержании. И в Semantic Web нас не устроят метаданные, представленные просто как ключевые слова. Нужно будет выражать информацию о том, как именно данные связаны между собой. Для этого сделан формат RDF, в котором любое знание представляется тройкой «субъект-свойство-объект», например, «Юрий-любить-вареная картошка» или «ракета-количество ступеней-6″.

Третья составляющая подхода Semantic Web к представлению знаний – это использование общих словарей для хранения понятий. Такие словари называются онтологиями и содержат в себе не только имена этих понятий, но и формально выраженную информацию о них. Сообщество экспертов в области, скажем, биологии, могут составить онтологию живых организмов, в которой будет понятие «Кукуруза сахарная». Для этого понятия в онтологии будет определено царство, класс, тип и вид, названы особенности строения соцветия и плода и т.д. Человек, описывающий данные, связанные с сельским хозяйством теперь может использовать понятие «Кукуруза сахарная» из этой онтологии – и все факты, которые содержит биологическая онтология, будут учтены при запросах к данным. Для того, чтобы создавать онтологии консорциумом W3C выпущен язык OWL.

Мало-помалу мы добрались до обзора стандартов Semantic Web. Об этом будет следующий пост!

11 Сен 10 Школа Reasoning Web 2010

С 30 по 3 сентября мне посчастливилось побывать на замечательной летней школе Reasoning Web, что проходила в городе Дрездене, Германия. Итак, вот что там было.

Кратко о сути школы.

Reasoning Web 2010 – это пятая по счету школа, которую проводит Дрезденский технический университет. Тематика, обозначенная в подзаголовке школы 2010 года звучала как «Semantic technologies in software engineering», но мне показалось, что название было выбрано неудачно: основное внимание было уделено математическим аспектами Семантического веба и онтологий, вопросов программирования семантических приложений касались лишь косвенно, мастер-классов не было совсем.

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

(далее…)

Метки: , , , , , , ,

27 Ноя 09 Фасетный поиск по Wikipedia/DBPedia

В конце сентября был запущен фасетный поиск на данных, которые DBPedia извлекла из Википедии. Проект делался совместно с немецкой поисковой компанией Neofine и находится здесь: http://dbpedia.neofonie.de/browse/.
Таким образом, теперь для ответа на вопросы типа «Какие ученые родились в России в период с 1900 по 1910 год» нам не нужно знать SPARQL, а достаточно использовать соответствующие фильтры в интерфейсе поисковика от DBPedia и Neofine: http://dbpedia.neofonie.de/browse/rdf-type:Scientist/personBirthDate-year~:1900~1910/personBirthPlace:Russian%20Empire/ (обратите внимание на человеко-читаемые урлы, в которых можно увидеть названия свойств и концептов из RDF представления DBPedia).

В фильтрах есть контекстные подсказки, благодаря которым для задания запроса необязательно знать терминологию онтологии DBPedia.

Существенных недостатков пока обнаружено несколько:

  • Данные требуют унификации.  В списке стран, например, можно обнаружить и Russian Empire и Russia, и мы получаем разные результаты для этих случаев: http://dbpedia.neofonie.de/browse/rdf-type:Scientist/personBirthDate-year~:1900~1910/personBirthPlace:Russian%20Empire/ и http://dbpedia.neofonie.de/browse/rdf-type:Scientist/personBirthDate-year~:1900~1910/personBirthPlace:Russia/. Понятно, что авторы английской Википедии использовали разные названия для страны, но если при чтении текста это было некритично, то при использовании в процессе вывода становится серьезной проблемой
  • Пока есть поддержка только английской версии энциклопедии. Будем надеяться, что в скором времени фасетный поиск будет реализован также для русского и других языков.

Несмотря на это, фасетный поиск по Wikipedia/DBPedia был назван немецким правительством одной из 365 самых инновационных идей в Германии.

Метки: , , , , ,

08 Ноя 09 Впечатления от открытой лекции Криса Мессины: Identity is the Platform в Петербурге

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

Сказав пару слов о своей карьере, Крис перешел к анализу представления персональной информации в web, а также о проблеме хранения и ценности данных пользователей в социальных сетях и о проблеме разнородности и несовместимости веб-сервисов.  Как справедливо отметил Крис, сегодня Интернет – это не сеть документов, а сеть людей, соответственно и технологии должны быть ориентированы на представление людей в сети. Основная борьба на этом направлении развертывается между Facebook Connect и OpenID. Именно второй технологии, являющейся открытой альтернативой первой, и была посвящена основная часть лекции. Крис привел примеры сервисов и компаний, которые уже используют OpenID, среди которых Google, Yahoo!, WordPress и др. Другой удивительный пример – это правительство Эстонии, которое выдало смарт-карты с OpenID и запустило сервис openid.ee для своих граждан. Такие же планы вынашивает и правительство США. Далее Крис рассмотрел различные аспекты того, каким образом личность может быть «платформой» в Интернете. В частности, речь шла о специальных сервисах, которые позволяют удостовериться, что за каким-либо акаунтом стоит реальный человек. Другим аспектом является использование более интеллектуальных фильтров и агентов пользователя, первым из которых, кстати, был навязчивый помощник MS Office, увы отрезанный от сети и поэтому бесполезный. Качество работы современных пользовательских агентов зависит напрямую от количества пользователей, пользующихся тем или иным сервисом. Поэтому очень важным является возможность передачи пользовательского «капитала данных» от одного сервиса к другому. Еще одним аспектом является множественность личностей, которыми Вы захотите воспользоваться в различных контекстах. Наконец, важной представляется ценность самих пользовательских данных, которая не должна зависеть от функций того или иного сервиса, а только от активности их владельца.

Посмотреть видеозапись лекции можно тут, а слайды к лекции здесь.

Спасибо организаторам лекции за это интересное мероприятие.

08 Окт 09 Открытая лекция Криса Мессины: Identity is the Platform в Петербурге.

В понедельник, 12 октября, в ИТМО с открытой лекцией выступит Крис Мессина (Chris Messina). Идеолог Open Web, один из создателей баркемпа расскажет о том, какое будущее ждет открытые форматы в Интернете и социальные сети. Это не будет лекция в классическом понимании. Крис – профессиональный спикер на международных конференциях и встреча будет проходить в формате доклада и дискуссионной панели.

Место и время проведения: 12 октября в 18:00 по адресу Кронверкский просп., 49
(СПб ГУ ИТМО).

Сайт мероприятия: http://nevacamp.com/ru/messina-talk

08 Июл 09 SEMANTIC WEB for the WORKING ONTOLOGIST (Dean Allemang, Jim Hendler). Часть 2 – Архитектура Semantic Web приложений.

Semantic Web for Working Ontologist (Dean Allemang, Jim Hendler)

Обложка книги

Первая часть обзора книги

В этой части обзора книги мы расскажем о видении авторами архитектуры Semantic Web приложений, хранилищах RDF, движках запросов RDF, SPARQL, микроформатах, RDFa и GRDDL.

Можно выделить следующие типы компонентов, составляющие Semantic Web приложение:

· RDF Parser/Serializer — тут все понятно. Например, можно использовать java-библиотеку Jena от HP.

· RDF хранилище (RDF Store) аналог базы данных для хранения RDF-троек и запросов к ним. В дополнение к обычным функциям баз данных RDF хранилище имеет возможность сливать данные из разных источников, используя URI для идентификации одинаковых объектов.

· Движок запросов RDF (RDF Query Engine). Позволяет получать информацию из хранилища RDF посредством структурированных запросов.

Источники данных для RDF

В случае, если у нас есть уже файл RDF c нужными нам данными, мы можем просто воспользоваться парсером RDF, но часто нам нужно получить RDF из других источников: таблиц баз данных, текстовых файлов или HTML-страничек. Что касается таблиц, то большинство RDF систем включает в поставке конвертер в RDF, а вот c HTML-страницами все несколько сложнее.

Способы извлечения RDF информации из HTML-страничек можно классифицировать следующим образом:

  • Автор документа потратил дополнительное время и аннотировал HTML метаинформацией. Возможны три варианта реализации аннотаций:
    • RDFa (ссылка на словарь с терминологией есть прямо в файле)
    • Микроформаты (стандартный жестко заданный словарь для метаинформации, например hReview).
    • GRDDL (наложение указанного в файле XSL шаблона на сам HTML файл приводит к получению RDF файла, для этого исходный файл должен быть валидным XHTML документом). В этом случае можно, например, воспользоваться GRDDL Scraper.

      Недавно у вебмастеров появился стимул использовать семантическое аннотирование, требующее от них существенных дополнительных усилий: Google, вслед за Yahoo, теперь также индексирует и использует микроформаты и RDFa.

  • Если RDF метаданных в документе нет. В этом случае можно воспользоваться специальным инструментом, который называют scraper (дословный перевод на русский язык – «скребок»). В нем можно задать отношения полей исходного документа (если, конечно, данные в нем хорошо структурированы, например, задаются в таблице) и в итоге после настройки и запуска инструмента из странички можно будет получить RDF файл. Примеры таких инструментов: RDF Web Scraper и Solvent от MIT, последний из которых выполнен в виде плагина к Firefox (правда себе я поставить не смог, т.к. с версией 3.0.11 он оказался не совместим:( ).

RDF хранилище (RDF Store)

Фундаментальное отличие RDF хранилища от реляционной базы данных заключается в возможности автоматически сопоставлять две различные записи из разных источников, если они относятся к одному объекту. Благодаря гибкости модели данных RDF эта процедура четко определена: любые два ресурса с одним URI будут считаться эквивалентными в итоговом наборе данных.

Существуют различные реализации RDF хранилищ: от самых простых в виде таблички с тремя колонками (для subject, predicate и object) до коробочных решений от вендоров. Для качественной реализации последних нужно решить проблемы эффективных индексов для строковых данных URI. Серьезные провайдеры RDF хранилищ дифференцируют свои предложения в зависимости от масштабируемости и эффективности индексации.

Так как все RDF хранилища используют единую модель данных и умеют импортировать и экспортировать свои наборы данных в RDF/XML формат, то организовать перенос данных из одного RDF хранилища в другое достаточно просто. Поэтому RDF хранилище можно легко поменять на решение от другого вендора, если возникнет такая необходимость. Такая стандартизация также упрощает хранение распределенных данных в разных RDF хранилищах.

Движки запросов RDF (RDF Query Engines) и SPARQL

Обычно доступ к RDF хранилищу обеспечивается с помощью языка запросов, и в этом смысле оно похоже на реляционную базу данных или XML хранилище. В ранние годы стандарта RDF существовало несколько разных языков запросов, поддерживаемых каким-либо RDF-продуктом или open-source проектом. На основе общности этих языков W3C стандартизовал язык запросов SPARQL.

Базу SPARQL запроса составляют шаблоны троек. Шаблон тройки выглядит как обычная RDF тройка, но может еще содержать переменные на месте ресурсов на любой из трех поизиций (subject, predicate, object). Переменные обозначаются специальным символом «?» перед именем.

Примеры валидных шаблонов троек:

    ?w lit:wrote lit:KingLear.
    lit:Shakespeare ?r lit:KingLear.
    lit:Shakespeare lit:wrote ?p.

Обозначают эти шаблоны следующее:

Кто написал Короля Лир?
Какое отношение связывает Шекспира и Короля Лир?
Что написал Шекспир?

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

    {?person bio:livedIn ?place.
    ?place geo:isIn geo:England.
    ?person lit:wrote lit:KingLear.}

Неформально эти запросы спрашивают:

«Найти человека, который жил в месте, которое находится в Англии и который также написал Короля Лир».

В SPARQL есть не только SELECT запросы, но CONSTRUCT запросы, которые на основе двух графовых шаблонов позволяют строить новый граф. Понять, зачем это нужно, проще на следующем примере: допустим, у нас есть утверждение из Википедии о том, что Шекспир написал «Гамлета», которое в RDF будет выглядеть так:

    q:n1 rdf:subject lit:Shakespeare;
    rdf:predicate lit:wrote;
    rdf:object lit:Hamlet.

Отношение самой Википедии к этому утверждению выглядит так:

    web:Wikipedia m:says q:n1.

Причем, это не равнозначно утверждению:

    lit:Shakespeare lit:wrote lit:Hamlet.

т.к. то, что Википедия это утверждает, еще необязательно значит, что мы верим в том, что Шекспир написал «Гамлета».

С помощью следующей конструкции SPARQL мы можем выбрать все реификации утверждений (reified statements, т.е. утверждения об утверждениях; дословный перевод reification на русский: овеществле́ние; материализа́ция), которые декларируются в Википедии:

    CONSTRUCT {?s ?p ?o}
    WHERE {?r rdf:subject ?s.
    ?r rdf:predicate ?p.
    ?r rdf:object ?o.
    web:Wikipedia m:says ?r.}

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

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

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

Сравнение с реляционными запросами

В специальном случае, когда RDF хранилище реализовано в виде одной таблицы в реляционной базе данных, любой SPARQL запрос можно быть представлен в виде SQL запроса с self-join к этой таблице. Поэтому некоторые разработчики предпочитают при такой реализации работать со хорошо знакомыми им SQL запросами. Oracle пошел немного другим путем и предлагает для SQL разработчиков свое RDF расширение SQL, оптимизированное для графовых запросов. Синтаксис этого языка больше похож на SPARQL, но сильно итегрирован с table/join структурой SQL.

Приложения RDF

В качестве типичных примеров RDF приложений можно привести следующие:

  • Интеграция с календарем — показываем встречи разных людей и команд на одном календаре
  • Интеграция с картами — местоположения интересных мест, собранных с разных веб-сайтов, электронных таблиц и баз данных на одной карте
  • Аннотации — вместо обычных тэгов к информации используем тэги c URI (например, сервис социальных закладок Faviki)
  • Управление контентом — создание единого индекса информационных ресурсов (документов, электронных таблиц, веб-страниц, баз данных и т.п.), которые доступны в нескольких хранилищах контента.

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

Интеграция данных (Data federation).

Отделение стратегии интегрирования данных от операционных задач приложений, когда ему не нужно знать, откуда именно происходит конкретная RDF-тройка позволяет одному запросу бесшовно оперировать с несколькими источниками данных. Это существенно отличает приложения RDF от приложений с базами данных: например, в случае, когда приложение использует 2 базы от разных вендоров (Oracle и mySql, например), мы не можем написать один SQL-запрос для выбора продуктов и цен на них, если данные об именах продуктов хранятся в одной базе, а цены другой (в случае 2-х баз Oracle это было бы возможно, т.к. можно сделать db link). Нам в этом случае нужно делать 2 выборки и писать код, который их объединяет. В случае использования SPARQL это не так, нам нужен один запрос и подключение к RDF хранилищу обоих источников данных. Таким образом, интегрирование с новыми источниками данных не повлияет на запросы самого приложения, а, следовательно, мы получаем возможность создавать более устойчивые и гибкие решения.

Reblog this post [with Zemanta]

Метки: , , , , , ,

16 Май 09 SEMANTIC WEB for the WORKING ONTOLOGIST (Dean Allemang, Jim Hendler). Часть 1.

Semantic Web for Working Ontologist (Dean Allemang, Jim Hendler)

Креативная обложка, символизирующая динамичную водоносную систему

Однозначный must read и просто увлекательное чтиво для всех, кто интересуется Semantic Web и представлением и обработкой знаний, в том числе и с помощью онтологий. Ничего подобного по уровню изложения и осмысленности по данной тематике мне пока не встречалось. Авторы концентрируются на реальных примерах моделирования, задают правильные вопросы и разжевывают для читатели все узкие места так, что даже самые сложные вещи начинают казаться простыми и очевидными (ИМХО, признак высочайшего профессионализма).

В книге много мыслей, способствующих появлению глубокого понимания Semantic Web, его стандартов и принципов моделирования. Наиболее яркие и запомнившиеся из них приведены ниже.

Зачем нам нужен Semantic Web?

Первая глава посвящена целиком вопросу: что такое Semantic Web и зачем он нам? Представим себе такой пример: мы хотим поехать в национальный парк отдыхать и у нас есть любимая сеть отелей, в которой мы любим отдыхать, т.к. у нас там есть большая скидка для постоянных клиентов. На сайте национального парка мы видим, что отель нашей сети находится в его окрестностях, но, заходя на сайт сети отелей, мы не можем отыскать этот отель и забронировать номер, т.к. его там по какой-то причине больше нет. Остается только расстраиваться из-за этой несогласованности данных.

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

В один прекрасный день из газет вы узнаете о том, что International Astronomical Union (IAU) принял решение о том, что Плутон, который до 2006 года считался планетой, следует относить к новой категории «карликовая планета». Вы устремляетесь на сайт и видите, что на странице про Плутон его уже относят к карликовой планете. Но когда вы открываете страницу со списком всех планет, оказывается, что Плутон все еще находится там.

Проблема в обоих примерах в том, что представление данных неконсистенто и рассихронизовано.

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

Semantic Web идет дальше этих решений и предоставляет инфраструктуру для связывания данных не только в рамках определенных приложений, но и во всей распределенной Сети с помощью глобальных идентификаторов ресурсов (URI). Когда сеть отелей публикует информацию о местоположении отелей, она публикует не только ее представление для человека, но и ее кодирование в машиночитаемой форме. Модель, которая используется для представления этой сети распределенных данных называется Resource Description Framework (RDF).

Для понимания принципов проектирования Semantic Web, Dean Allemang и Jim Hendler приводят следующие три особенности распределенной сети данных:

  • Слоган «Кто угодно может сказать что угодно о чем угодно (АAА slogan Anyone can say Anythingabout Any topic). Данные не управляются из одного большого датацентра, и любой человек может выразить свои знания о сущностях таким образом, чтобы они могли объединяться с информацией из других источников. Это способствует так  называемому сетевому эффекту (network effect), когда каждый новый присоединившийся к сети человек приносит еще дополнительный смысл и способствует его экспоненциальному росту.
  • Предположение о неуникальном именовании объектов (Nonunique Naming Assumption). Т.е. есть два объекта с различными именами могут быть одинаковыми (например, одна из карликовых планет UB313 известна также под именем Xena).
  • Предположение об открытости мира (Open World Assumption). Следствие ААА слогана. Мы практически не можем в рамках Sematnic Web делать утверждения вида «существует ровно девять планет», т.к. могут открыться факты, о которых мы еще не знаем.

Последнее предположение перекликается с теоремой Гёделя о неполноте, и это дает основания предположить, что в рамках Semantic Web рождается новая сетевая логика – основа будущего виртуального мира.

Средства моделирования в Semantic Web

Три принципа распределенной сети данных создают окружение для эффективного обмена информацией. Но такой стиль сбора информации может привести к информационному хаосу и конфликтам. Задача инфраструктуры Semantic Web поддержать переход из этого хаотического состояния в такое, в котором возможен продуктивный обмен информацией, кооперация и сотрудничество. Делается это с помощью моделирования – процесса организации информации для использования комьюнити. Модель предоставляет для этого три решения: общую схему для коммуникации между людьми, средства для объяснения выводов, структуру для управления разными точками зрения.

Semantic Web предлагает несколько инструментов моделирования отличающихся уровнем выразительности. Чем выше уровень выразительности, тем, как правило, сложнее модель, но и тем выше ее информативность. Для примера рассмотрим три модели молекулы воды H2O:

Различные представления молекулы воды H20

Различные представления молекулы воды

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

Вторая модель (b) обладает большей выразительностью: она показывает не только компоненты воды и их количество, но и как они связаны друг с другом в химической структуре молекулы. Из нее ясно, что когда молекула распадается на меньшие, она может распасться на атомы водорода (H), или на кислородно-водородный ион (OH), но не прямо на двойной атом водорода (H2) без осуществления некоторой рекомбинации ее компонент после первоначальной декомпозиции.

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

Ниже представлены языки Semantic Web от менее выразительных к более выразительным:

  • RDF — The Resource Description Framework. Основа всех моделей Semantic Web. Позволяет формулировать утверждения о чем угодно (с помощью троек subject-predicate-object) и составлять из них единую модель. RDF рекомендован W3C c 2003 года.
  • RDFS The RDF Schema language. RDFS – это язык, обладающий достаточной выразительностью для описания базовых понятий общности и изменчивости хорошо известных из объектных языков и других систем классов – а именно классов, подклассов и свойств. RDFS рекомендован W3C c 2003 года.
  • RDFS-Plus. RDFS-Plus является более выразительным, чем RDFS, подмножеством OWL, но при этом не обладающий сложностью OWL. Позволяет описывать способы использования определенные свойства и отношений между ними. Стандарта RDFS-Plus пока нет, но есть понимание, что что-то между RDFS и OWL может быть значимым для индустрии.
  • OWLWeb Ontology Language. OWL привносит в Semantic Web выразительность логики. Он позволяет описывать детальные ограничения между классами, сущностями и свойствами. OWL рекомендован W3C c 2003 года.

Моделирование в RDF

Допустим, у нас есть большая таблица базы данных. Мы не хотим держать ее на одной машине, а хотим, чтобы информация из нее располагалась где угодно в сети, чтобы любой человек мог добавлять туда новые данные (ААА слоган), но при этом всю доступную информацию можно было корректно объединять. В RDF это можно сделать, преобразовав таблицу в набор троек: subject-predicate-object, где subject – сущность, описываемая в таблице (если таблица содержит описания продуктов, то для продукта с ID=1 это может быть Product1), predicate – колонка в таблице (например, Manufacturer), object – значение соответствующей ячейки в таблице. После этого следует добавить тройки с утверждениями о совпадающем типе всех сущностей продуктов вида: Product1-rdf:type-Product

Использование URI в качестве глобального идентификатора позволяет понять, когда два человека где угодно в мире говорят об одной сущности. Важно, что URL является частным случаем URI, если удается разыменовать его в конкретный протокол, сервер, порт и имя файла, чтобы получить файл или позицию в нем в глобальной сети. Для моделирования это не очень принципиально, т.к. от URI необходима только глобальная уникальность, но это позволяет участвовать моделям в глобальной инфраструктуре Сети. Например, URI свойства подкласса http://www.w3.org/2000/01/rdf-schema#subClassOf (rdfs:subClassOf) является также URL, по которому можно прочитать спецификацию этого свойства.

RDF также позволяет делать утверждения об утверждениях (reification). Например, так будет выглядеть утверждение, о том, что Википедии сказано, что Шекспир написал «Гамлета»:

q:n1 rdf:subject lit:Shakespeare ;
    rdf:predicate lit:wrote ;
    rdf:object lit:Hamlet .

web:Wikipedia m:says q:n1

Причем, это совершенно не означает того, что верно утверждение, что Шекспир написал «Гамлета», т.к. мы можем не доверять информации из Википедии.

Важную роль в RDF играют bnodes (blank nodes), благодаря которым мы можем делать утверждения о тех вещах, про которые мы знаем, что они существуют, но не можем их идентифицировать.  Например, мы знаем, что на 78-й сонет Шекспира вдохновила неизвестная англичанка. В N3 это будет выглядеть так:

lit:Sonnet78 lit:hasInspiration [ a :Woman;
    bio:livedIn :England] .

Заметьте, что эта запись вполне читабельна, несмотря на то, что написана на формальном языке.

На этом пока все. В следующих частях мы напишем про то, как авторы книги видят архитектуру Semantic Web приложений, RDFS-Plus (SKOS и FOAF) и моделирование на OWL.

P.S. Сервис bookfinder.com подскажет, где заказать «SEMANTIC WEB for the WORKING ONTOLOGIST». С доставкой в Россию будет дешевле.

Reblog this post [with Zemanta]

Метки: , , , , , ,

07 Апр 09 Кто и что пишет про управление знаниями по-русски

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

  1. Мильнер Б. Управление знаниями. Эволюция и революция в организации. М. Инфра-М. 2003.
  2. Лабоцкий В.  Управление знаниями. Технологии, методы и средства представления, извлечения и измерения знаний. Современная школа. 2006.
  3. Дресвянников В. А. Построение системы управления знаниями на предприятии. КноРус. 2006.
  4. Мильнер Б.З., Румянцева З.П. и др. Управление знаниями в корпорациях. Дело. 2006.
  5. Лабоцкий В. Управление знаниями: технологии, методы и средства представления, извлечения и измерения знаний. Учебное пособие. БГЭУ. 2006.
  6. Баранчеев В.П.  Управление знаниями в инновационной сфере. Учебник для ВУЗов. ЦЭМ. 2007.
  7. Гапоненко А.Л., Орлова Т.М.  Управление знаниями. Как превратить знания в капитал. Эксмо. 2008. 
  8. Мариничева М. К. Управление знаниями на 100%: Путеводитель для практиков. Альпина Бизнес Букс. 2008.
  9. Дресвянников В.А. Управление знаниями организации. КноРус. 2008.

Список получился не такой уж и большой. Конечно, есть еще книги, содержащие отдельные главы, посвященные управлению знаниями и множество статей. Но в данном обзоре мы ограничимся только теми изданиями, которые целиком посвящены этой теме. Открывает список труд Бориса Захаровича Мильнера. Очевидно, это и есть первая крупная публикация по УЗ, написанная на русском языке. Так что следующий пост будет посвящен этому автору. К тому же книги Борса Захаровича удалось приобрести без проблем.