Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практические аспекты разработки веб-ресурсов. Учебное пособие
.pdf
3. Кластеризация — это группировка объектов (наблюдений, событий) на
основе данных (свойств), описывающих сущность этих объектов. Объекты
внутри кластера должны быть «похожими» друг на друга и отличаться от объектов, вошедших в другие кластеры. Чем больше похожи объекты внутри кластера и чем больше отличий между кластерами, тем точнее кластеризация.
4. Ассоциация — выявление закономерностей между связанными событиями. Примером такой закономерности служит правило, указывающее, что из
события X следует событие Y. Такие правила называются ассоциативными.
Впервые эта задача была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины.
5. Последовательные шаблоны — установление закономерностей между
связанными во времени событиями, т.е. обнаружение зависимости, что если
произойдет событие X, то спустя заданное время произойдет событие Y.
6. Анализ отклонений — выявление наиболее нехарактерных шаблонов.
Ввиду того, что Data Mining развивалась и развивается на стыке таких
дисциплин, как статистика, теория информации, машинное обучение, теория
баз данных, вполне закономерно, что большинство алгоритмов и методов Data
Mining были разработаны на основе различных методов из этих дисциплин.
Например, процедура кластеризации k-means была просто заимствована из статистики. Большую популярность получили следующие методы Data Mining:
нейронные сети, деревья решений, алгоритмы кластеризации, в том числе и
масштабируемые, алгоритмы обнаружения ассоциативных связей между событиями и т.д.
Приведем примеры применения Data Mining в конкретных областях.
1. Internet-торговля:
анализ траекторий покупателей от посещения сайта до покупки товаров;
оценка эффективности обслуживания, анализ отказов в связи с отсут-
ствием товаров;
связь товаров, которые интересны посетителям.
2. Розничная торговля: анализ информации о покупателях на основе кре-
дитных карт, карт скидок и т.д.
Типичные задачи розничной торговли, решаемые средствами Data
Mining:
анализ покупательской корзины;
создание предсказательных моделей и классификационных моделей
покупателей и покупаемых товаров;
создание профилей покупателей;
101

CRM, оценка лояльности покупателей разных категорий, планирование
программ лояльности;
исследование временных рядов и временных зависимостей, выделение
сезонных факторов, оценка эффективности рекламных акций на большом диапазоне реальных данных.
3. Технологии предсказательных моделей (predictive models) позволят построить модели зависимости. Эти модели важны при планировании бизнеса и
позволяют оценить, например, при какой стоимости покупок покупателю следует предоставить дисконтную карту с данным процентом скидки и рассчитать
далее эффект от предоставления таких скидок, что позволяет сделать бизнес
предсказуемым.
4. Телекоммуникационный сектор открывает неограниченные возможности для применения методов добычи данных, а также современных технологий
big data:
классификация клиентов на основе ключевых характеристик вызовов
(частота, длительность и т.д.), частоты смс;
выявление лояльности клиентов;
определение мошенничества и др.
5. Страхование:
анализ риска. Путем выявления сочетаний факторов, связанных с опла-
ченными заявлениями, страховщики могут уменьшить свои потери по обязательствам. Известен случай, когда страховая компания обнаружила, что суммы,
выплаченные по заявлениям людей, состоящих в браке, вдвое превышает суммы по заявлениям одиноких людей. Компания отреагировала на это пересмотром политики скидок семейным клиентам;
выявление мошенничества. Страховые компании могут снизить уро-
вень мошенничества, отыскивая определенные стереотипы в заявлениях о выплате страхового возмещения, характеризующих взаимоотношения между
юристами, врачами и заявителями.
Контрольные вопросы
1. Какие интеллектуальные Internet-технологии получают развитие в
настоящее время?
2. Что представляет собой технология Wiki?
3. Расскажите о проекте Semantic Web.
4. Что подразумевается под «скрытыми знаниями» в методе Data mining?
5. Какие задачи решаются методами Data mining?
102

