Презентацию к данной лекции Вы можете скачать здесь.
20.1. Семантический веб
20.1.1. Введение
Семантическая паутина ( Semantic Web ) – часть глобальной концепции развития сети Интернет, целью которой является реализация возможности машинной обработки информации, доступной во Всемирной паутине. Основной акцент концепции делается на работе с метаданными, однозначно характеризующими свойства и содержание ресурсов Всемирной паутины, вместо используемого в настоящее время текстового анализа документов. Термин впервые введен сэром Тимом Бернерсом-Ли в мае 2001 года в журнале "Scientific American" [1], и называется им "следующим шагом в развитии Всемирной паутины". В семантической паутине предполагается повсеместное использование, во-первых, универсальных идентификаторов ресурсов ( URI ), а во-вторых – онтологий и яз
ыков описания метаданных.
Эта концепция была принята и продвигается Консорциумом W3 [2]. Для ее внедрения предполагается создание сети документов, содержащих метаданные о ресурсах Всемирной паутины и существующей параллельно с ними. Тогда как сами ресурсы предназначены для восприятия человеком, метаданные используются машинами ( поисковыми роботами и другими интеллектуальными агентами) для проведения однозначных логических заключений о свойствах этих ресурсов.
20.1.2. История
Semantic Web был задуман консорциумом W3 достаточно давно. С середины 90-х писались разные статьи и заметки, которые не привлекали особого внимания широкой общественности. Переломным моментом стала статья, опубликованная 17 мая 2001 г. в журнале Scientific American Тимом Бернерса-Ли, Джеймсом Хэндлером и Орой Лассила "The Semantic Web "
У этой статьи было одно назначение – привлечь внимание к Semantic Web всех, кого только можно было. Интерес к Semantic Web в 2001 году, конечно, появился, но профессиональные разработчики после прочтения этой статьи поняли, что до прихода Semantic Web еще должно пройти много времени, т.к. W3C не разработал к тому времени совершенно никаких технологий (кроме языка RDF ), которые могли бы хоть как-то помочь осуществить задуманное.
10 февраля 2004 г. на сайте W3C появляется описание языка " OWL " (язык описания онтологий ).
Через полгода новый язык описания онтологий OWL стал поддерживать редактор онтологий Protege – разработка Стенфордского Университета. В это же время Semantic Web начало активно интересоваться международное научное сообщество. В разных изданиях появляется вал статей по Semantic Web. Председатель Консорциума W3 Тим Бернерс-Ли получает орден Сера из рук Королевы Соединенного Королевства.
В 2005 г. на сайте W3 появляется описание RDF /A – синтаксиса, который уже сейчас позволяет встраивать метаданные RDF в документы XHTML.
10 марта 2006 г. выходит RDF /A Primer. Таким образом, уходя по цепочке XML - RDF -RDFS- OWL все дальше и дальше от существующей в сети HTML разметки Semantic Web был "привязан" к XHTML.
В 2006 г. также завершилась разработка языка запросов к RDF документам с SQL-подобным синтаксисом, его окончательное название – SPARQL.
20.1.3. Основные идеи
Semantic Web – это эволюция World Wide Web, информация в которой машинно-обрабатываемая (а не только ориентированная на обработку человеком), таким образом, позволяя браузерам или другим программным агентам производить поиск, распределять и комбинировать информацию намного проще [3]. Semantic Web предусматривает объединение этих разных видов информации в единую структуру, где каждому элементу "человеческой" информации будет соответствовать машинный код – специальный смысловой тэг.
Semantic Web в математической форме представляет собой разновидность графа – набора вершин, соединенных дугами. В Semantic Web роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений. Идея состоит в том, чтобы глобальной семантической сетью было подмножество систем, которые замкнуты на специфичных путях достижения достаточного удобства для машин. Таким образом, Семантическая Сеть сама собой не будет задавать выводящую машину. Она будет задавать валидность операции и требовать связей между ними.
Рассмотрим состояние современной глобальной сети и принципы работы современных поисковых систем [4].
Представление информации в сети:
теги в HTML не несут семантической нагрузки;
процент полезной информации меньше процента разметки;
разметка, в том числе, из-за большой сложности и вложенности (например, проблема табличной верстки) содержит много ошибок.
Информация предназначена только для просмотра человеком, из чего вытекают следующие принципы работы поисковых систем сегодня:
весовые коэффициенты на основе расположения слов;
важность слова в зависимости от тега;
релевантность (т.е. сколько раз встречается данное слово в данном документе по отношению другим);
анализ "веса" ссылок в зависимости от количества ссылок указывающих на данную страницу.
Из-за этого возникают следующие проблемы:
машины не понимают и, следовательно, не анализируют смысл информации
поиск неудобен и сложен, часто результаты неудовлетворительные и не релевантные;
оптимизаторы ( SEO – Search Engine Optimizations) "играют" на несовершенстве алгоритмов поисковых систем, умышленно нарушая правильность разметки для кратковременного эффекта высоких позиций в поисковых запросах.
Но есть и ряд положительных тенденций, которые позволяют практически приблизиться к Semantic Web:
появилась возможность эффективно отделять разметку от оформления путем применения CSS;
на смену HTML пришла на замену разновидность XML языка описания документов – XHTML.
Для того чтобы решить все вышеперечисленные проблемы Консорциумом W3 рекомендовал решение – применение Semantic Web.
Семантическая паутина – это надстройка над существующей Всемирной паутиной, которая призвана сделать размещенную в ней информацию более понятной для компьютеров. Машинная обработка возможна в семантической паутине благодаря двум ее важнейшим характеристикам [7]:
Повсеместное использование универсальных идентификаторов ресурсов ( URI ). Традиционная схема использования таких идентификаторов в современном Интернете сводится к установке ссылок, ведущих на объект, им адресуемый. Очевидным свойством такой ссылки является возможность "загрузки" объекта, на который она указывает. Таким объектом может быть Веб-страница, файл произвольного содержания, фрагмент Веб-страницы, а также неявное указание на обращение к реально существующему физическому ресурсу по протоколу, отличному от HTTP (например, ссылки mailto:). Концепция семантической паутины расширяет это понятие, включая в него ресурсы, недоступные для скачивания. Адресуемыми с помощью URI ресурсами могут быть, например, отдельные люди, города и другие географические сущности, художественные артефакты и т. д. К идентификатору предъявляются несколько простых требований: он должен быть стр
окой определенного формата, уникальной, а также адресующей реально существующий объект.
Повсеместное использование онтологий и языков описания метаданных. Современные методы автоматической обработки данных, доступных в Интернете, как правило, основаны на частотном и лексическом анализе текстового содержимого (хотя есть и исключения: Swoogle или Intellidimension Semantic Web Search Engine, например), которое прежде всего предназначено для восприятия человеком. В семантической паутине предлагается использовать форматы описания, доступные для машинной обработки (например, семейство форматов, часто упоминаемое в литературе как " Semantic Web family": RDF, RDF Schema или RDF -S и OWL ), в свою очередь, использующие URI
для
адресации описываемых и описывающих объектов, а также онтологии и дескриптивные логики в качестве базовых математических формализмов.
Пользователи получат массу вполне ощутимых преимуществ от реализации Семантической Сети. Когда все программы, будь то браузер, почтовый клиент или Веб-сайт, смогут понимать смысл той информации, с которой работает пользователь. Они смогут предоставлять ему дополнительные сервисы. Работа человека станет более эффективной, серфинг более осмысленным, а поиск в Интернете – более точным.
Здесь стоит отметить, что поисковые агенты получат возможность взаимодействовать не только с информацией, хранимой в сети и доступной ей для обработки, но еще и между собой. Это дает возможность, как проверять результат, полученный одним агентом, так и находить более качественное решение, а также уточнять полученные результаты. Это напоминает модель взаимодействия двух людей, обладающих определенными знаниями и ведущих диалог. Нельзя не заметить, что в данном случае у людей вероятно возникновение нового знания в результате этого диалога. То же самое можно сказать об агентах – в результате взаимодействия двух агентов может появиться новое для агента знание.
Однако при всей очевидной важности Semantic Web существует множество трудностей и неразрешимостей в его реализации.
Мечта логиков последнего столетия – найти язык, в котором все предложения были бы ложны или истины и, по возможности, без других вариантов. Эта попытка ограничить язык, чтобы избежать возможность внутренних противоречивых утверждений, которые не могут быть разделены только на истину и ее отсутствие.
В Semantic Web это выглядит как сугубо академическая проблема: когда на самом деле нечто оперирует с массой недостоверной информации с любой точки зрения и ограничивается тем, что использует для ограничения подсистемы Веб. Очевидно, оно не должно иметь возможность выводить внутренне-противоречивые утверждения, но это не страшно, когда язык достаточно мощный, чтобы описать это. Действительно, достоверные системы должны дать нам мощность сказать "Утверждение ложно" и цикл, который, если верить замкнутому противоречию будет разрешен сам по себе или преднамеренно. Типичный ответ системы, которая ищет утверждения, приводящие к внутреннему противоречию, возможно, будет похож на результат поиска противоречия из того же источника [5].
Проблема ложности не только в возможности выразить парадокс, но и в возможности, учитывая парадокс вывода иметь возможность вывести ложность.
Очень важным моментом является то, как информация будет представлена в сети. Тут есть определенные требования.
Системы представления знаний должны обладать следующими свойствами [4]:
они должны иметь по возможности компактный синтаксис;
в них должна быть четко определенная семантика такая, чтобы любой мог сказать, что это означает;
она должна обладать достаточными описательными возможностями, чтобы представлять знания человека;
она должна иметь эффективный, мощный и понимаемый механизм вывода;
она должна иметь возможность работать с большими базами данных.
Доказана сложность достижения третьего и четвертого пункта одновременно [4]. Бинарные модели позволяют снизить сложность достижения этих пунктов. Когда отношения простые, их легче описать и произвести вывод на них. Отметим, что любую n -арную модель можно привести к бинарной, упростив вычисления и сложность создания агента, который будет с ней работать.
Все это позволяет расширить возможности поиска, поиск в сети становится не просто сбором документов и оценки связи слов, например, стоящих друг от друга на определенном расстоянии, которым при формировании результатов запроса расставляются веса, влияющие на их порядок при выдаче
Таким образом, достигается один из главных эффектов Semantic Web – получение нового, "синтетического" смысла, выводимого на связях документов, содержавших этот смысл только потенциально. Такой результат, очевидно, следует понимать как первый этап извлечения "глубинной" семантики первого уровня.
С другой стороны, это уже означает, что, получив отношения между документами, можно шагнуть гораздо дальше простой выдачи текстовой информации. Можно не только выдать результаты, можно их, как минимум, проанализировать и подготовить, а на следующем шаге – создать автоматизированные системы обработки этой информации, тем самым, решив целый ряд практических проблем.
Технологии Semantic Web могут быть использованы в разных прикладных областях. Например, в области интеграции данных, в результате чего данные из разных источников и в разных форматах могут быть интегрированы в одном приложении; в области описания и классификации ресурсов для обеспечения более качественных, учитывающих предметную область, средств поиска информации; в области каталогизации, для описания содержимого и взаимосвязей между Веб-сайтами, страницами, или цифровыми библиотеками; в области программных агентов с развитой логикой, для облегчения распространения информации; в области рейтинговых систем; при описании коллекций страниц которые логически составляют один документ; для описания прав интеллектуальной собственности Веб-страниц и во многих других.
Для того чтобы достичь целей описанных выше, важнее всего иметь возможность определить и описать взаимоотношения между данными (т.е. ресурсами) в Сети. Это не слишком сильно отличается от использования гиперссылок в современном Интернете, которые связывают текущую Веб-страницу с другой: гиперссылки определяют связь между текущей страницей и целевой. Одним из главных отличий является то, что в Семантической сети такие связи могут быть установлены между любыми двумя ресурсами – отсутствует само понятие: "текущая страница". Другое важное отличие это то, что связь (т.е. ссылка) сама – поименована, в то время как ссылки используемые людьми в (традиционном) Интернете не именуются, и их роль выводится читателем. Определение таких связей позволяет организовать более качественный и автоматический обмен данными. RDF, который является одним из фундаментальных строительных блоков, из которых состоит Семантическая Паутина, предоставляет формальные средства для такого обмена.
На эту основу, опираются дополнительные строительные блоки. Приведем несколько примеров.
Инструменты для формирования более точной и детальной классификации и описания характеристик таких отношений. Это гарантирует способность к взаимодействию и более сложные виды автоматической обработки. Например, сообщество может договориться о том, какое имя использовать для описания ссылки связывающей страницу с календарем. Это имя затем может быть использовано множеством разных пользователей и приложений без необходимости каждый раз переопределять такие имена (например, RDF Schemas, OWL, SKOS).
Инструменты для запроса информации, описанной с помощью таких отношений (например, SPARQL ).
В более сложных случаях существуют специальные инструменты для определения логических взаимосвязей между ресурсами и связями. Например, если ссылка связывает человека с его/ее e-mail адресом, то вполне оправданно провозгласить, что e-mail адрес – уникален, т.е. адрес не разделяется среди нескольких человек (например, OWL, Rules).
Инструменты для извлечения из и для связывания с традиционными источниками данных, для того, чтобы гарантировать их способность обмениваться информацией с другими источниками (например, GRDDL, RDF ).
Как и все инновационные технологии, Semantic Web претерпевает эволюцию: сначала развивается в исследовательских лабораториях, затем получает поддержку Open Source сообщества, потом появляются небольшие специализированные "стартапы", и, наконец, технология начинает получать широкую поддержку со стороны бизнеса. Так же, классическая Всемирная Паутина изначально была разработана в центре Физики Высоких Энергий.
В настоящее время, Semantic Web все чаще и чаще используется маленькими и большими компаниями. Oracle, IBM, Adobe, Software AG, или Northrop Grumman – только некоторые, из больших корпораций, которые уже воспользовались этой технологией, и продают как инструменты, так и целостные бизнес решения. Крупные прикладные области, такие как медицина, заинтересованы в тех средствах интеграции данных, которые предоставляет Semantic Web.
20.1.4. Технологии и инструменты
20.1.4.1. Стек стандартов Semantic Web
Десятилетиями создатели информационных технологий упускали из виду предмет своей деятельности – информацию. Точнее, информация присутствовала, но как-то неявно, обычно ее отождествляли с данными. Semantic Web – одно из тех явлений в мире ИТ, которые заставляют всерьез задуматься о различии между данными и информацией [6].
Но еще в начале 90-х годов Бернерс-Ли и Калио предполагали возможность включения метаданных в гиперсвязи, задумываясь о том, как дополнить их сведениями, относящимися к передаваемым данным. Практика показывает, что для общения между людьми метаданные критического значения не имеют: люди сами являются носителями контекста, в большинстве случаев им достаточного для понимания смысла сообщения, описывать переданное сообщение не требуется; правда, нередко неверное понимание контекста приводит к ошибкам. Иное дело машины. Здесь контекст должен быть зашит жестко, чтобы полученное сообщение однозначно интерпретировалось (например, если данные поступают в систему от датчика). Если же это невозможно, то нужны дополнительные сведения о том, как следует интерпретировать полученное сообщение; такие дополнительные данные и называют метаданными. Эти метаданные могут интерпр
етироваться машинными средствами, а потому открывают возможность установить взаимоотношения не только между людьми, но и между сайтами, и между устр
ойствами, включенными в Сеть. Встраивание метаданных в гиперсвязи – главное отличие пропагандируемого Бернерсом-Ли второго поколения Всемирной Паутины, которое он называет Semantic Web, или Веб для машин.
Предшествующий опыт подсказывает, что для создания Semantic Web следует построить информационную коммуникационную модель, аналогичную семиуровневой модели OSI (но в приложении к Веб) и ориентированную на обмен информацией, а не данными. Именно так и поступил Бернерс-Ли. Начиная с 1998 года, он популяризирует разработанную им многоуровневую модель Semantic Web. В наиболее наглядном виде она может быть оформлена в форме стека уже существующих и проектируемых стандартов. На рис. 20.1 и рис. 20.2 представлена редакция стека, датируемая 2000-м и 2005 годом. Используемые для построения модели понятия и конструкции достаточно сложны и специфичны, поэтому опишем эти модели на самом поверхностном уровне.
(рис 20.1) Оригинальная модель Semantic Web (2001 г.)Источник: О стеке стандартов Semantic Web [6]
(рис 20.2) Стек стандартов Semantic Web в редакции 2005 годаИсточник: О стеке стандартов Semantic Web [6]
Если проводить аналогию с моделью OSI, то нижние уровни URI, кодировка Unicode, XML и XML Schema соответствуют нижним уровням семиуровневой модели, они обеспечивают представление, но не налагают никаких семантических ограничений на содержание этих документов. Основу модели составляют RDF (Resource Description Framework). Модель RDF представляет собой структуру метаданных, предназначенную для описания ресурсов в форме триады. Эту триаду называют субъектно-предикативно-объектным выражением на языке XML. В 1999 году работы по созданию RDF были инициированы компаниями Apple и Netscape, в 2004 году была опубликована совершенно новая редакция RDF 2.0. Уровнем выше стоит RDF Schema, она служит ср
едством для описания свойств и классов RDF -ресурсов, а также задает семантику для иерархий-обобщений таких свойств и классов.
Для представления модели данных, отражающей свойства реального мира, используется еще одно довольно непростое понятие – " онтология ". Оно заимствовано из теории систем, в данном случае его можно интерпретировать как некоторый объем знаний. Для описания онтологий служит специальный язык OWL.
Развивая аналогию между моделью OSI и стеком стандартов Semantic Web, отметим, что в обеих моделях на нижнем уровне располагается "физическое представление", но в первом случае – представление данных, а во втором – информации. А на верхнем уровне – "очищенное" представление, готовое для использования. Различие состоит в том, что в модели OSI – это данные, а в модели Semantic Web – информация. Работа и той, и другой модели сводится к установлению соответствия между нижним и верхним уровнями.
Стек стандартов Semantic Web описывает интерфейсы между уровнями, не более того. Но кроме стандартов нужны еще и средства для реализации, поэтому кроме самого стека активно развиваются сервисы, обеспечивающие работу Semantic Web ( Semantic Web Services). К сожалению, архитектура Semantic Web Services Architecture еще меньше проработана, чем Semantic Web, известны лишь отдельные исследования, выполненные в университетских лабораториях.
С практической точки зрения наибольший интерес представляет не собственно Semantic Web, а процесс сближения идей Semantic Web и Веб-сервисов. Развитие в этом направлении может привести к созданию нового поколения сервисов, которые пока условно называют "интеллектуальными Веб-сервисами".
20.1.4.2. Компоненты Semantic Web
Техническую часть Semantic Web составляет семейство стандартов на языки описания, включающее XML, XML Schema, RDF, RDF Schema, OWL, а также некоторые другие. Располагая их в порядке повышения уровня абстракции, реализуемого тем или иным языком, получаем [7].
XML предоставляет синтаксис для определения структуры документа, подлежащего машинной обработке. Синтаксис XML не несет семантической нагрузки.
XML Schema определяет ограничения на структуру XML -документа, для того, чтобы обеспечить предсказуемость обработки. Стандартный синтаксический анализатор языка XML в состоянии проверить произвольный XML -документ на соответствие его структуры, так называемой схеме документа, описанной в XML Schema.
RDF представляет собой простой способ описания экземплярных данных в формате субъект-отношение предикат-объект, в котором в качестве любого элемента этой тройки используются только идентификаторы ресурсов. Существует стандартизованное отображение этих троек на XML -документы предопределенной структуры (т.е. консорциумом W3 определена схема XML -документов, содержащих RDF -описания), а также на другие форматы представления (например, в нотацию N3).
RDF Schema (RDF-S) описывает набор атрибутов (здесь их точнее назвать отношениями), таких, как rdfs:Class, для определения новых типов RDF -данных. Языком поддерживается также отношение наследования типов rdfs:subClassOf. Таким образом, RDF Schema описывает свойства, классы и иерархии ресурсов RDF.
OWL (Web Ontology Language) расширяет возможности по описанию новых типов (в частности, добавлением перечислений), а также позволяет описывать новые типы данных RDF Schema в терминах уже существующих (например, определять тип, являющийся пересечением или объединением двух существующих). OWL используется для точного представления значений терминов в словарях и описания взаимосвязей между этими терминами. Это представление терминов и их взаимосвязей называется онтологией. OWL имеет больше механизмов для выражения значений, чем XML, RDF и RDF -S, и он превосходит эти языки по возможности представлять контент, который могут интерпретировать машины.
Вышеперечисленные стандарты можно увидеть на рис. 20.3.
(рис 20.3) Рекомендации W3C касательно Semantic WebИсточник: Использование технологии Semantic Web в системе поиска несоответствий в текстах документов [8]
Также стоит выделить следующие технологии.
Унифицированные (или универсальные) идентификаторы ресурсов ( URI ) – это короткие символьные строки, которые идентифицируют ресурсы в Веб: документы, изображения, загружаемые файлы, сервисы, электронные почтовые ящики и т. п. URI (URL) обеспечивают программам простой доступ к указанным ресурсам.
SPARQL – язык запросов к документам RDF и протокол передачи данных.
Рассмотрим более подробно некоторые из данных технологий.
20.1.4.2.1. RDF
RDF (Resource Description Framework) – это универсальный язык для представления знаний в Сети [9]. Используя простую реляционную модель, он позволяет различным приложениям обмениваться данными. RDF данные описывают знания в самом общем виде. В то время как XML схемы просто описывают структуру документа, RDF имеет дело со знаниями как таковыми. Это позволяет значительно расширить область применения данных, представленных в таком формате. Если XML позволяет обмениваться информацией в рамках одного приложения, то RDF предоставляет универсальное средство для обмена данными между разными программами. Причем сами программы могут ничего не знать друг о друге.
Изначально RDF представлял собой инфраструктуру для метаданных, и предназначался для организации взаимодействия приложений, которые обмениваются информацией через Интернет. RDF обеспечивает средства для организации автоматической обработки Веб-ресурсов и, таким образом, предоставляет базовый функционал для организации работы Семантической Паутины. Метаданные RDF могут быть использованы во множестве разных прикладных областей. Например, в области поиска информации, для обеспечения более адекватных результатов работы поисковых серверов; в области каталогизации, для описания содержания и взаимоотношений между теми или иными ресурсами; в области интеллектуальных программных агентов, для облегчения обменом знаниями; для описания прав интеллектуальной собственности на Веб-ресурсы и многое другое. RDF
данные снабженные цифровой подписью станут ключом к созданию Сети, которой можно доверять ("Web of Trust"), для электронной торговли, сотрудничества, и других приложений.
RDF обеспечивает следующие возможности:
взаимообмен данными;
семантика доступная для понимания компьютерами;
большая точность в процессе анализа ресурса, чем полнотекстовый поиск;
более стойкие к изменениям приложения.
Дальнейшее развитие RDF также обеспечит:
унифицированные средства для поиска ресурсов;
язык обработки правил для автоматического принятия решений по поводу WEB-ресурсов;
язык для извлечения метаданных от сторонних источников.
Вообще, RDF обеспечивает базу для целого семейства инструментов для формирования, манипулирования и поиска понятных компьютерам данных в Сети, и, тем самым, способствует трансформации Интернета в огромное хранилище знаний доступных для обработки компьютерами.
RDF – это спецификация, которая определяет модель представления мира и синтаксис для сериализации и обмена этой модели. Консорциум всемирной сети W3C разработал XML -сериализацию для RDF. RDF XML – это стандартный формат обмена для RDF в семантической сети, хотя он не является единственным [10].
RDF обеспечивает последовательный стандартный способ описания и работы практически с любыми Internet-ресурсами: от текстовых страниц и графиков до аудио-файлов и видеоклипов. Он предлагает синтаксические возможности для взаимодействия сетей и формирует базовый слой для создания семантической сети. RDF определяет управляемые графы связей, представленные тройками объект-атрибут-значение. Например, объект О имеет атрибут А со значением V.
Пример RDF XML:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:contact="http://www.w3.org/2000/05/contact#">
<contact:Company rdf:about="http://www.w3.org/Organization/contact#WebifySolutions">
<contact:name>Webify Solutions</contact:name>
<contact:mailbox rdf:resource="mailto:info@webifysolutions.com"/>
<contact:phone>1-800-4WEBIFY</contact:phone>
</contact:Company>
</rdf:RDF>
Элемент RDF в примере несет информацию о ресурсе, в данном случае это компания http://www.w3.org/Organization/contact#WebifySolutions. Компания может быть идентифицирована по URI http://www.w3.org/Organization/contact#WebifySolutions, ее название – Webify Solutions, ее e-mail – info@webifysolutions.com, а номер телефона – 1-800-4WEBIFY.
На рис. 20.4 показан управляемый граф связей, представляющий ту же информацию.
(рис 20.4) Граф RDF, описывающий контактную информацию компании Webify SolutionsИсточник: Будущее Web – за семантикой [10]
20.1.4.2.2. RDF Schema
RDF Schema – это семантическое расширение RDF [10]. Она обеспечивает механизмы описания связанных ресурсов, а также собственно этих связей.
Система классов и свойств RDF Schema похожа на систему типов языков объектно-ориентированного программирования, таких, например, как Java, но отличается от многих других систем. Так, описательный язык словаря RDF определяет свойства в терминах того класса ресурсов, к которому эти свойства относятся. Другие системы же описывают класс в терминах свойств его элементов.
RDF и схема RDF основаны на XML и схеме XML. Существование стандартов для описания данных ( RDF ) и их атрибутов (схема RDF ) позволяет создавать пакеты легко доступных инструментов для чтения и использования данных из многочисленных источников. То, насколько глубоко различные приложения могут обмениваться данными и использовать их, иногда называется синтаксическим взаимодействием сетей (syntactic interoperability). Чем более стандартизированными и распространенными являются эти инструменты работы с данными, тем выше степень синтаксического взаимодействия сетей и тем легче и привлекательнее становится использование подхода на основе семантических сетей по сравнению с точечными интеграционными решениями.
20.1.4.2.3. OWL
Синтаксическое взаимодействие сетей – необходимое условие для того, чтобы многие приложения могли по-настоящему "понимать" данные и работать с ними как с информацией. Это также необходимое условие для корректной проверки данных. Синтаксическое взаимодействие сетей требует преобразования ("мэппирования") между терминами, для чего, в свою очередь, необходим контент-анализ.
Такой контент-анализ требует формальных и подробных спецификаций моделей доменов, которые определяют используемые термины и их связи. Подобные формальные модели доменов иногда называются онтологиями. Они определяют модели данных в терминах классов, подклассов и свойств.
Онтологический язык Web (Web Ontology Language), рекомендуемый консорциумом W3C, помогает в выражении онтологий. Рабочий онтологический язык (Ontology Working Language, сокр. OWL ) добавляет больше словарных возможностей для описания свойств и классов, чем RDF или схема RDF. В частности, он позволяет описывать связи между классами (например, неперекрываемость), мощность множества (например, "ровно один"), равенство, более богатую типологию свойств и их характеристики (например, симметрия) [10].
Онтологический язык Web на основе OWL разработан для использования приложениями, которые должны работать с содержанием информации, а не просто предоставлять ее пользователю. OWL улучшает возможности автоматической интерпретации содержимого интернета по сравнению с теми, что могут обеспечить XML, RDF и схема RDF. Это происходит благодаря тому, что OWL предоставляет дополнительные словарные возможности наряду с формальной семантикой. OWL включает три подъязыка: полный OWL ( OWL Full), OWL DL и облегченный OWL ( OWL Lite) (перечислены в порядке убывания их выразительных возможностей) [10]:
Полная версия онтологического языка Web на основе OWL называется OWL Full. Этот язык использует все базисные элементы языка OWL и позволяет комбинировать их случайным образом с RDF и схемой RDF. Полный OWL совместим "снизу вверх" с RDF, как синтаксически, так и семантически: любой разрешенный документ RDF является также разрешенным документом OWL Full. Маловероятно, что какие-либо интеллектуальные программные средства способны поддерживать все возможности OWL Full, поскольку этот язык предлагает максимум выразительных средств и синтаксической свободы RDF при отсутствии вычислительных гарантий.
OWL DL предназначен для тех пользователей, кому необходим максимум выразительных средств без потери вычислительных возможностей. OWL DL – это подъязык конструкций языка OWL Full с некоторыми ограничениями, такими как разделение типов (type separation) (например, класс не может быть одновременно индивидуальным элементом или свойством, а свойство не может одновременно быть индивидуальным элементом или классом).
OWL Lite предназначен для пользователей, которым необходима классификационная иерархия и простые ограничительные возможности. Преимуществом этого языка являются большая легкость его понимания и внедрения по сравнению с двумя другими. Но, в то же время, его выразительные возможности гораздо ниже. Например, хотя OWL Lite и поддерживает ограничения мощности множества, единственными допустимыми значениями этого параметра являются 0 или 1.
Примерами онтологий являются каталоги сайтов интерактивных покупок, таких как Amazon.com, стандартные терминологии той или иной области деятельности, например, UNSPSC – The United Nations Standard Products and Services Code (система стандартных продуктов и услуг ООН), или различные таксономические системы интернета, такие как категории сайта "My Yahoo".
Основные компоненты OWL включают классы, свойства и индивидуальные элементы.
Классы
Классы – это основные блоки онтологии OWL. Класс – это концепция в домене. Классы обычно образуют таксономическую иерархию (т.е. систему подкласс-надкласс).
Классы определяются с помощью элемента owl:Class. В языке OWL существует два заранее определенных класса: owl:Thing и owl:Nothing. Первый из них является наиболее общим и включает все, второй – это пустой класс. Любой класс, определяемый пользователем, является подклассом класса owl:Thing и надклассом класса owl:Nothing. Примеры классов в области банковского дела могут включать классы Счет ( Account ) или Клиент ( Customer ).
Пример класса OWL:
<owl:Class rdf:ID="SavingsAccount">
<rdfs:subclassOf rdf:resource="#Account"/>
</owl:Class>
Код в примере указывает, что элемент SavingAccount – это класс, являющийся подклассом класса Account.
OWL поддерживает шесть основных способов описания классов. Самый простой – это класс с именем ( named ). Другие типы – это классы пересечений ( intersection ), объединений ( union ), дополнений ( complement ), ограничений ( restrictions ) и классы перечислений ( enumerated ). В примере представлены два из этих способов описания классов: класс ограничений определяет SavingAccount как подкласс класса с именем Account.
Свойства
Свойства включают две основные категории:
свойства объекта (Object properties), которые связывают индивидуальные элементы между собой;
свойства типов данных (Datatype properties), которые связывают индивидуальные элементы со значениями типов данных, такими как целые числа, числа с плавающей запятой и строки. Для определения типов данных OWL использует схему XML.
Свойство может включать домен и некоторую область, связанную с ним. Любое свойство попадает в одну из следующих категорий:
функциональная: для любого объекта свойство может принимать только одно значение (например, возраст, рост или вес человека);
обратно-функциональная: два различных индивидуальных элемента не могут иметь одно и то же значение. Например, у каждого человека свой уникальный номер банковского счета или так называемый SSN (social security number);
симметричная: если свойство связывает элемент А с элементом В, то из этого можно сделать вывод, что оно также связывает элемент В с элементом А. Примеры симметричных свойств включают выражения типа "является братом (сестрой)" или "такой же, как";
транзитивная: если свойство связывает элемент А с элементом В, а элемент В с элементом С, то можно предположить, что оно также связывает элемент А с элементом С. Например, если А выше В, а В выше С, то А выше С.
К классам и свойствам могут применяться различные ограничения. Например, ограничения мощности множества указывают на число связей, в которых может участвовать класс или индивидуальный элемент.
Индивидуальные элементы
Индивидуальные элементы – это элементы классов; свойства могут связывать их друг с другом. Например, индивидуальный элемент Smith может быть описан как элемент, принадлежащий классу Person (индивидуум). Свойство hasEmployer (имеет работодателя) может связывать его с другим индивидуальным элементом – Webify Solutions, указывая, таким образом, что Smith работает в компании Webify Solutions.
Индивидуальный элемент OWL
<owl:Thing rdf:about="SmithAccount">
<rdfs:type="#Account"/>
</owl:Class>
Элемент rdf:type – это свойство RDF, которое связывает индивидуальный элемент с тем классом, к которому он принадлежит. Пример указывает, что элемент SmithAccount принадлежит к типу Account.
На рис. 20.5 показаны основные блоки онтологии OWL.
(рис 20.5) Онтология OWL, описывающая организационную структуру компании Webify SolutionsИсточник: Будущее Web – за семантикой [10]
20.1.4.2.4. SPARQL
Рабочая Группа W3C по Доступу к Данным разработала Язык Запросов SPARQL [9]. SPARQL, имеющий SQL-подобный синтаксис, определяет запросы в терминах шаблонов графа, которые сравниваются с направленным графом, представляющим данные RDF. SPARQL предоставляет возможности, для запроса необходимых и необязательных шаблонов, а также для их объединения и разделения. Результат сравнения также может быть использован для конструирования нового графа RDF с использованием отдельного шаблона.
SPARQL может быть использован как часть программной среды общего назначения, такой как Jena, но запросы могут, также, посылаться как сообщения на удаленную точку доступа SPARQL с помощью вспомогательных технологий SPARQL Protocol и Результаты Запросов SPARQL в XML. Используя такие точки доступа SPARQL, приложения могут запрашивать удаленные RDF данные и, даже, формировать новые RDF графы, без какой-либо локальной обработки.
Пример применения SPARQL:
Data:
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> "SPARQL Tutorial"
Query:
SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
Query Result:
title "SPARQL Tutorial"
20.1.4.3. Логический вывод
Форматы описания метаданных в Семантической паутине предполагают проведение логического вывода на этих метаданных, и разрабатывались с оглядкой на существующие математические формализмы в этой области [7]. Математическое обоснование тех или иных конструкций языка описания необходимо для проведения заключений о свойствах программ, обрабатывающих данные в этом формате.
Особенно сильно это относится к языку OWL. Базовым формализмом для него являются дескриптивные логики, а сам язык разбит на три вложенных подмножества (в порядке вложенности): OWL Lite, OWL DL и OWL Full. Доказано [11], что логический вывод на метаданных с выразительностью OWL Lite выполняется за полиномиальное время (другими словами, задача вывода принадлежит к классу P ). OWL DL описывает максимальное разрешимое в данный момент подмножество дескриптивных логик, но некоторые запросы по таким данным могут требовать экспоненциального времени выполнения. OWL Full реализует все существующие конструкторы дескриптивных логик, но не каждый запрос в этом подмножестве языка
можно разрешить.
Простая структура предикатов языка RDF, в свою очередь, позволяет использовать при его обработке опыт из теорий логических баз данных, логики предикатов, и т. д.
20.1.4.4. Инструментальные средства
На сегодняшний день создано довольно много инструментов для разработки приложений Semantic Web [9]. Это и средства для аннотирования, и репозитории RDF, и редакторы, и системы управления контентом, и программные библиотеки для самых разных языков, и многое другое.
Чуть более подробно остановимся лишь на Jena.
20.1.4.4.1. Jena
Сегодня одной из самых известных сред для разработки приложений, основанных на использовании RDF, является библиотека Jena. Это развитая среда с поддержкой большого количества разнообразных функций. На базе Jena разработано большое количество приложений.
Jena является средой разработки для создания Семантических приложений. Она позволяет работать с такими спецификациями как RDF, RDFS и OWL, SPARQL. Jena – это open source приложение под программой HP Labs Semantic Web Programme.
Jena включает в себя [9]:
RDF API;
чтение и запись RDF из RDF / XML, N3 и N-Triples;
OWL API;
создания запросов SPARQL.
20.1.5. Проекты
20.1.5.1. Дублинское ядро
Одним из первых серьезных и популярных проектов, основанным на принципах семантической паутины, стал проект "Дублинское ядро" (Dublin Core) [7], реализуемый инициативной организацией Dublin Core Metadata Initiative (DCMI) [12]. Это открытый проект, цель которого – разработать стандарты метаданных, которые были бы независимы от платформ и подходили бы для широкого спектра задач. Конкретнее, DCMI занимается разработкой словарей метаданных общего назначения, стандартизирующих описания ресурсов в формате RDF.
20.1.5.2. RSS (версий 0.90 и 1.0)
Версии 0.90 и 1.0 формата RSS основаны на RDF. Информация в нем представляется, как и в RDF, тройками субъект-отношение-объект [7]. Необходимо отметить, несмотря на то, что ему присущи многие недостатки Семантической паутины (дублирование информации, например), этот простейший формат быстро стал чрезвычайно популярным за счет узкой категоризации подмножества используемых метаданных. Отличие RSS от RDF состоит в том, что субъектом тройки всегда является сайт-источник RSS-файла, а в качестве отношений используются самые очевидные свойства документов, имеющие отношение к часто обновляющимся источникам информации: дата написания, автор, постоянная ссылка, и т. д. Другими словами, RSS – узкоспециализированное подмножество RDF.
Помимо недостатков, RSS унаследовал и все достоинства форматов из семейства семантической паутины: гибкость RSS позволяет использовать его не только для проверки на наличие новой информации на регулярно обновляющихся сайтах, но и для подкастов, и торренткастов.
Заметим, что формат RSS версии 2.0, хотя и не является форматом, основанным на RDF, позволяет внедрение произвольного XML -содержимого, находящегося в собственных пространствах имен XML. Это позволяет использовать RDF -описания также и в нем (используя пространство имен RDF ).
20.1.5.3. FOAF
Проект "Friend of a Friend" ("Друг друга") позволяет описывать отношение знакомства с помощью RDF [7]. Любой его участник может идентифицировать себя уникальным образом с помощью URI (например, mailto-адресом электронной почты, адресом блога, и т. п.), создать свой профиль, используя предопределенные для FOAF отношения на языке RDF, и перечислить идентификаторы людей, которых этот участник знает. Это описание может обрабатываться автоматически; на его основе можно строить сети доверия, анализировать структуру социальных групп, и т. д.
20.1.5.4. DBin
DBin работает примерно также, как и файлообменные сети (emule, kazaa, и т.д.), но для метаданных [9]. В этой системе вместо того, чтобы обмениваться данными (музыкой, файлами, видео, и т.д.), пользователи обмениваются "упорядоченными метаданными ", такими как: " X является автором Y ", " Z родился в K ", или "моя фотография в R, в прошлом декабре опубликована по адресу P ". С помощью DBin можно обмениваться информацией о том, что пользователи знают о разных вещах. Это может быть что угодно: песни, фотографии, WEB-сайты. Метаданные передаются в специальном формате – RDF, при этом система поддерживает развитые средства для работы с онтологиями,
а это позволяет очень быстро и эффективно находить нужную информацию.
По способу взаимодействия пользователя и системы DBin чем-то напоминает Wiki, однако использование технологий Semantic Web выводит этот проект на совершенно новый уровень. Средства для поиска информации, возможности для кооперации среди участников сообщества позволяют организовать работу значительно более эффективно.
Когда пользователь DBin вводит те или иные данные, система сохраняет их в базе данных вместе с цифровой подписью автора. Это позволяет надежно идентифицировать источник информации. Поэтому система достаточно хорошо защищена от спама, недостоверной или, заведомо ложной информации. Если пользователь начинает злоупотреблять своим правом добавлять данные в DBin, то он лишается доверия, и его информация просто отфильтровывается.
DBin имеет развитый пользовательский интерфейс для редактирования, просмотра, поиска и вообще, использования информации. Если пользователь является продвинутым пользователем и экспертом в какой-нибудь области, то он может создавать специальные расширения для DBin (так называемые "брейнлеты"), ориентированные на работу в данной области знаний. Такие брейнлеты обычно включают в себя пользовательский интерфейс, онтологии, правила, типы аннотаций предопределенные запросы к системе, и, тем самым, предоставляют удобные средства для работы в рамках заданной предметной области.
Кроме брейнлетов DBin поддерживает и другие модули расширения – плагины. Плагины позволяют организовать взаимодействие DBin с внешними приложениями, с файловой системой и с рабочим столом пользователя, с базами данных. С помощью плагинов можно обеспечить более сложное отображение информации. Например, географические данные могут быть продемонстрированы пользователю на карте.
DBin реализует очень интересный способ организации совместной работы, позволяет, с одной стороны эффективно обмениваться информацией, а с другой накапливать семантически размеченные данные.
20.1.5.5. Семантические WEB-сервисы
В то время как совокупность ресурсов и их метаданных можно считать статической частью семантической паутины, ее динамическую часть представляют т. н. семантические Веб-сервисы – законченные элементы программной логики с однозначно описанной семантикой, доступные через Интернет и пригодные для поиска, композиции и выполнения. Часто называются в тематической литературе "динамической составляющей семантической паутины " [13].
Технически, семантический Веб-сервис отличается от обычного Веб-сервиса тем, что пользователю предоставляется не только описание интерфейса (обычно на языке WSDL) в терминах типов передаваемых сервису данных, возвращаемых значений и генерируемых ошибок, но и описание его семантики, т.е. того, что сервис делает, его предметной области, назначения и т.п. WSDL-описания сервисов изначально были предназначены для машинной обработки, кроме того, стандарт WSDL допускает наличие в этих описаниях произвольного дополнительного XML -содержимого, которое должно игнорироваться программами, не предполагающими обработки этого содержимого – таким образом, метаданные не приходится выносить из WSDL-файлов.
Консорциум W3 предполагает использование для описания Веб-сервисов тех же языков разметки, что и для статической части семантической паутины ( RDF, RDF Schema, OWL ), а также онтологии OWL -S, описывающей базовую терминологию предметной области. Онтология OWL -S состоит из четырех онтологий – онтологии сервиса, онтологии модели сервиса, онтологии процесса и онтологии базы. Можно рассматривать OWL -S как семантическое расширение UDDI-описания Веб-сервиса. При использовании этой онтологии и языков ра
зметки, семантика сервиса характеризуется семантикой четырех его характеристик (IOPE, по первым буквам названия каждой характеристики):
входные параметры ( inputs );
выходные параметры ( outputs );
предварительные условия ( preconditions );
эффекты выполнения ( effects ).
Потенциальная выгода от использования семантических Веб-сервисов заключается в возможности автоматического поиска (а также композиции) программными агентами подходящих сервисов для решения поставленных задач. Тем не менее, сложность этой задачи в ее общей формулировке пока позволяет добиваться некоторых положительных результатов только в узкоспециализированных отраслях, явным образом выигрывающих от внедрения сервисно-ориентированной архитектуры, например, в интеграции корпоративных приложений.
20.1.6. Критика
20.1.6.1. Практическая реализуемость
Несмотря на все преимущества, предоставляемые семантической паутиной в случае ее внедрения, существуют сомнения в возможности ее полной реализации [7].
Разные критики высказывают различные причины, которые могут быть препятствием к этому, начиная с человеческого фактора [14] (люди склонны избегать работы по поддержке документов с метаданными, открытыми остаются проблемы истинности метаданных, и т. д.), и заканчивая косвенным указанием Аристотеля на отсутствие очевидного способа деления мира на концепты, что ставит под сомнение возможность существования онтологии верхнего уровня, критической для семантической паутины.
20.1.6.2. Дублирование информации
Необходимость описания метаданных, так или иначе, приводит к дублированию информации [7]. Каждый документ должен быть создан в двух экземплярах: размеченным для чтения людьми, а также в машинно-ориентированном формате. Этот недостаток семантической паутины был главным толчком к созданию микроформатов.
20.1.6.3. Проблемы для бизнеса
Сегодня большая часть сайтов зарабатывает на рекламе. Для этого посетители должны кликать по рекламным ссылкам. Нет кликов – нет заработка. То есть публикация материалов на том или ином сайте преследует цель – привлечь как можно больше посетителей именно на этот сайт. Semantic Web – размывает понятие документа [7]. Публикация материалов в Семантической Сети приводит к тому, что информация вливается в нечто большое и единое. И уже трудно сказать, где кончается один документ, и начинается другой. Все материалы разбиваются на маленькие кусочки, и каждый кусочек начинает самостоятельную жизнь [15].
20.1.6.4. Анонимность и сохранение авторских прав
Semantic Web способствует уничтожению анонимности в Сети [15]. Каждый раз как, только пользователь регистрируетсяь на каком-либо сайте вроде moikrug.ru, или toodoo.ru, он предоставляет информацию о себе. Даже если пользователь не указываете почти никаких данных, сайты и сервисы начинают следить за его предпочтениями. На какие сайты он ходит, что читает, какую музыку слушает и т.д. Если вся эта информация оказывается сохраненной в стандартной форме, приспособленной для легкого обмена между Веб-сервисами, то распространение этой информации уже ничего не остановит.
В силу вышесказанного Semantic Web создает опасную среду для вторжения в ваше личное пространство. Сохранение авторских прав на текстовую информацию становится весьма проблематичным.
20.1.7. Перспективы формирования Semantic Web
Существует два возможных способа формирования Semantic Web: снизу вверх и сверху вниз [16]. При первом способе начинаем с самого низа, то есть добавляем семантическую разметку в документы, опубликованные в Сети. Таким образом, пользовательские агенты получают доступ к метаданным. Этот процесс понемногу начинает набирать темп. Все чаще и чаще можно встретить данные в формате RDF, встроенные в те или иные странички. Каковы перспективы этого подхода?
Во-первых, нужно отметить, что существует огромная разница в психологии людей, занимающихся созданием контента. Большинство людей крайне скептически воспринимают перспективу не просто излагать свои мысли виде обычного текста, но еще и предпринимать особые шаги для того, чтобы объяснить свои идеи компьютеру. Тем не менее, многие склонны видеть эту ситуацию в ином свете. Они готовы часами приводить в порядок свои данные, расставлять метки и писать комментарии, составлять каталоги и рейтинги. Все ради того, чтобы обеспечить удобный, хорошо структурированный доступ к информации.
Во-вторых, все больше и больше в Интернете публикуется автоматически генерируемой информации. Всевозможные базы данных, отчеты, прогнозы погоды, списки и т.д. и т.п. Конечно, добавление семантической информации в автоматически генерируемые документы требует значительно меньших усилий.
В-третьих, сейчас активно развиваются инструменты для семантической разметки документов. Нужно понимать, что семантическая информация, которую вы добавляете в свой документ, способна немедленно оказать вам помощь. Причем, у компьютера появляются уникальные возможности для того, чтобы подстраиваться именно под ваши интересы, предпочтения и стиль работы, а возможность кооперации с другими компьютерами в Сети позволит ему выполнять эту работу весьма качественно. Таким образом, пользователь будет стимулироваться к тому, чтобы наполнять семантической информацией все, что он делает. Более того, вполне можно представить себе ситуацию, когда пользователь предпочтет указывать информацию только в виде понятном машине, предоставляя компьютеру всю остальную работу, связанную с формулированием и оформлением данных для потенциального читателя. Сколько разного рода формальных бумаг нам приходится создавать: справки, счета, отчеты, заявления. Значительную часть этой рутины компьютер может взять на себя.
В-четвертых, большое количество метаданных создается неявным образом. Сервисы социальных закладок, такие как del.icio.us, с одной стороны стали весьма популярны в современной Сети, а с другой стороны они активно собирают метаданные в виде тегов, описаний и оценок сайтов. Если определить семантические отношения между отдельными тегами, создав, тем самым, некую онтологию, то получим огромное количество вполне релевантных семантических данных. В том же направлении могут двигаться и системы коллаборативной фильтрации, такие как, MovieLens и Last.fm. Они уже давно зарекомендовали себя как весьма эффективные инструменты.
Другой подход предполагает использование средств анализа текстов на естественных языках (Natural Language Processing – NLP). Такие инструменты должны прочитать и обработать существующие в Сети документы, чтобы извлечь из них семантические данные. К сожалению, средства NLP еще далеки от совершенства. Сегодня, они не способны, в автоматическом режиме, семантически размечать документы. Однако не надо недооценивать возможностей таких инструментов.
Например: современные системы извлечения фактов позволяют найти в тексте (для английского языка) до 96% именованных объектов, то есть имен людей, названий компаний, адресов, телефонов, названий технологий, брендов и т.д. Программы синтаксического разбора русского языка позволяют правильно определить подлежащее и сказуемое примерно в 60% предложений.
Уже этого достаточно, для того, чтобы извлечь из текста огромное количество семантически значимой информации. При этом следует отметить, что технологии Semantic Web начинают, в свою очередь, оказывать влияние на развитие инструментов NLP.
Сегодня можно утверждать, что оба подхода к созданию среды, наполненной семантической информацией, будут развиваться параллельно, дополняя друг друга.
20.1.8. Ключевые термины
Семантическая паутина, Semantic Web, URI, Онтологии, Метаданные, XML, XML Schema, RDF, RDF Schema, OWL, SPARQL, Логический вывод.
20.2. Применение микроформатов
20.2.1. Общие сведения
Микроформаты (microformats, иногда сокращенно $$\mu$$ F или uF) – это способ семантически размечать сведения о разнообразных сущностях (событиях, организациях, людях, товарах и так далее) на веб-страницах, используя стандартные элементы языка HTML (или XHTML) [18]. Пользователь может воспринимать страницу с размеченным микроформатом как обычную веб-страницу (через браузер); в то же время программы-обработчики способны извлечь из такой страницы структурированную информацию, следуя определенным соглашениям.
Поскольку микроформаты основаны на уже существующих стандартах (таких, как HTML и XHTML), их легко добавлять на существующие страницы в паутине [19].
При использовании микроформатов к существующей HTML-разметке добавляются новые составляющие, наполненные особым, заранее определенным смыслом. Например, с помощью атрибута class можно обозначить смысл того или иного HTML-элемента на странице (этот атрибут определен для всех элементов). Таким образом, люди приходят к соглашению об использовании определенных значений атрибутов (в том числе class ) для разметки определенных фрагментов информации. В дальнейшем такую разметку можно обрабатывать машинными средствами.
Для разметки микроформатами подходят любые элементы HTML, но особое значение придается элементам, которые не имеют собственного, стандартного семантического значения – div и span. Из атрибутов в настоящее время используются в основном следующие:
class
rel
rev
title
Каждый микроформат решает определенную, отдельную задачу. Вот наиболее известные из них [20]:
hCard (сокращение для HTML vCard) – микроформат для публикации контактной информации людей, компаний, организаций и мест в (X)HTML, Atom, RSS или произвольном XML ;
hCalendar (сокращенно от HTML iCalendar) – микроформат для представления семантической информации о событиях в формате календаря iCalendar на (X)HTML-страницах;
hAtom – ленты новостей (как аналог RSS и Atom) в обычном HTML или XHTML;
XFN – социальные взаимоотношения;
rel-tag – метки (теги) и образование фолксономии;
xFolk – помеченные ссылки;
adr – почтовые адреса;
geo – географические координаты (широта и долгота);
hReview – отзывы (о товарах, услугах, событиях и тому подобном);
nofollow – для предотвращения индексации поисковыми системами определенных документов.
Разработка новых микроформатов происходит в открытом режиме.
Среди множества предлагаемых микроформатов наиболее близки к завершению микроформаты для разметки цитат и валют.
Рассмотрим пример применения микроформата hCard:
Будем считать, что у нас есть HTML, описывающий контактную информацию о человеке:
<div>
<div>Иванов Иван Иванович</div>
<div>21.12.1988</div>
<div>ООО "Example"</div>
<div>604-55-14</div>
<a href="http://example.com/">http://example.com/</a>
<a href="mailto:info@example.com">info@example.com</a>
</div>
С добавлением микроформатов выглядит так:
<div class="vcard">
<div class="fn">Иванов Иван Иванович</div>
<div class="bday">21.12.1988</div>
<div class="org">ООО "Example"</div>
<div class="tel">604-55-14</div>
<a class="url" href="http://example.com/">http://example.com/</a>
<a class="email" href="mailto:info@example.com">info@example.com</a>
</div>
Содержимое самих элементов не изменилось; к ним только были добавлены атрибуты, указывающие, где именно в блоке находится та или иная информация (имя, телефон и так далее). Весь блок при этом имеет атрибут class="vcard", который является родительским для микроформата hCard. Это означает, что данный элемент и все вложенные в него элементы вместе составляют микроформат hCard .
Обычно используемые атрибуты hCard включают [20]:
fn – имя в виде форматированной строки;
PHOTO – изображение или фотография;
org – название организации;
tel – телефонный номер;
url – URL (адрес сайта);
adr – структурированное представление адреса;
bday – дата рождения;
email – адрес электронной почты;
logo – логотип организации;
note – дополнительная информация или комментарий;
и др.
Несколько сайтов, принадлежащих Yahoo!, среди них Tech, Local, Flickr, и Upcoming, используют в своих публикациях различные микроформаты. И Yahoo! Tech, и Yahoo! Local используют микроформат hReview в своих обзорах ( reviews ), в то время, как Yahoo! Local так же использует hCalendar для описания событий, и hCard – для описания контактной информации. Flickr использует hCard в профайлах пользователей, равно как и микроформат XFN. Upcoming.org содержит более миллиона записей о событиях по всему миру, размеченных с использованием hCalendar. Также в Last.fm внедрены hCard на страницах профилей пользователей [21
].
На Technorati.com есть поиск по микроформатам, в числе которых hCard , hCalendar, hReview.
Одним из способов использования такой информации являются плагины к браузерам, способные находить ее на странице, извлекать и передавать другим приложениям (адресной книге, календарям).
Так, например, микроформаты используются в новом Internet Explorer 8 [22]: с помощью технологии веб-фрагментов пользователи могут просматривать наиболее часто используемую информацию без перехода с текущей страницы, а разработчики могут помечать части веб-страниц как веб-фрагменты и облегчать пользователям отслеживание часто просматриваемой информации во время навигации по интернету. В панели "Избранное" обновленные веб-фрагменты выделяются полужирным шрифтом. Пользователи могут просмотреть обновленный веб-фрагмент или открыть его исходную веб-страницу.
Веб-фрагменты определяются разработчиком заранее [23]. В самую первую очередь, необходимо пометить элемент HTML div как контейнер, содержащий веб-фрагмент. Для этого используется имя класса hslice. В элементе hslice будут находиться все остальные определения, необходимые для веб-фрагмента. Каждый веб-фрагмент должен иметь уникальный идентификатор, поскольку именно с его помощью Internet Explorer различает веб-фрагменты на странице.
В каждом веб-фрагменте должен быть элемент для определения заголовка фрагмента. Это название определяется по классу CSS entry-title. Именно такой заголовок будет показан на панели "Избранное" и в меню командной панели поиска каналов. Если потребуется, то текст entry-title можно изменить; он обновится вместе с обновлением веб-фрагмента.
В качестве примера веб-фрагмента можно привести следующий:
<div class="hslice" id="ProductID1">
<h1 class="entry-title">Brand New Product!</h1>
<div class="entry-content"><p>This is the product definition.</p></div>
</div>
В примере добавлен еще один элемент: класса содержимого записи ( entry-content ), в который помещено содержание, которое должно отображаться пользователю (рис. 20.6).
(рис 20.6) Пример веб-фрагментаИсточник: Новые функции для веб-фрагментов, хранения и повышения производительности веб-приложений [23]
Обогатить пользовательское взаимодействие с веб-фрагментом можно при помощи визуальных элементов и встроенных (или глобальных) стилей CSS.
20.2.2. Ключевые термины
Микроформаты, hCard , Веб-фрагменты.
20.3. Поиск в Веб
20.3.1. Общие сведения
Поисковая система – веб-сайт, предоставляющий возможность поиска информации в Интернете [24]. Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на ftp-серверах, товары в интернет-магазинах, а также другую информацию.
Как правило, основной частью поисковой системы является поисковая машина (поисковый движок) – комплекс программ, обеспечивающий функциональность поисковой системы [25]. Основными критериями качества работы поисковой машины являются релевантность (степень соответствия запроса и найденного, то есть уместность результата), полнота базы, учет морфологии языка. Индексация информации осуществляется специальными поисковыми роботами. В последнее время появился новый тип поисковых движков, основанных на технологии RSS, а также среди XML -данных разного типа.
Первой поисковой системой для Всемирной паутины был "Wandex", уже не существующий индекс, который создавал "World Wide Web Wanderer" – бот, разработанный Мэтью Грэем (англ. Matthew Gray) из Массачусетского технологического института в 1993. Также в 1993 году появилась поисковая система "Aliweb", работающая до сих пор. Первой полнотекстовой (т. н. "crawler-based", то есть индексирующей ресурсы при помощи робота) поисковой системой стала "WebCrawler", запущенная в 1994. В отличие от своих предшественников, она позволяла пользователям искать по любым ключевым словам на любой веб-странице – с тех пор это стало стандартом во всех основных поисковых системах. Кроме того, это был первый поисковик, о котором было известно в широких кругах.
В 1994 был запущен "Lycos", разработанный в университете Карнеги Мелона.
Вскоре появилось множество других конкурирующих поисковых машин, таких как "Excite", "Infoseek", "Inktomi", "Northern Light" и "AltaVista". В некотором смысле они конкурировали с популярными интернет-каталогами, такими, как "Yahoo!". Позже каталоги соединились или добавили к себе поисковые машины, чтобы увеличить функциональность. В 1996 году русскоязычным пользователям интернета стало доступно морфологическое расширение к поисковой машине Altavista и оригинальные российские поисковые машины Rambler и Aport. 23 сентября 1997 была открыта поисковая машина Яндекс. В этот же год была основана компания Google.
В последнее время завоевывает все большую популярность практика применения методов кластерного анализа и метапоиска. Из международных машин такого плана наибольшую известность получила "Clusty" компании Vivisimo. В 2005 году на российских просторах при поддержке МГУ запущен поисковик Nigma, поддерживающий автоматическую кластеризацию. В 2006 году открылась российская метамашина Quintura, предлагающая визуальную кластеризацию в виде облака ключевых слов.
Поисковые cистемы обычно состоят из трех компонент [26]:
агент (паук или кроулер), который перемещается по Сети и собирает информацию;
база данных, которая содержит всю информацию, собираемую пауками;
поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.
Cредства поиска типа агентов, пауков, кроулеров и роботов используются для сбора информации о документах, находящихся в Сети Интернет. Это специальные программы, которые занимаются поиском страниц в Сети, извлекают гипертекстовые ссылки на этих страницах и автоматически индексируют информацию, которую они находят для построения базы данных. Каждый поисковый механизм имеет собственный набор правил, определяющих, как cобирать документы. Некоторые следуют за каждой ссылкой на каждой найденной странице и затем, в свою очередь, исследуют каждую ссылку на каждой из новых страниц, и так далее. Некоторые игнорируют ссылки, которые ведут к графическим и звуковым файлам, файлам мультипликации; другие игнорируют ссылки к ресурсам типа баз данных WAIS.
Агенты – самые "интеллектуальные" из поисковых средств. Они могут делать больше, чем просто искать: они могут выполнять даже транзакции от Вашего имени. Уже сейчас они могут искать сайты специфической тематики и возвращать списки сайтов, отсортированных по их посещаемости. Агенты могут обрабатывать содержание документов, находить и индексировать другие виды ресурсов, не только страницы. Они могут также быть запрограммированы для извлечения информации из уже существующих баз данных. Независимо от информации, которую агенты индексируют, они передают ее обратно базе данных поискового механизма.
Общий поиск информации в Сети осуществляют программы, известные как пауки. Пауки сообщают о содержании найденного документа, индексируют его и извлекают итоговую информацию. Также они просматривают заголовки, некоторые ссылки и посылают проиндексированную информацию базе данных поискового механизма.
Кроулеры просматривают заголовки и возвращают только первую ссылку.
Роботы могут быть запрограммированы так, чтобы переходить по различным ссылкам различной глубины вложенности, выполнять индексацию и даже проверять ссылки в документе. Из-за их природы они могут застревать в циклах, поэтому, проходя по ссылкам, им нужны значительные ресурсы Сети. Однако имеются методы, предназначенные для того, чтобы запретить роботам поиск по сайтам, владельцы которых не желают, чтобы они были проиндексированы.
Как правило, схема работы робота следующая [27]:
робот ищет файл robots.txt ;
робот читает страницу, для индексирования которой он был послан (глубина
индексирования, то есть чтения страницы зависит от конкретного робота. Некоторые останавливаются только на чтении заглавия страницы и содержимого мета-тегов, другие могут прочитать, скажем, первые 6000 символов на странице, а некоторые индексируют все содержание веб-страницы);
затем робот может либо удалиться, либо продолжить индексирование сайта;
через какое-то время робот снова может посетить эту страничку, если существует тег "revisit" или в соответствии с политикой, проводимой поисковой системой.
Когда кто-либо хочет найти информацию, доступную в Интернет, он посещает страницу поисковой системы и заполняет форму, детализирующую информацию, которая ему необходима. Здесь могут использоваться ключевые слова, даты и другие критерии. Критерии в форме поиска должны соответствовать критериям, используемым агентами при индексации информации, которую они нашли при перемещении по Сети.
База данных отыскивает предмет запроса, основанный на информации, указанной в заполненной форме, и выводит соответствующие документы, подготовленные базой данных. Чтобы определить порядок, в котором список документов будет показан, база данных применяет алгоритм ранжирования. В идеальном случае, документы, наиболее релевантные пользовательскому запросу будут помещены первыми в списке. Различные поисковые системы используют различные алгоритмы ранжирования, однако, основные принципы определения релевантности следующие:
количество слов запроса в текстовом содержимом документа (т.е. в html-коде);
тэги, в которых эти слова располагаются;
местоположение искомых слов в документе;
удельный вес слов, относительно которых определяется релевантность, в общем количестве слов документа;
время – как долго страница находится в базе поискового сервера;
индекс цитируемости – как много ссылок на данную страницу ведет с других страниц, зарегистрированных в базе поисковика.
База данных выводит ранжированный подобным образом список документов с HTML и возвращает его человеку, сделавшему запрос. Различные поисковые механизмы также выбирают различные способы показа полученного списка – некоторые показывают только ссылки; другие выводят ссылки с первыми несколькими предложениями, содержащимися в документе или заголовок документа вместе с ссылкой.
Основополагающими характеристиками информационно- поисковых систем является полнота и релевантность результатов поиска [28]. Полнота поиска тесно связано с оперативностью охвата информации системой. Созданная однажды база данных Интернет-ресурсов является "слепком" состояния Сети в конкретный момент. Если эта база не будет обновляться постоянно и оперативно, присутствующие в ней ссылки на документы станут мертвыми. Кроме того, отсутствие оперативности, обновления баз данных не позволит пользователю отслеживать последние изменения в его предметной области.
Полнота охвата ресурсов Сети – это один из двух главных аспектов характеристики полноты сетевой информационно- поисковой системы. Второй аспект связан с полнотой информации, предъявляемой пользователю по его запросу (рис. 20.7).
(рис 20.7) Два аспекта полнотыПод релевантностью понимается формальное соответствие информации, выдаваемой системой, запросу [28]. Это не характерно для формальной релевантности, однако, на практике используется другое, неформальное понятие – пертинентность.
Для пользователя пертинетность, соотношение объема полезной для него информации к общему объему полученной информации, имеет решающее значение (рис. 20.8) [28]. Достижение высокой пертинентности – основное поле конкурентной борьбы современных поисковых систем. Именно для максимального удовлетворения информационных потребностей пользователей информационно- поисковые системы сегодня максимально интеллектуализируются – получили широкое практическое применение теории и методы семантических сетей, контент-анализа и глубинного анализа текстов (Text Mining).
(рис 20.8) Релевантность и пертинентностьОтдельного рассмотрения заслуживает возможность поиска по параметрам документов, которая позволяет ограничивать диапазон поиска значениями URL, датам, заглавий и т.п. Чаще всего выйти на возможность поиска по параметрам можно из режима расширенного поиска. В режиме расширенного поиска для ввода значений отдельных параметров предлагается весь диапазон возможностей Веб-интерфейса.
Средства повышения пертинентности в современных системах, помимо возможностей уточнения формулировки запросов, включает и весовые критерии, позволяющие ранжировать найденные документы и выдавать пользователю для просмотра наиболее весомые документы, либо вообще ограничиваться выдачей не более заданного числа наиболее весомых документов. В последнем случае, естественно, страдает полнота выдачи. Т.е. при этом полнота и релевантность являются антагонистическими характеристиками – чем выше релевантность, тем ниже полнота и наоборот. Проблеме релевантности, а особенно пертинентности уделяется большое внимание в современных системах. Так, например, служба Google реализовала алгоритмы достижения неформальной релевантности, и именно благодаря этому в свое время стала самой популярной системой в Интернет.
Ранжирование выдаваемых документов может выполняться по дате создания/обновления документа, по степени важности (многие системы оценивают важность документов по весовым критериям или по количеству ссылок на них, т.е. по цитированию). Ранжирование по дате имеет особое значение при поиске новостных сообщений средств массовой информации и информационных агентств. Ранжирование по индексу цитируемости, аналогичное оценке значимости научных публикаций в традиционной научной среде впервые ввела Google, продемонстрировавшая эффективность такого подхода для Веб-пространства.
В последнее время получили развитие такие направления контент-анализа, как "Data Mining" и "Text Mining", которые предполагают автоматическое выявление нового смысла из текстовых массивов, новых данных, феноменов, фактов – знаний. Все чаще возникают попытки привлечения методов контент-анализа, а точнее Text Mining в реальные поисковые системы. И эти попытки не умозрительны – они обусловлены объемами и темпами роста Сети. Во многие современные сетевые поисковые системы внедрены такие компоненты, как:
автоматическая группировка документов, по определенному заранее классификатору;
автоматическое определение новых, не заданных заранее классов, на основе неструктурированных или слабо структурированных документов;
ранжирование документов по смысловой релевантности;
выявление семантически подобных документов – поиск подобных документов на основе эталона;
автоматический анализ и смысловое преобразование запросов пользователей.
Рейтинг поисковых систем в целом по миру в 2009 (по данным Nielsen NetRatings) [29].
Основные поисковые системыhttp://www.google.com/ – 46.2%
http://www.yahoo.com/ – 22.5%
http://search.msn.com/ – 12.6%
http://www.aol.com/ – 5.4%
http://www.myway.com/ – 2.2%
http://www.ask.com/ – 1.6%
http://search.netscape.com/ – 1.6%
Прочие поисковые системы (7.9%)
Рейтинг поисковых систем в России в 2009 (по данным SpyLog).
Основные поисковые системыhttp://www.yandex.ru/ – 54.8267%
http://www.rambler.ru/ – 21.7645%
http://www.google.com/ – 15.6207%
http://www.mail.ru/ – 4.5466%
http://www.aport.ru/ – 1.5788%
Прочие поисковые системы (1,6627%)
Из перечисленных поисковых систем не все имеют собственный поисковый алгоритм – так, например, Mail.ru использует поисковый механизм Яндекса.
OpenSearch – набор технологий, позволяющих веб-сайтам и поисковым системам публиковать результаты поиска в форматах, удобных для распространения и сбора [30].
OpenSearch был разработан A9, дочерней компанией Amazon.com. Первая версия, OpenSearch 1.0, была представлена на конференции, посвященной Web 2.0 в марте 2005 года. Черновые версии OpenSearch 1.1 были опубликованы в сентябре и декабре 2005 года. Спецификация OpenSearch лицензирована компанией A9 по Creative Commons Attribution-ShareAlike 2.5 License.
В OpenSearch входят [30, 31]:
XML -файлы с описанием поисковой системы ;
стандартизованный синтаксис запросов, описывающий, где и как получать результаты поиска;
RSS (в OpenSearch 1.0) или более общий OpenSearch -ответ (в OpenSearch 1.1) – форматы, предоставляющие поисковые результаты;
OpenSearch -агрегаторы – сайты, позволяющие отображать OpenSearch -результаты;
элементы на веб-странице для автоматического обнаружения пользовательским клиентом возможности использования OpenSearch на данном сайте.
Версия 1.0 спецификации позволяла предоставлять результаты поисковых запросов только в формате RSS, в то время как версия 1.1 позволяет использовать. RSS и Atom – единственные форматы, формально поддерживаемые OpenSearch -агрегаторами, но и другие типы вполне допустимы, например, HTML.
Поисковые системы и ПО, поддерживающие OpenSearch:
Википедия предлагает статьи, соответствующие введенной строке;
Mozilla Firefox версии 2 и выше позволяет интегрировать поисковые системы, поддерживающие OpenSearch, со своей панелью поиска;
Internet Explorer версии 7 и выше так же позволяет добавлять OpenSearch -системы;
Google Chrome;
Windows 7 и Microsoft Search Server. чтобы дать пользователям возможность общего поиска через единое место.
20.3.2. Ключевые термины
Поисковая система, поисковая машина, Агент, Поисковый робот, Полнота результатов поиска, Релевантность результатов поиска, Пертинентность, OpenSearch.
20.4. Дополнительная тема: раскрутка сайтов
20.4.1. Общие сведения
Для некоторых типов сайтов поисковики приносят до половины и больше всех посетителей (то есть, потенциальных клиентов). Необходимым условием этого является присутствие ссылки в первых строках результатов поиска по наиболее популярным запросам. Поскольку результаты поиска обычно отсортированы по релевантности, перед оптимизатором стоит задача повысить релевантность кода веб-страниц к наиболее распространенным поисковым запросам.
Поисковая оптимизация (Search Engine Optimization, SEO ) – комплекс мер для поднятия позиций сайта в результатах выдачи поисковых систем по определенным запросам пользователей [32]. Обычно, чем выше позиция сайта в результатах поиска, тем больше заинтересованных посетителей переходит на него с поисковых систем. При анализе эффективности поисковой оптимизации оценивается стоимость целевого посетителя с учетом времени вывода сайта на указанные позиции и Конверсия сайта (отношение, в числителе которого – число посетителей сайта, выполнивших полезные действия (заполнивших анкету, форму заявки, позвонивших в компанию), в знаменателе – общее количество посетителей сайта), на который привлекаются целевые посетители.
Поисковая система учитывает следующие параметры сайта при вычислении его релевантности (степени соответствия введенному запросу):
плотность ключевых слов, сложные алгоритмы современных поисковиков позволяют производить семантический анализ текста, чтобы отсеять поисковый спам, когда ключевое слово встречается слишком часто.
индекс цитирования сайта, зависящий от количества и авторитетности веб-ресурсов, ссылающихся на данный сайт; многими поисковиками не учитываются взаимные ссылки (друг на друга). Зачастую также важно, чтобы ссылки были с сайтов схожей тематики, что и оптимизируемый сайт.
Соответственно, все факторы, влияющие на положение сайта в выдаче поисковой системы, можно разбить на внешние и внутренние. Работа по оптимизации включает в себя работу с внутренними факторами (находятся под контролем владельца веб-сайта) – приведение текста и разметки страниц в соответствие с выбранными запросами, улучшение качества и количества текста на сайте, стилистическое оформление текста (заголовки, жирный шрифт), улучшение структуры и навигации, использование внутренних ссылок, а также внешними факторами – обмен ссылками, регистрация в каталогах и прочие мероприятия для повышения и стимулирования ссылаемости на ресурс.
Методы оптимизации можно разделить на три класса, однако последние события в мире поисковых систем дают понять, что это разделение весьма условно – любая манипуляция определенными параметрами сайта может быть расценена поисковиком как крайне нежелательное влияние на его результаты. Так, любая попытка манипулирования поисковыми результатами прямо запрещена в лицензии на использование поисковой системы "Яндекс".
20.4.2. Белая оптимизация
Белой оптимизацией, или естественной оптимизацией, называется оптимизаторская работа над ресурсом без применения официально запрещенных каждой поисковой системой методов раскрутки ресурса – без прямых попыток влияния на поисковые алгоритмы сайтов, или, проще говоря, естественным путем. Это включает в себя работу над самим сайтом, а именно над внутренней навигацией и контентом, и работу с внешней средой сайта, то есть продвижением оптимизируемого сайта путем обзоров, пресс-релизов, регистрации в социальных закладках, партнерских программ и т. п. с указанием ссылок на сайт. Следует отметить, что "Яндекс" предупреждает о том, что если какой-либо метод оптимизации не является официально запрещенным, это не значит, что его можно применять.
Естественная оптимизация позволяет естественным путем, анализируя поведение потребителей, добиться максимальной отдачи от сайта, а именно возрастания целевой посещаемости, популярности ресурса среди пользователей Интернет и рейтинга поисковых систем. Естественная оптимизация исключает любые "допинговые" методы оптимизации – рассылку спама, накручивание баннерных показов, и другие методы черной оптимизации.
Комплекс мероприятий для проведения белой оптимизации заключается обычно в следующем [32, 33]:
улучшение видимости сайта роботами поисковых систем ;
совершенствование удобства сайта для посетителей – юзабилити;
совершенствование текстов на сайте – контента;
анализ запросов, связанных с продвигаемым продуктом;
поиск сайтов родственной тематики для создания партнерских программ;
создание своей рассылки, позволяющей получить дополнительный приток посетителей;
использование контекстной рекламы в Интернете для получения целевых посетителей.
Благодаря грамотной корректировке контента сайта, его настройке под поисковые системы, улучшению навигации сайта и постоянному анализу пользовательских запросов – веб-сайт становится более посещаемым, интересным и удобным для пользователя. В естественной оптимизации ключевую роль играет развитие функционала ресурса (то есть увеличение сложности системы) и удобства пользователей (юзабилити).
Способы белой оптимизации можно разделить на внутренние и внешние:
Внутренние. Подбор и размещение в коде сайта META-тегов: ключевых слов, краткого описания. Делается это с учетом слов и словосочетаний, по которым сайт должен находиться в поисковых системах. Оптимизация текстов сайта, то есть обеспечение соответствия текстов META-тегам. Возможно также увеличение "веса" слова в тексте за счет выделения его жирным шрифтом.
Внешние. Добавление сайта в базы поисковых систем. Регистрация сайта в авторитетных каталогах сайтов (DMOZ, Yandex Каталог). Размещение пресс-релизов в интернете со ссылкой на продвигаемый сайт.
20.4.3. Серая оптимизация
Серые методы можно трактовать как что-то среднее между черными и белыми методами продвижения. В сущности, эти способы продвижения сайта являются полулегальными и поэтому не лишены риска, что продвигаемый сайт не забанят. К ним относятся [33]:
неоправданное использование тэгов <strong><b> и других, позволяющих воздействовать на алгоритм ранжирования в поисковых системах и хоть немного поднять позиции сайта в поисковиках;
нетематический обмен ссылками и статьями;
покупка ссылок на других сайтах;
использование сервисов автоматического обмена статьями;
ссылки с несуществующих страниц;
покупка мест под статьи на других ресурсах или размещение за плату статей со ссылками на свой сайт на других сайтах.
20.4.4. Черная оптимизация
Черная оптимизация – поисковая оптимизация (подстройка кода, текста и других параметров сайта под алгоритмы поисковых систем с целью поднятия его позиций в выдаче) с применением запрещенных и недобросовестных методов, в частности, нарушающие лицензию Яндекса; а также нарушающие правила участия в рейтинге сайтов.
К методам черной оптимизации относятся [32, 33]:
использование невидимого текста, совпадающего с цветом фона или очень близкого к нему;
использование невидимых пользователю ( width="1", height="1" ) графических изображений, равно как и невидимых фреймов и чрезмерно маленького шрифта size="1" ;
создание дорвея, т.е. сайта, который может состоять из одной, максимум из 2-3 страниц, назначение которого – привлечь посетителей и перенаправить их на основной сайт;
клоакинг, т.е. выдача текстового содержания сайта (страницы) поисковому роботу отличного от того, которое видит пользователь;
злоупотребление в тексте ключевыми словами и словосочетаниями;
использование линкаторов (программ автоматического обмена ссылками);
накрутка счетчиков в рейтингах сайтов (top100.rambler и др.) с использованием специальных сервисов;
спам по почте, т.е. беспорядочная отправка с помощью специальных программ непрошеных сообщений с просьбой посетить сайт тысячам и миллионам Интернет-пользователям.
20.4.5. Несколько рецептов по раскрутке сайта
Начать следует с оптимизации текста, который является самой важной составляющей, и его разметки [34].
текст должен быть уникальным и читабельным для человека;
в <head> должен присутствовать тег <title> </title> c заголовком страницы;
в тег <description> помещается более пространное описание страницы;
в тег <keywords> помещаются ключевые слова для этой страницы;
главный заголовок помещается в тег <h1> заголовки более низких логических уровней в теги соответственно <h2>, <h3> ;
картинки подписываются тегом "alt" с описанием содержимого;
ссылки подписываются тегом "title" с описанием того, куда они ведут;
делается навигационные панели на страницы сайта;
в статьях ставятся ссылки на важные страницы с ключевым словом;
делается карта сайта – страница, на которой содержится полный или частичный список страниц сайта, доступных с главной или всех страниц;
создается файл robots.txt:robots.txt – файл ограничения доступа к содержимому роботам на http -сервере. Файл должен находиться в корне сайта (то есть иметь путь относительно имени сайта / robots.txt ). Данный файл дополняет стандарт Sitemaps, который служит прямо противоположной цели: облегчать роботам доступ к содержимому.
Файл robots.txt используется для частичного управления индексированием сайта поисковыми роботами. Этот файл состоит из набора инструкций для поисковых машин, при помощи которых можно задать файлы, страницы или каталоги сайта, которые не должны индексироваться.
Файл состоит из записей. Записи разделяются одной или более пустыми строками. Каждая запись содержит непустые строки следующего вида:
<поле>:<необязательный пробел><значение><необязательный пробел>
где поле – это либо User-agent, либо Disallow.
Примером robots.txt может служить следующий текст:
User-agent: * //для всех агентов
Disallow: /images/ //не индексируем содержимое папки images
Disallow: /*.css$ //не индексируем файлы с расширением css во всех подпапках сайта
Sitemap: http://example.com/sitemap.xml //указываем расположение файла sitemap.xml
создается файл sitemap.xml .Sitemaps – это XML -файл с информацией для поисковых систем (таких как Google, Yahoo, Ask.com, MSN, Яндекс) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт.
Ниже приведен пример файла Sitemap, в котором содержится только один URL-адрес и использованы все необязательные теги.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://example.com/</loc> // местонахождение страницы
<lastmod>2005-01-01</lastmod> // время последнего обновления
<changefreq>monthly</changefreq> // частота обновления
<priority>0.8</priority> // важность относительно других страниц
</url>
</urlset>
Рекомендуется располагать файл Sitemap в корневой директории сервера
После оптимизации текста и его разметки следует приступить к использованию белых механизмов раскрутки [35]:
регистрация в каталогах сайтов и каталогах пресс-релизов;
регистрация в каталогах статей или обмен статьями;
размещение объявлений на досках объявлений;
обмен ссылками (приемлем только с тематическими ресурсами);
размещение новостей на новостных порталах;
создание RSS-ленты и регистрация в RSS-каталогах;
создание и ведение рассылок на своем и/или специализированных ресурсах;
создание конкурсов и акций на сайте;
создание и ведение групп в социальных сетях.
20.4.6. Ключевые термины
Поисковая оптимизация, SEO, Плотность ключевых слов, Индекс цитирования сайта, Белая оптимизация, Серая оптимизация, Черная оптимизация.
20.5. Дополнительная тема: использование служб статистики
20.5.1. Общие сведения
Веб-аналитика (Web analytics) – это измерение, сбор, анализ, представление и интерпретация информации о посетителях веб-сайтов с целью их улучшения и оптимизации [36]. Основной задачей веб-аналитики является мониторинг работы веб-сайтов, на основании которого определяется веб-аудитория и изучается поведение веб-посетителей для принятия решений по развитию и расширению функциональных возможностей веб-ресурса.
Веб-аналитика помогает во многих аспектах развития сайта. Вот основные из них:
развитие функционала сайта, на основании тенденций в поведении посетителей;
оценка эффективности рекламных кампаний любого типа;
выявление проблемных мест в навигации сайта.
К основным методам веб-аналитики можно отнести:
Анализ посещаемости сайта: статистика, тенденции, абсолютные и относительные показатели.
Анализ юзабилити (анализ плотности щелчков, путей по сайту)
Бенчмаркинг. Сравнение с общими тенденциями и с конкурентами с помощью независимых исследователей (Alexa, GemiusAudience, Google Trends)
Основными инструментами веб-аналитики можно считать:
Анализаторы логов (WebTrends, Webalizer, AWStats).
Счетчики-рейтинги – дают количество посетителей за день, неделю, месяц, за всю историю (Rambler's TOP 100, Рейтинг@mail.ru).
Системы интернет-статистики – дают суммарную информацию по посещениям, выбранным по некоторому срезу, заданному пользователем ( Google Analytics, SpyLog, Liveinternet, Яндекс.Метрика, stat24).
Системы интернет-статистики с детализацией по просмотрам страниц – кроме суммарной информации, дают информацию по просмотрам страниц внутри каждого посещения (Woopra, Yahoo Web Analytics).
Системы интернет-аналитики с детализацией поведения посетителя на странице – дают максимально возможную детализацию с возможностью просмотра всех действий посетителей: движений мыши, кликов, нажатий клавиш и т.д. (ClickTale, WebVisor).
Рассмотрим более подробно два сервиса веб-аналитики: Google Analytics и Яндекс.Метрика.
Google Analytics . Инструмент профессионального уровня, функционирующий на хорошо зарекомендовавшем себя движке компании Urchin, приобретенной Google в 2005 году (рис. 20.9). С тех пор услуги системы стали бесплатными, а сам сервис обзавелся множеством дополнительных возможностей. Google Analytics можно использовать для любого количества сайтов любого масштаба. При этом исследовать статистику ресурсов можно не только посредством стандартных отчетов, но и при помощи так называемых пользовательских отчетов, отображающих информацию в соответствии с заранее заданными правилами. Интерфейс системы выполнен с использованием технологий Flash и Ajax, прост и переведен на множество языков, включая русский. Для работы с сервисом необходима учетная запись Google.
Основными плюсами Google Analytics можно считать [37]:
невидимый счетчик;
интеграция с рекламными сетями Google AdWords и AdSense;
возможность предоставления доступа к статистике другим пользователям Google;
наличие средств администрирования;
доставки отчетов по электронной почте и их экспорта в другие форматы;
справочная документация на русском языке;
открытый API, позволяющий встраивать Google Analytics в другие программные продукты.
(рис 20.9) Google AnalyticsЯндекс.Метрика. Бесплатный инструмент компании "Яндекс" для оценки посещаемости сайта, анализа поведения пользователей и эффективности рекламных усилий (рис. 20.10). Сервис постоянно совершенствуется и в настоящий момент осуществляет формирование восьми групп отчетов (трафик, источники, возвраты, содержание, география, демография, карта путей, компьютеры посетителей), каждый из которых состоит из временного фильтра, интерактивного флэш-графика и таблицы с данными. Сродни Google Analytics, в " Яндекс.Метрике " также предусмотрен механизм разграничения доступа к собираемым счетчиком данным. Все отчеты в системе обновляются с периодичностью раз в 5 минут.
Основными плюсами Яндекс.Метрики можно считать [37]:
интеграция с "Яндекс.Директом" и "Яндекс.Маркетом";
наличие функции мониторинга доступности сайтов с возможностью рассылки SMS-уведомлений;
справочная документация на русском языке;
невидимый счетчик.
Недостатком " Яндекс.Метрики " можно считать отсутствие механизмов экспорта статистических данных.
(рис 20.10) Яндекс.МетрикаВ табл. 15.1 приведено сравнение Google Analytics и " Яндекс.Метрика " [38].
Сравнение Google Analytics и "Яндекс.Метрика"
| Параметр |
" Яндекс.Метрика " |
Google Analytics |
| Обновление статистики |
Каждые 5 минут (время между действиями пользователя на сайте и отражением их в отчетах – около 15 минут) |
Раз в сутки, что не позволяет вести наблюдение внутрисуточной активности пользователей на сайте |
| Интерфейс |
Простой интерфейс и функционал, удобный для начинающих, иногда недостаточный для профессионалов |
Сложный интерфейс. Для полного освоения возможностей сервиса нужно прочесть объемную справку или даже прослушать обучающий семинар |
| Оповещение о проблемах на сайте |
В случае недоступности сайта высылается оповещение по e-mail или sms |
Не предусмотрено |
| Интеграция с рекламной системой |
Интеграция с "Яндекс.Директом" и "Рекламной Сетью Яндекса" – номинальная (ссылка из интерфейса рекламной системы на "Метрику") |
Есть интеграция с Google AdWords и AdSense |
| Отслеживание субдоменов |
Нужно поставить код счетчика на каждом субдомене |
Субдомены сайта можно отслеживать в том же профиле, что и основной домен |
| Сравнение с конкурентами |
Нет |
Можно сравнить посещаемость, показатель от¬казов, количество новых посетителей и другие данные по различным тематикам, если в на¬стройках включить анонимное предоставление |
| Демографические данные |
От Яндекса "Метрика" получает социо-демографическую статистику – пол и возраст аудитории сайта |
Не анализируются |
| Фильтры данных |
Позволяют только фильтровать данные по целевым визитам. Настраиваемых фильтров нет |
Более гибкие, позволяют исключить из отчетов определенный трафик (например, просмотры сайта сотрудниками компании, а не клиентами) по домену, по IP или по пользовательскому фильтру |
| Сегментация трафика |
Стандартная по источникам трафика: поисковики, сайты, страницы, поисковые фразы, рекламные системы |
Помимо стандартной, есть функция "расширенные сегменты трафика", которая позволяет анализировать отдельные группы трафика, например, "посещения с конверсиями", или создать новые виды отчетов, компонуя сегменты |
| Сравнение и наложение данных |
Отсутствует |
Предусмотрены разнообразные варианты наложения данных – например, данных о посетителях сайта – на карту мира или информации о кликах – на главную страницу сайта. Имеются возможности сравнения и со¬поставления по диапазонам дат |
| Визуальное отображение путей по сайту |
Полный визуальный отчет по всему сайту – "Карта путей" (наглядное и красочное отображение переходов: из основных источников трафика внутрь сайта) |
Сводка по навигации только для отдельной страницы с источниками входа и выхода посетителей |
| Экспорт данных |
Данные из отчетов можно экспортировать в файлы в форматах Excel, CSV |
Данные из отчетов можно экспортировать в файлы в форматах Excel, PDF, CSV, TSV |
| Работа с другими рекламными системами |
Показываются переходы на сайт из всех трех лидирующих систем контекстной рекламы ("Яндеко.Директа", Google AdWords и "Бегуна") |
По умолчанию показываются данные только по Google AdWords. Для "Бегуна" и "Яндекс. Директа" данные по стоимости загрузить нельзя, но можно высчитать полезность цели посещения, процент конверсии. Система может отслеживать все типы интернет-рекламы, включая баннерные объявления, ссылки для перехода, кампании на основе электронной почты |
| Возможности для интернет-магазинов |
Специальных функций не предусмотрено |
Если подключить раздел "Электронная торговля", можно отследить доход от покупок на сайте, составить рейтинг переходов (процент посещений, в ходе которых были сделаны покупки), посчитать транзакции (количество заказов на покупку), узнать, какие категории продуктов лучше покупают и т.д. |
| Поиск по данным |
Отсутствует |
У Google Analytics есть внутренний поиск по данным – можно найти, например, среди сайтов-источников определенный домен |
" Яндекс.Метрика " как отечественный сервис лучше адаптирована к реалиям Рунета, предупреждает о проблемах с сайтом, поддерживает три системы контекстной рекламы в отчетах, предоставляет доступ к демографическим данным пользователей.
Google Analytics предоставляет, в сравнении с " Яндекс.Метрикой ", практически безграничные возможности для анализа сайта. Но сложность интерфейса, как показывает практика, многих пользователей останавливает в освоении системы на начальной стадии.
Оба инструмента быстро развиваются, в них добавляются новые возможности, и нет сомнений, что критические пробелы в функционале " Яндекс.Метрики " в недалеком будущем заполнятся. Имеет смысл использовать обе системы: " Яндекс.Метрику " – для экспрессанализа, Google Analytics – для глубокого "разбора полетов" и стратегического планирования.
20.5.2. Ключевые термины
Веб-аналитика, Анализ посещаемости сайта, Анализ юзабилити, Бенчмаркинг, Анализаторы логов, Счетчики-рейтинги, Системы интернет-статистики, Google Analytics, Яндекс.Метрика.
20.6. Краткие итоги
Семантическая паутина – часть глобальной концепции развития сети Интернет, целью которой является реализация возможности машинной обработки информации, доступной во Всемирной паутине.
Semantic Web в математической форме представляет собой разновидность графа – набора вершин, соединенных дугами. В Semantic Web роль вершин выполняют понятия
Машинная обработка возможна в семантической паутине благодаря двум ее важнейшим характеристикам:
Повсеместное использование универсальных идентификаторов ресурсов ( URI );
Повсеместное использование онтологий и языков описания метаданных ;
Поисковые агенты получат возможность взаимодействовать не только с информацией, хранимой в сети и доступной ей для обработки, но еще и между собой.
Техническую часть Semantic Web составляет семейство стандартов на языки описания:
XML ;
XML Schema ;
RDF ;
RDF Schema ;
OWL.
Также стоит выделить технологии.
Унифицированные идентификаторы ресурсов ( URI );
SPARQL.
Критика Semantic Web заключается в следующем:
Практическая реализуемость;
Дублирование информации;
Проблемы для бизнеса;
Анонимность и сохранение авторских прав.
Микроформаты – это способ семантически размечать сведения о разнообразных сущностях на веб-страницах, используя стандартные элементы языка HTML (или XHTML).
Каждый микроформат решает определенную, отдельную задачу. Вот наиболее известные из них [20]:
hCard ;
hCalendar ;
hAtom ;
XFN ;
geo ;
hReview ;
nofollow.
Микроформаты используются в Internet Explorer 8 в виде технологии веб-фрагментов.
Поисковая система – веб-сайт, предоставляющий возможность поиска информации в Интернете.
Поисковые cистемы обычно состоят из трех компонент:
агент (паук или кроулер), который перемещается по Сети и собирает информацию;
база данных, которая содержит всю информацию, собираемую пауками;
поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.
Основополагающими характеристиками информационно- поисковых систем является полнота и релевантность результатов поиска. Для пользователя пертинетность, соотношение объема полезной для него информации к общему объему полученной информации, имеет решающее значение.
OpenSearch – набор технологий, позволяющих веб-сайтам и поисковым системам публиковать результаты поиска в форматах, удобных для распространения и сбора.
Поисковая оптимизация – комплекс мер для поднятия позиций сайта в результатах выдачи поисковых систем по определенным запросам пользователей.
Поисковая оптимизация делится на:
Белую оптимизацию ;
Серую оптимизацию ;
Черную оптимизацию.
Веб-аналитика – это измерение, сбор, анализ, представление и интерпретация информации о посетителях веб-сайтов с целью их улучшения и оптимизации.
Основными инстументами веб-аналитики можно считать:
Анализаторы логов ;
Счетчики-рейтинги ;
Системы интернет-статистики.
Презентацию к данной лекции Вы можете скачать здесь.
20.1. Семантический веб
20.1.1. Введение
Семантическая паутина ( Semantic Web ) – часть глобальной концепции развития сети Интернет, целью которой является реализация возможности машинной обработки информации, доступной во Всемирной паутине. Основной акцент концепции делается на работе с метаданными, однозначно характеризующими свойства и содержание ресурсов Всемирной паутины, вместо используемого в настоящее время текстового анализа документов. Термин впервые введен сэром Тимом Бернерсом-Ли в мае 2001 года в журнале "Scientific American" [1], и называется им "следующим шагом в развитии Всемирной паутины". В семантической паутине предполагается повсеместное использование, во-первых, универсальных идентификаторов ресурсов ( URI ), а во-вторых – онтологий и яз
ыков описания метаданных.
Эта концепция была принята и продвигается Консорциумом W3 [2]. Для ее внедрения предполагается создание сети документов, содержащих метаданные о ресурсах Всемирной паутины и существующей параллельно с ними. Тогда как сами ресурсы предназначены для восприятия человеком, метаданные используются машинами ( поисковыми роботами и другими интеллектуальными агентами) для проведения однозначных логических заключений о свойствах этих ресурсов.
20.1.2. История
Semantic Web был задуман консорциумом W3 достаточно давно. С середины 90-х писались разные статьи и заметки, которые не привлекали особого внимания широкой общественности. Переломным моментом стала статья, опубликованная 17 мая 2001 г. в журнале Scientific American Тимом Бернерса-Ли, Джеймсом Хэндлером и Орой Лассила "The Semantic Web "
У этой статьи было одно назначение – привлечь внимание к Semantic Web всех, кого только можно было. Интерес к Semantic Web в 2001 году, конечно, появился, но профессиональные разработчики после прочтения этой статьи поняли, что до прихода Semantic Web еще должно пройти много времени, т.к. W3C не разработал к тому времени совершенно никаких технологий (кроме языка RDF ), которые могли бы хоть как-то помочь осуществить задуманное.
10 февраля 2004 г. на сайте W3C появляется описание языка " OWL " (язык описания онтологий ).
Через полгода новый язык описания онтологий OWL стал поддерживать редактор онтологий Protege – разработка Стенфордского Университета. В это же время Semantic Web начало активно интересоваться международное научное сообщество. В разных изданиях появляется вал статей по Semantic Web. Председатель Консорциума W3 Тим Бернерс-Ли получает орден Сера из рук Королевы Соединенного Королевства.
В 2005 г. на сайте W3 появляется описание RDF /A – синтаксиса, который уже сейчас позволяет встраивать метаданные RDF в документы XHTML.
10 марта 2006 г. выходит RDF /A Primer. Таким образом, уходя по цепочке XML - RDF -RDFS- OWL все дальше и дальше от существующей в сети HTML разметки Semantic Web был "привязан" к XHTML.
В 2006 г. также завершилась разработка языка запросов к RDF документам с SQL-подобным синтаксисом, его окончательное название – SPARQL.
20.1.3. Основные идеи
Semantic Web – это эволюция World Wide Web, информация в которой машинно-обрабатываемая (а не только ориентированная на обработку человеком), таким образом, позволяя браузерам или другим программным агентам производить поиск, распределять и комбинировать информацию намного проще [3]. Semantic Web предусматривает объединение этих разных видов информации в единую структуру, где каждому элементу "человеческой" информации будет соответствовать машинный код – специальный смысловой тэг.
Semantic Web в математической форме представляет собой разновидность графа – набора вершин, соединенных дугами. В Semantic Web роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений. Идея состоит в том, чтобы глобальной семантической сетью было подмножество систем, которые замкнуты на специфичных путях достижения достаточного удобства для машин. Таким образом, Семантическая Сеть сама собой не будет задавать выводящую машину. Она будет задавать валидность операции и требовать связей между ними.
Рассмотрим состояние современной глобальной сети и принципы работы современных поисковых систем [4].
Представление информации в сети:
теги в HTML не несут семантической нагрузки;
процент полезной информации меньше процента разметки;
разметка, в том числе, из-за большой сложности и вложенности (например, проблема табличной верстки) содержит много ошибок.
Информация предназначена только для просмотра человеком, из чего вытекают следующие принципы работы поисковых систем сегодня:
весовые коэффициенты на основе расположения слов;
важность слова в зависимости от тега;
релевантность (т.е. сколько раз встречается данное слово в данном документе по отношению другим);
анализ "веса" ссылок в зависимости от количества ссылок указывающих на данную страницу.
Из-за этого возникают следующие проблемы:
машины не понимают и, следовательно, не анализируют смысл информации
поиск неудобен и сложен, часто результаты неудовлетворительные и не релевантные;
оптимизаторы ( SEO – Search Engine Optimizations) "играют" на несовершенстве алгоритмов поисковых систем, умышленно нарушая правильность разметки для кратковременного эффекта высоких позиций в поисковых запросах.
Но есть и ряд положительных тенденций, которые позволяют практически приблизиться к Semantic Web:
появилась возможность эффективно отделять разметку от оформления путем применения CSS;
на смену HTML пришла на замену разновидность XML языка описания документов – XHTML.
Для того чтобы решить все вышеперечисленные проблемы Консорциумом W3 рекомендовал решение – применение Semantic Web.
Семантическая паутина – это надстройка над существующей Всемирной паутиной, которая призвана сделать размещенную в ней информацию более понятной для компьютеров. Машинная обработка возможна в семантической паутине благодаря двум ее важнейшим характеристикам [7]:
Повсеместное использование универсальных идентификаторов ресурсов ( URI ). Традиционная схема использования таких идентификаторов в современном Интернете сводится к установке ссылок, ведущих на объект, им адресуемый. Очевидным свойством такой ссылки является возможность "загрузки" объекта, на который она указывает. Таким объектом может быть Веб-страница, файл произвольного содержания, фрагмент Веб-страницы, а также неявное указание на обращение к реально существующему физическому ресурсу по протоколу, отличному от HTTP (например, ссылки mailto:). Концепция семантической паутины расширяет это понятие, включая в него ресурсы, недоступные для скачивания. Адресуемыми с помощью URI ресурсами могут быть, например, отдельные люди, города и другие географические сущности, художественные артефакты и т. д. К идентификатору предъявляются несколько простых требований: он должен быть стр
окой определенного формата, уникальной, а также адресующей реально существующий объект.
Повсеместное использование онтологий и языков описания метаданных. Современные методы автоматической обработки данных, доступных в Интернете, как правило, основаны на частотном и лексическом анализе текстового содержимого (хотя есть и исключения: Swoogle или Intellidimension Semantic Web Search Engine, например), которое прежде всего предназначено для восприятия человеком. В семантической паутине предлагается использовать форматы описания, доступные для машинной обработки (например, семейство форматов, часто упоминаемое в литературе как " Semantic Web family": RDF, RDF Schema или RDF -S и OWL ), в свою очередь, использующие URI
для
адресации описываемых и описывающих объектов, а также онтологии и дескриптивные логики в качестве базовых математических формализмов.
Пользователи получат массу вполне ощутимых преимуществ от реализации Семантической Сети. Когда все программы, будь то браузер, почтовый клиент или Веб-сайт, смогут понимать смысл той информации, с которой работает пользователь. Они смогут предоставлять ему дополнительные сервисы. Работа человека станет более эффективной, серфинг более осмысленным, а поиск в Интернете – более точным.
Здесь стоит отметить, что поисковые агенты получат возможность взаимодействовать не только с информацией, хранимой в сети и доступной ей для обработки, но еще и между собой. Это дает возможность, как проверять результат, полученный одним агентом, так и находить более качественное решение, а также уточнять полученные результаты. Это напоминает модель взаимодействия двух людей, обладающих определенными знаниями и ведущих диалог. Нельзя не заметить, что в данном случае у людей вероятно возникновение нового знания в результате этого диалога. То же самое можно сказать об агентах – в результате взаимодействия двух агентов может появиться новое для агента знание.
Однако при всей очевидной важности Semantic Web существует множество трудностей и неразрешимостей в его реализации.
Мечта логиков последнего столетия – найти язык, в котором все предложения были бы ложны или истины и, по возможности, без других вариантов. Эта попытка ограничить язык, чтобы избежать возможность внутренних противоречивых утверждений, которые не могут быть разделены только на истину и ее отсутствие.
В Semantic Web это выглядит как сугубо академическая проблема: когда на самом деле нечто оперирует с массой недостоверной информации с любой точки зрения и ограничивается тем, что использует для ограничения подсистемы Веб. Очевидно, оно не должно иметь возможность выводить внутренне-противоречивые утверждения, но это не страшно, когда язык достаточно мощный, чтобы описать это. Действительно, достоверные системы должны дать нам мощность сказать "Утверждение ложно" и цикл, который, если верить замкнутому противоречию будет разрешен сам по себе или преднамеренно. Типичный ответ системы, которая ищет утверждения, приводящие к внутреннему противоречию, возможно, будет похож на результат поиска противоречия из того же источника [5].
Проблема ложности не только в возможности выразить парадокс, но и в возможности, учитывая парадокс вывода иметь возможность вывести ложность.
Очень важным моментом является то, как информация будет представлена в сети. Тут есть определенные требования.
Системы представления знаний должны обладать следующими свойствами [4]:
они должны иметь по возможности компактный синтаксис;
в них должна быть четко определенная семантика такая, чтобы любой мог сказать, что это означает;
она должна обладать достаточными описательными возможностями, чтобы представлять знания человека;
она должна иметь эффективный, мощный и понимаемый механизм вывода;
она должна иметь возможность работать с большими базами данных.
Доказана сложность достижения третьего и четвертого пункта одновременно [4]. Бинарные модели позволяют снизить сложность достижения этих пунктов. Когда отношения простые, их легче описать и произвести вывод на них. Отметим, что любую n -арную модель можно привести к бинарной, упростив вычисления и сложность создания агента, который будет с ней работать.
Все это позволяет расширить возможности поиска, поиск в сети становится не просто сбором документов и оценки связи слов, например, стоящих друг от друга на определенном расстоянии, которым при формировании результатов запроса расставляются веса, влияющие на их порядок при выдаче
Таким образом, достигается один из главных эффектов Semantic Web – получение нового, "синтетического" смысла, выводимого на связях документов, содержавших этот смысл только потенциально. Такой результат, очевидно, следует понимать как первый этап извлечения "глубинной" семантики первого уровня.
С другой стороны, это уже означает, что, получив отношения между документами, можно шагнуть гораздо дальше простой выдачи текстовой информации. Можно не только выдать результаты, можно их, как минимум, проанализировать и подготовить, а на следующем шаге – создать автоматизированные системы обработки этой информации, тем самым, решив целый ряд практических проблем.
Технологии Semantic Web могут быть использованы в разных прикладных областях. Например, в области интеграции данных, в результате чего данные из разных источников и в разных форматах могут быть интегрированы в одном приложении; в области описания и классификации ресурсов для обеспечения более качественных, учитывающих предметную область, средств поиска информации; в области каталогизации, для описания содержимого и взаимосвязей между Веб-сайтами, страницами, или цифровыми библиотеками; в области программных агентов с развитой логикой, для облегчения распространения информации; в области рейтинговых систем; при описании коллекций страниц которые логически составляют один документ; для описания прав интеллектуальной собственности Веб-страниц и во многих других.
Для того чтобы достичь целей описанных выше, важнее всего иметь возможность определить и описать взаимоотношения между данными (т.е. ресурсами) в Сети. Это не слишком сильно отличается от использования гиперссылок в современном Интернете, которые связывают текущую Веб-страницу с другой: гиперссылки определяют связь между текущей страницей и целевой. Одним из главных отличий является то, что в Семантической сети такие связи могут быть установлены между любыми двумя ресурсами – отсутствует само понятие: "текущая страница". Другое важное отличие это то, что связь (т.е. ссылка) сама – поименована, в то время как ссылки используемые людьми в (традиционном) Интернете не именуются, и их роль выводится читателем. Определение таких связей позволяет организовать более качественный и автоматический обмен данными. RDF, который является одним из фундаментальных строительных блоков, из которых состоит Семантическая Паутина, предоставляет формальные средства для такого обмена.
На эту основу, опираются дополнительные строительные блоки. Приведем несколько примеров.
Инструменты для формирования более точной и детальной классификации и описания характеристик таких отношений. Это гарантирует способность к взаимодействию и более сложные виды автоматической обработки. Например, сообщество может договориться о том, какое имя использовать для описания ссылки связывающей страницу с календарем. Это имя затем может быть использовано множеством разных пользователей и приложений без необходимости каждый раз переопределять такие имена (например, RDF Schemas, OWL, SKOS).
Инструменты для запроса информации, описанной с помощью таких отношений (например, SPARQL ).
В более сложных случаях существуют специальные инструменты для определения логических взаимосвязей между ресурсами и связями. Например, если ссылка связывает человека с его/ее e-mail адресом, то вполне оправданно провозгласить, что e-mail адрес – уникален, т.е. адрес не разделяется среди нескольких человек (например, OWL, Rules).
Инструменты для извлечения из и для связывания с традиционными источниками данных, для того, чтобы гарантировать их способность обмениваться информацией с другими источниками (например, GRDDL, RDF ).
Как и все инновационные технологии, Semantic Web претерпевает эволюцию: сначала развивается в исследовательских лабораториях, затем получает поддержку Open Source сообщества, потом появляются небольшие специализированные "стартапы", и, наконец, технология начинает получать широкую поддержку со стороны бизнеса. Так же, классическая Всемирная Паутина изначально была разработана в центре Физики Высоких Энергий.
В настоящее время, Semantic Web все чаще и чаще используется маленькими и большими компаниями. Oracle, IBM, Adobe, Software AG, или Northrop Grumman – только некоторые, из больших корпораций, которые уже воспользовались этой технологией, и продают как инструменты, так и целостные бизнес решения. Крупные прикладные области, такие как медицина, заинтересованы в тех средствах интеграции данных, которые предоставляет Semantic Web.
20.1.4. Технологии и инструменты
20.1.4.1. Стек стандартов Semantic Web
Десятилетиями создатели информационных технологий упускали из виду предмет своей деятельности – информацию. Точнее, информация присутствовала, но как-то неявно, обычно ее отождествляли с данными. Semantic Web – одно из тех явлений в мире ИТ, которые заставляют всерьез задуматься о различии между данными и информацией [6].
Но еще в начале 90-х годов Бернерс-Ли и Калио предполагали возможность включения метаданных в гиперсвязи, задумываясь о том, как дополнить их сведениями, относящимися к передаваемым данным. Практика показывает, что для общения между людьми метаданные критического значения не имеют: люди сами являются носителями контекста, в большинстве случаев им достаточного для понимания смысла сообщения, описывать переданное сообщение не требуется; правда, нередко неверное понимание контекста приводит к ошибкам. Иное дело машины. Здесь контекст должен быть зашит жестко, чтобы полученное сообщение однозначно интерпретировалось (например, если данные поступают в систему от датчика). Если же это невозможно, то нужны дополнительные сведения о том, как следует интерпретировать полученное сообщение; такие дополнительные данные и называют метаданными. Эти метаданные могут интерпр
етироваться машинными средствами, а потому открывают возможность установить взаимоотношения не только между людьми, но и между сайтами, и между устр
ойствами, включенными в Сеть. Встраивание метаданных в гиперсвязи – главное отличие пропагандируемого Бернерсом-Ли второго поколения Всемирной Паутины, которое он называет Semantic Web, или Веб для машин.
Предшествующий опыт подсказывает, что для создания Semantic Web следует построить информационную коммуникационную модель, аналогичную семиуровневой модели OSI (но в приложении к Веб) и ориентированную на обмен информацией, а не данными. Именно так и поступил Бернерс-Ли. Начиная с 1998 года, он популяризирует разработанную им многоуровневую модель Semantic Web. В наиболее наглядном виде она может быть оформлена в форме стека уже существующих и проектируемых стандартов. На рис. 20.1 и рис. 20.2 представлена редакция стека, датируемая 2000-м и 2005 годом. Используемые для построения модели понятия и конструкции достаточно сложны и специфичны, поэтому опишем эти модели на самом поверхностном уровне.
(рис 20.1) Оригинальная модель Semantic Web (2001 г.)Источник: О стеке стандартов Semantic Web [6]
(рис 20.2) Стек стандартов Semantic Web в редакции 2005 годаИсточник: О стеке стандартов Semantic Web [6]
Если проводить аналогию с моделью OSI, то нижние уровни URI, кодировка Unicode, XML и XML Schema соответствуют нижним уровням семиуровневой модели, они обеспечивают представление, но не налагают никаких семантических ограничений на содержание этих документов. Основу модели составляют RDF (Resource Description Framework). Модель RDF представляет собой структуру метаданных, предназначенную для описания ресурсов в форме триады. Эту триаду называют субъектно-предикативно-объектным выражением на языке XML. В 1999 году работы по созданию RDF были инициированы компаниями Apple и Netscape, в 2004 году была опубликована совершенно новая редакция RDF 2.0. Уровнем выше стоит RDF Schema, она служит ср
едством для описания свойств и классов RDF -ресурсов, а также задает семантику для иерархий-обобщений таких свойств и классов.
Для представления модели данных, отражающей свойства реального мира, используется еще одно довольно непростое понятие – " онтология ". Оно заимствовано из теории систем, в данном случае его можно интерпретировать как некоторый объем знаний. Для описания онтологий служит специальный язык OWL.
Развивая аналогию между моделью OSI и стеком стандартов Semantic Web, отметим, что в обеих моделях на нижнем уровне располагается "физическое представление", но в первом случае – представление данных, а во втором – информации. А на верхнем уровне – "очищенное" представление, готовое для использования. Различие состоит в том, что в модели OSI – это данные, а в модели Semantic Web – информация. Работа и той, и другой модели сводится к установлению соответствия между нижним и верхним уровнями.
Стек стандартов Semantic Web описывает интерфейсы между уровнями, не более того. Но кроме стандартов нужны еще и средства для реализации, поэтому кроме самого стека активно развиваются сервисы, обеспечивающие работу Semantic Web ( Semantic Web Services). К сожалению, архитектура Semantic Web Services Architecture еще меньше проработана, чем Semantic Web, известны лишь отдельные исследования, выполненные в университетских лабораториях.
С практической точки зрения наибольший интерес представляет не собственно Semantic Web, а процесс сближения идей Semantic Web и Веб-сервисов. Развитие в этом направлении может привести к созданию нового поколения сервисов, которые пока условно называют "интеллектуальными Веб-сервисами".
20.1.4.2. Компоненты Semantic Web
Техническую часть Semantic Web составляет семейство стандартов на языки описания, включающее XML, XML Schema, RDF, RDF Schema, OWL, а также некоторые другие. Располагая их в порядке повышения уровня абстракции, реализуемого тем или иным языком, получаем [7].
XML предоставляет синтаксис для определения структуры документа, подлежащего машинной обработке. Синтаксис XML не несет семантической нагрузки.
XML Schema определяет ограничения на структуру XML -документа, для того, чтобы обеспечить предсказуемость обработки. Стандартный синтаксический анализатор языка XML в состоянии проверить произвольный XML -документ на соответствие его структуры, так называемой схеме документа, описанной в XML Schema.
RDF представляет собой простой способ описания экземплярных данных в формате субъект-отношение предикат-объект, в котором в качестве любого элемента этой тройки используются только идентификаторы ресурсов. Существует стандартизованное отображение этих троек на XML -документы предопределенной структуры (т.е. консорциумом W3 определена схема XML -документов, содержащих RDF -описания), а также на другие форматы представления (например, в нотацию N3).
RDF Schema (RDF-S) описывает набор атрибутов (здесь их точнее назвать отношениями), таких, как rdfs:Class, для определения новых типов RDF -данных. Языком поддерживается также отношение наследования типов rdfs:subClassOf. Таким образом, RDF Schema описывает свойства, классы и иерархии ресурсов RDF.
OWL (Web Ontology Language) расширяет возможности по описанию новых типов (в частности, добавлением перечислений), а также позволяет описывать новые типы данных RDF Schema в терминах уже существующих (например, определять тип, являющийся пересечением или объединением двух существующих). OWL используется для точного представления значений терминов в словарях и описания взаимосвязей между этими терминами. Это представление терминов и их взаимосвязей называется онтологией. OWL имеет больше механизмов для выражения значений, чем XML, RDF и RDF -S, и он превосходит эти языки по возможности представлять контент, который могут интерпретировать машины.
Вышеперечисленные стандарты можно увидеть на рис. 20.3.
(рис 20.3) Рекомендации W3C касательно Semantic WebИсточник: Использование технологии Semantic Web в системе поиска несоответствий в текстах документов [8]
Также стоит выделить следующие технологии.
Унифицированные (или универсальные) идентификаторы ресурсов ( URI ) – это короткие символьные строки, которые идентифицируют ресурсы в Веб: документы, изображения, загружаемые файлы, сервисы, электронные почтовые ящики и т. п. URI (URL) обеспечивают программам простой доступ к указанным ресурсам.
SPARQL – язык запросов к документам RDF и протокол передачи данных.
Рассмотрим более подробно некоторые из данных технологий.
20.1.4.2.1. RDF
RDF (Resource Description Framework) – это универсальный язык для представления знаний в Сети [9]. Используя простую реляционную модель, он позволяет различным приложениям обмениваться данными. RDF данные описывают знания в самом общем виде. В то время как XML схемы просто описывают структуру документа, RDF имеет дело со знаниями как таковыми. Это позволяет значительно расширить область применения данных, представленных в таком формате. Если XML позволяет обмениваться информацией в рамках одного приложения, то RDF предоставляет универсальное средство для обмена данными между разными программами. Причем сами программы могут ничего не знать друг о друге.
Изначально RDF представлял собой инфраструктуру для метаданных, и предназначался для организации взаимодействия приложений, которые обмениваются информацией через Интернет. RDF обеспечивает средства для организации автоматической обработки Веб-ресурсов и, таким образом, предоставляет базовый функционал для организации работы Семантической Паутины. Метаданные RDF могут быть использованы во множестве разных прикладных областей. Например, в области поиска информации, для обеспечения более адекватных результатов работы поисковых серверов; в области каталогизации, для описания содержания и взаимоотношений между теми или иными ресурсами; в области интеллектуальных программных агентов, для облегчения обменом знаниями; для описания прав интеллектуальной собственности на Веб-ресурсы и многое другое. RDF
данные снабженные цифровой подписью станут ключом к созданию Сети, которой можно доверять ("Web of Trust"), для электронной торговли, сотрудничества, и других приложений.
RDF обеспечивает следующие возможности:
взаимообмен данными;
семантика доступная для понимания компьютерами;
большая точность в процессе анализа ресурса, чем полнотекстовый поиск;
более стойкие к изменениям приложения.
Дальнейшее развитие RDF также обеспечит:
унифицированные средства для поиска ресурсов;
язык обработки правил для автоматического принятия решений по поводу WEB-ресурсов;
язык для извлечения метаданных от сторонних источников.
Вообще, RDF обеспечивает базу для целого семейства инструментов для формирования, манипулирования и поиска понятных компьютерам данных в Сети, и, тем самым, способствует трансформации Интернета в огромное хранилище знаний доступных для обработки компьютерами.
RDF – это спецификация, которая определяет модель представления мира и синтаксис для сериализации и обмена этой модели. Консорциум всемирной сети W3C разработал XML -сериализацию для RDF. RDF XML – это стандартный формат обмена для RDF в семантической сети, хотя он не является единственным [10].
RDF обеспечивает последовательный стандартный способ описания и работы практически с любыми Internet-ресурсами: от текстовых страниц и графиков до аудио-файлов и видеоклипов. Он предлагает синтаксические возможности для взаимодействия сетей и формирует базовый слой для создания семантической сети. RDF определяет управляемые графы связей, представленные тройками объект-атрибут-значение. Например, объект О имеет атрибут А со значением V.
Пример RDF XML:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:contact="http://www.w3.org/2000/05/contact#">
<contact:Company rdf:about="http://www.w3.org/Organization/contact#WebifySolutions">
<contact:name>Webify Solutions</contact:name>
<contact:mailbox rdf:resource="mailto:info@webifysolutions.com"/>
<contact:phone>1-800-4WEBIFY</contact:phone>
</contact:Company>
</rdf:RDF>
Элемент RDF в примере несет информацию о ресурсе, в данном случае это компания http://www.w3.org/Organization/contact#WebifySolutions. Компания может быть идентифицирована по URI http://www.w3.org/Organization/contact#WebifySolutions, ее название – Webify Solutions, ее e-mail – info@webifysolutions.com, а номер телефона – 1-800-4WEBIFY.
На рис. 20.4 показан управляемый граф связей, представляющий ту же информацию.
(рис 20.4) Граф RDF, описывающий контактную информацию компании Webify SolutionsИсточник: Будущее Web – за семантикой [10]
20.1.4.2.2. RDF Schema
RDF Schema – это семантическое расширение RDF [10]. Она обеспечивает механизмы описания связанных ресурсов, а также собственно этих связей.
Система классов и свойств RDF Schema похожа на систему типов языков объектно-ориентированного программирования, таких, например, как Java, но отличается от многих других систем. Так, описательный язык словаря RDF определяет свойства в терминах того класса ресурсов, к которому эти свойства относятся. Другие системы же описывают класс в терминах свойств его элементов.
RDF и схема RDF основаны на XML и схеме XML. Существование стандартов для описания данных ( RDF ) и их атрибутов (схема RDF ) позволяет создавать пакеты легко доступных инструментов для чтения и использования данных из многочисленных источников. То, насколько глубоко различные приложения могут обмениваться данными и использовать их, иногда называется синтаксическим взаимодействием сетей (syntactic interoperability). Чем более стандартизированными и распространенными являются эти инструменты работы с данными, тем выше степень синтаксического взаимодействия сетей и тем легче и привлекательнее становится использование подхода на основе семантических сетей по сравнению с точечными интеграционными решениями.
20.1.4.2.3. OWL
Синтаксическое взаимодействие сетей – необходимое условие для того, чтобы многие приложения могли по-настоящему "понимать" данные и работать с ними как с информацией. Это также необходимое условие для корректной проверки данных. Синтаксическое взаимодействие сетей требует преобразования ("мэппирования") между терминами, для чего, в свою очередь, необходим контент-анализ.
Такой контент-анализ требует формальных и подробных спецификаций моделей доменов, которые определяют используемые термины и их связи. Подобные формальные модели доменов иногда называются онтологиями. Они определяют модели данных в терминах классов, подклассов и свойств.
Онтологический язык Web (Web Ontology Language), рекомендуемый консорциумом W3C, помогает в выражении онтологий. Рабочий онтологический язык (Ontology Working Language, сокр. OWL ) добавляет больше словарных возможностей для описания свойств и классов, чем RDF или схема RDF. В частности, он позволяет описывать связи между классами (например, неперекрываемость), мощность множества (например, "ровно один"), равенство, более богатую типологию свойств и их характеристики (например, симметрия) [10].
Онтологический язык Web на основе OWL разработан для использования приложениями, которые должны работать с содержанием информации, а не просто предоставлять ее пользователю. OWL улучшает возможности автоматической интерпретации содержимого интернета по сравнению с теми, что могут обеспечить XML, RDF и схема RDF. Это происходит благодаря тому, что OWL предоставляет дополнительные словарные возможности наряду с формальной семантикой. OWL включает три подъязыка: полный OWL ( OWL Full), OWL DL и облегченный OWL ( OWL Lite) (перечислены в порядке убывания их выразительных возможностей) [10]:
Полная версия онтологического языка Web на основе OWL называется OWL Full. Этот язык использует все базисные элементы языка OWL и позволяет комбинировать их случайным образом с RDF и схемой RDF. Полный OWL совместим "снизу вверх" с RDF, как синтаксически, так и семантически: любой разрешенный документ RDF является также разрешенным документом OWL Full. Маловероятно, что какие-либо интеллектуальные программные средства способны поддерживать все возможности OWL Full, поскольку этот язык предлагает максимум выразительных средств и синтаксической свободы RDF при отсутствии вычислительных гарантий.
OWL DL предназначен для тех пользователей, кому необходим максимум выразительных средств без потери вычислительных возможностей. OWL DL – это подъязык конструкций языка OWL Full с некоторыми ограничениями, такими как разделение типов (type separation) (например, класс не может быть одновременно индивидуальным элементом или свойством, а свойство не может одновременно быть индивидуальным элементом или классом).
OWL Lite предназначен для пользователей, которым необходима классификационная иерархия и простые ограничительные возможности. Преимуществом этого языка являются большая легкость его понимания и внедрения по сравнению с двумя другими. Но, в то же время, его выразительные возможности гораздо ниже. Например, хотя OWL Lite и поддерживает ограничения мощности множества, единственными допустимыми значениями этого параметра являются 0 или 1.
Примерами онтологий являются каталоги сайтов интерактивных покупок, таких как Amazon.com, стандартные терминологии той или иной области деятельности, например, UNSPSC – The United Nations Standard Products and Services Code (система стандартных продуктов и услуг ООН), или различные таксономические системы интернета, такие как категории сайта "My Yahoo".
Основные компоненты OWL включают классы, свойства и индивидуальные элементы.
Классы
Классы – это основные блоки онтологии OWL. Класс – это концепция в домене. Классы обычно образуют таксономическую иерархию (т.е. систему подкласс-надкласс).
Классы определяются с помощью элемента owl:Class. В языке OWL существует два заранее определенных класса: owl:Thing и owl:Nothing. Первый из них является наиболее общим и включает все, второй – это пустой класс. Любой класс, определяемый пользователем, является подклассом класса owl:Thing и надклассом класса owl:Nothing. Примеры классов в области банковского дела могут включать классы Счет ( Account ) или Клиент ( Customer ).
Пример класса OWL:
<owl:Class rdf:ID="SavingsAccount">
<rdfs:subclassOf rdf:resource="#Account"/>
</owl:Class>
Код в примере указывает, что элемент SavingAccount – это класс, являющийся подклассом класса Account.
OWL поддерживает шесть основных способов описания классов. Самый простой – это класс с именем ( named ). Другие типы – это классы пересечений ( intersection ), объединений ( union ), дополнений ( complement ), ограничений ( restrictions ) и классы перечислений ( enumerated ). В примере представлены два из этих способов описания классов: класс ограничений определяет SavingAccount как подкласс класса с именем Account.
Свойства
Свойства включают две основные категории:
свойства объекта (Object properties), которые связывают индивидуальные элементы между собой;
свойства типов данных (Datatype properties), которые связывают индивидуальные элементы со значениями типов данных, такими как целые числа, числа с плавающей запятой и строки. Для определения типов данных OWL использует схему XML.
Свойство может включать домен и некоторую область, связанную с ним. Любое свойство попадает в одну из следующих категорий:
функциональная: для любого объекта свойство может принимать только одно значение (например, возраст, рост или вес человека);
обратно-функциональная: два различных индивидуальных элемента не могут иметь одно и то же значение. Например, у каждого человека свой уникальный номер банковского счета или так называемый SSN (social security number);
симметричная: если свойство связывает элемент А с элементом В, то из этого можно сделать вывод, что оно также связывает элемент В с элементом А. Примеры симметричных свойств включают выражения типа "является братом (сестрой)" или "такой же, как";
транзитивная: если свойство связывает элемент А с элементом В, а элемент В с элементом С, то можно предположить, что оно также связывает элемент А с элементом С. Например, если А выше В, а В выше С, то А выше С.
К классам и свойствам могут применяться различные ограничения. Например, ограничения мощности множества указывают на число связей, в которых может участвовать класс или индивидуальный элемент.
Индивидуальные элементы
Индивидуальные элементы – это элементы классов; свойства могут связывать их друг с другом. Например, индивидуальный элемент Smith может быть описан как элемент, принадлежащий классу Person (индивидуум). Свойство hasEmployer (имеет работодателя) может связывать его с другим индивидуальным элементом – Webify Solutions, указывая, таким образом, что Smith работает в компании Webify Solutions.
Индивидуальный элемент OWL
<owl:Thing rdf:about="SmithAccount">
<rdfs:type="#Account"/>
</owl:Class>
Элемент rdf:type – это свойство RDF, которое связывает индивидуальный элемент с тем классом, к которому он принадлежит. Пример указывает, что элемент SmithAccount принадлежит к типу Account.
На рис. 20.5 показаны основные блоки онтологии OWL.
(рис 20.5) Онтология OWL, описывающая организационную структуру компании Webify SolutionsИсточник: Будущее Web – за семантикой [10]
20.1.4.2.4. SPARQL
Рабочая Группа W3C по Доступу к Данным разработала Язык Запросов SPARQL [9]. SPARQL, имеющий SQL-подобный синтаксис, определяет запросы в терминах шаблонов графа, которые сравниваются с направленным графом, представляющим данные RDF. SPARQL предоставляет возможности, для запроса необходимых и необязательных шаблонов, а также для их объединения и разделения. Результат сравнения также может быть использован для конструирования нового графа RDF с использованием отдельного шаблона.
SPARQL может быть использован как часть программной среды общего назначения, такой как Jena, но запросы могут, также, посылаться как сообщения на удаленную точку доступа SPARQL с помощью вспомогательных технологий SPARQL Protocol и Результаты Запросов SPARQL в XML. Используя такие точки доступа SPARQL, приложения могут запрашивать удаленные RDF данные и, даже, формировать новые RDF графы, без какой-либо локальной обработки.
Пример применения SPARQL:
Data:
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> "SPARQL Tutorial"
Query:
SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
Query Result:
title "SPARQL Tutorial"
20.1.4.3. Логический вывод
Форматы описания метаданных в Семантической паутине предполагают проведение логического вывода на этих метаданных, и разрабатывались с оглядкой на существующие математические формализмы в этой области [7]. Математическое обоснование тех или иных конструкций языка описания необходимо для проведения заключений о свойствах программ, обрабатывающих данные в этом формате.
Особенно сильно это относится к языку OWL. Базовым формализмом для него являются дескриптивные логики, а сам язык разбит на три вложенных подмножества (в порядке вложенности): OWL Lite, OWL DL и OWL Full. Доказано [11], что логический вывод на метаданных с выразительностью OWL Lite выполняется за полиномиальное время (другими словами, задача вывода принадлежит к классу P ). OWL DL описывает максимальное разрешимое в данный момент подмножество дескриптивных логик, но некоторые запросы по таким данным могут требовать экспоненциального времени выполнения. OWL Full реализует все существующие конструкторы дескриптивных логик, но не каждый запрос в этом подмножестве языка
можно разрешить.
Простая структура предикатов языка RDF, в свою очередь, позволяет использовать при его обработке опыт из теорий логических баз данных, логики предикатов, и т. д.
20.1.4.4. Инструментальные средства
На сегодняшний день создано довольно много инструментов для разработки приложений Semantic Web [9]. Это и средства для аннотирования, и репозитории RDF, и редакторы, и системы управления контентом, и программные библиотеки для самых разных языков, и многое другое.
Чуть более подробно остановимся лишь на Jena.
20.1.4.4.1. Jena
Сегодня одной из самых известных сред для разработки приложений, основанных на использовании RDF, является библиотека Jena. Это развитая среда с поддержкой большого количества разнообразных функций. На базе Jena разработано большое количество приложений.
Jena является средой разработки для создания Семантических приложений. Она позволяет работать с такими спецификациями как RDF, RDFS и OWL, SPARQL. Jena – это open source приложение под программой HP Labs Semantic Web Programme.
Jena включает в себя [9]:
RDF API;
чтение и запись RDF из RDF / XML, N3 и N-Triples;
OWL API;
создания запросов SPARQL.
20.1.5. Проекты
20.1.5.1. Дублинское ядро
Одним из первых серьезных и популярных проектов, основанным на принципах семантической паутины, стал проект "Дублинское ядро" (Dublin Core) [7], реализуемый инициативной организацией Dublin Core Metadata Initiative (DCMI) [12]. Это открытый проект, цель которого – разработать стандарты метаданных, которые были бы независимы от платформ и подходили бы для широкого спектра задач. Конкретнее, DCMI занимается разработкой словарей метаданных общего назначения, стандартизирующих описания ресурсов в формате RDF.
20.1.5.2. RSS (версий 0.90 и 1.0)
Версии 0.90 и 1.0 формата RSS основаны на RDF. Информация в нем представляется, как и в RDF, тройками субъект-отношение-объект [7]. Необходимо отметить, несмотря на то, что ему присущи многие недостатки Семантической паутины (дублирование информации, например), этот простейший формат быстро стал чрезвычайно популярным за счет узкой категоризации подмножества используемых метаданных. Отличие RSS от RDF состоит в том, что субъектом тройки всегда является сайт-источник RSS-файла, а в качестве отношений используются самые очевидные свойства документов, имеющие отношение к часто обновляющимся источникам информации: дата написания, автор, постоянная ссылка, и т. д. Другими словами, RSS – узкоспециализированное подмножество RDF.
Помимо недостатков, RSS унаследовал и все достоинства форматов из семейства семантической паутины: гибкость RSS позволяет использовать его не только для проверки на наличие новой информации на регулярно обновляющихся сайтах, но и для подкастов, и торренткастов.
Заметим, что формат RSS версии 2.0, хотя и не является форматом, основанным на RDF, позволяет внедрение произвольного XML -содержимого, находящегося в собственных пространствах имен XML. Это позволяет использовать RDF -описания также и в нем (используя пространство имен RDF ).
20.1.5.3. FOAF
Проект "Friend of a Friend" ("Друг друга") позволяет описывать отношение знакомства с помощью RDF [7]. Любой его участник может идентифицировать себя уникальным образом с помощью URI (например, mailto-адресом электронной почты, адресом блога, и т. п.), создать свой профиль, используя предопределенные для FOAF отношения на языке RDF, и перечислить идентификаторы людей, которых этот участник знает. Это описание может обрабатываться автоматически; на его основе можно строить сети доверия, анализировать структуру социальных групп, и т. д.
20.1.5.4. DBin
DBin работает примерно также, как и файлообменные сети (emule, kazaa, и т.д.), но для метаданных [9]. В этой системе вместо того, чтобы обмениваться данными (музыкой, файлами, видео, и т.д.), пользователи обмениваются "упорядоченными метаданными ", такими как: " X является автором Y ", " Z родился в K ", или "моя фотография в R, в прошлом декабре опубликована по адресу P ". С помощью DBin можно обмениваться информацией о том, что пользователи знают о разных вещах. Это может быть что угодно: песни, фотографии, WEB-сайты. Метаданные передаются в специальном формате – RDF, при этом система поддерживает развитые средства для работы с онтологиями,
а это позволяет очень быстро и эффективно находить нужную информацию.
По способу взаимодействия пользователя и системы DBin чем-то напоминает Wiki, однако использование технологий Semantic Web выводит этот проект на совершенно новый уровень. Средства для поиска информации, возможности для кооперации среди участников сообщества позволяют организовать работу значительно более эффективно.
Когда пользователь DBin вводит те или иные данные, система сохраняет их в базе данных вместе с цифровой подписью автора. Это позволяет надежно идентифицировать источник информации. Поэтому система достаточно хорошо защищена от спама, недостоверной или, заведомо ложной информации. Если пользователь начинает злоупотреблять своим правом добавлять данные в DBin, то он лишается доверия, и его информация просто отфильтровывается.
DBin имеет развитый пользовательский интерфейс для редактирования, просмотра, поиска и вообще, использования информации. Если пользователь является продвинутым пользователем и экспертом в какой-нибудь области, то он может создавать специальные расширения для DBin (так называемые "брейнлеты"), ориентированные на работу в данной области знаний. Такие брейнлеты обычно включают в себя пользовательский интерфейс, онтологии, правила, типы аннотаций предопределенные запросы к системе, и, тем самым, предоставляют удобные средства для работы в рамках заданной предметной области.
Кроме брейнлетов DBin поддерживает и другие модули расширения – плагины. Плагины позволяют организовать взаимодействие DBin с внешними приложениями, с файловой системой и с рабочим столом пользователя, с базами данных. С помощью плагинов можно обеспечить более сложное отображение информации. Например, географические данные могут быть продемонстрированы пользователю на карте.
DBin реализует очень интересный способ организации совместной работы, позволяет, с одной стороны эффективно обмениваться информацией, а с другой накапливать семантически размеченные данные.
20.1.5.5. Семантические WEB-сервисы
В то время как совокупность ресурсов и их метаданных можно считать статической частью семантической паутины, ее динамическую часть представляют т. н. семантические Веб-сервисы – законченные элементы программной логики с однозначно описанной семантикой, доступные через Интернет и пригодные для поиска, композиции и выполнения. Часто называются в тематической литературе "динамической составляющей семантической паутины " [13].
Технически, семантический Веб-сервис отличается от обычного Веб-сервиса тем, что пользователю предоставляется не только описание интерфейса (обычно на языке WSDL) в терминах типов передаваемых сервису данных, возвращаемых значений и генерируемых ошибок, но и описание его семантики, т.е. того, что сервис делает, его предметной области, назначения и т.п. WSDL-описания сервисов изначально были предназначены для машинной обработки, кроме того, стандарт WSDL допускает наличие в этих описаниях произвольного дополнительного XML -содержимого, которое должно игнорироваться программами, не предполагающими обработки этого содержимого – таким образом, метаданные не приходится выносить из WSDL-файлов.
Консорциум W3 предполагает использование для описания Веб-сервисов тех же языков разметки, что и для статической части семантической паутины ( RDF, RDF Schema, OWL ), а также онтологии OWL -S, описывающей базовую терминологию предметной области. Онтология OWL -S состоит из четырех онтологий – онтологии сервиса, онтологии модели сервиса, онтологии процесса и онтологии базы. Можно рассматривать OWL -S как семантическое расширение UDDI-описания Веб-сервиса. При использовании этой онтологии и языков ра
зметки, семантика сервиса характеризуется семантикой четырех его характеристик (IOPE, по первым буквам названия каждой характеристики):
входные параметры ( inputs );
выходные параметры ( outputs );
предварительные условия ( preconditions );
эффекты выполнения ( effects ).
Потенциальная выгода от использования семантических Веб-сервисов заключается в возможности автоматического поиска (а также композиции) программными агентами подходящих сервисов для решения поставленных задач. Тем не менее, сложность этой задачи в ее общей формулировке пока позволяет добиваться некоторых положительных результатов только в узкоспециализированных отраслях, явным образом выигрывающих от внедрения сервисно-ориентированной архитектуры, например, в интеграции корпоративных приложений.
20.1.6. Критика
20.1.6.1. Практическая реализуемость
Несмотря на все преимущества, предоставляемые семантической паутиной в случае ее внедрения, существуют сомнения в возможности ее полной реализации [7].
Разные критики высказывают различные причины, которые могут быть препятствием к этому, начиная с человеческого фактора [14] (люди склонны избегать работы по поддержке документов с метаданными, открытыми остаются проблемы истинности метаданных, и т. д.), и заканчивая косвенным указанием Аристотеля на отсутствие очевидного способа деления мира на концепты, что ставит под сомнение возможность существования онтологии верхнего уровня, критической для семантической паутины.
20.1.6.2. Дублирование информации
Необходимость описания метаданных, так или иначе, приводит к дублированию информации [7]. Каждый документ должен быть создан в двух экземплярах: размеченным для чтения людьми, а также в машинно-ориентированном формате. Этот недостаток семантической паутины был главным толчком к созданию микроформатов.
20.1.6.3. Проблемы для бизнеса
Сегодня большая часть сайтов зарабатывает на рекламе. Для этого посетители должны кликать по рекламным ссылкам. Нет кликов – нет заработка. То есть публикация материалов на том или ином сайте преследует цель – привлечь как можно больше посетителей именно на этот сайт. Semantic Web – размывает понятие документа [7]. Публикация материалов в Семантической Сети приводит к тому, что информация вливается в нечто большое и единое. И уже трудно сказать, где кончается один документ, и начинается другой. Все материалы разбиваются на маленькие кусочки, и каждый кусочек начинает самостоятельную жизнь [15].
20.1.6.4. Анонимность и сохранение авторских прав
Semantic Web способствует уничтожению анонимности в Сети [15]. Каждый раз как, только пользователь регистрируетсяь на каком-либо сайте вроде moikrug.ru, или toodoo.ru, он предоставляет информацию о себе. Даже если пользователь не указываете почти никаких данных, сайты и сервисы начинают следить за его предпочтениями. На какие сайты он ходит, что читает, какую музыку слушает и т.д. Если вся эта информация оказывается сохраненной в стандартной форме, приспособленной для легкого обмена между Веб-сервисами, то распространение этой информации уже ничего не остановит.
В силу вышесказанного Semantic Web создает опасную среду для вторжения в ваше личное пространство. Сохранение авторских прав на текстовую информацию становится весьма проблематичным.
20.1.7. Перспективы формирования Semantic Web
Существует два возможных способа формирования Semantic Web: снизу вверх и сверху вниз [16]. При первом способе начинаем с самого низа, то есть добавляем семантическую разметку в документы, опубликованные в Сети. Таким образом, пользовательские агенты получают доступ к метаданным. Этот процесс понемногу начинает набирать темп. Все чаще и чаще можно встретить данные в формате RDF, встроенные в те или иные странички. Каковы перспективы этого подхода?
Во-первых, нужно отметить, что существует огромная разница в психологии людей, занимающихся созданием контента. Большинство людей крайне скептически воспринимают перспективу не просто излагать свои мысли виде обычного текста, но еще и предпринимать особые шаги для того, чтобы объяснить свои идеи компьютеру. Тем не менее, многие склонны видеть эту ситуацию в ином свете. Они готовы часами приводить в порядок свои данные, расставлять метки и писать комментарии, составлять каталоги и рейтинги. Все ради того, чтобы обеспечить удобный, хорошо структурированный доступ к информации.
Во-вторых, все больше и больше в Интернете публикуется автоматически генерируемой информации. Всевозможные базы данных, отчеты, прогнозы погоды, списки и т.д. и т.п. Конечно, добавление семантической информации в автоматически генерируемые документы требует значительно меньших усилий.
В-третьих, сейчас активно развиваются инструменты для семантической разметки документов. Нужно понимать, что семантическая информация, которую вы добавляете в свой документ, способна немедленно оказать вам помощь. Причем, у компьютера появляются уникальные возможности для того, чтобы подстраиваться именно под ваши интересы, предпочтения и стиль работы, а возможность кооперации с другими компьютерами в Сети позволит ему выполнять эту работу весьма качественно. Таким образом, пользователь будет стимулироваться к тому, чтобы наполнять семантической информацией все, что он делает. Более того, вполне можно представить себе ситуацию, когда пользователь предпочтет указывать информацию только в виде понятном машине, предоставляя компьютеру всю остальную работу, связанную с формулированием и оформлением данных для потенциального читателя. Сколько разного рода формальных бумаг нам приходится создавать: справки, счета, отчеты, заявления. Значительную часть этой рутины компьютер может взять на себя.
В-четвертых, большое количество метаданных создается неявным образом. Сервисы социальных закладок, такие как del.icio.us, с одной стороны стали весьма популярны в современной Сети, а с другой стороны они активно собирают метаданные в виде тегов, описаний и оценок сайтов. Если определить семантические отношения между отдельными тегами, создав, тем самым, некую онтологию, то получим огромное количество вполне релевантных семантических данных. В том же направлении могут двигаться и системы коллаборативной фильтрации, такие как, MovieLens и Last.fm. Они уже давно зарекомендовали себя как весьма эффективные инструменты.
Другой подход предполагает использование средств анализа текстов на естественных языках (Natural Language Processing – NLP). Такие инструменты должны прочитать и обработать существующие в Сети документы, чтобы извлечь из них семантические данные. К сожалению, средства NLP еще далеки от совершенства. Сегодня, они не способны, в автоматическом режиме, семантически размечать документы. Однако не надо недооценивать возможностей таких инструментов.
Например: современные системы извлечения фактов позволяют найти в тексте (для английского языка) до 96% именованных объектов, то есть имен людей, названий компаний, адресов, телефонов, названий технологий, брендов и т.д. Программы синтаксического разбора русского языка позволяют правильно определить подлежащее и сказуемое примерно в 60% предложений.
Уже этого достаточно, для того, чтобы извлечь из текста огромное количество семантически значимой информации. При этом следует отметить, что технологии Semantic Web начинают, в свою очередь, оказывать влияние на развитие инструментов NLP.
Сегодня можно утверждать, что оба подхода к созданию среды, наполненной семантической информацией, будут развиваться параллельно, дополняя друг друга.
20.1.8. Ключевые термины
Семантическая паутина, Semantic Web, URI, Онтологии, Метаданные, XML, XML Schema, RDF, RDF Schema, OWL, SPARQL, Логический вывод.
20.2. Применение микроформатов
20.2.1. Общие сведения
Микроформаты (microformats, иногда сокращенно $$\mu$$ F или uF) – это способ семантически размечать сведения о разнообразных сущностях (событиях, организациях, людях, товарах и так далее) на веб-страницах, используя стандартные элементы языка HTML (или XHTML) [18]. Пользователь может воспринимать страницу с размеченным микроформатом как обычную веб-страницу (через браузер); в то же время программы-обработчики способны извлечь из такой страницы структурированную информацию, следуя определенным соглашениям.
Поскольку микроформаты основаны на уже существующих стандартах (таких, как HTML и XHTML), их легко добавлять на существующие страницы в паутине [19].
При использовании микроформатов к существующей HTML-разметке добавляются новые составляющие, наполненные особым, заранее определенным смыслом. Например, с помощью атрибута class можно обозначить смысл того или иного HTML-элемента на странице (этот атрибут определен для всех элементов). Таким образом, люди приходят к соглашению об использовании определенных значений атрибутов (в том числе class ) для разметки определенных фрагментов информации. В дальнейшем такую разметку можно обрабатывать машинными средствами.
Для разметки микроформатами подходят любые элементы HTML, но особое значение придается элементам, которые не имеют собственного, стандартного семантического значения – div и span. Из атрибутов в настоящее время используются в основном следующие:
class
rel
rev
title
Каждый микроформат решает определенную, отдельную задачу. Вот наиболее известные из них [20]:
hCard (сокращение для HTML vCard) – микроформат для публикации контактной информации людей, компаний, организаций и мест в (X)HTML, Atom, RSS или произвольном XML ;
hCalendar (сокращенно от HTML iCalendar) – микроформат для представления семантической информации о событиях в формате календаря iCalendar на (X)HTML-страницах;
hAtom – ленты новостей (как аналог RSS и Atom) в обычном HTML или XHTML;
XFN – социальные взаимоотношения;
rel-tag – метки (теги) и образование фолксономии;
xFolk – помеченные ссылки;
adr – почтовые адреса;
geo – географические координаты (широта и долгота);
hReview – отзывы (о товарах, услугах, событиях и тому подобном);
nofollow – для предотвращения индексации поисковыми системами определенных документов.
Разработка новых микроформатов происходит в открытом режиме.
Среди множества предлагаемых микроформатов наиболее близки к завершению микроформаты для разметки цитат и валют.
Рассмотрим пример применения микроформата hCard:
Будем считать, что у нас есть HTML, описывающий контактную информацию о человеке:
<div>
<div>Иванов Иван Иванович</div>
<div>21.12.1988</div>
<div>ООО "Example"</div>
<div>604-55-14</div>
<a href="http://example.com/">http://example.com/</a>
<a href="mailto:info@example.com">info@example.com</a>
</div>
С добавлением микроформатов выглядит так:
<div class="vcard">
<div class="fn">Иванов Иван Иванович</div>
<div class="bday">21.12.1988</div>
<div class="org">ООО "Example"</div>
<div class="tel">604-55-14</div>
<a class="url" href="http://example.com/">http://example.com/</a>
<a class="email" href="mailto:info@example.com">info@example.com</a>
</div>
Содержимое самих элементов не изменилось; к ним только были добавлены атрибуты, указывающие, где именно в блоке находится та или иная информация (имя, телефон и так далее). Весь блок при этом имеет атрибут class="vcard", который является родительским для микроформата hCard. Это означает, что данный элемент и все вложенные в него элементы вместе составляют микроформат hCard .
Обычно используемые атрибуты hCard включают [20]:
fn – имя в виде форматированной строки;
PHOTO – изображение или фотография;
org – название организации;
tel – телефонный номер;
url – URL (адрес сайта);
adr – структурированное представление адреса;
bday – дата рождения;
email – адрес электронной почты;
logo – логотип организации;
note – дополнительная информация или комментарий;
и др.
Несколько сайтов, принадлежащих Yahoo!, среди них Tech, Local, Flickr, и Upcoming, используют в своих публикациях различные микроформаты. И Yahoo! Tech, и Yahoo! Local используют микроформат hReview в своих обзорах ( reviews ), в то время, как Yahoo! Local так же использует hCalendar для описания событий, и hCard – для описания контактной информации. Flickr использует hCard в профайлах пользователей, равно как и микроформат XFN. Upcoming.org содержит более миллиона записей о событиях по всему миру, размеченных с использованием hCalendar. Также в Last.fm внедрены hCard на страницах профилей пользователей [21
].
На Technorati.com есть поиск по микроформатам, в числе которых hCard , hCalendar, hReview.
Одним из способов использования такой информации являются плагины к браузерам, способные находить ее на странице, извлекать и передавать другим приложениям (адресной книге, календарям).
Так, например, микроформаты используются в новом Internet Explorer 8 [22]: с помощью технологии веб-фрагментов пользователи могут просматривать наиболее часто используемую информацию без перехода с текущей страницы, а разработчики могут помечать части веб-страниц как веб-фрагменты и облегчать пользователям отслеживание часто просматриваемой информации во время навигации по интернету. В панели "Избранное" обновленные веб-фрагменты выделяются полужирным шрифтом. Пользователи могут просмотреть обновленный веб-фрагмент или открыть его исходную веб-страницу.
Веб-фрагменты определяются разработчиком заранее [23]. В самую первую очередь, необходимо пометить элемент HTML div как контейнер, содержащий веб-фрагмент. Для этого используется имя класса hslice. В элементе hslice будут находиться все остальные определения, необходимые для веб-фрагмента. Каждый веб-фрагмент должен иметь уникальный идентификатор, поскольку именно с его помощью Internet Explorer различает веб-фрагменты на странице.
В каждом веб-фрагменте должен быть элемент для определения заголовка фрагмента. Это название определяется по классу CSS entry-title. Именно такой заголовок будет показан на панели "Избранное" и в меню командной панели поиска каналов. Если потребуется, то текст entry-title можно изменить; он обновится вместе с обновлением веб-фрагмента.
В качестве примера веб-фрагмента можно привести следующий:
<div class="hslice" id="ProductID1">
<h1 class="entry-title">Brand New Product!</h1>
<div class="entry-content"><p>This is the product definition.</p></div>
</div>
В примере добавлен еще один элемент: класса содержимого записи ( entry-content ), в который помещено содержание, которое должно отображаться пользователю (рис. 20.6).
(рис 20.6) Пример веб-фрагментаИсточник: Новые функции для веб-фрагментов, хранения и повышения производительности веб-приложений [23]
Обогатить пользовательское взаимодействие с веб-фрагментом можно при помощи визуальных элементов и встроенных (или глобальных) стилей CSS.
20.2.2. Ключевые термины
Микроформаты, hCard , Веб-фрагменты.
20.3. Поиск в Веб
20.3.1. Общие сведения
Поисковая система – веб-сайт, предоставляющий возможность поиска информации в Интернете [24]. Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на ftp-серверах, товары в интернет-магазинах, а также другую информацию.
Как правило, основной частью поисковой системы является поисковая машина (поисковый движок) – комплекс программ, обеспечивающий функциональность поисковой системы [25]. Основными критериями качества работы поисковой машины являются релевантность (степень соответствия запроса и найденного, то есть уместность результата), полнота базы, учет морфологии языка. Индексация информации осуществляется специальными поисковыми роботами. В последнее время появился новый тип поисковых движков, основанных на технологии RSS, а также среди XML -данных разного типа.
Первой поисковой системой для Всемирной паутины был "Wandex", уже не существующий индекс, который создавал "World Wide Web Wanderer" – бот, разработанный Мэтью Грэем (англ. Matthew Gray) из Массачусетского технологического института в 1993. Также в 1993 году появилась поисковая система "Aliweb", работающая до сих пор. Первой полнотекстовой (т. н. "crawler-based", то есть индексирующей ресурсы при помощи робота) поисковой системой стала "WebCrawler", запущенная в 1994. В отличие от своих предшественников, она позволяла пользователям искать по любым ключевым словам на любой веб-странице – с тех пор это стало стандартом во всех основных поисковых системах. Кроме того, это был первый поисковик, о котором было известно в широких кругах.
В 1994 был запущен "Lycos", разработанный в университете Карнеги Мелона.
Вскоре появилось множество других конкурирующих поисковых машин, таких как "Excite", "Infoseek", "Inktomi", "Northern Light" и "AltaVista". В некотором смысле они конкурировали с популярными интернет-каталогами, такими, как "Yahoo!". Позже каталоги соединились или добавили к себе поисковые машины, чтобы увеличить функциональность. В 1996 году русскоязычным пользователям интернета стало доступно морфологическое расширение к поисковой машине Altavista и оригинальные российские поисковые машины Rambler и Aport. 23 сентября 1997 была открыта поисковая машина Яндекс. В этот же год была основана компания Google.
В последнее время завоевывает все большую популярность практика применения методов кластерного анализа и метапоиска. Из международных машин такого плана наибольшую известность получила "Clusty" компании Vivisimo. В 2005 году на российских просторах при поддержке МГУ запущен поисковик Nigma, поддерживающий автоматическую кластеризацию. В 2006 году открылась российская метамашина Quintura, предлагающая визуальную кластеризацию в виде облака ключевых слов.
Поисковые cистемы обычно состоят из трех компонент [26]:
агент (паук или кроулер), который перемещается по Сети и собирает информацию;
база данных, которая содержит всю информацию, собираемую пауками;
поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.
Cредства поиска типа агентов, пауков, кроулеров и роботов используются для сбора информации о документах, находящихся в Сети Интернет. Это специальные программы, которые занимаются поиском страниц в Сети, извлекают гипертекстовые ссылки на этих страницах и автоматически индексируют информацию, которую они находят для построения базы данных. Каждый поисковый механизм имеет собственный набор правил, определяющих, как cобирать документы. Некоторые следуют за каждой ссылкой на каждой найденной странице и затем, в свою очередь, исследуют каждую ссылку на каждой из новых страниц, и так далее. Некоторые игнорируют ссылки, которые ведут к графическим и звуковым файлам, файлам мультипликации; другие игнорируют ссылки к ресурсам типа баз данных WAIS.
Агенты – самые "интеллектуальные" из поисковых средств. Они могут делать больше, чем просто искать: они могут выполнять даже транзакции от Вашего имени. Уже сейчас они могут искать сайты специфической тематики и возвращать списки сайтов, отсортированных по их посещаемости. Агенты могут обрабатывать содержание документов, находить и индексировать другие виды ресурсов, не только страницы. Они могут также быть запрограммированы для извлечения информации из уже существующих баз данных. Независимо от информации, которую агенты индексируют, они передают ее обратно базе данных поискового механизма.
Общий поиск информации в Сети осуществляют программы, известные как пауки. Пауки сообщают о содержании найденного документа, индексируют его и извлекают итоговую информацию. Также они просматривают заголовки, некоторые ссылки и посылают проиндексированную информацию базе данных поискового механизма.
Кроулеры просматривают заголовки и возвращают только первую ссылку.
Роботы могут быть запрограммированы так, чтобы переходить по различным ссылкам различной глубины вложенности, выполнять индексацию и даже проверять ссылки в документе. Из-за их природы они могут застревать в циклах, поэтому, проходя по ссылкам, им нужны значительные ресурсы Сети. Однако имеются методы, предназначенные для того, чтобы запретить роботам поиск по сайтам, владельцы которых не желают, чтобы они были проиндексированы.
Как правило, схема работы робота следующая [27]:
робот ищет файл robots.txt ;
робот читает страницу, для индексирования которой он был послан (глубина
индексирования, то есть чтения страницы зависит от конкретного робота. Некоторые останавливаются только на чтении заглавия страницы и содержимого мета-тегов, другие могут прочитать, скажем, первые 6000 символов на странице, а некоторые индексируют все содержание веб-страницы);
затем робот может либо удалиться, либо продолжить индексирование сайта;
через какое-то время робот снова может посетить эту страничку, если существует тег "revisit" или в соответствии с политикой, проводимой поисковой системой.
Когда кто-либо хочет найти информацию, доступную в Интернет, он посещает страницу поисковой системы и заполняет форму, детализирующую информацию, которая ему необходима. Здесь могут использоваться ключевые слова, даты и другие критерии. Критерии в форме поиска должны соответствовать критериям, используемым агентами при индексации информации, которую они нашли при перемещении по Сети.
База данных отыскивает предмет запроса, основанный на информации, указанной в заполненной форме, и выводит соответствующие документы, подготовленные базой данных. Чтобы определить порядок, в котором список документов будет показан, база данных применяет алгоритм ранжирования. В идеальном случае, документы, наиболее релевантные пользовательскому запросу будут помещены первыми в списке. Различные поисковые системы используют различные алгоритмы ранжирования, однако, основные принципы определения релевантности следующие:
количество слов запроса в текстовом содержимом документа (т.е. в html-коде);
тэги, в которых эти слова располагаются;
местоположение искомых слов в документе;
удельный вес слов, относительно которых определяется релевантность, в общем количестве слов документа;
время – как долго страница находится в базе поискового сервера;
индекс цитируемости – как много ссылок на данную страницу ведет с других страниц, зарегистрированных в базе поисковика.
База данных выводит ранжированный подобным образом список документов с HTML и возвращает его человеку, сделавшему запрос. Различные поисковые механизмы также выбирают различные способы показа полученного списка – некоторые показывают только ссылки; другие выводят ссылки с первыми несколькими предложениями, содержащимися в документе или заголовок документа вместе с ссылкой.
Основополагающими характеристиками информационно- поисковых систем является полнота и релевантность результатов поиска [28]. Полнота поиска тесно связано с оперативностью охвата информации системой. Созданная однажды база данных Интернет-ресурсов является "слепком" состояния Сети в конкретный момент. Если эта база не будет обновляться постоянно и оперативно, присутствующие в ней ссылки на документы станут мертвыми. Кроме того, отсутствие оперативности, обновления баз данных не позволит пользователю отслеживать последние изменения в его предметной области.
Полнота охвата ресурсов Сети – это один из двух главных аспектов характеристики полноты сетевой информационно- поисковой системы. Второй аспект связан с полнотой информации, предъявляемой пользователю по его запросу (рис. 20.7).
(рис 20.7) Два аспекта полнотыПод релевантностью понимается формальное соответствие информации, выдаваемой системой, запросу [28]. Это не характерно для формальной релевантности, однако, на практике используется другое, неформальное понятие – пертинентность.
Для пользователя пертинетность, соотношение объема полезной для него информации к общему объему полученной информации, имеет решающее значение (рис. 20.8) [28]. Достижение высокой пертинентности – основное поле конкурентной борьбы современных поисковых систем. Именно для максимального удовлетворения информационных потребностей пользователей информационно- поисковые системы сегодня максимально интеллектуализируются – получили широкое практическое применение теории и методы семантических сетей, контент-анализа и глубинного анализа текстов (Text Mining).
(рис 20.8) Релевантность и пертинентностьОтдельного рассмотрения заслуживает возможность поиска по параметрам документов, которая позволяет ограничивать диапазон поиска значениями URL, датам, заглавий и т.п. Чаще всего выйти на возможность поиска по параметрам можно из режима расширенного поиска. В режиме расширенного поиска для ввода значений отдельных параметров предлагается весь диапазон возможностей Веб-интерфейса.
Средства повышения пертинентности в современных системах, помимо возможностей уточнения формулировки запросов, включает и весовые критерии, позволяющие ранжировать найденные документы и выдавать пользователю для просмотра наиболее весомые документы, либо вообще ограничиваться выдачей не более заданного числа наиболее весомых документов. В последнем случае, естественно, страдает полнота выдачи. Т.е. при этом полнота и релевантность являются антагонистическими характеристиками – чем выше релевантность, тем ниже полнота и наоборот. Проблеме релевантности, а особенно пертинентности уделяется большое внимание в современных системах. Так, например, служба Google реализовала алгоритмы достижения неформальной релевантности, и именно благодаря этому в свое время стала самой популярной системой в Интернет.
Ранжирование выдаваемых документов может выполняться по дате создания/обновления документа, по степени важности (многие системы оценивают важность документов по весовым критериям или по количеству ссылок на них, т.е. по цитированию). Ранжирование по дате имеет особое значение при поиске новостных сообщений средств массовой информации и информационных агентств. Ранжирование по индексу цитируемости, аналогичное оценке значимости научных публикаций в традиционной научной среде впервые ввела Google, продемонстрировавшая эффективность такого подхода для Веб-пространства.
В последнее время получили развитие такие направления контент-анализа, как "Data Mining" и "Text Mining", которые предполагают автоматическое выявление нового смысла из текстовых массивов, новых данных, феноменов, фактов – знаний. Все чаще возникают попытки привлечения методов контент-анализа, а точнее Text Mining в реальные поисковые системы. И эти попытки не умозрительны – они обусловлены объемами и темпами роста Сети. Во многие современные сетевые поисковые системы внедрены такие компоненты, как:
автоматическая группировка документов, по определенному заранее классификатору;
автоматическое определение новых, не заданных заранее классов, на основе неструктурированных или слабо структурированных документов;
ранжирование документов по смысловой релевантности;
выявление семантически подобных документов – поиск подобных документов на основе эталона;
автоматический анализ и смысловое преобразование запросов пользователей.
Рейтинг поисковых систем в целом по миру в 2009 (по данным Nielsen NetRatings) [29].
Основные поисковые системыhttp://www.google.com/ – 46.2%
http://www.yahoo.com/ – 22.5%
http://search.msn.com/ – 12.6%
http://www.aol.com/ – 5.4%
http://www.myway.com/ – 2.2%
http://www.ask.com/ – 1.6%
http://search.netscape.com/ – 1.6%
Прочие поисковые системы (7.9%)
Рейтинг поисковых систем в России в 2009 (по данным SpyLog).
Основные поисковые системыhttp://www.yandex.ru/ – 54.8267%
http://www.rambler.ru/ – 21.7645%
http://www.google.com/ – 15.6207%
http://www.mail.ru/ – 4.5466%
http://www.aport.ru/ – 1.5788%
Прочие поисковые системы (1,6627%)
Из перечисленных поисковых систем не все имеют собственный поисковый алгоритм – так, например, Mail.ru использует поисковый механизм Яндекса.
OpenSearch – набор технологий, позволяющих веб-сайтам и поисковым системам публиковать результаты поиска в форматах, удобных для распространения и сбора [30].
OpenSearch был разработан A9, дочерней компанией Amazon.com. Первая версия, OpenSearch 1.0, была представлена на конференции, посвященной Web 2.0 в марте 2005 года. Черновые версии OpenSearch 1.1 были опубликованы в сентябре и декабре 2005 года. Спецификация OpenSearch лицензирована компанией A9 по Creative Commons Attribution-ShareAlike 2.5 License.
В OpenSearch входят [30, 31]:
XML -файлы с описанием поисковой системы ;
стандартизованный синтаксис запросов, описывающий, где и как получать результаты поиска;
RSS (в OpenSearch 1.0) или более общий OpenSearch -ответ (в OpenSearch 1.1) – форматы, предоставляющие поисковые результаты;
OpenSearch -агрегаторы – сайты, позволяющие отображать OpenSearch -результаты;
элементы на веб-странице для автоматического обнаружения пользовательским клиентом возможности использования OpenSearch на данном сайте.
Версия 1.0 спецификации позволяла предоставлять результаты поисковых запросов только в формате RSS, в то время как версия 1.1 позволяет использовать. RSS и Atom – единственные форматы, формально поддерживаемые OpenSearch -агрегаторами, но и другие типы вполне допустимы, например, HTML.
Поисковые системы и ПО, поддерживающие OpenSearch:
Википедия предлагает статьи, соответствующие введенной строке;
Mozilla Firefox версии 2 и выше позволяет интегрировать поисковые системы, поддерживающие OpenSearch, со своей панелью поиска;
Internet Explorer версии 7 и выше так же позволяет добавлять OpenSearch -системы;
Google Chrome;
Windows 7 и Microsoft Search Server. чтобы дать пользователям возможность общего поиска через единое место.
20.3.2. Ключевые термины
Поисковая система, поисковая машина, Агент, Поисковый робот, Полнота результатов поиска, Релевантность результатов поиска, Пертинентность, OpenSearch.
20.4. Дополнительная тема: раскрутка сайтов
20.4.1. Общие сведения
Для некоторых типов сайтов поисковики приносят до половины и больше всех посетителей (то есть, потенциальных клиентов). Необходимым условием этого является присутствие ссылки в первых строках результатов поиска по наиболее популярным запросам. Поскольку результаты поиска обычно отсортированы по релевантности, перед оптимизатором стоит задача повысить релевантность кода веб-страниц к наиболее распространенным поисковым запросам.
Поисковая оптимизация (Search Engine Optimization, SEO ) – комплекс мер для поднятия позиций сайта в результатах выдачи поисковых систем по определенным запросам пользователей [32]. Обычно, чем выше позиция сайта в результатах поиска, тем больше заинтересованных посетителей переходит на него с поисковых систем. При анализе эффективности поисковой оптимизации оценивается стоимость целевого посетителя с учетом времени вывода сайта на указанные позиции и Конверсия сайта (отношение, в числителе которого – число посетителей сайта, выполнивших полезные действия (заполнивших анкету, форму заявки, позвонивших в компанию), в знаменателе – общее количество посетителей сайта), на который привлекаются целевые посетители.
Поисковая система учитывает следующие параметры сайта при вычислении его релевантности (степени соответствия введенному запросу):
плотность ключевых слов, сложные алгоритмы современных поисковиков позволяют производить семантический анализ текста, чтобы отсеять поисковый спам, когда ключевое слово встречается слишком часто.
индекс цитирования сайта, зависящий от количества и авторитетности веб-ресурсов, ссылающихся на данный сайт; многими поисковиками не учитываются взаимные ссылки (друг на друга). Зачастую также важно, чтобы ссылки были с сайтов схожей тематики, что и оптимизируемый сайт.
Соответственно, все факторы, влияющие на положение сайта в выдаче поисковой системы, можно разбить на внешние и внутренние. Работа по оптимизации включает в себя работу с внутренними факторами (находятся под контролем владельца веб-сайта) – приведение текста и разметки страниц в соответствие с выбранными запросами, улучшение качества и количества текста на сайте, стилистическое оформление текста (заголовки, жирный шрифт), улучшение структуры и навигации, использование внутренних ссылок, а также внешними факторами – обмен ссылками, регистрация в каталогах и прочие мероприятия для повышения и стимулирования ссылаемости на ресурс.
Методы оптимизации можно разделить на три класса, однако последние события в мире поисковых систем дают понять, что это разделение весьма условно – любая манипуляция определенными параметрами сайта может быть расценена поисковиком как крайне нежелательное влияние на его результаты. Так, любая попытка манипулирования поисковыми результатами прямо запрещена в лицензии на использование поисковой системы "Яндекс".
20.4.2. Белая оптимизация
Белой оптимизацией, или естественной оптимизацией, называется оптимизаторская работа над ресурсом без применения официально запрещенных каждой поисковой системой методов раскрутки ресурса – без прямых попыток влияния на поисковые алгоритмы сайтов, или, проще говоря, естественным путем. Это включает в себя работу над самим сайтом, а именно над внутренней навигацией и контентом, и работу с внешней средой сайта, то есть продвижением оптимизируемого сайта путем обзоров, пресс-релизов, регистрации в социальных закладках, партнерских программ и т. п. с указанием ссылок на сайт. Следует отметить, что "Яндекс" предупреждает о том, что если какой-либо метод оптимизации не является официально запрещенным, это не значит, что его можно применять.
Естественная оптимизация позволяет естественным путем, анализируя поведение потребителей, добиться максимальной отдачи от сайта, а именно возрастания целевой посещаемости, популярности ресурса среди пользователей Интернет и рейтинга поисковых систем. Естественная оптимизация исключает любые "допинговые" методы оптимизации – рассылку спама, накручивание баннерных показов, и другие методы черной оптимизации.
Комплекс мероприятий для проведения белой оптимизации заключается обычно в следующем [32, 33]:
улучшение видимости сайта роботами поисковых систем ;
совершенствование удобства сайта для посетителей – юзабилити;
совершенствование текстов на сайте – контента;
анализ запросов, связанных с продвигаемым продуктом;
поиск сайтов родственной тематики для создания партнерских программ;
создание своей рассылки, позволяющей получить дополнительный приток посетителей;
использование контекстной рекламы в Интернете для получения целевых посетителей.
Благодаря грамотной корректировке контента сайта, его настройке под поисковые системы, улучшению навигации сайта и постоянному анализу пользовательских запросов – веб-сайт становится более посещаемым, интересным и удобным для пользователя. В естественной оптимизации ключевую роль играет развитие функционала ресурса (то есть увеличение сложности системы) и удобства пользователей (юзабилити).
Способы белой оптимизации можно разделить на внутренние и внешние:
Внутренние. Подбор и размещение в коде сайта META-тегов: ключевых слов, краткого описания. Делается это с учетом слов и словосочетаний, по которым сайт должен находиться в поисковых системах. Оптимизация текстов сайта, то есть обеспечение соответствия текстов META-тегам. Возможно также увеличение "веса" слова в тексте за счет выделения его жирным шрифтом.
Внешние. Добавление сайта в базы поисковых систем. Регистрация сайта в авторитетных каталогах сайтов (DMOZ, Yandex Каталог). Размещение пресс-релизов в интернете со ссылкой на продвигаемый сайт.
20.4.3. Серая оптимизация
Серые методы можно трактовать как что-то среднее между черными и белыми методами продвижения. В сущности, эти способы продвижения сайта являются полулегальными и поэтому не лишены риска, что продвигаемый сайт не забанят. К ним относятся [33]:
неоправданное использование тэгов <strong><b> и других, позволяющих воздействовать на алгоритм ранжирования в поисковых системах и хоть немного поднять позиции сайта в поисковиках;
нетематический обмен ссылками и статьями;
покупка ссылок на других сайтах;
использование сервисов автоматического обмена статьями;
ссылки с несуществующих страниц;
покупка мест под статьи на других ресурсах или размещение за плату статей со ссылками на свой сайт на других сайтах.
20.4.4. Черная оптимизация
Черная оптимизация – поисковая оптимизация (подстройка кода, текста и других параметров сайта под алгоритмы поисковых систем с целью поднятия его позиций в выдаче) с применением запрещенных и недобросовестных методов, в частности, нарушающие лицензию Яндекса; а также нарушающие правила участия в рейтинге сайтов.
К методам черной оптимизации относятся [32, 33]:
использование невидимого текста, совпадающего с цветом фона или очень близкого к нему;
использование невидимых пользователю ( width="1", height="1" ) графических изображений, равно как и невидимых фреймов и чрезмерно маленького шрифта size="1" ;
создание дорвея, т.е. сайта, который может состоять из одной, максимум из 2-3 страниц, назначение которого – привлечь посетителей и перенаправить их на основной сайт;
клоакинг, т.е. выдача текстового содержания сайта (страницы) поисковому роботу отличного от того, которое видит пользователь;
злоупотребление в тексте ключевыми словами и словосочетаниями;
использование линкаторов (программ автоматического обмена ссылками);
накрутка счетчиков в рейтингах сайтов (top100.rambler и др.) с использованием специальных сервисов;
спам по почте, т.е. беспорядочная отправка с помощью специальных программ непрошеных сообщений с просьбой посетить сайт тысячам и миллионам Интернет-пользователям.
20.4.5. Несколько рецептов по раскрутке сайта
Начать следует с оптимизации текста, который является самой важной составляющей, и его разметки [34].
текст должен быть уникальным и читабельным для человека;
в <head> должен присутствовать тег <title> </title> c заголовком страницы;
в тег <description> помещается более пространное описание страницы;
в тег <keywords> помещаются ключевые слова для этой страницы;
главный заголовок помещается в тег <h1> заголовки более низких логических уровней в теги соответственно <h2>, <h3> ;
картинки подписываются тегом "alt" с описанием содержимого;
ссылки подписываются тегом "title" с описанием того, куда они ведут;
делается навигационные панели на страницы сайта;
в статьях ставятся ссылки на важные страницы с ключевым словом;
делается карта сайта – страница, на которой содержится полный или частичный список страниц сайта, доступных с главной или всех страниц;
создается файл robots.txt:robots.txt – файл ограничения доступа к содержимому роботам на http -сервере. Файл должен находиться в корне сайта (то есть иметь путь относительно имени сайта / robots.txt ). Данный файл дополняет стандарт Sitemaps, который служит прямо противоположной цели: облегчать роботам доступ к содержимому.
Файл robots.txt используется для частичного управления индексированием сайта поисковыми роботами. Этот файл состоит из набора инструкций для поисковых машин, при помощи которых можно задать файлы, страницы или каталоги сайта, которые не должны индексироваться.
Файл состоит из записей. Записи разделяются одной или более пустыми строками. Каждая запись содержит непустые строки следующего вида:
<поле>:<необязательный пробел><значение><необязательный пробел>
где поле – это либо User-agent, либо Disallow.
Примером robots.txt может служить следующий текст:
User-agent: * //для всех агентов
Disallow: /images/ //не индексируем содержимое папки images
Disallow: /*.css$ //не индексируем файлы с расширением css во всех подпапках сайта
Sitemap: http://example.com/sitemap.xml //указываем расположение файла sitemap.xml
создается файл sitemap.xml .Sitemaps – это XML -файл с информацией для поисковых систем (таких как Google, Yahoo, Ask.com, MSN, Яндекс) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт.
Ниже приведен пример файла Sitemap, в котором содержится только один URL-адрес и использованы все необязательные теги.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://example.com/</loc> // местонахождение страницы
<lastmod>2005-01-01</lastmod> // время последнего обновления
<changefreq>monthly</changefreq> // частота обновления
<priority>0.8</priority> // важность относительно других страниц
</url>
</urlset>
Рекомендуется располагать файл Sitemap в корневой директории сервера
После оптимизации текста и его разметки следует приступить к использованию белых механизмов раскрутки [35]:
регистрация в каталогах сайтов и каталогах пресс-релизов;
регистрация в каталогах статей или обмен статьями;
размещение объявлений на досках объявлений;
обмен ссылками (приемлем только с тематическими ресурсами);
размещение новостей на новостных порталах;
создание RSS-ленты и регистрация в RSS-каталогах;
создание и ведение рассылок на своем и/или специализированных ресурсах;
создание конкурсов и акций на сайте;
создание и ведение групп в социальных сетях.
20.4.6. Ключевые термины
Поисковая оптимизация, SEO, Плотность ключевых слов, Индекс цитирования сайта, Белая оптимизация, Серая оптимизация, Черная оптимизация.
20.5. Дополнительная тема: использование служб статистики
20.5.1. Общие сведения
Веб-аналитика (Web analytics) – это измерение, сбор, анализ, представление и интерпретация информации о посетителях веб-сайтов с целью их улучшения и оптимизации [36]. Основной задачей веб-аналитики является мониторинг работы веб-сайтов, на основании которого определяется веб-аудитория и изучается поведение веб-посетителей для принятия решений по развитию и расширению функциональных возможностей веб-ресурса.
Веб-аналитика помогает во многих аспектах развития сайта. Вот основные из них:
развитие функционала сайта, на основании тенденций в поведении посетителей;
оценка эффективности рекламных кампаний любого типа;
выявление проблемных мест в навигации сайта.
К основным методам веб-аналитики можно отнести:
Анализ посещаемости сайта: статистика, тенденции, абсолютные и относительные показатели.
Анализ юзабилити (анализ плотности щелчков, путей по сайту)
Бенчмаркинг. Сравнение с общими тенденциями и с конкурентами с помощью независимых исследователей (Alexa, GemiusAudience, Google Trends)
Основными инструментами веб-аналитики можно считать:
Анализаторы логов (WebTrends, Webalizer, AWStats).
Счетчики-рейтинги – дают количество посетителей за день, неделю, месяц, за всю историю (Rambler's TOP 100, Рейтинг@mail.ru).
Системы интернет-статистики – дают суммарную информацию по посещениям, выбранным по некоторому срезу, заданному пользователем ( Google Analytics, SpyLog, Liveinternet, Яндекс.Метрика, stat24).
Системы интернет-статистики с детализацией по просмотрам страниц – кроме суммарной информации, дают информацию по просмотрам страниц внутри каждого посещения (Woopra, Yahoo Web Analytics).
Системы интернет-аналитики с детализацией поведения посетителя на странице – дают максимально возможную детализацию с возможностью просмотра всех действий посетителей: движений мыши, кликов, нажатий клавиш и т.д. (ClickTale, WebVisor).
Рассмотрим более подробно два сервиса веб-аналитики: Google Analytics и Яндекс.Метрика.
Google Analytics . Инструмент профессионального уровня, функционирующий на хорошо зарекомендовавшем себя движке компании Urchin, приобретенной Google в 2005 году (рис. 20.9). С тех пор услуги системы стали бесплатными, а сам сервис обзавелся множеством дополнительных возможностей. Google Analytics можно использовать для любого количества сайтов любого масштаба. При этом исследовать статистику ресурсов можно не только посредством стандартных отчетов, но и при помощи так называемых пользовательских отчетов, отображающих информацию в соответствии с заранее заданными правилами. Интерфейс системы выполнен с использованием технологий Flash и Ajax, прост и переведен на множество языков, включая русский. Для работы с сервисом необходима учетная запись Google.
Основными плюсами Google Analytics можно считать [37]:
невидимый счетчик;
интеграция с рекламными сетями Google AdWords и AdSense;
возможность предоставления доступа к статистике другим пользователям Google;
наличие средств администрирования;
доставки отчетов по электронной почте и их экспорта в другие форматы;
справочная документация на русском языке;
открытый API, позволяющий встраивать Google Analytics в другие программные продукты.
(рис 20.9) Google AnalyticsЯндекс.Метрика. Бесплатный инструмент компании "Яндекс" для оценки посещаемости сайта, анализа поведения пользователей и эффективности рекламных усилий (рис. 20.10). Сервис постоянно совершенствуется и в настоящий момент осуществляет формирование восьми групп отчетов (трафик, источники, возвраты, содержание, география, демография, карта путей, компьютеры посетителей), каждый из которых состоит из временного фильтра, интерактивного флэш-графика и таблицы с данными. Сродни Google Analytics, в " Яндекс.Метрике " также предусмотрен механизм разграничения доступа к собираемым счетчиком данным. Все отчеты в системе обновляются с периодичностью раз в 5 минут.
Основными плюсами Яндекс.Метрики можно считать [37]:
интеграция с "Яндекс.Директом" и "Яндекс.Маркетом";
наличие функции мониторинга доступности сайтов с возможностью рассылки SMS-уведомлений;
справочная документация на русском языке;
невидимый счетчик.
Недостатком " Яндекс.Метрики " можно считать отсутствие механизмов экспорта статистических данных.
(рис 20.10) Яндекс.МетрикаВ табл. 15.1 приведено сравнение Google Analytics и " Яндекс.Метрика " [38].
Сравнение Google Analytics и "Яндекс.Метрика"
| Параметр |
" Яндекс.Метрика " |
Google Analytics |
| Обновление статистики |
Каждые 5 минут (время между действиями пользователя на сайте и отражением их в отчетах – около 15 минут) |
Раз в сутки, что не позволяет вести наблюдение внутрисуточной активности пользователей на сайте |
| Интерфейс |
Простой интерфейс и функционал, удобный для начинающих, иногда недостаточный для профессионалов |
Сложный интерфейс. Для полного освоения возможностей сервиса нужно прочесть объемную справку или даже прослушать обучающий семинар |
| Оповещение о проблемах на сайте |
В случае недоступности сайта высылается оповещение по e-mail или sms |
Не предусмотрено |
| Интеграция с рекламной системой |
Интеграция с "Яндекс.Директом" и "Рекламной Сетью Яндекса" – номинальная (ссылка из интерфейса рекламной системы на "Метрику") |
Есть интеграция с Google AdWords и AdSense |
| Отслеживание субдоменов |
Нужно поставить код счетчика на каждом субдомене |
Субдомены сайта можно отслеживать в том же профиле, что и основной домен |
| Сравнение с конкурентами |
Нет |
Можно сравнить посещаемость, показатель от¬казов, количество новых посетителей и другие данные по различным тематикам, если в на¬стройках включить анонимное предоставление |
| Демографические данные |
От Яндекса "Метрика" получает социо-демографическую статистику – пол и возраст аудитории сайта |
Не анализируются |
| Фильтры данных |
Позволяют только фильтровать данные по целевым визитам. Настраиваемых фильтров нет |
Более гибкие, позволяют исключить из отчетов определенный трафик (например, просмотры сайта сотрудниками компании, а не клиентами) по домену, по IP или по пользовательскому фильтру |
| Сегментация трафика |
Стандартная по источникам трафика: поисковики, сайты, страницы, поисковые фразы, рекламные системы |
Помимо стандартной, есть функция "расширенные сегменты трафика", которая позволяет анализировать отдельные группы трафика, например, "посещения с конверсиями", или создать новые виды отчетов, компонуя сегменты |
| Сравнение и наложение данных |
Отсутствует |
Предусмотрены разнообразные варианты наложения данных – например, данных о посетителях сайта – на карту мира или информации о кликах – на главную страницу сайта. Имеются возможности сравнения и со¬поставления по диапазонам дат |
| Визуальное отображение путей по сайту |
Полный визуальный отчет по всему сайту – "Карта путей" (наглядное и красочное отображение переходов: из основных источников трафика внутрь сайта) |
Сводка по навигации только для отдельной страницы с источниками входа и выхода посетителей |
| Экспорт данных |
Данные из отчетов можно экспортировать в файлы в форматах Excel, CSV |
Данные из отчетов можно экспортировать в файлы в форматах Excel, PDF, CSV, TSV |
| Работа с другими рекламными системами |
Показываются переходы на сайт из всех трех лидирующих систем контекстной рекламы ("Яндеко.Директа", Google AdWords и "Бегуна") |
По умолчанию показываются данные только по Google AdWords. Для "Бегуна" и "Яндекс. Директа" данные по стоимости загрузить нельзя, но можно высчитать полезность цели посещения, процент конверсии. Система может отслеживать все типы интернет-рекламы, включая баннерные объявления, ссылки для перехода, кампании на основе электронной почты |
| Возможности для интернет-магазинов |
Специальных функций не предусмотрено |
Если подключить раздел "Электронная торговля", можно отследить доход от покупок на сайте, составить рейтинг переходов (процент посещений, в ходе которых были сделаны покупки), посчитать транзакции (количество заказов на покупку), узнать, какие категории продуктов лучше покупают и т.д. |
| Поиск по данным |
Отсутствует |
У Google Analytics есть внутренний поиск по данным – можно найти, например, среди сайтов-источников определенный домен |
" Яндекс.Метрика " как отечественный сервис лучше адаптирована к реалиям Рунета, предупреждает о проблемах с сайтом, поддерживает три системы контекстной рекламы в отчетах, предоставляет доступ к демографическим данным пользователей.
Google Analytics предоставляет, в сравнении с " Яндекс.Метрикой ", практически безграничные возможности для анализа сайта. Но сложность интерфейса, как показывает практика, многих пользователей останавливает в освоении системы на начальной стадии.
Оба инструмента быстро развиваются, в них добавляются новые возможности, и нет сомнений, что критические пробелы в функционале " Яндекс.Метрики " в недалеком будущем заполнятся. Имеет смысл использовать обе системы: " Яндекс.Метрику " – для экспрессанализа, Google Analytics – для глубокого "разбора полетов" и стратегического планирования.
20.5.2. Ключевые термины
Веб-аналитика, Анализ посещаемости сайта, Анализ юзабилити, Бенчмаркинг, Анализаторы логов, Счетчики-рейтинги, Системы интернет-статистики, Google Analytics, Яндекс.Метрика.
20.6. Краткие итоги
Семантическая паутина – часть глобальной концепции развития сети Интернет, целью которой является реализация возможности машинной обработки информации, доступной во Всемирной паутине.
Semantic Web в математической форме представляет собой разновидность графа – набора вершин, соединенных дугами. В Semantic Web роль вершин выполняют понятия
Машинная обработка возможна в семантической паутине благодаря двум ее важнейшим характеристикам:
Повсеместное использование универсальных идентификаторов ресурсов ( URI );
Повсеместное использование онтологий и языков описания метаданных ;
Поисковые агенты получат возможность взаимодействовать не только с информацией, хранимой в сети и доступной ей для обработки, но еще и между собой.
Техническую часть Semantic Web составляет семейство стандартов на языки описания:
XML ;
XML Schema ;
RDF ;
RDF Schema ;
OWL.
Также стоит выделить технологии.
Унифицированные идентификаторы ресурсов ( URI );
SPARQL.
Критика Semantic Web заключается в следующем:
Практическая реализуемость;
Дублирование информации;
Проблемы для бизнеса;
Анонимность и сохранение авторских прав.
Микроформаты – это способ семантически размечать сведения о разнообразных сущностях на веб-страницах, используя стандартные элементы языка HTML (или XHTML).
Каждый микроформат решает определенную, отдельную задачу. Вот наиболее известные из них [20]:
hCard ;
hCalendar ;
hAtom ;
XFN ;
geo ;
hReview ;
nofollow.
Микроформаты используются в Internet Explorer 8 в виде технологии веб-фрагментов.
Поисковая система – веб-сайт, предоставляющий возможность поиска информации в Интернете.
Поисковые cистемы обычно состоят из трех компонент:
агент (паук или кроулер), который перемещается по Сети и собирает информацию;
база данных, которая содержит всю информацию, собираемую пауками;
поисковый механизм, который люди используют как интерфейс для взаимодействия с базой данных.
Основополагающими характеристиками информационно- поисковых систем является полнота и релевантность результатов поиска. Для пользователя пертинетность, соотношение объема полезной для него информации к общему объему полученной информации, имеет решающее значение.
OpenSearch – набор технологий, позволяющих веб-сайтам и поисковым системам публиковать результаты поиска в форматах, удобных для распространения и сбора.
Поисковая оптимизация – комплекс мер для поднятия позиций сайта в результатах выдачи поисковых систем по определенным запросам пользователей.
Поисковая оптимизация делится на:
Белую оптимизацию ;
Серую оптимизацию ;
Черную оптимизацию.
Веб-аналитика – это измерение, сбор, анализ, представление и интерпретация информации о посетителях веб-сайтов с целью их улучшения и оптимизации.
Основными инстументами веб-аналитики можно считать:
Анализаторы логов ;
Счетчики-рейтинги ;
Системы интернет-статистики.