Вычислительные технологии
Том 13, Специальный выпуск 1, 2008
Разработка микроформата hlcon для семантической разметки информации о пиктограммах*
М.Н. Гранин, И, В, Бычков Институт динамики систем, и теории управления СО РАН, Иркутск, Россия
e-mail: [email protected]
The paper is aimed to solve a problem of icons annotation on web-pages. Microformat hlcon based on minimal data scheme is created, which allows to markup information about icons into documents, represented as (X)HTML, Atom, RSS, and XML. Based on hlcon microformat, the structure of service for icons recommendation as well as plugin for Operator extension of Firefox browser are developed to operate with this microformat.
Введение
До 2005 г. большинство разработок в области Семантической паутины (СП) основывалось на ее стандартах, разрабатываемых консорциумом W3C (World Wide Web Consortium), включающих в том числе такие стандарты, как RDF и OWL. Однако в последние годы возникло альтернативное решение — создание микроформатов. Оно основывается на отказе от некоторых базовых принципов технологий СП, например от необходимости строить онтологии как логические теории. Микроформаты строятся в расчете на использование практичных программных технологий и в первую очередь на алгоритмическое решение задач. Микроформаты (pF или uF) — это расширение языков разметки HTML (XHTML), а также XML, которое позволяет задавать семантику различных данных, содержащихся в веб-страницах [1]. Большинство микроформатов разработано Сообществом Microformats (http://microformats.org). Подход СП призван поддержать теоретическим базисом задачи с неочевидным решением. Он имеет единую модель данных, не зависящую от конкретной решаемой задачи. Модель данных СП базируется на схеме субъект — предикат — объект (объект — атрибут — значение), однако формальным представлением эта модель не ограничивается. Например, языками для формального представления выступают XML, JSON, (X)HTML в паре с GEDDL [2] и т.д. В отличие от СП в технологии микроформатов модель данных не ограничена, но для представления используется только одно формальное представление — язык разметки (X)HTML или XML, Основная идея технологий микроформатов базируется на внедрении данных и метаданных непосредственно в (X)HTML-документ [3]. Таким образом, Семантическая паутина — это подход "сверху вниз" к автоматизации обработки метаданных, в то время как использование микроформатов — это подход "снизу вверх",
* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (гранты № 05-07-97201-р_байкал_в и № 05-07-97204-р_байкал_в).
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.
Далее будем использовать термин "документ" — для указания (X)HTML- или XML-документов, Микроформаты повлияли на процесс развития технологий СП, Решение ряда практических задач показало достаточную эффективность разработки сервисов публикации данных в сети Интернет при использовании технологий микрофо-матов. Сообщество Microformats приводит несколько сотен примеров сайтов, использующих микроформаты, и около сотни внедрений, публикующих или обрабатывающих микроформаты [4]. Синтез технологий микроформатов и СП является предметом исследований в области информационных технологий в настоящее время. Предложено рассматривать микроформаты в качестве инструмента создания неделимых "атомов" СП, т, е, самых мельчайших неделимых частиц семантически размеченных данных. Консорциумом W3C одобрена технология Gleaning Resource Descriptions from Dialects of Languages (GEDDL) [2], предназначенная для извлечения данных EDF из документов XML и XHTML, которая обеспечивает переход между микроформатами и технологиями СП, Кроме того, такие технологии СП, как RDFa и eRDF, позволяют микроформатам семантически подобно описывать метаданные документа. Эти технологии применяются для расширения возможностей микроформатов [5]. Разрабатываются процедуры отображения микроформатов в формализм RDFa [6].
Применение микроформатов для публикации семантически размеченной информации имеет следующие преимущества перед подходом технологий СП:
— определение стандартов микроформатов — сравнительно простой процесс, не требующий глубоких знаний, достаточно знания языка разметки (X)HTML;
— существуют методики создания микроформатов для различных классов задач;
— сообщество разработки и стандартизации микроформатов Microformats является открытым, что, в частности, позволяет вновь создаваемым микроформатам использовать спецификации существующих микроформатов и других открытых стандартов;
— микроформаты удобны в использовании при публикации веб-документов, так как размеченные ими данные являются как машинно-ориентированными, так и достаточно легко воспринимаются человеком.
Задачей данного исследования является разработка микроформата формального описания семантического содержания компьютерных пиктограмм [7, 8], используемых в интерфейсе веб-приложений, а также публикуемых через специализированные Интернет-ресурсы, При помощи данного микроформата представляется возможной алгоритмическая обработка данных, направленная на решение следующих задач:
— описание информации о пиктограммах, например, такой как название, автор, коллекция, ссылка на страницу приобретения и т.п.;
— выделение подобной семантической информации об опубликованной пиктограмме или коллекции пиктограмм;
— поиск пиктограмм в специализированных поисковых системах, производящих автоматическую индексацию пиктограмм, например, IconLet (www.iconlet.com) или IconFinder (www.iconfinder.net) по некоторому признаку, например, искать пиктограммы с одинаковым именем, обозначающие заданное действие или выполненные одним и тем же дизайнером;
— рекомендация пиктограмм с других сайтов, схожих по некоторым параметрам, например, таким как визуальный стиль,
С перечисленными задачами в процессе создания программного обеспечения сталкиваются разработчики и дизайнеры пользовательских интерфейсов, а также специалисты по эргономике. Рассмотрим, как микроформаты позволяют решить эти задачи:
— пиктограмма, размеченная микроформатом в веб-интерфейсе, может быть визуально выделена среди других изображений браузером;
— метаинформация о пиктограмме, размеченная микроформатом, может автоматически извлекаться для индексации роботами поисковых систем;
— на основе размеченной микроформатом информации о пиктограммах на странице сервис рекомендации пиктограмм с помощью специального расширения браузера может предлагать ссылки на пиктограммы, выполненные в подобном стиле.
Сообщество Microformats ведет работу по сбору примеров разметки мультимедиа [4], однако задача построения микроформата для пиктограмм до сих пор не ставилась, В настоящей работе нами представлена разработка отдельного специализированного микроформата для пиктограмм. Этот микроформат, опубликованный под предварительным названием hlcon [9], является открытым, он предназначен для внедрения информации о пиктограммах в документах (X)HTML, Atom, ESS и XML,
1. Спецификация микроформата hlcon
Разработка микроформата hlcon ведется в соответствии с рекомендациями создания микроформатов, описанными сообществом Microformats, т, е, он строится на основе существующих стандартов. Было решено создать hlcon на основе "Спецификации именования пиктограмм", содержащей стандартизированный список имен более чем 200 пиктограмм [10],
Спецификация именования пиктограмм состоит из описания принципов именования, а также списка имен пиктограмм, классифицированных следующим образом. Действия, использующиеся в меню и диалоговых окнах для взаимодействия с пользователем.
Анимация, используемая для представления загрузки веб-сайтов или выполнения других фоновых процессов.
Приложения, определяющие основную выполняемую функцию программы, используемую в меню программ, оформлении окон, списке задач.
Категории, определяющие классы действий в меню программы, настроек и т, д. Устройства, определяющие оборудование, подключенное к компьютеру или находящееся в нем.
Эмблемы, определяющие метки и свойства файлов, такие как "только для чтения" или "ссылка".
Эмоции, передаваемые схематическим изображением человеческого лица в электронных текстах.
Страны, например, флаги.
MIME-дескрипторы, определяющие различные типы данных, таких как аудиофайлы или файлы изображений.
Расположение объектов файловой системы либо удаленные соединения. Статус выполнения процессов для пользователя.
Микроформат задается набором правил разметки различных видов данных. Каждый из этих видов данных называют полем. Для выделения полей микроформата используют частотный анализ применения однотипных структур в веб-документах, публикующих однотипную информацию, для разметки которой планируется применять микроформат. Этот подход однозначно определяет набор необходимых полей. Публикуемая информация о пиктограммах, как правило, включает определенный набор об-
щих свойств публикуемых на сайте пиктограмм, и hlcon базируется на их минимальном подмножестве. Свойства, специфичные лишь для определенного типа пиктограмм, не были включены в hlcon.
Микроформат hlcon состоит из следующих свойств,
hlcon — используется для того, чтобы идентифицировать и описывать метаданные, связанные с пиктограммой или набором пиктограмм,
fix (отформатированное имя) — название отдельной пиктограммы. Это короткое текстовое описание используется для того, чтобы идентифицировать работу среди заинтересованных сторон.
Album (набор пиктограмм) — название набора пиктограмм, который представлен пиктограммами, созданными в едином визуальном стиле. Текст должен быть коротким описанием, он предназначен для идентификации работы среди заинтересованных сторон.
Item (элемент) — контейнер для другого элемента hlcon, который должен рассматриваться как часть родительского hlcon. Примером такого элемента может быть пиктограмма в наборе, пиктограмма в интерфейсе, пиктограмма в коллекции.
Contributor (автор) — лицо, которое участвовало в создании и публикации пиктограммы.
Published (дата публикации) — дата, когда пиктограмма стала доступной публике.
Sample (образец) — UEI, указывающий, где может быть запрошено изображение для предварительного просмотра пиктограмм.
Full Download (Enclosure) (загрузка полной версии) UEI, указывающий, где может быть запрошена полная версия пиктограммы или коллекции пиктограмм, ГШ должен указывать на прямую связь с процессом запроса файла (FTP, HTTP, Bit Torrent ГШ. и т, п.),
Purchase/Payment (покупка) — ГШ покупки указывает, где полная версия пиктограммы или коллекции пиктограмм может быть куплена, ГШ должен указывать начало процесса покупки.
Photo (изображение) — указывает изображение, используемое для просмотра пиктограммы в контексте данной страницы. Желательно, чтобы оно было высококачественным и имело размер пиктограммы в ее исходном разрешении.
Category (категория) — указывает, для чего пиктограмма используется; должна соответствовать "имени" из раздела "Стандартные имена пиктограмм" спецификации [10],
Price (цена) — сумма, которая должна быть затрачена для приобретения полного варианта пиктограммы или набора пиктограмм.
Description (описание) — развернутое описание пиктограммы или коллекции пиктограмм.
Как видно из приведенной ниже схемы, данный набор полей, следуя принципу повторного использования, основан на множестве ранее созданных микроформатов и образцов разработки. Везде, где возможно, повторно используются названия свойств ранее созданных микроформатов, в частности микроформатов hCard и h Audio [4]. Схема hlcon состоит из следующих полей: hlcon
fn и пли album — необходимый текст,
contributor — необязательный. Использует текст или hCard [1],
item — необязательный. Использует текст или несколько свойств из hlcon. category — необязательный. Текст.
published — необязательный. Использует datetime-design-pattern [1].
photo — необязательный. Использует элемент, coдepжaщийURL,нaпpимep<img.../>.
description — необязательный. Текст.
sample (reí) — необязательный. Файл с примером использует rel-design-pattern [4], в котором sample является mf-rel-valiie.
enclosure (reí) — необязательный. Ссылка для получения полной версии использует rel-enclosure [4].
payment (reí) — необязательный. Ссылка на процесс покупки использует rel-pay-ment [4].
price — необязательный. Использует текст или currency-proposal [4]. Опубликованная спецификация [9] содержит также разделы, посвященные обработке синтаксическими анализаторами, поддержке различных языков, указывает дополнительные семантические эквиваленты и другую информацию. В качестве формализованного представления спецификации микроформата используется профиль метаданных в XHTML (XMDP - XHTML Meta Data Profile). Описание полей hlcon в виде XMDP-профиля также включено в спецификацию.
2. Примеры использования микроформата hlcon
Простейший пример использования hlcon для пиктограммы, представленный на рис. 1, отображает статус пользователя в приложении обмена мгновенными сообщениями как недоступного.
Для наглядности в XHTML-коде все имена полей микроформата hlcon выделены подчеркиванием.
<img class="hicon fn photo" src="img/user-offline.gif" alt="Status Offline"/>
В данном случае размечены только изображение и форматированное имя. Более сложный пример публикации набора пиктограмм в Интернет-магазине может выглядеть так:
<div class="hicon">
<span class="album"Жлассические однобитовые пиктограммы</зрап> Автор :
<span class="contributor1^ <span class="vcard">
<span class="fn">HBaHOB Иван</зрап> </span> </span> <br/>
Рис. 1. Пример пиктограммы, отображающей статус пользователя
Создано:
<abbr class="published" title="2002-10-31">0KTH6pH 31, 2002</abbr><br/> <a rel="sample" href="basic-bitmap-preview. jpg">IIpeflBapHTenbHbiii просмотре/a>, <a re1="enclosure" href="onebit-basic-bitmap-sample.zip">3arpy3HTb пример</а>. Набор содержит следующие пиктограммы:
<а class="category" rel="tag" href="http://www.example.org/tags/list-add"> Добавить</а>,
<а class="category" rel="tag" href="http://www.example.org/tags/help-browser">
Помощь</а>
Пиктограммы:
<div class="item">
<img class="category photo" src="/icons/add.png" alt="list-add" /> <span class="fn">flo6aBHTb</span> </div>
<div class="item">
<img class="category photo" src="/icons/help.png" alt="help-browser" /> <span class="fп">Помощь</span> </div> </div>
3. Веб-сервис агрегирования и рекомендации пиктограмм
В качестве примера рассмотрим применение микроформатов для разработки веб-сервиса агрегирования и рекомендации пиктограмм. Пиктограммы требуются разработчику для обозначения действий и объектов в интерфейсе создаваемого приложения. Задача подбора требующихся пиктограмм нетривиальна. Требуется найти пиктограмму, для которой выполняется ряд условий: а) она должна очевидным для пользователя образом обозначать действие или объект; б) стиль пиктограммы должен соответствовать стилю остальных пиктограмм, и т.п. [11]. Часто вне текущего контекста разработчик не может найти все требуемые ему пиктограммы и вынужден искать их в других источниках. Метаданные могут содержать ссылки на сайты авторов, где коллекции пиктограмм можно получить или приобрести. Ассоциация дополнительных метаданных с пиктограммами позволяет при помощи веб-браузера выделять пиктограммы, использованные на веб-странице, а также подбирать пиктограммы из различных источников и выдавать рекомендации по выбору в соответствии с такими указанными требованиями, как визуальный стиль и размер, формат файла и т. п. Для реализации такой функции необходимо разработать:
1) способ представления пиктограмм на веб-странице, позволяющий веб-браузеру распознать пиктограмму и ассоциировать ее с источником, автором и т.п.;
2) метод создания общепринятого стандарта для представления пиктограмм в сети;
3) способ интеграции в веб-браузер;
4) сервис рекомендации пиктограмм.
Кратко опишем предлагаемую схему работы сервиса рекомендации пиктограмм (рис. 2). Пользователь посылает (посредством POST) XML-документ, содержащий описание пиктограммы или коллекции пиктограмм, на сервис рекомендации.
Интернет
Браузер с расширением обработки hlcon
Пользователь
Рис. 2. Схема работы сервиса агрегации и рекомендации пиктограмм
Результатом будет другой XML-документ, содержащий элементы hlcon, визуальный стиль которых похож па тот, что был отправлен па URL сервиса рекомендации.
При этом происходит следующее. Браузер пользователя определяет пиктограмму или коллекцию пиктограмм, размеченную микроформатом па странице, и сообщает об этом. Пользователь дает браузеру команду о том, что он хотел бы увидеть пиктограммы и коллекции, совпадающие по визуальному стилю с отображенными па странице пиктограммами. Микроформат hlcon считывается со страницы и отправляется па веб-сервис рекомендации пиктограмм. Веб-сервис рекомендации пиктограмм обрабатывает запрос и, используя микроформат hlcon, возвращает набор элементов, которые подобны по стилю тем, что были отправлены браузером. Браузер обрабатывает ответ сервиса рекомендаций и отображает ого пользователю в виде единой страницы со ссылками па сайт и источники.
Сервисом рекомендации пиктограмм можно пользоваться, передавая па пего через веб-форму адрес страницы с опубликованной па пей с помощью микроформата коллекцией пиктограмм. Возможно построение собственного расширения для браузера, специализированного па работе с сервисом подбора пиктограмм, которое позволит осуществлять браузеру непосредственный обмен данными с сервисом рекомендации пиктограмм и ресурсами, публикующими информацию о пиктограммах.
4. Поддержка микроформата hlcon в браузере Firefox
Возможны различные варианты реализации поддержки микроформатов. Такие сервисы, как Optimus (http://microformatique.com/optimus), позволяют обрабатывать микроформаты по запросу Иптерпет-приложепий, однако наиболее распространенным подходом является интеграция в браузер. Обработку микроформатов можно реализовать для широкого круга браузеров с помощью применения в браузере специализированных каскадных таблиц стилей (CSS), которые выделяют па странице микроформаты, а также динамических закладок (bookmarklet), использующих JavaScript для экспорта данных из микроформата в другие приложения. Лучшим, па наш взгляд, подходом является включение поддержки микроформата hlcon в существующие популярные расширения браузера. Например, для Firefox это такие расширения, как Operator, Tails, Operator имеет открытый формат дополнительных модулей, позволяющий дополнять существующее расширение поддержкой новых микроформатов.
Для работы с hlcon нами создан дополнительный модуль для расширения Operator, На рис, 3 представлен ого внешний вид. Разработанный модуль выводит в панель инструментов в виде выпадающего меню список всех пиктограмм, размеченных hlcon, встречающихся па странице. Модуль выделяет рамкой па странице каждую размеченную пиктограмму при паведепии па нее курсора, а также при выборе пиктограммы из меню. Инструкция но настройке и модуль расширения опубликованы для свободного использования 1121.
Рис. 3. Модуль обработки hlcon. Рамкой выделен блок, соответствующий выбранной в списке пиктограмме
Микроформат hlcon и средства его обработки позволяют начать публиковать пиктограммы с использованием микроформата и работать с опубликованными пиктограммами с помощью браузера. На этой базе возможны внедрение микроформата в существующие сайты и инструменты работы с пиктограммами, а также построение новых сервисов для решения широкого круга задач, связанных с пиктограммами.
Заключение
Рассмотрена реализация решения задачи аннотирования пиктограмм в веб-страницах. Исследованы различные примеры описания пиктограмм в Интернете, попытки создания форматов для пиктограмм и других изображений. Исходя из анализа требований и существующих возможностей решения поставлена задача построения микроформата, которая реализована в соответствии с процессом создания микроформатов. На основе минимальной схемы для метаданных о пиктограммах создай микрофор-
мат hlcon. Разработана схема сервиса рекомендации пиктограмм, использующая созданный микроформат. Для работы с hlcon создан дополнительный модуль для расширения Operator браузера Firefox, Планируется также создание онтологии пиктограмм, которая будет наполняться за счет данных, собранных с веб-сайтов, использующих микроформат hlcon. Наряду с языком семантической сети IcoML [7], эта онтология будет служить основой построения инструментов Семантической паутины для работы с пиктограммами.
Список литературы
fl] Allsopp J. Microformats: Empowering Your Markup for Web 2.0. Apress. 2007.
[2] Connolly D. 1. Gleaning Resource Descriptions from Dialects of Languages (GRDDL) / World Wide Web Consortium, 2007. 6.12.2007. http://www.w3.org/TR/grddl/
[3] Khare R., Gelik T. Microformats, A Pragmatic Path to the Semantic Web. T.C.e. Rohit Khare. CommerceNet Labs Technical Report. 2006.
[4] Bachmann R., Cederholm D., Gelik T., Glazkov D. Microformats Wiki. 2007. http://microformats.org/wiki
[5] sporny m., Sande A., Johnson m. hAudio RDFa Specification / Digital Bazaar Inc. 2007. http://wiki.digitalbazaar.com/en/HAudio_RDFa
[6] sporny M. Mapping Microformats to RDFa and Back Again / 2007. http://wiki.digitalbazaar.com/en/Mapping-ufs-to-rdfa
[7] Бычков И.В., Гранин M.H. Язык разметки компьютерных пиктограмм IcoML как инструмент описания информации в семантической сети // Вычисл. технологии. 2007. Т. 12, № 1. С. 13-21.
[8] Рранин М.Н. Язык пиктограмм как знаковая система // Информационные технологии и математическое моделирование: Междунар. научно-практ. конф. Томск, 2007. С. 36-39.
[9] Рранин М.Н. Спецификация микроформата hlcon. 2007. http://icoml.org/wiki/hicon
[10] Dawes R. Icon Naming Specification / 2006.
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
[11] Horton W.K. The Icon Book: Visual Symbols for Computer Systems and Documentation. N.Y.: J. Wiley, 1994.
[12] Гранин М.Н. Руководство пользователя дополнительного модуля обработки микроформата hlcon для расширения Operator браузера Firefox. 2007.
http://icoml.org/wiki/hicon-opérâtor-plugin
Поступила в редакцию 25 января 2008 г.