Методы извлечения знаний в Internet
В настоящее время Internet является наиболее богатым источником информации и знаний. Однако пользователи сталкиваются с проблемами, как при
поиске необходимой информации, так и при анализе. Именно поэтому возникает потребность в использовании специализированных программных продуктов
для извлечения полезных знаний из сети Internet.
Выделяют несколько уровней информации:
исходные данные;
обработанные данные;
знания.
Существуют следующие проблемы работы с информацией из сети
Internet:
1. Поиск значимой информации.
Поисковые системы применяются для поиска необходимой информации.
Однако их использование имеет следующие недостатки:
низкая повторяемость вызовов, связанная с невозможностью индекси-
ровать все web-ресурсы;
низкая точность результата.
2. Выявление знаний из web-ресурсов.
Данная проблема является частью проблемы поиска значимой информации, связана со сложным извлечением полезных знаний из множества полученной информации. Полученные знания представляют в виде деревьев, логических и семантических выражений.
3. Персонализация информации.
Проблема персонализации информации связана с предоставлением пользователю интересной ему информации. Актуально для Internet-магазина, который должен при выборе товара «подсказывать» пользователю.
4. Изучение индивидуального пользователя.
Проблема заключается в предоставлении пользователю именно той информации, которую он хочет получить. Для этого необходима настройка и персонализация поисковой системы для конкретного пользователя.
Перечисленных проблемы устраняются при помощи различных технологий, напрямую или косвенно разрешающие их. Web Mining развивается на пересечении дисциплин, таких как: обнаружение знаний в БД, эффективный поиск информации, машинное обучение, искусственный интеллект и обработка
естественных языков [6].
103

Web Mining — это автоматическое обнаружение web-документов, извле-
чение информации из web-ресурсов и выявление общих закономерностей в
Internet, с использованием методов интеллектуального анализа данных [8].
Технология Web Mining включается в себя следующие этапы:
1. Поиск ресурсов.
2. Извлечение информации.
3. Обобщение.
4. Анализ.
Первый этап предполагает поиск различных источников по ключевым
словам. Включает два класса: поиск документов и поиск сервисов.
Следующий этап — автоматическое извлечение конкретной информации.
Иногда данный этап называют препроцессинг, включающий непосредственно
подготовку найденных данных к анализу. Подготовка заключается в преобразовании текстов, с помощью извлечения словосочетаний и фраз, удаления стопслов [7].
На этапе обобщения — обнаружение общих шаблонов в отдельных и пересекающихся сайтах. К обработанной информации применяются методы Data
Mining.
Последний этап — интерпретация полученных результатов.
Представлены общие шаги, необходимые для анализа данных, полученных из сети Internet. В зависимости от поставленной задачи, каждый этап
включает дополнительные конкретные процедуры.
Извлечение знаний можно определить как нахождение и анализ полезной
информации. Данную область деятельности принято подразделять на две части:
автоматический поиск информации в документах сети — Web content mining и
обнаружение и обработка информации, касающейся работы пользователей с
сервером — Web usage mining.
В технологии Web Mining выделяют следующие категории, представленные на рис. 3.3:
извлечение Web-контента (Web Content Mining);
извлечение Web-структур (Web Structure Mining);
исследование использования Web-ресурсов (Web Usage Mining).
Данная технология в основном извлекает информацию в Internet. Многие
страницы открыты для доступа к информации в Internet. Извлечение контента
содержит в себе методы извлечения значимой информации (содержание, данные, документы) из web-ресурсов. Web-документ содержит несколько типов
данных. Некоторые из них частично структурированные (HTML-документы),
другие более структурированные, (данные в таблицах или БД), но в основном,
информация представлена в виде неструктурированных текстовых данных.
104

