12 лет назад 3 сентября 2007 в 14:24 789

ObjectViewer предлагает базовые возможности просмотра и навигации по RDF-данным

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

Легко сказать – переложить работу по извлечению полезной информации из Глобальной сети на компьютеры, однако подобную задачу не так просто решить применительно к современному интернету. Причины этого довольно глубоки. У абсолютного большинства современных веб-проектов, вне зависимости от примененных в них технологий, есть общее свойство: они предназначены только для восприятия человеком. Под это конечное требование подгоняется форма и наполнение страниц: их же будет просматривать Homo sapiens, который способен самостоятельно выделить смысл содержимого. С компьютером такой номер не проходит. Наполнение веб-страницы – для него просто последовательность текстовых строк, и не более того. А что за ними скрывается: ценные сведения и выводы, сделанные знатоками темы, просто бесполезная в данный момент информация или, хуже того, откровенная ерунда, написанная невесть кем от нечего делать, – сие компьютеру неведомо. Попытка преодолеть данный семантический барьер «в лоб», на основе возможностей современной Сети, требует приложений, приближенных по уровню к искусственному интеллекту, что отодвигает решение задачи в отдаленное будущее, по крайней мере для обычных пользователей.

Сеть для машин и сеть для людей
Как один из возможных способов, помогающих выйти из тупика, родилась идея семантического веба, позволяющая решить названные проблемы и во многом изменить само представление о способах работы в интернете. Изначально она принадлежит известнейшему специалисту Тиму Бернерсу-Ли. Кратко ее можно изложить так: «Если написание приложений, способных автоматически обрабатывать сведения из интернета, является слишком сложной задачей, то стоит создать надстройку к Сети в виде технологий, приводящих информацию к дружественному для программ-агентов виду». На основе соответствующей разметки сетевых документов такие программы-агенты смогут самостоятельно собирать разрозненную информацию, сопоставлять данные, принимать решение об их достоверности и даже делать некоторые логические выводы, предоставляя на выходе пользователю готовый информационный продукт. Применение у них может быть самое широкое, от помощи в бытовых повседневных делах до решения производственных или исследовательских задач: представьте себе, к примеру, планирование туристической поездки с автоматической прокладкой маршрута, подбором наиболее выгодных предложений и поиском гостиниц по самым заковыристым критериям, например по уровню цен в ближайших кафе или количеству цветочных клумб на квадратный километр в данной местности. И если только такие сведения опубликованы в Сети, пусть даже на разных сайтах, они будут найдены, сведены воедино и обработаны в соответствии с запросом пользователя.
Сильной стороной Semantic Web должен стать учет не только прямого содержания опубликованных в Сети документов, но и контекста анализируемой информации. Фрагменты веб-страниц могут быть полезны при решении различных задач, надо только скомбинировать имеющиеся данные нужным способом. В настоящее время развитием этой концепции, а также стандартизацией в области соответствующих технологий занимаются рабочие группы World Wide Web Consortium.
Реализовать все эти интересные идеи без соответствующих технологий невозможно. Все тот же Тим Бернерс-Ли наглядно представил весь комплекс инструментов, необходимых для работы семантического веба, в виде схемы, напоминающей слоеный пирог. Этот «пирог» стал одним из символов Semantic Web, его стилизованное изображение можно встретить даже в элементах оформления сайтов соответствующей тематики. Давайте пройдемся по схеме и разберемся, в чем состоят функции ее основных компонентов.

