Внедрение семантических данных в HTML
Тоже хочу принять участие в размышлениях на тему семантического веба, начатого здесь и здесь.
Мной было потрачено определенное количество времени на исследования
принципов и тенденций развития семантического веба, хочу поделиться
основными результатами и мыслями.
Зачем мне это нужно?
Ответ очень простой — необходимость отделять зерна от плевел, т.е. «информацию» от «информационного шума».
Как это может качественно повлиять на веб:
- если ввести в поисковую систему запрос, содержащий название некого топика или новости, то можно заметить, что 80% результатов — это один и тот же текст, «внедренный» в графический интерфейс того или иного ресурса
- концентрация на информации, а не на баннерах, списков ссылок, друзей друзей и т.д.
- более точный поиск за счет учета лишь релевантного контента
- ваш вариант?
Что мы имеем на данный момент?
Если необходимость и преимущества «семантического веба» более и менее
понятны, то вот варианты реализации вызывают некоторые опасения.
На данный момент мы оперируем такими понятиями как URI (Uniform
Resource Identifier), онтологии, которые описываются такими языками как
RDF и OWL и др.
Скажу честно — мои попытки разобраться с этими языками и методами их
использования потерпели крах — они сложны для понимания, неоднозначны и
требуют доработки. Поиск каких-то работающих и понятных инструментов
тоже не обвенчались успехом. Как по мне, это и есть основной
стоп-фактор развитие данного направления.
Также мы имеем такое понятие, как микроформаты, которые, как мне
кажется, дальше по своей сути продвинулись в идейном развитии, но, к
сожалению, не достаточно далеко.
Из того, что я встречал, внимания заслуживает разработка OpenCalais,
которая позволяет извлекать некоторую семантическую информацию с
текстов и веб-ресурсов. Их сервис позволяет определить, к какой
категории знаний (техника, образование, политика и др.) относится тот
или иной текст, извлечь термины и получить некоторую другую подобную
информацию. Несмотря на кажущуюся красоту всего происходящего, серьезно
использовать этот сервис еще рано.
Ручной труд или автоматизация?
Второй стоп-фактор — это то, что семантические данные необходимо
вводить самостоятельно, в связи с чем возникает вопросы о том, кто это
будет делать и кто за это будет платить.
Мое мнение такое: автоматизация может помочь, но полностью
полагаться на нее нельзя по той простой причине, что вопросы понимания
и логических связей между понятиями — это субъективная оценка, на
данном этапе развития не поддающиеся формализации.
Постановка задач и варианты их решения
Итак, при создании сайта мы рисуем уникальный дизайн, адаптируем его
под все известные поисковые системы и веб-стандарты, подтачиваем под
разные браузеры, подбираем контенщиков, специалистов по продвижению и
платим им деньги и, самое главное, все считают это нормальным. Так почему же семантическая составляющая не может быть частью этого процесса?
С точки зрения автора сайта нет смысла заниматься семантикой, потому что:
- это требует дополнительных трудозатрат (это еще полбеды)
- это требует обучения новым стандартам и языкам (тот же RDF и OWL)
- отсутствие или слабая поддержка семантики поисковыми системами
Если первый пункт — это больше вопрос денежный и часто вполне решаемый, третий — зависит от поисковых лидеров, то со вторым пунктом попробуем что-то сделать.
Интеграция семантических данных
Проанализировав (и немного пофантазировав) сложные и не очень возможные
методы интеграции семантических данных, я остановился на простом и
очевидном способе: интеграция в виде тегов и (или) в нотации CSS.
В своей работе я выделил основные атрибуты, которые хотелось бы иметь уже сейчас. Вот их список: Рассмотрим преимущества такого подхода: Ну да, мечты, мечты…
У данного подхода один явный недостаток — необходимость заручиться
поддержкой поисковых гигантов, которые будут использовать данный подход
при индексации страниц. Но данную идею уже можно внедрять в CMS,
блогодвижках — для этого нужно внедрить соответствующий код в движок и
некоторые дополнительные поля для ввода и использовать эту информацию в
собственной логике поиска и фильтрации данных.
Пример:
Для того, чтобы код был валидный, дописываем схему:
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
...
]>
В нотации CSS:
.mySemanticClass {
keywords: mathcad;
contentType: content;
category: math;
}
В наш HTML файл семантический файл подключаем как и простой CSS файл.
Атрибуты и категории
Но ведь будущее уже здесь!
P.S. Как кто-то хорошо подметил, за идею не бьют. Поэтому было бы
интересно обсудить и такой вариант развития semantic web. Спасибо за
внимание!