Всемирная Паутина была крупнейшим технологическим успехом, а сегодня Internet-сообщество готовится к выходу Web 3.0, хотя нумерация не совсем точно отражает процесс развития технологий – многие идеи Web 2.0 закладывались Тимом Бернерсом-Ли еще при разработке WWW. Web 3.0 часто ассоциируется с семантическим подходом, который, однако, исследуется уже более десяти лет. Каковы перспективы Web 3.0, произведет ли триквел обещанную его авторами революцию [1]?
Идея Semantic Web проста по сути, но тяжела в реализации – сложно научить программных агентов понимать Web-документы, которые для нынешних браузеров являются книгой на незнакомом языке с кем-то оставленными пометками на полях. Программа лишь ищет эти пометки, поскольку только их понимает и воспринимает как команды, а цель Semantic Web – понять текст. Такой «поумневший» агент сможет, общаясь при этом с другими агентами, автоматически решать многие задачи, с которыми сегодня невозможно справиться без человеческого участия.
Конечно, никто не требует от агентов понимания естественных языков – в этом случае перспективы Semantic Web были бы совсем туманными. Вместо этого отдельные слова в «книге» сопровождаются переводом на язык, понимаемый агентом, – Web-контент сопровождается дополнительной метаинформацией для агента. Важно, что с самого начала Semantic Web задумывался не как замена Всемирной Паутины, а как ее расширение.
Слоеный пирог
Первая спецификация модели для описания метаданных о ресурсах – Resource Description Framework (RDF) – появилась в 1999 году, однако консорциум W3C постепенно начал уделять больше внимания XML и Web-сервисам, чем метаданным, и в результате проект заглох. Потом им заинтересовалось агентство DARPA, которое совместно с проектом Европейского союза Information Society Technologies возродило работы, и в 2004 году появились стандарты RDF, RDFS и OWL.
В слоеном пироге должен был появиться следующий уровень – правила. В этот момент сама архитектура была подвергнута критике за негибкость, неспособность надлежащим образом поддерживать правила в семантике реляционных баз данных, и как альтернатива была предложена новая, мультистековая архитектура. И хотя появлялись проекты языков правил, соответствующие обеим архитектурам, альтернативная архитектура развития не получила. Главной причиной ее провала является то, что она увеличивает разнородность, а это противоречит задаче интеграции, которая ставилась перед Semantic Web. В мае 2004 года консорциум W3C опубликовал предложение языка SWRL правил Semantic Web, но с того момента язык не развивается.
Научная общественность сфокусировалась на разработке новых расширений OWL, поддерживающих различные аспекты представления информации, включая поддержку неполноты и неточности, ограничений целостности баз данных, более выразительных конструкций логики. Казалось, что после публикации в 2007 году заметки Джеймса Хендлера The Dark Side of the Semantic Web (www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.17) исследователями было осознано, что сложившееся представление об онтологиях и Semantic Web в целом как о чем-то сложном и недоступном для понимания лишь отпугивает людей и мешает развитию концепции. Более того, оказалось, что на практике при наличии огромных объемов информации может быть достаточно и «доли семантики» – совсем простых словарей и правил. А поскольку полноценная поддержка логического вывода на основе OWL в этих условиях труднодостижима, стало уделяться внимание определению подмножеств OWL, которые были бы наиболее полезны и эффективны в реализации. Например, корпорация Oracle для поддержки семантических технологий предложила собственные упрощенные диалекты OWL. Тем не менее в декабре 2008 года рабочая группа W3C выпустила рабочий проект нового расширения – OWL 2 (www.w3.org/TR/owl2-syntax).
В разнообразии и противоречивости предложений форматов отражается тот факт, что этой задачей в основном занимаются специалисты из сферы искусственного интеллекта и Web-технологий, которые часто движутся в противоположных направлениях, поэтому для успеха Semantic Web важно, чтобы оба «лагеря» пришли к некоторому соглашению, как это было предложено в заметке Хендлера.
Пока ведутся «битвы» за выразительность, консорциумом W3C был разработан ряд языков, важных для интеграции в текущую Web-среду. Язык запросов SparQL (www.w3.org/TR/rdf-sparql-query) служит точкой доступа из Web-приложений к RDF-данным. Разрабатывается механизм для извлечения RDF-данных из XML- и XHTML-документов, получивший название GRDDL (Gleaning Resource Descriptions from Dialects of Languages, www.w3.org/TR/grddl), а RDFa (www.w3.org/TR/rdfa-syntax) предлагается как средство встраивания RDF-триплетов в XHTML-документы.
Трудный возраст
С момента появления идеи Semantic Web уже прошло 10 лет, но до сих пор не удалось прийти к окончательному решению даже по поводу стандартов языков. Как и любая технология с долгим периодом развития, Semantic Web столкнулся с проблемой «курицы и яйца»: разработка семантических приложений не привлекательна, поскольку на них нет спроса (отсутствуют RDF-данные и онтологии), а последние не создаются, так как нет приложений, которые смогут их обрабатывать. Поэтому долгое время задачи создания RDF-данных и Web-онтологий, разработки семантических приложений решались в научных кругах, в которых нашли применение три способа наполнения Semantic Web.
Первый способ заключается в аннотировании Web-контента вручную, однако сил приверженцев концепции для этого будет явно недостаточно, и главный вопрос состоит в том, как заинтересовать этой задачей обычных пользователей. Действительно, люди не будут тратить свое время на разметку Web-контента RDF-тройками, даже если им попытаться объяснить, какие выгоды это принесет в будущем. Тем не менее успех фолксономий Web 2.0 и Wikipedia показывает, что пользователей можно заинтересовать – им нравится ощущать сопричастность к масштабному мероприятию и видеть непосредственную пользу от своих действий. С учетом этих психологических моментов для вовлечения пользователей в аннотирование был разработан проект целевых игр OntoGame (www.ontogame.org).
Участие человека особенно важно на начальном этапе наполнения Semantic Web данными, когда существующих RDF-данных недостаточно для обучения алгоритмов автоматического извлечения. Но в дальнейшем может применяться второй способ: использование экспортеров из существующих сервисов и хранилищ данных. Задача семантического аннотирования Web-контента сложна и связана с распознаванием образов, обработкой естественного языка, но для источников информации, обладающих некоторой структурой, могут применяться более эффективные методы. К числу таких источников относятся семантические сети и сервисы разделения контента, из которых могут извлекаться профайлы пользователей и связываться с их FOAF-профайла-ми – описаниями в терминах словаря FOAF (www.foaf-project.org). RDF-тройки и описания можно создавать на основе технологий Web 2.0 – микроформатов и фолксономий. Представление в Semantic Web статей Wikipedia упрощается при использовании информационных блоков (infobox) – менее формального аналога RDF-описаний.
Третий способ предполагает, что появляющиеся семантические приложения будут использовать RDF для представления собственных данных. Формы графического интерфейса могут определяться описаниями в онтологиях, где каждому свойству соответствует отдельное поле. Для решения собственной задачи пользователю потребуется заполнить такую форму, и при этом сразу будут созданы RDF-тройки. Подобный подход используется в Freebase (www.freebase.com) – англоязычной энциклопедии, аналоге Wikipedia, акцент в которой сделан не на статьи, а на описание фактов. Freebase использует жесткую политику изменения схемы: выделяются несколько групп пользователей по приоритетам, и только самые приоритетные могут изменять или добавлять новые онтологии. Такое решение оправдано существенным влиянием онтологий на формирование статей. Другим примером может быть хранение информации, введенной пользователем при регистрации на некотором сайте, в виде RDF-триплетов, используя FOAF.
Независимо от выбранного способа создания RDF-данных, описание ресурсов должно выполняться в соответствии с некоторой онтологией, поэтому задача создания онтологий также важна, но неясно, кто и как этим будет заниматься. Есть набор широко известных словарей и онтологий, таких как dc, FOAF, и новые онтологии должны по возможности использовать их, а не переопределять термины. Поскольку Semantic Web не предполагает централизованного управления, то автором онтологий может быть любой. Однако недостаточно просто создать собственную онтологию – необходимо, чтобы она стала известна и популярна у других пользователей. Появления популярных словарей с большой вероятностью можно ожидать в обширных сообществах, в крупных компаниях или их объединениях, на основе существующих стандартов коммерческой или другой деятельности, государственного решения. Последствием такого развития является возникновение многих локальных семантических паутин, использующих различные, возможно несовместимые онтологии. Объединение локальных паутин в глобальный Semantic Web может произойти в результате процесса, напоминающего естественный отбор, при котором от словарей отказываются при наличии других, описывающих те же понятия, но использование которых сулит больше возможностей или выгоду.
Созданный в феврале 2007 года проект Linking Open Data (LOD, esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData) может ускорить процесс «отбора» онтологий и наполнения Semantic Web данными. Задачей проекта является определение доступных по открытым лицензиям наборов данных, представление их в RDF и связывание между собой. На рисуноке отражены опубликованные и связанные проектом наборы данных по состоянию на март 2009 года, содержащие более 4,5 млрд RDF-троек.
Будущее уже здесь
Сколько бы ни тратилось усилий на создание словарей, онтологий и RDF-данных, все они бесполезны, пока нет приложений, способных с ними работать. По оценке Project10X (www.project10x.com/about.php), рынок семантических технологий к 2010 году будет составлять 50 млрд долл, поэтому уже сейчас в сферу семантических технологий вовлечено около 300 компаний, включая Adobe Systems, AT&T Research, Cisco Systems, Google, HP, IBM, Microsoft, Oracle, Sony и Yahoo!.
Поиск. Одна из причин возросшего интереса к Semantic Web – надежда на улучшение поиска в Сети. Достаточно претенциозное имя у поискового движка Semantic Web – Swoogle, однако надеющийся увидеть в его лице «убийцу Google» будет разочарован: движок позволяет лишь выполнять поиск онтологий по ключевым словам. Такой сервис полезен разработчикам семантических приложений и онтологий, но он не рассчитан на простого пользователя. Другим поисковиком, ориентированным на предоставление данных разработчикам и помогающим им добавлять новые возможности для сервисов, снабжать контент связанной информацией, является созданный в DERI (Digital Enterprise Research Institute – институт исследований Семантического Web) движок Sindice. Источниками информации в нем служат наборы RDF-данных, включая связанные проектом LOD, и микроформаты. Движок Falcons позволяет выполнять поиск RDF-документов или ресурсов по ключевым словам. Можно отметить и другие поисковые движки Semantic Web, многие из которых находятся на стадии бета-тестирования и оценить возможности которых пока трудно: Watson (watson.kmi.open.ac.uk) и Semantic Web Search (www.semanticwebsearch.com), SWSE (swse.deri.org) и сервис запросов Zitgist (zitgist.com). В этой же категории находятся браузеры, реализующие концепцию «Web данных»: Tabulator (www.w3.org/2005/ajar/tab), Disco (www4.wiwiss.fu-berlin.de/rdf_browser), OpenLink RDF Browser (demo.openlinksw.com/rdfbrowser). К интересным проектам в области поиска относится и «Поисковая обезьяна» (SearchMonkey, developer.yahoo.com/searchmonkey) компании Yahoo!, использующая семантическое аннотирование (микроформаты, RDFa) не для улучшения качества поиска, а для более полного и наглядного отображения пользователю полученных результатов.
На фоне этих движков выделяется Powerset (www.powerset.com), использующий семантические технологии для улучшения возможностей поиска, – его разработчики убеждены, что привычные поисковики приучили людей мыслить в терминах ключевых слов, однако точный и удобный поиск возможен только с помощью запросов в форме полных предложений. Они использовали технологии обработки естественного языка в совокупности с технологиями Web 3.0 для реализации такой возможности. Корпорация Microsoft в августе 2008 года купила компанию Powerset, надеясь улучшить точность поиска своих сервисов. На данный момент Powerset выполняет поиск по статьям Wikipedia.
Социальные сети. Один из недостатков таких сервисов – отсутствие связи между различными социальными сетями и адресными книгами, что вынуждает при регистрации повторно вводить персональную информацию, заново искать уже зарегистрированных «друзей» и т.п. Технологии Semantic Web начинают использоваться для преодоления этих недостатков [2]. В процессе инициализации достаточно выдавать пользователю некий уникальный идентификатор, который он мог бы использовать и для регистрации в других сервисах, например, для доступа к многочисленным сервисам Yahoo! (включая Flickr, Upcoming, Yahoo! 360° и др.) можно использовать один Yahoo!ID.
Разработчики Google предложили основанный на FOAF-профайлах Social Graph интерфейс (code.google.com/apis/socialgraph), который может применяться обычным пользователем, чтобы узнать, с кем он связан в различных сервисах социальных сетей, а также разработчиками таких сайтов для предоставления пользователям новых услуг.
Социальные сети могут предлагать более объектно-ориентированные сервисы, что позволит пользователю находить новых «друзей», разделяющих его интересы, быстрее и проще искать интересный контент. Кроме того, создание таких сообществ по интересам сделает рекламу более эффективной, поскольку ей будет проще найти свою целевую группу. В этом отношении можно отметить сервис Web-телевидения Joost, использующий семантические технологии. Приложение можно подсоединить к социальной сети Facebook (www.facebook.com) для взаимодействия с «друзьями» на сайте Joost или для обмена историями на Facebook. Задачи доступа с помощью идентификаторов и объектно-центрированного взаимодействия упрощаются, когда информация о контенте и профайлы пользователей хранятся в форматах Semantic Web. Например, средство коллекционирования контента Twine использует RDF и OWL для предоставления более персонифицированных услуг. Популярный сервис для демонстрации фотографий Flickr предоставляет интерфейс создания экспортеров в RDF.
Трудность, с которой может столкнуться внедрение семантических технологий в сервисы социальных сетей, заключается в нежелании популярных сервисов терять своих пользователей, которых часто удерживает лишь опасение потерять установленные контакты.
Плагины Firefox. Большинство плагинов, работающих с семантическими технологиями (Operator, RDF Viewer, SemanticRadar, Tabulator), ориентировано на идентификацию и просмотр семантической разметки на Web-страницах, однако один из них – Glue (www.getglue.com) компании AdaptiveBlue заслуживает особого внимания. По мнению разработчиков, нужно заниматься не абстрактными проблемами машинного обучения для решения сложных задач и разметки всех Web-документов, а использовать новые технологии для предоставления более интеллектуального и персонифицированного поиска, для которого требуется аннотировать часто используемые вещи. Данный плагин для Firefox позволяет пользователю при входе на популярные сайты по продаже книг, музыки, кино и т.п. автоматически узнать, что думают его друзья или последние посетители о просматриваемом товаре.
Средства разработки. Сегодня появились средства создания семантических приложений, упрощающие процесс разработки и решающие различные задачи, от предоставления графического интерфейса для проектирования онтологий до выполнения запросов к RDF-данным и хранения их в реляционных базах данных. Одними из первых появился прикладной интерфейс Jena (jena.sourceforge.net) от HP и архитектура Sesame (www.openrdf.org). Для редактирования онтологий могут использоваться бесплатный продукт Prot?g? (protege.stanford.edu), созданный в Стэнфордском центре исследований биомедицинской информатики (Stanford Center for Biomedical Informatics Research), или его коммерческий аналог TopBraid Composer (www.topbraidcomposer.com) компании TopQuadrant. Кроме редактирования оба средства позволяют присоединять через DIG-интерфейс различные OWL-блоки разбора, такие как Pellet (clarkparsia.com/pellet), Racer (www.racer-systems.com) и FaCT++ (owl.man.ac.uk/factplusplus). В IBM создан интегрированный набор средств разработки онтологий IODT (Integrated Ontology Development Toolkit).
Отметим два коммерческих продукта компании Intelldimension, которая в тесном сотрудничестве с Microsoft разработала набор средств Semantics.SDK, расширяющий .NET Framework возможностями создания семантических приложений с помощью объектов, предназначенных для обработки, выполнения логического вывода и запросов относительно данных в форме графов. Флагманским продуктом компании считается система управления данными для семантических приложений RDF Gateway, надстраиваемая над Microsoft SQL Server. Система упрощает использование семантики в приложениях, предоставляя возможности хранения, выполнения запросов и логического вывода и управления большими объемами RDF-данных.
В большинстве систем для создания семантических приложений предлагается использовать СУБД для постоянного хранения больших объемов RDF-данных. В редких случаях используются особенности конкретных СУБД для улучшения производительности и масштабируемости, например, в RDF Gateway для этих целей создано расширение SQL Server, названное Semantics.Server. В Oracle хранение, выполнение запросов к RDF-данным и ограниченные возможности логического вывода встроены в саму СУБД начиная со второго релиза Oracle 10g.
Компания Thomas Reuters выпустила открытый для некоммерческого использования Web-сервис Calais (www.opencalais.com), который создает семантические метаданные для отправляемого пользователем контента (текстовых документов, HTML и XML). Для анализа документов Calais использует методы обработки естественных языков и машинного обучения и выделяет в них именованные сущности, факты и события.
Список приложений Semantic Web не ограничивается упомянутыми, однако среди них нельзя выделить систему, которую можно было бы назвать флагманом Web 3.0. А значит, у любой компании, занимающейся семантическими технологиями, сейчас есть возможность стать лидером на этом рынке.
Завтра никогда не наступит
Все эти успехи действительно воодушевляют, однако задача, которая ставилась в оригинальной статье [1], заключалась в построении инфраструктуры, необходимой для деятельности интеллектуальных агентов. Джеймс Хендлер в 2001 году считал, что уже через несколько лет использование агентов и онтологий будет обыденным явлением [3]. Но прошло время, и он же был вынужден признать в заметке Where Are All the Intelligent Agents? (www2.computer.org/portal/web/csdl/doi/10.1109/MIS.2007.62), что, несмотря на то что, казалось бы, вся инфраструктура готова, ни одной промышленно значимой разработки систем интеллектуальных агентов не появилось.
Трудно представить себе ситуацию, когда у всех перед глазами очевидные возможности получить огромную выгоду, но никто ими не пользуется. Потому и возникают подозрения [4], что развитие Semantic Web отклонилось от первоначальных ориентиров. Исследователи, разработчики из различных областей по-своему используют семантические технологии для расширения собственных систем (СУБД, Web-сервисы). Получая прибыль от своих работ, они усложняют задачу интеграции разнородных данных и сервисов – продолжение движения в этом направлении может означать полный крах оригинальной идеи. Но с этого пути можно свернуть, предприняв усилия по преодолению разнородности – принять общие соглашения о языках и онтологиях, использовать RDF как модели данных в приложениях (native RDF-СУБД), разрабатывать новые языки программирования специально для работы с RDF, чтобы избежать использования привычных типов данных. Вероятность распространения таких изменений предсказать трудно, но можно отметить, что такие работы ведутся: для написания кода Haystack (groups.csail.mit.edu/haystack/index.html) был создан язык Adenine, использующий концепции Python и Лисп и предназначенный для обработки RDF-данных.
На исследования в области Semantic Web выделяются большие средства, и, хотя в своем развитии концепция сталкивается с различными проблемами, начали появляться не просто академические игрушки, а реальные системы, нацеленные на конкретные потребности обычных пользователей. Следствием этого становится рост объемов RDF-данных, числа онтологий. И все же находятся скептики, которые до сих пор сомневаются в приходе светлого будущего – языки онтологий по-прежнему остаются предметом спора исследователей, а задача создания интеллектуальных агентов, изначально поставленная перед Semantic Web, не приблизилась к решению. Поэтому, когда Web 3.0 придет на смену Web 2.0, возможно, это будет совсем не тот Semantic Web, каким его задумывали.
Литература
-
T. Berners-Lee, J. Hendler, O. Lassila. The Semantic Web. // Scientific American. Vol. 284, No. 5, 2001. P. 35-43.
-
J. G. Breslin, S. Decker. The Future of Social Networks on the Internet: The Need for Semantics. // IEEE Internet Computing. Vol. 11, No. 6, 2007. P. 86-90.
-
J. A. Hendler. Agents and the Semantic Web. // IEEE Intelligent Systems. Vol. 16, No. 2, 2001. P. 30-37.
-
C. Bussler. Is Semantic Web Technology Taking the Wrong Turn? // IEEE Internet Computing. Vol. 12, No. 1, 2008. P. 75-79.
Дмитрий Левшин (levshin@nicevt.ru) – сотрудник ОАО НИЦЭВТ (Москва).
Освоение Web 3.0
В 2006 году впервые возникло замешательство по поводу отношений между Semantic Web, Всемирной Паутиной и Web 2.0. Некоторые отвергали термин «Web 3.0» как чрезмерно ориентированный на бизнес, другие подозревали, что Web 3.0 – лишь расширение Semantic Web, третьи чувствовали, что, как ни назови, а Semantic Web достиг определенной зрелости.
http://www.osp.ru/os/2007/05/4264970
На пути к технологиям работы с информацией
Для того чтобы компьютерные технологии можно было с полным правом называть информационными, они должны научиться неформально работать с информацией.