Семантический пирог
В основании «пирога» находятся Unicode и URI. Юникод – вещь давно известная и необходимая для базовой совместимости приложений. Мельчайшим элементом семантического веба являются типовые идентификаторы ресурсов (Uniform Resource Identificator). Назначение URI – однозначная идентификация любых порций сетевых данных.
URI может быть присвоен любым данным: опубликованному в Сети документу, имени человека, телефонному номеру, адресу e-mail, отдельному высказыванию – чему угодно. Код URI очень похож на привычные URL, однако есть и важное отличие. Если URL всегда указывает на местоположение ресурса, то URI может и не содержать адресных сведений, его назначение – простое обозначение каких-либо данных. Более того, эти данные могут даже не быть опубликованными в Сети. Например, вы можете присвоить на своей веб-странице URI текстовой строке, содержащей название книги, которую вы недавно прочитали, при этом не имеет никакого значения, представлена эта книга в интернете или нет.
Система URI полностью децентрализована, создавать идентификаторы может любой желающий, будь то автор ресурса или посторонний человек. Кроме того, не существует какой-либо единой базы данных URI или организации, управляющей их созданием. Это придает системе огромную гибкость, но вместе с тем и порождает ряд проблем. Например, к определенному объекту могут относиться несколько URI, созданных различными авторами, и удостовериться в том, что это действительно один и тот же объект, может быть довольно сложно.
Итак, у всех ресурсов Semantic Web есть идентификаторы. Переходим на второй слой «пирога» – к языку XML и пространству имен.
Язык XML позволяет создавать собственные форматы документов и любые теги, в том числе и относящиеся к их семантике. Такая разметка в Semantic Web призвана сообщить компьютеру сведения о смысле и значении отдельных элементов документа. Разработчик может создавать теги, обозначающие веб-страницы, людей, растения, действия, отношения – что угодно, лишь бы запись тегов формально соответствовала спецификациям XML.
Поскольку ограничений на создание тегов нет, возникает проблема конфликта имен, когда несколько разработчиков используют одинаковые названия для тегов с разным значением. На помощь в таких ситуациях приходят URI. Для каждого тега создается свой уникальный URI, ссылающийся на его описание. В результате для всех тегов конкретного XML-формата создается своеобразный словарь их значений, называемый «пространством имен». Поскольку каждый тег получает собственный URI, разработчики могут спокойно придумывать собственные или же использовать чужие теги, не опасаясь путаницы имен.
У нас уже есть идентифицируемые ресурсы и отдельные «слова» языка – теги XML-разметки. Сложить эти отдельные «слова» в понятные компьютеру «фразы» позволяет технология Resource Description Framework – «среда описания ресурсов». Ее назначение – создание понятного компьютеру описания связей между отдельными объектами. Эта технология находится на третьем уровне схемы Semantic Web.
Разберемся с RDF на простом примере. Размещенное на веб-странице утверждение «Вася любит пиво» компьютеру ничего не скажет: для машины это просто текстовая строка. В формате же RDF его можно представить в виде выражения-триплета, состоящего из трех элементов, субъекта, предиката и объекта, выраженных с помощью URI. Первый URI в нашем случае обозначает Васю как конкретную персону. Второй URI будет включать в себя ссылку на пространство имен, содержащее значение тега, присвоенного слову «любит», и выражать отношение, в котором находятся субъект и объект. Наконец, третий URI укажет на объект «пиво». После такой подготовки компьютер сможет обработать выражение, «понимая», о чем идет речь и в каких отношениях наш Вася находится с пивом. Синтаксис реальных выражений, созданных по официальным спецификациям, несколько сложнее, но общая суть остается той же.
Отдельные URI, составляющие подобные выражения, могут быть получены из различных сетевых источников. Это значит, что из нескольких ресурсов могут быть взяты только те сведения, которые необходимы в данном контексте. Итак, информация отделяется от конкретного документа и становится пригодной для обработки с учетом его смысла.
RDF, как и любой другой язык, требует усилий на его освоение. Надежды на то, что люди внезапно начнут его массово изучать и создавать на его основе ресурсы, не очень много. Поэтому теоретики Semantic Web главным возможным источником информации считают базы данных. Держателей баз должен привлечь тот факт, что RDF значительно упрощает публикацию контента в Сети, а также сулит заманчивые перспективы автоматического анализа данных, взятых сразу из нескольких распределенных баз.
Итак, у нас уже есть «слова» и доступные для машинной обработки «фразы», однако кто или что объяснит компьютеру значение или способ применения определенного термина? Здесь в дело вступает четвертый уровень «пирога» – уровень веб-онтологии.
Если говорить кратко, онтология в данном случае – это записанные на особом языке правила и способы описания значений и отношений терминов. Эти описания сохраняются с помощью RDF, что дает возможность использовать их для автоматической обработки. Кроме того, онтология позволяет устанавливать синонимию различных терминов. Как только хоть один автор укажет, что два термина являются синонимами, программы-агенты получают возможность конвертировать незнакомые теги в известную им систему координат. Это придает дополнительную гибкость технологиям Semantic Web, поскольку разработчикам не потребуется обновлять программы-агенты после появления новых терминов или онтологий – они всегда смогут конвертировать термины, исходя из их связей с другими понятиями, самостоятельно «обучаясь» использованию неизвестных ранее тегов. В настоящее время уже разработан язык описания онтологий Web Ontology Language, спецификация на который была выпущена W3C в 2004 году.
Венцом развития Semantic Web должен стать пятый уровень рассматриваемого «пирога». На нем располагаются технологии, позволяющие компьютерной программе обрабатывать не только отдельные фразы, но и целые высказывания, формируя по законам логики собственные заключения на основе разрозненных выражений, содержащихся в различных сетевых документах. Иногда такие программы называют «агентами третьего уровня», так как они способны не только собирать данные и следовать заранее составленным правилам при их обработке, но и создавать собственные правила. Именно они могут в перспективе реализовать весь потенциал Semantic Web.
Последний, шестой уровень «пирога» относится к еще более тонким материям – проблемам достоверности данных. Вопрос доверия к опубликованной информации очень важен, поскольку выкладывать в интернет данные в форматах Semantic Web может любой желающий. В качестве средства, обеспечивающего достоверность сведений, используется цифровая подпись автора. Клиентские программы, основываясь на этих подписях, смогут определять, стоит данный источник доверия или же нет. Каждый пользователь может составить для своей программы-агента список авторов, материалам которых он доверяет. Допустимы и «черные» списки авторов, не заслуживающих доверия. Сделать базы авторов более компактными поможет каскадный принцип: если вы пометили определенного автора как доверенное лицо, в ваш «белый» список добавляются и доверенные лица этого автора. Дальнейшим развитием этой технологии должна стать автоматическая проверка степени достоверности отдельных высказываний. Тим Бернерс-Ли в шутку назвал такой перспективный инструмент «Oh, yeah?» Button.

