Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические аспекты разработки веб-ресурсов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]