Ученые испокон веков делали пометки от руки в книгах и рукописях, а сегодня пользователи блогов и сайтов могут выражать мнения о контенте путем размещения комментариев и аннотаций, средства поддержки которых до недавнего времени предоставлялись только на узкоспециальных сервисах и рассматривались как полезные, но все же элементы World Wide Web второго класса. Сегодня веб-аннотации становятся самостоятельным видом связанных данных и помимо текстовых комментариев могут принимать различные формы — например, аннотацией в виде закладки можно снабдить фрагмент кадра в видеопотоке. Появились технологии и стандарты создания, публикации, синдикации, коллажирования и отображения аннотаций практически для любого контента. Это произошло отчасти благодаря наличию потребности в средствах аннотирования веб-контента у аналитиков, издателей и владельцев образовательных баз данных.

Возможность снабжения контента аннотациями в той или иной форме — это базовый, определяющий элемент Web 2.0: Flickr дает возможность размечать тегами и классифицировать снимки, а также выделять участки изображения; Twitter и Facebook поддерживают хэштеги; SoundCloud позволяет отмечать понравившиеся фрагменты музыкальных треков; Youtube дает возможность публиковать ролики в качестве ответов на другие. В социальных сетях вроде Facebook и Google+ можно поделиться ссылкой на новость, которую затем комментируют друзья, а социальные медиасайты наподобие Reddit ранжируют новости по числу пользовательских голосов, позволяя снабжать их комментариями-дискуссиями.

Общее у всех этих сервисов — особенности поддерживаемых ими аннотаций. Объект аннотации идентифицируется по ссылке на веб-страницу, изображение или видео, а сами аннотации существуют внутри единой системы либо на сайте провайдера ресурса, либо на стороннем сайте закладок. Хотя многие из таких систем предлагают REST-интерфейсы для доступа извне, сами эти интерфейсы от сайта к сайту разнятся. До недавнего времени не было единой модели аннотаций, независимой от аннотируемого контента, поэтому, например, на страницу SoundCloud трудно было бы перенести комментарии, оставленные в Facebook или Reddit. Для обычных пользователей социальных СМИ это, возможно, не проблема, в отличие от аналитиков и исследователей, работающих в Сети.

Open Annotation Model

Согласно Open Annotaion Model (см. рис. А) аннотации объявляются с помощью предиката hasTarget, обозначающего аннотируемый объект, и hasBody — ресурса, имеющего отношение к объекту. Предусмотрены также свойства, указывающие источник аннотации и причину ее создания. Тело и объект могут быть любого типа, но OA рекомендует указывать абстрактный тип (например, изображение, звук или текст) согласно стандарту Dublin Core Metadata Initiative. Наличие типа упрощает отображение аннотации. Тело может иметь тип Tag, применяемый для простой разметки ключевыми словами, или SemanticTag, когда в качестве тега используется URI-ссылка на ресурс, предоставляющий дополнительные сведения по аннотируемому объекту. Обычные строки, например текстовый тег, можно внедрять напрямую согласно спецификации Content in RDF.

Объект или тело можно указать косвенно с помощью класса SpecificResource, в котором предусмотрен параметр hasSource — ссылка на ресурс. Есть также свойства Selector и State, позволяющие обозначить соответственно границы аннотируемого фрагмента (выделенный текст, область SVG-файла, фрагмент URI и т. д.) и его состояние — характеристику (например, формат или отметку времени), позволяющую выбрать верный вариант репрезентации. Таким образом, можно, к примеру, снабдить аннотацией круглый участок JPEG-изображения. Аннотации можно присвоить стиль CSS с помощью свойства styledBy. Пользуясь им в сочетании с селектором, можно, допустим, выделить цветом часть текста или воспроизвести некоторый фрагмент видео на замедленной скорости. Модель OA, в том числе селекторы, состояния и стили, можно расширять в соответствии с требованиями конкретного приложения.

Первоклассные объекты Всемирной паутины
Рис. А. Аннотация может быть не только текстовой: изображение, полученное с телескопа Hubble Deep Field, аннотировано с использованием OA. Объект аннотации — снимок группы галактик, а ее тело — видеоролик с пояснением к изображению

 

