В конце 90-х годов европейскими учеными были предложены термины Web Mining (WM) и Web Analytics (WA), соотносящиеся примерно так же, как Data Mining (DM) и Data Analytics — WM в большей мере относится к формальным методам выделения по заданным шаблонам полезных данных из сырых, а WA ближе к семантике — извлечение полезной информации из данных. Однако в таком контексте эти различия не имеют существенного значения, поэтому, говоря об извлечении полезных сведений из WWW, будем иметь в виду и то и другое.
WM — программное обеспечение, предназначенное для извлечения знаний из данных, обычно из документов и сопровождающих их гиперссылок, из сведений о пользователях и их активности, зафиксированных в разного рода журналах, короче, из всего, что может быть доступно в Сети. Первые публикации на тему WM датируются серединой 90-х годов, когда мирно сосуществовали два подхода — процессный (process-centric view), представляющий WM как последовательность выполняемых задач, и дата-центричный (data-centric view), привязанный к типам данных. В дальнейшем преимущественное распространение получил второй.
Переломным в судьбе WM стал 2008 год, приведший к началу коммерциализации технологий WM, — компания Google предложила сервис Google Flu Trends (GFT), средствами которого удалось, например, предсказывать эпидемии гриппа, что дало основание для неумеренного оптимизма и веры в бесконечные возможности анализа Больших Данных. Однако избранная специалистами Google модель распространения эпидемий оказалась тогда недостаточно достоверной — в ней обнаружились серьезные погрешности, и незамедлительно начался массовый откат. Вполне ожидаемо главным критиком, а скорее стимулятором негатива, оказался не кто иной, как Билл Гейтс, вполне обоснованно видящий в Google своего стратегического конкурента. Весной 2014 года с полярными мнениями относительно потенциала GFT выступили такие мощные журналы, как Science и The Atlantic: первый — «против», второй — «за». Невзирая на авторитет этих изданий, можно сказать, что публичная шумиха выглядит довольно наивно, поскольку речь идет всего лишь об инструменте, который можно применить с тем или иным успехом в зависимости от множества самых разных обстоятельств, благоприятных или нет.
Сегодня под WM понимают совокупность методов автоматического систематического обхода WWW с целью сбора требуемых данных о компаниях и людях для выработки информации и принятия решений. Web Mining отличается от Data Mining масштабом, способом доступа и структурой данных. В традиционном DM обработка базы данных с одним миллионом записей считается большой работой, а в WM даже обработку 10 млн страниц нельзя назвать чем-то выдающимся. DM имеет дело с корпоративными данными, что требует соответствующих полномочий, а в WM обычно используются публичные данные и нет необходимости в правах доступа, но следует соблюдать определенные этические нормы. Хотя краулеры (поисковые программы-роботы), распространяемые поисковыми машинами, создают для сайтов дополнительную нагрузку, администраторы им не противодействуют, поскольку в результате создаются индексы, способствующие увеличению посещаемости. Однако WM не придает сайтам дополнительных качеств, поэтому краулеры должны быть более тактичны. Традиционный DM получает структурированные данные из баз данных, а WM оперирует неструктурированными или квазиструктурированными данными.
Дата-центричность означает акцент WM на работе с тремя источниками информации.
- Данные о действиях пользователей, от журналов серверов (server log) до отслеживания обращений к браузеру (browser activity tracking). Анализируя эти сведения, можно получать обобщенные данные, изучить закономерности поведения групп пользователей и информацию о посетителях сайта. Помимо владельцев браузеров, сбором такого рода данных занимаются сотни специализированных компаний, образуя крупный сегмент бизнеса.
- Веб-графы, описывающие прямые связи между страницами WWW. Математический граф состоит из вершин, соединенных ребрами (дугами в ориентированных графах). В веб-графе вершины — это страницы WWW, а дуги — гиперссылки между ними. По графу устанавливаются связи между страницами, людьми и любыми иными объектами.
- Контент веб-страниц и связанных с ними документов.
![]() |
Рис. 1. Составные части WM |
Как показано на рис. 1, в WM выделяют три направления: нагрузочный WM, структурный и контентный.
Нагрузочный WM
Паутина становится важным инструментом привлечения клиентов, что делает актуальной оценку качества работы сайта, — этой цели служит нагрузочный WM (Web Usage Mining, WUM), позволяющий обнаружить модели поведения пользователей по их цифровым следам на сайте: пути доступа, посещаемые страницы, лог-записи, регистрационные данные и др. По полученным данным можно, например, создавать рекомендации пользователю по посещению интересных для него страниц, которые остались еще без его внимания. Обычно процедуры WUM состоят из нескольких основных шагов (рис. 2).
![]() |
Рис. 2. Нагрузочный WM |
Сбор данных (Data Collection). Разнообразные пользовательские данные собираются на серверной и пользовательской сторонах, а также в прокси-серверах. Веб-сервер собирает запросы пользователей и хранит их в журналах, однако достоверность данных в журналах страдает из-за проблемы идентификации сессии (session identification problem), возникающей из-за кэшей, посылающих ответ на запрос без обращения к серверу. Сбор данных на стороне пользователя (Client Side Collection) осуществляется встроенными в браузер агентами (Java-скрипты или Java-апплеты), но теоретически пользователь должен выразить свое согласие на такой способ отслеживания. В этом случае проблема идентификации сессии исключается, тем не менее сохраняется ситуация, когда собранные данные не вполне достоверны. Прокси-сервер получает запросы в том же формате, что и веб-сервер, и может использовать их для обобщенной оценки запросов.
Предобработка (Preprocessing). На этом этапе с помощью разнообразных эвристических алгоритмов выполняется последовательность операций над журналами с целью преобразования потока сырых данных в набор пользовательских досье (профилей). Данные очищаются путем удаления несущественных сведений (для большинства сайтов несущественны медийные файлы, а для распространителей контента именно они представляют наибольшую важность). В процессе очистки учитываются коды состояния HTTP, учитываются только успешные запросы с кодом от 200 до 299. Затем происходит идентификация пользователя (User Identification), в простейшем случае она осуществляется по IP, но и здесь есть множество вспомогательных решений, особенно продуктивно использование формата Extended Log Format. После этого идентифицируется сессия (Session Identification) — анализ набора страниц, посещенных пользователем за визит. Для решения этой задачи создано огромное число эвристических алгоритмов, основанных на времени пребывания на страницах и навигации по сайту. Завершающий этап предобработки — формирование образа (Path Completion) пользователя.
Распознавание образов и анализ (Pattern Discovery and Analysys). Это самый наукоемкий этап WUM, и чаще всего для анализа сессий и посетителей применяются статистические методы (Session and Visitor Analysis). Данные агрегируют по определенным признакам, по дням, по сессиям, по пользователям или доменам, а полученные отчеты содержат сведения о наиболее часто посещаемых страницах, времени пребывания на странице, длине пути по сайту и т. п. Кластерный анализ служит для объединения объектов с общими признаками, что в WUM нужно для сегментации посетителей сайтов и страниц по их посещаемости. Это позволяет объединить в группы пользователей, имеющих общие образы, — например, по демографическим показателям, необходимым для целей адресного маркетинга. Ассоциативный и корреляционный анализ позволяет устанавливать связи между теми или иными явлениями или процессами. Анализ навигационных образов служит для предсказания поведения пользователей, что необходимо, скажем, для размещения рекламы.
Структурный WM
Подходы к структурному WM (Web Structure Mining, WSM) разделяются по используемым данным. Первая категория таких подходов — Web Graph Mining, когда WWW представляется как граф с узлами-страницами и гиперссылками-ребрами. Второй — менее развитый — подход (Deep Web Mining) адресован к скрытому или глубинному WWW (Deep Web). Следует отличать Deep Web от DarkWeb, к последнему относятся либо потерянные, либо вообще не подключенные к Сети страницы. Deep Web состоит из страниц и сайтов, недоступных обычным краулерам, — это могут быть страницы, не связанные гиперссылками с другими, в частности динамически создаваемые по запросам к базам данных, или сайты, доступные только зарегистрированным пользователям. В таких случаях информация, доступная человеку-пользователю, оказывается недоступной роботу — обычно краулеры идут «по поверхности», а значительная часть полезных данных скрыта от них в глубине.
Основное предназначение WSM для подхода Web Graph Mining состоит в обнаружении взаимосвязи между веб-страницами и формировании иерархии гиперссылок. Таким образом WSM обеспечивает заготовку для установления связей между фрагментами информации на сайте, доступа к информации по ключевым словам и контентного WM. Иерархия гиперссылок используется еще для установления с помощью поисковых машин системы гиперссылок, обеспечивающих переход со страниц собственного сайта к внешним сайтам — например, к сайтам конкурентов, где размещена близкая по содержанию информация. Далее связанные страницы можно кластеризовать по логическим связям между одним или более сайтами, принадлежащими партнерам или конкурентам.
К результатам WSM можно применить алгоритмы ранжирования PageRank или HITS (Hyperlink Induced Topic Search), позволяющие найти наиболее значимые страницы, что напоминает подсчет индекса цитирования научных статей. Понимание того, как контент соотносится с рангом страницы, позволяет повышать качество сайта.
Контентный WM
Контентный WM (Web Content Mining, WCM) имеет общие черты с DM и Text Mining (TM), однако методы DM, как и TM, не могут быть непосредственно распространены на WCM, поскольку веб-данные представляют собой смесь квазиструктурированных и неструктурированных данных, в то время как DM ориентирован только на структурированные, а TM — на неструктурированные. За последние несколько лет WCM стал областью активных исследований, и основные сложности здесь вызваны гетерогенностью веб-данных и их низкой структуризацией, затрудняющей выделение целевой информации. Кроме того, в WCM необходимо решать ряд специфических задач: извлечение структурированных данных из веб-страниц с использованием методов машинного обучения и нейронных сетей; формирование процедур унификации форматов представления данных и их интеграции из разных источников; выделение оценок продуктов и услуг в отзывах, размещаемых на форумах, в блогах и чатах. Для отделения содержательной составляющей страниц от служебных и рекламных текстов требуются соответствующие процедуры сегментации.
В WCM для каждого из трех типов данных (структурированные, неструктурированные и квазиструктурированные) используются собственные методы обработки, но независимо от этого почти всегда выполняется процедура перевода данных из формы, предназначенной для чтения человеком, в форму, удобную для обработки компьютером. Такая процедура называется data scraping, или «срезание данных с поверхности». Первые технологии screen scraping применялись сначала на мэйнфреймах и позже на мини-компьютерах для придания диалоговых функций унаследованным программам. Средствами screen scraping можно адаптировать такие программы для поддержки простейших «зеленых» алфавитно-цифровых терминалов и таким образом наладить режим интерактивного взаимодействия. Много лет спустя эта же идея возродилась как Web Scraping — в какой-то степени их работа напоминает индексацию WWW, но ее цель заключается не в составлении индексов, а в преобразовании неструктурированных данных, существующих в формате HTML, в структурированные и сохранении их в базах данных или в электронных таблицах.
Диапазон технологий, используемых для Web Scraping, чрезвычайно широк, но в ряде случаев невозможно обойтись без вмешательства человека, и тогда берут на вооружение классический прием copy-and-paste. Есть еще простой, но эффективный прием, известный как Text grepping, построенный на базе UNIX-утилиты grep. Подобным же образом могут быть использованы средства для работы с регулярными выражениями, имеющиеся, например, в языках программирования Perl и Pyton. Программы разбора HTML используют то обстоятельство, что многие сайты имеют в своем составе страницы, динамически сгенерированные из содержимого структурированных источников (баз данных), и для их создания применяются общие для схожих страниц шаблоны. В таких случаях используют программы-упаковщики (wrapper), которые, наоборот, извлекают содержимое и переводят его в реляционную форму. Создание упаковщиков — непростая задача, решаемая в человеко-машинном режиме, что требует больших трудозатрат на первичную разметку страниц и поддержку разметки на протяжении жизненного цикла данных. Полностью автоматизированная генерация возможна пока только на экспериментальном уровне, а высшим достижением Web Scraping являются анализаторы веб-страниц с элементами искусственного интеллекта на базе систем компьютерного зрения и машинного обучения.
Очевидно, что проще всего выполнять WCM для структурированных данных — здесь достаточно применить служебные процедуры сначала обхода страниц, затем генерации и исполнения упаковщика, а потом можно переходить к анализу содержимого страницы (Page Content Mining). Сложнее с квазиструктурированными данными, обладающими отдельными признаками структуры, но не соответствующими реляционной модели. По этим признакам данные можно преобразовать в структурированные, вот почему их еще называют данными с самоописанием. Проблема работы с квазиструктурированными данными актуализировалась с появлением Интернета, где таких данных много. В качестве общего примера можно привести библиографические данные, где известна форма ссылки, но в ней может быть неопределенное число авторов или еще какие-то нарушения строгого формата. То же самое относится к разного рода персональным данным. Примером квазиструктурированных данных может служить граф просмотра сайта посетителем — именно для такого рода данных характерно переменное число полей, а сами поля при этом могут располагаться в произвольном порядке. Особое внимание такие данные привлекли к себе с появлением «человеко-читаемого» языка XML, имеющего гибкую структуру и текстовой формат обмена JSON (JavaScript Object Notation).
Для работы с квазиструктурированными данными предложены специальные языки класса Web Data Extraction Language, такие как NEXIR ELOG, предназначенные для программ-упаковщиков. С их помощью описывается процедура выделения данных Top Down Extraction, завершающаяся созданием объектной модели данных Object Exchange Model (OEM).
Неструктурированный DM использует методы TM в приложении к специфике WWW и призван облегчить восприятие пользователем больших массивов текстов. Выделяют несколько типов такого рода операций: отслеживание тематики (Topic Tracking) — оценка области интересов пользователя и формирование рекомендаций потенциально интересных ему документов; свертка (Summarization) — создание резюме документов, сокращающего объем необходимого чтения; ранжирование (Categorization) — упорядочение документов и их распределение по заранее определенным категориям; кластеризация (Clustering) — объединение схожих документов в группы; визуализация (Information Visualization) или визуализация данных (Data Visualization) — решение проблемы коммуникации пользователя с данными, и особо здесь интересна визуализация текстов (Text Visualization).
Около дюжины компаний производят сегодня инструменты для WCM в виде традиционных загружаемых коммерческих и свободно-распространяемых программ и облачных сервисов. Визуализация еще не вышла на коммерческий уровень, и все продукты этого класса распространяются свободно.
***
По мере наполнения World Wide Web растет необходимость в средствах для доступа к данным. И хотя задача WM пока еще остается исследовательской, уже появились готовые доступные продукты, помогающие в решении ее отдельных частей.
Леонид Черняк (osmag@osp.ru) — научный редактор, «Открытые системы. СУБД» (Москва).