OpenLink RDF Browser – наиболее удобный на сегодня онлайновый браузер для Semantic Web


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

OpenLink RDF Browser в визуальном режиме SVG Graph


Начнем с онлайнового браузера ObjectViewer (objectviewer.semwebcentral.
org). Он является хорошим примером минималистского подхода к созданию подобных ресурсов, предоставляя только базовые инструменты просмотра RDF. Его интерфейс построен на фреймах и состоит из четырех областей. Сверху расположена адресная строка, в которую вводится нужный URI. После запуска просмотра в основном фрейме открывается своеобразная карта, в центре которой находится стартовый идентификатор, а вокруг него располагаются связанные с ним URI. Поскольку их количество может быть довольно велико, карта продублирована списком во вспомогательном боковом фрейме. Там обнаруженные идентификаторы можно рассортировать по источникам, из которых они были получены, или по тегам разметки. В последнем случае начинают работать иерархические связи терминов. Например, если в качестве стартового URI был выбран ресурс определенного человека, то в этом фрейме выводятся такие поля, как «полное имя», «области интересов», «публикации», «место работы», «домашняя веб-страница» и другие, им подобные, причем вся информация собирается из различных источников, представленных в RDF-форматах. Поскольку очень малое количество размеченных соответствующим образом ресурсов является главной проблемой современного семантического веба, особенных чудес от поиска с помощью ObjectViewer пока ждать не приходится.
Гораздо интересней выглядит онлайновый браузер OpenLink RDF Browser (demo.openlinksw.com/DAV/JS/rdfbrowser/
index.html). Его создатели решили поэкспериментировать с интерфейсом, добавив к стандартным инструментам просмотра несколько весьма полезных функций. Помимо поля ввода URI браузер предлагает несколько закладок, относящихся к различным режимам просмотра данных. Navigator распределяет URI по тематическим классам, Browser – по источникам, из которых они были получены. Raw Triples показывает данные в их исходном виде – как RDF-триплеты, а SVG Graph показывает связи URI в виде графической схемы с настраиваемыми параметрами. Yahoo! Maps извлекает из найденных идентификаторов географические данные и размещает их на соответствующей карте, а Images проделывает то же самое с изображениями. Timeline и Tag Cloud сортируют URI по найденным в них датам и тегам.
Особо отметим вкладку Fresnel. Одноименная технология предлагает единый формат конвертации RDF-данных в удобный для просмотра человеком вид. Соответствующая вкладка OpenLink RDF Browser показывает, как это может выглядеть на практике.
В результате получилась довольно удобная среда просмотра RDF-данных, пожалуй лучшая на сегодняшний день. Остается разве что только еще раз посетовать на малое количество доступных RDF-ресурсов.