Семантика, а не только комментарии

В июле 2013 года компания Google объявила о доступности 800 млн документов, аннотированных с использованием 11 млрд понятий из базы Freebase, то есть размеченных семантическими тегами [1]. Тексту каждого документа сопоставлена статичная URI-ссылка в стандартном формате, указывающая на информацию о понятиях, сущностях, людях, местах, процессах и т. п. При этом по ссылке в базе может находиться информация из внешних ресурсов, например из «Википедии». Пояснять термины можно не только пользуясь Freebase, но и включая сведения из DBPedia или других источников. Кроме того, можно пользоваться онтологиями: формальными словарями с классами, свойствами и связями.

Применяя формальные словари, описанные на языке Web Ontology Language (OWL), можно создавать более подробные и удобные для машинной обработки структуры, чем традиционные словари или энциклопедии. Формальные онтологии соотносят элементы из одного домена с элементами из другого и обеспечивают возможность автоматизированной обработки таких структур с формулировкой логических выводов. Формальные онтологии также могут дополнять, идентифицировать или размечать тегами вхождения словаря или энциклопедии. Например, если известно, что слову BACE1, упомянутому в тексте биомедицинской тематики, соответствует ссылка на описание гена бета-секретазы из некоторой онтологии, то, пользуясь ею и связанными ресурсами, можно выяснить, какой белок экспрессируется данным геном, его последовательность аминокислот и варианты, а кроме того, узнать, что его связывают с болезнью Альцгеймера. Можно также найти экспериментальные данные, аннотированные с помощью данного термина либо связанного с ним. Помимо этого, можно составить «коллаж» на основе связанной информации из нескольких баз данных и наложить его поверх текста, в котором упоминается ген. Учитывая, что объемы научных публикаций растут экспоненциально, подобные справочные системы, помогающие в понимании написанного, становятся все более необходимы.

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

Однако применение тегов связано с рядом вопросов. Как отображать теги и другие виды аннотаций? Внедрять их непосредственно в текст или хранить отдельно? Как делиться ими между различными системами? Допустим, хранимая на локальном сервере PDF-копия некоторого текста была аннотирована комментариями, семантическими тегами и видеороликами и ими нужно поделиться с издателем оригинальной HTML-версии текста. Как это сделать? Как заставить копию обновляться вместе с оригиналом, подобно другим связанным данным в WWW? Можно ли управлять доступом, предоставив его автору или определенной пользовательской группе? Все эти возможности сегодня становятся доступными веб-разработчикам благодаря инструментам и моделям аннотаций на основе связанных данных.

Эволюция аннотаций

Больше десяти лет тому назад были предприняты первые попытки снабдить Всемирную паутину аннотациями в рамках проектов Distributed Link Service [2] и Conceptual Open Hypermedia [3], для того чтобы помочь взаимодействию людей с помощью основанных на метаданных переносимых аннотаций и закладок. Примерно в то же время был начат Annotea — один из ранних проектов W3C, в рамках которого разрабатывалась система переносимых аннотаций и метаданных, ассоциируемых со страницей в целом или с ее частью. Чтобы избежать модификации исходного текста документов, внедряемые в них в аннотации размещались на специальном сервере, подконтрольном W3C. В состав Annotea входили схема RDF и REST-API для извлечения и публикации аннотаций. Аннотации хранились отдельно от документов и состояли из тела (например, комментария или ответа); набора свойств, относящихся к источнику аннотации (автор, дата создания и модификации); контекста (механизма указания на конкретный фрагмент документа). Для аннотации были определены несколько подклассов: вопрос, комментарий и пример. Широкому распространению Annotea помешал ряд препятствий, и главным было отсутствие широкого сообщества пользователей (нетехнических специальностей), которым были бы нужны функции Annotea. Но спецификация проложила путь, по которому пошло развитие последующих систем аналогичного назначения.

Open Annotation Model

В 2009 году были начаты два параллельных проекта, опирающихся на RDF и отчасти созданных по образцу Annotea: Open Annotation Collaboration (OAC) и Annotation Ontology (AO). Обе модели переняли базовую структуру Annotea: аннотация с указанием объекта (аннотируемого ресурса) и тела — внешней информации о целевом объекте. Проекты различались функциональностью согласно потребностям своих пользовательских сообществ.