Рис. 3.3. Категории Web Mining
Технология Web Mining тесно связана с другими направлениями Data
Mining. Для анализа текстовой информации применяют методы Text Mining.
Для анализа изображений, видео используется Multimedia. Web Content
Mining — аналог интеллектуального метода анализа данных для реляционных
баз данных.
Процесс выявления структурной информации –Web Structure Mining. При
извлечении Web-структур строятся модели, отображающие взаимосвязи webстраниц. Модель основывается на топологии гиперссылок с описанием этих
ссылок или без. Данная модель полезна для генерации информации о сходстве
и отношениях между сайтами. Содержание web-страницы может быть представлено в древовидном формате, основанном на различных HTML и XML тегах. Задача данной категории Web Minig — автоматически извлечь структуру
из документов.
Web Usage Mining анализирует информацию, сгенерированную в процессе взаимодействия пользователя с ресурсами. В отличие от первых двух категорий, работающих с первичной информацией, этот вид работает с вторичной
информацией. К источникам такой информации относятся протоколы доступа
серверов, протоколы браузеров, протоколы прокси-серверов, регистрационные
данные, пользовательские запросы, клики и т.д.
На практике применяют все три категории Web Mining, как по отдельности, так и в сочетании друг с другом [6].
105

Web Mining рассматривается в одном ряду с такими Internet-
технологиями, как получение информации (IR—Information Retrieval) и извлечение информации (IE —Information Extraction).
Технология IE основана на извлечении необходимых фактов из Webдокументов. IR технология основана на получении документов из Web-среды,
релевантных запросу пользователей.
Технология Web Mining является новым перспективным направлением
анализа ресурсов, получения знаний о посетителях сайта, описания социальных
сетей и сообществ, а также для автоматического поиска и структуризации информации из Internet.
Контрольные вопросы
1. Какие проблемы существуют при работе с информацией из сети
Internet?
2. Опишите особенности технологии Web Mining.
3. Какие существуют категории Web Mining?
Процесс извлечения знаний
Рост объема доступных через Internet данных, хранимых в слабо структурированном виде, способствовал появлению автоматических программных
средств поиска информации и получения данных об использовании определенных ресурсов. Возник целый ряд интеллектуальных систем, основная задача
которых состоит в эффективном извлечении знаний из Internet.
Основные этапы анализа
Процесс автоматического изучения характеристик доступа пользователей
к серверам может включать изучение наиболее популярных путей посещения,
нахождение ассоциативных правил, кластеризацию и т.д. Для решения этих задач можно использовать накопленные Internet технические документы. Организации собирают огромные объемы информации, автоматически создаваемой
серверами и оседающей в журналах. Источниками информации являются также
ссылочные журналы, в которых содержится информация для каждой страницы,
на которую есть ссылка, журналы браузеров и регистрационные или анкетные
данные пользователей, собранные CGI-сценариями.
106

Основные потребители систем категории usage mining — организации,
торгующие или предоставляющие услуги в Сети. Главными задачами для них
являются персонификация наполнения страниц и оптимизация сайта с точки
зрения упрощения навигации [8]. Также подобные системы представляют интерес для провайдеров Internet и сетевых администраторов. Основными областями применения в этом случае являются оптимизации работы сети, минимизация трафика и оптимизация предоставляемых услуг (например, интеллектуальное кэширование данных).
Большинство традиционных систем мониторинга Сети предоставляют
возможность фильтрации и получения статистической информации о пользователях. Подобный инструментарий помогает определять количество обращений
к разным файлам и серверам, адреса отдельных пользователей, при этом такие
системы рассчитаны на малый или ограниченный поток данных и редко предоставляют возможности анализа связи между обращениями к файлам и логикой
их расположения. Рассмотрим инструменты, дающие аналитику более полную
информацию.
Сбор информации
Существует возможность собирать статистические данные на сервере, на
клиенте, на промежуточных участках сети.
Сбор информации на уровне сервера представляет собой отбор информации непосредственно из журналов Web-сервера. Этот способ используется
наиболее часто, поскольку без излишних накладных расходов можно получить
достаточно полную картину работы пользователей с сервером. Кроме того, это
один из немногих методов, для которого уже существуют заранее накопленные
данные. Действительно, все или почти все серверы автоматически ведут журнализацию; при этом журналы, как правило, хранятся годами. Рассмотрим детально, какую именно информацию предоставляет журнал сервера, отвечающий требованиям стандарта Common Log Format (CLF).
Большинство современных Web-серверов (в том числе, Apache или IIS)
предоставляют возможность администратору выбирать, какие поля должны
включаться в журнал, а какие — нет. Самые распространенные из дополнительных полей, которые при добавлении к Common Log Format образуют так
называемый Combined Log Format, таковы: обратившееся приложение; URL документа, с которого осуществлено обращение; значения cookies.
У журналов сервера есть и недостатки. Основным из них является неполнота информации. Обращения к сохраненным на каком-либо уровне страницам,
например, у пользователя в локальном кэше, не заносятся в журнал сервера, так
107