Piggy Bank – хороший «конструктор» для желающих создать собственного агента для Semantic Web


Кроме самостоятельных приложений существуют и семантические дополнения к обычным браузерам. Разработчики программ-клиентов особенно полюбили браузер Firefox. Для него, в частности, предлагается плагин Piggy Bank (simile.
mit.edu/piggy-bank/), предназначенный для создания и управления данными в форматах Semantic Web. Данное приложение написано на Java, так что если на вашем компьютере нет Java-машины, предварительно потребуется ее установить.
Piggy Bank позволят извлекать и сохранять данные RDF с открываемых в браузере веб-страниц, для чего предусматривается специальная кнопка на панели инструментов и комбинация клавиш Alt + P. Если на сохраняемой странице была собственная RDF-разметка, она будет аккуратно перенесена в хранилище Piggy Bank. Если же такой разметки не было, Piggy Bank постарается ее создать на основе метаданных, взятых из заголовка страницы, и других сведений, извлекаемых с помощью одного из используемых в приложении скриптов. В таком случае информации в банк данных попадет, конечно же, гораздо меньше, однако это все равно лучше, чем ничего. Второй, и причем гораздо более удобный, способ получить RDF-данные – подключиться к готовому сетевому банку, для чего в настройках Piggy Bank потребуется указать адрес соответствующего сервера и другие необходимые для соединения сведения.
В Piggy Bank доступны все основные режимы просмотра RDF: простой список, графическое отображение связей URI с массой настраиваемых параметров, календарь, карта и «линия времени». Собранные данные можно экспортировать в сетевой банк и сделать доступными для других людей. Главное преимущество Piggy Bank – возможность гибкой настройки приложения и разработки собственных дополнений-скриптов. Поддерживается выполнение запросов, составленных на языке SPARQL, что незаменимо при анализе собранных данных. При желании можно редактировать заложенные в Piggy Bank скрипты сбора RDF-данных или же создать собственные. Эта возможность ценна тем, что позволяет самостоятельно создать RDF для сайтов, владельцы которых даже краем уха не слышали про Semantic Web и не собираются в обозримом будущем поддерживать данную технологию.
В результате получился неплохой конструктор для желающих попробовать силы в создании собственной программы-агента для Semantic Web. Для широкого круга пользователей Piggy Bank пока вряд ли подойдет: слишком много «ручной» работы, слишком мало реальных данных в Cети.
Среди многопользовательских проектов заслуживает внимания сайт DBin (http://www.dbin.org/), целью которого является объединение усилий энтузиастов, создающих информацию в «семантических» форматах. На сайте можно присоединиться к одной из зарегистрированных тематических групп, занимающихся генерацией RDF-данных, или же создать собственную.

Менеджер DBin позволяет просматривать данные в форматах Semantic Web, а также обмениваться ими в рамках сообществ


Для того чтобы принять участие в работе проекта, потребуется загрузить и установить специальную программу-клиента. Этот клиент позволяет просматривать данные в форматах Semantic Web, подключаться к серверам, на которых находятся RDF-банки, а также обмениваться метаданными в рамках сообщества пользователей DBin. Программа может работать в двух режимах: тестовом и полном. В первом случае можно только просматривать и обрабатывать на своем компьютере получаемые из сети RDF-данные. Второй режим понадобится в случае публикации собственных данных. Для его включения потребуется предварительная регистрация, в ходе которой пользователь получает уникальную цифровую подпись.
Подводя итог этому краткому обзору проектов, можно сказать, что место killer application, приложения, которое своей эффективностью привлечет к семантическому вебу внимание массового пользователя, пока вакантно. И это дает шансы разработчикам в один прекрасный для них момент оказаться на гребне волны новейших интернет-технологий. UP

Никто не прокомментировал материал. Есть мысли?

Отличный выпуск, ничего не скажешь.

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

А еще на сайте вашем отключаю всегда Ublock. Потому что понятное дело – вы уже не зарабатываете на продажах и рекламе в журнале.

Опечаток многовато, ребят.

Корректора у вас сейчас нет?

Подбираемые видеокарты для тестирования в разделе "Новое железо" далеко не самые лучшие.

Не скатывайтесь в откровенную рекламу, пожалуйста… 🙁