Спецификация OAC разрабатывалась для гуманитарных наук, а AO была рассчитана на биомедицину, позволяя аннотировать и семантически связывать вхождения баз данных, документов и понятий, перечисленных в онтологиях. Обе достаточно похожи, чтобы их можно было свести в один проект, что и произошло — под эгидой группы W3C Open Annotation Community Group была создана спецификация Open Annotation Model. Сохранив ряд особенностей предыдущих моделей, она стала более гибкой и функционально богатой, чтобы удовлетворять потребности широкого сообщества пользователей: спецификация развивается при участии более 50 организаций и многочисленных индивидуальных разработчиков, а группа OA — пятая сегодня по численности в W3C.

Спецификация OA позволяет объединять аннотации в облако открытых связанных данных — Linked Open Data Cloud. Для этого в качестве тела аннотации используется семантический тег, загружаемый ресурс RDF или внедренный именованный граф. Последний подход получил развитие в рамках проекта Wf4Ever Research Objects: аннотация-граф может служить высокоуровневым словарно-независимым механизмом выражения связей между ресурсами, относящимися к объекту какого-либо исследования.

Инструменты аннотирования

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

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

Первоклассные объекты Всемирной паутины
Рис. 1. Создание цифровой аннотации — резюме для исследовательского доклада — с помощью Domeo

 

Utopia Doсuments — средство просмотра PDF-документов, позволяющее создавать наглядные представления приведенных в нем данных и искать ссылки на внешние ресурсы. Данная функция реализована на базе механизма автоматизированного анализа аннотаций, которыми до этого вручную были снабжены элементы статьи, например цифры и таблицы. При этом Utopia Documents сверяется с многочисленными источниками связанных данных, в том числе с DBPedia и Open PHACTS. Инструмент взяли на вооружение, в частности, в Biochemical Journal — редакция пользуется Utopia для создания аннотаций в опубликованных статьях.

Maphub — онлайн-приложение для исследования и аннотирования оцифрованных исторических карт (рис. 2). Maphub позволяет сопровождать аннотации вхождениями «Википедии», посвященными местам и зданиям, и формирует семантические теги — ссылки на соответствующие вхождения DBPedia.

Первоклассные объекты Всемирной паутины
Рис. 2. Карта 1507 года с изображением Гибралтарского пролива, аннотированная при помощи сервиса Maphub. Присутствуют семантические теги — ссылки на вхождение в DBPedia

 

***

До появления Open Annotation Model не существовало активно развиваемой пользовательским сообществом всеобъемлющей модели аннотаций на основе связанных данных. Благодаря активному освоению OA аннотации становятся сегодня полноценными объектами в Web наравне с традиционным контентом.

Литература

  1. D. Orr et al., 11 Billion Clues in 800 Million Documents: A Web Research Corpus Annotated with Freebase Concepts , Research Blog: The Latest News from Research at Google. 17 July 2013. URL: http://googleresearch.blogspot.com/2013/07/11-billion-clues-in-800-million.html (дата обращения: 05.01.2014).
  2. L. Carr et al., The Distributed Link Service: A Tool for Publishers, Authors, and Readers. Proc. 4th Int’l World Wide Web Conf., W3C, 1995, P. 647–656.  
  3. L. Carr et al., Conceptual Linking: Ontology-Based Open Hypermedia. Proc. 10th Int’l Conf. World Wide Web, ACM, 2001, P. 334–342.  

Паоло Чиккарезе (ciccarese@gmail.com) — преподаватель Гарвардской медицинской школы, Стиэн Сойленд-Рейес (soiland-reyes@cs.manchester.ac.uk) — научный сотрудник Школы компьютерных наук Манчестерского университета, Тим Кларк (tim_clark@harvard.edu) — ИТ-директор Института нейродегенеративных болезней Массачусетской больницы, один из основателей W3C Open Annotation Community Group.

Paolo Ciccarese, Stian Soiland-Reyes, Tim Clark, Web Annotation as a First-Class Object, IEEE Internet Computing, November/December 2013, IEEE Computer Society. All rights reserved. Reprinted with permission.