же в журналы сервера не попадают данные, пересылаемые с помощью метода
POST. Альтернативный метод сбора данных на самом сервере — анализ на
уровне пакетов. Таким образом можно анализировать на уровне отдельных запросов TCP/IP, но для накопления таких данных, как правило, требуется написание дополнительных программ. На уровне сервера можно собирать данные
запросов, полученных через формы на страницах или после выполнения различных сценариев. Достаточно интересным может быть анализ выданных различным пользователям cookie; информация об этом также хранится на сервере.
Заманчиво собирать информацию о посещениях на уровне клиента. Один
из способов — использование Java-программ, подгружаемых через страницы
интересующего нас сервера; однако функциональность подобных приложений
ограничена, кроме того, сам пользователь с помощью настроек своего браузера
способен исключить или ограничить возможность подобного сбора информации. Вторым способом могло бы стать внесение изменений в программы для
просмотра Сети. Но следует понимать, что вносить в журнал придется все сразу, поскольку если в будущем понадобится собирать данные по какому-либо
новому параметру, то внести соответствующие изменения в браузеры всех клиентов будет почти невозможно. Также при таком подходе возникают две неразрешимые проблемы: во-первых, как правило, никто не хочет, чтобы его шаги
протоколировались, а затем собранные данные куда-либо отсылались, а вовторых, мало кто станет обновлять свое программное обеспечение из-за нужд
третьей стороны, осуществляющей сбор данных. Таким образом, сбор информации на стороне клиента более любых других методов затрагивает проблему
сохранения неприкосновенности личной жизни, и пока такие методики мало
применимы. Тем не менее, на данный момент существует несколько систем,
использующих подобный подход [6].
Анализ данных прокси-сервера может предоставить информацию о характере просмотра Сети анонимной группы пользователей использующих один
прокси-сервер. В случае создания специализированного программного обеспечения для прокси-серверов можно добиться некоторых преимуществ по сравнению со сбором на стороне сервера или клиента. Решается проблема со снижением быстродействия сервера; кроме того, достаточно просто можно осуществить подключение нового сайта к сбору статистики или обновление системы
для взаимодействия с новыми версиями браузеров (не требуется обновление
приложений клиента).
Как альтернативу сбору информации на стороне сервера или шлюза можно рассмотреть сбор данных на узлах сети. Во-первых, не всегда возможен доступ к журналам сервера, во-вторых, не всегда данные, собираемые на сервере,
108

релевантны к решаемой задаче. Кроме того, добавление на сервер каких-либо
программных средств сбора интересующей информации может быть невозможно, или может просто замедлить сервер, что крайне нежелательно. Выходом может служить размещение датчиков в узлах сети на подходе к серверу. В
таком случае сервер разгружается от излишнего программного обеспечения.
Очевидно, что работа ведется на уровне протоколов и, как правило, сбор идет
на уровне пакетов TCP/IP.
Хорошим примером подобной системы служит Web Traffic Warehouse
[11]. Создатели системы обнаружили, что расположение сборщика данных влияет на качество получаемых результатов. Вследствие асинхронного характера
передачи данных по Сети входящий и исходящий трафики могут проходить по
разным физическим каналам. Просматривая его в некоторой точке сети, можно
увидеть только одну из сторон диалога. Чтобы этого избежать, система собирает данные непосредственно на уровне приложений. В будущем планируется использовать большее количество датчиков в сети. Тогда, получая, скажем, данные как от приложения, так и от клиента, можно получать дополнительные параметры (такие, как потеря и задержка пакетов). Кроме того, много
коррелированных источников могут использовать для выявления точек потерь
или задержек информации.
Коллекционирование всех пакетов позволяет получить подробные данные о сети — дополнительная информация извлекается из журналов приложений (межсетевые экраны, серверы и др.). Информация о состоянии сети может
быть получена периодичным просмотром счетчиков непосредственно находящихся на сетевых элементах, имеющих SNMP-доступ к базе Management
Information Base. Более детальные данные можно найти в полях данных, которые поддерживаются датчиками RMON, что расширяет возможности хранения
данных большинства сетевых элементов. Совмещая множество источников
данных, можно получать очень подробную картину.
Следует заметить, что независимо от места сбора информации, в полном
потоке данных содержатся пароли, частная корреспонденция, тексты документов. Даже IP-адреса источника или получателя в некоторых случаях могут быть
сочтены частной информацией, особенно с учетом того, что по адресу можно
определить компьютер, с которого была произведена операция. Можно исключать из обработки подобные данные, но это приводит к потерям ценной информации [11]. Разработчики должны выбирать подходящий компромисс. Например, желательно скрывать IP-адреса; при этом есть потребность определять
вхождения на один сайт с разных компьютеров, для чего необходимо осуществлять проекции от истинных к зашифрованным адресам.
109

Подготовка данных
На этом этапе могут выполняться некоторые простые интеграционные задачи, например, совмещение нескольких журналов и отсев ненужных для решаемой задачи данных. Найденные ассоциации полезны только в том случае,
если данные в журнале показывают точную картину доступа пользователей к
сайту, иногда удаление записей о файлах с «неважными» суффиксами (jpg, gif,
map и др.) может существенно очистить записи. Во многих случаях требуется
также очистить записи от неудачных запросов (например, оставить только
строки, в которых ответ сервера имеет код 200). Обычно также требуется отсекать запросы со стороны различных автоматических агентов (в частности, это
агенты поисковых систем, служащие для создания индексов страниц и слов во
внутренних базах данных, автоматические верификаторы ссылок и инструментарий для управления сайтом).
Сходная, но гораздо более сложная проблема состоит в определении обращений, которые не заносятся в журнал, механизмы локального кэша или
прокси-сервера искажают картину перемещений пользователей в Internet. Сейчас для преодоления этой проблемы используется метод cache bursting, однако
он полностью нивелирует преимущества в скорости от использования локального кэша. Методы борьбы с этой проблемой используют топологию сайта и
ссылочные журналы, вкупе с временной информацией для обнаружения пропущенных ссылок. Более-менее точную картину перемещений пользователя
можно составить, только если пропуски страниц были единичными (например,
если клиент использовал в своем браузере переход по журналу назад), в таком
случае можно дополнять путь пользователя; эта проблема получила название
«заполнение пути» (path completion).
После того как данные очищены, возникает задача разбиения журнала на
различные сеансы различных пользователей. Для того чтобы однозначным образом различать обращения различных пользователей из рассмотренных выше
полей журнала можно использовать IP-адрес, агент пользователя и адрес вызвавшего документа. Рассмотрим три основных типа спорных ситуаций для
идентификации различных пользователей.
A. Один IP-адрес/много пользователей. Очень распространенная ситуация, возникает при использовании провайдером прокси-сервера, кроме этого,
когда любому пользователю при установке связи с провайдером выделяется
случайный адрес (очень характерно при связи по телефонной линии), два разных пользователя могут получить одинаковый адрес.
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
