/
Похожие
Текст
Р. Я. Лабковская
П. В. Косов
АНАЛИЗ БОЛЬШИХ ДАННЫХ
УЧЕБНОЕ ПОСОБИЕ
САНКТ-ПЕТЕРБУРГ
2025
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ
им. проф. М. А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Р. Я. Лабковская
П. В. Косов
АНАЛИЗ БОЛЬШИХ ДАННЫХ
УЧЕБНОЕ ПОСОБИЕ
СПб ГУТ)))
САНКТ-ПЕТЕРБУРГ
2025
УДК 004.6(075.8)
ББК 16.333.22я73
Л12
Рецензенты:
доктор технических наук, профессор,
заведующий кафедрой робототехники и автоматизации производственных систем
Санкт-Петербургского государственного электротехнического университета
им. В. И. Ульянова (Ленина) «ЛЭТИ»
Н. В. Лысенко,
кандидат технических наук, доцент кафедры конструирования
и производства радиоэлектронных средств СПбГУТ
В. М. Устименко
Утверждено редакционно-издательским советом СПбГУТ
в качестве учебного пособия
Протокол № 7 от 04.04.2025
Лабковская, Р. Я.
Л12 Анализ больших данных : учебное пособие / Р. Я. Лабковская, П. В. Косов ;
СПбГУТ. - Санкт-Петербург, 2025. - 152 с. - Текст : электронный.
ISBN 978-5-89160-366-0
Содержит теоретическую часть, примеры решения задач, а также контроль¬
ные вопросы по всем разделам дисциплины «Анализ больших данных».
Предназначено для самостоятельной работы студентов, обучающихся по
направлению подготовки 09.04.02 «Информационные системы и технологии».
УДК 004.6(075.8)
ББК 16.333.22я73
ISBN 978-5-89160-366-0 © Лабковская Р. Я., Косов П. В., 2025
© Федеральное государственное бюджетное
образовательное учреждение высшего образования
«Санкт-Петербургский государственный университет
телекоммуникаций им. проф. М. А. Бонч-Бруевича», 2025
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 5
1. БОЛЬШИЕ ДАННЫЕ. ОСНОВЫ АНАЛИЗА 6
1.1. Типы данных 8
1.2. Формы данных 12
1.3. Классификация данных по источникам 13
1.4. Способы получения данных 16
1.5. Открытые данные 17
1.6. Экосистема больших данных 17
1.7. Распределенные файловые системы 19
1.8. Базы данных 19
1.9. Data Science 20
1.10. Data Mining 21
КОНТРОЛЬНЫЕ ВОПРОСЫ 23
2. ТЕХНОЛОГИЯ ХРАНЕНИЯ И ОБРАБОТКИ БОЛЬШИХ ДАННЫХ 25
2.1. Высоконадежные реплицируемые сервисы координации
распределенных процессов 26
2.2. Фреймворк 27
2.3. Data Warehouse 28
2.4. Data Lake 33
2.5. Data Mart 34
2.6. ETL и ELT 36
КОНТРОЛЬНЫЕ ВОПРОСЫ 38
3. ЯЗЫК ПРОГРАММИРОВАНИЯ R 39
КОНТРОЛЬНЫЕ ВОПРОСЫ 43
4. ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ 44
4.1. Процесс интеллектуального анализа данных 45
4.2. Методы интеллектуального анализа данных 47
4.3. Типы интеллектуального анализа данных 48
4.4. Классификация интеллектуального анализа данных 49
4.5. Машинное обучение 54
4.6. Поиск ассоциативных правил 65
КОНТРОЛЬНЫЕ ВОПРОСЫ 75
5. ВИЗУАЛИЗАЦИЯ ДАННЫХ 77
5.1. Диаграммы 81
5.2. Ошибки в визуализации данных 92
5.3. Business Intelligence 95
КОНТРОЛЬНЫЕ ВОПРОСЫ 97
6. ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ТЕКСТОВЫХ ДАННЫХ 98
6.1. Этапы Text Mining 100
6.2. Классификация текстовых документов 109
6.3. Кластеризация текстовых документов 112
6.4. Аннотирование текста 114
КОНТРОЛЬНЫЕ ВОПРОСЫ 125
3
7. Web Mining 127
7.1. Извлечение веб-ресурсов 133
7.2. Извлечение веб-контента 134
7.3. Этапы Web Mining 137
7.4. Сбор текстовых данных 139
КОНТРОЛЬНЫЕ ВОПРОСЫ 146
СПИСОК РЕКОМЕНДУЕМЫХ ИСТОЧНИКОВ 147
4
ВВЕДЕНИЕ
Анализ больших данных - это захватывающая область, где исследу¬
ются алгоритмы, методы и инструменты, позволяющие извлечь ценные
знания из огромных объемов информации.
Цель данного учебного пособия - научить собирать, обрабатывать,
анализировать и визуализировать данные, используя различные техники,
такие как машинное обучение, статистика и глубокое обучение.
Анализ больших данных позволяет нам исследовать большие объемы
данных, чтобы найти скрытые шаблоны, тенденции и взаимосвязи, кото¬
рые незаметны на первый взгляд. Эта информация может быть использо¬
вана для определения эффективных стратегий бизнеса, прогнозирования
поведения клиентов, разработки новых продуктов, улучшения процессов
и многого другого (например, существует большой набор данных о клиен¬
тах, и необходимо понять, какие факторы влияют на их покупательское
поведение). Анализ больших данных позволит найти образцы и тенденции
в данных, чтобы определить, какие группы клиентов склонны к опреде¬
ленным покупкам, какие продукты или услуги наиболее популярны и как
можно привлекать больше клиентов.
Таким образом, анализ больших данных позволяет нам делать более
осознанные и информированные решения на основе данных. Это помогает
улучшить эффективность, увеличить прибыль и создать более успешные
и конкурентоспособные организации.
Задачи анализа больших данных включают в себя сбор и хранение
данных, очистку и предварительную обработку, исследовательский анализ,
разработку моделей, принятие решений, извлечение знаний и прогнозиро¬
вание. Все эти задачи помогают получить ценную информацию из боль¬
ших объемов данных для оптимизации и улучшения различных аспектов
бизнеса.
5
1. БОЛЬШИЕ ДАННЫЕ. ОСНОВЫ АНАЛИЗА
Данные - это информация или факты, которые получены или записа¬
ны для использования, анализа или хранения, и могут быть представлены
в различных форматах.
Информация - это смысловое содержание, получаемое из данных.
В отличие от данных, которые представляют собой просто факты или сигна¬
лы, информация является осмысленной и имеет ценность для получателя.
Информация может быть представлена в различных формах. Также важно
учитывать, что информация может быть как достоверной, так и неточной.
Отличие данных от информации заключается в их смысловом содер¬
жании и значимости для получателя. Таким образом, данные - это обраба¬
тываемая информация, которая становится информацией, когда приобре¬
тает смысл и ценность для получателя.
При обсуждении соотношения понятий «данные» и «информация»
используется аббревиатура DIKW (Data - Information - Knowledge -
Wisdom, «данные - информация - знания - мудрость»). Это соотношение
часто изображают в виде пирамиды и называют иерархией знаний, пира¬
мидой знаний, информационной пирамидой (рис. 1).
Определения данных обычно делают акцент на том, чего данным не
хватает, а именно: они лишены смысла или ценности, не организованы и
не обработаны.
Шум - отсутствие видимых признаков информации.
Данные представляют собой изолированные, объективные факты или
наблюдения, лишенные организации и интерпретации, не несут в себе кон¬
кретного смысла или ценности без контекста.
6
Информация - это данные, которые были обработаны и структури¬
рованы для определенной цели, приобретают смысл благодаря добавлен¬
ному контексту. Обработка превращает данные в значимую, ценную и ре¬
левантную информацию.
Знания - это результат организации и обработки данных и информа¬
ции, дополненный экспертными мнениями, опытом и другими знаниями
с целью передачи понимания и компетенции для принятия решений.
Метазнания - знания о знании, о том, как оно устроено и структури¬
ровано; знания о получении знаний, т. е. приемы и методы познания (ко¬
гнитивные умения) и о возможностях работы с ним (смотри философия,
методология, многоотраслевая метанаука).
Мудрость - это способность действовать наиболее подходящим обра¬
зом с учетом того, что известно (знания) и что приносит наибольшую
пользу (этические и социальные соображения).
Важным свойством пирамиды знаний являются постоянные преобра¬
зования одного уровня в другой: данных - в информацию, информации -
в знания. Деятельность организации можно рассматривать как последова¬
тельность этапов, связанных с данными, информацией и знаниями. На
каждом этапе данные преобразуются в информацию, которая, в свою оче¬
редь, служит основой для получения знаний и принятия дальнейших ре¬
шений. Качество и эффективность преобразования данных в информацию
играют важную роль в получении ценных знаний и успешной реализации
последующих действий (рис. 2).
Рис. 2. Преобразования знаний
7
Практика большинства организаций показывает, что преобразование
данных в информацию является слабым звеном в цепочке. Очень часто мы
наблюдаем разрыв между данными и информацией. Причиной могут быть
данные: плохо определенные, разрозненные, дублирующиеся, низкого ка¬
чества или устаревшие. Их может быть недостаточно или же, наоборот,
слишком много. Для преодоления разрыва организации следует изменить
отношение к своим данным, а именно рассматривать их как стратегически
важный актив, повышать их ценность и устранять слабые места.
1.1. Типы данных
Для улучшения структуризации данные делятся на типы. Существует
несколько типов деления, зависящих от интересующих факторов. Среди
таких делений можно выделить следующие (рис. 3):
• разделение по способу получения информации;
• числу переменных;
• упорядочению во времени;
• типу шкалы времени;
• степени структурированности.
Рис. 3. Типы данных
При разделении по способу получения информации выделяют пер¬
вичные и вторичные данные.
Первичные данные - это информация, собранная впервые для какой-
либо конкретной цели. Сбор осуществляется путем наблюдений, опросов,
экспериментирования.
8
Вторичные данные - это информация, собранная ранее из внутрен¬
них и/или внешних источников для целей, отличных от решения конкрет¬
ного вопроса или проблемы.
Не всегда возможно получить данные самостоятельно или заказать их
у специалистов (например, если мы интересуемся космическими исследо¬
ваниями, но не располагаем достаточными средствами для проведения до¬
рогостоящих экспериментов или нуждаемся в знаниях и опыте в этой об¬
ласти). Поэтому более распространенным вариантом является использова¬
ние вторичных данных, уже собранных специализированными фирмами
или другими исследователями. Вторичные данные обладают своими пре¬
имуществами - они, как правило, более доступны по цене или даже бес¬
платны, могут быть обширными, зачастую собираются при помощи специ¬
ализированного оборудования и профессионалами в соответствующей об¬
ласти исследований. Поисковые системы в Интернете значительно упро¬
щают поиск вторичной информации.
При разделении по числу переменных выделяют одномерные, дву¬
мерные и многомерные.
Одномерные данные. Этот тип данных состоит из одной перемен¬
ной. Таким образом, анализ одномерных данных является простейшей
формой анализа, поскольку информация имеет дело только с одной вели¬
чиной, которая изменяется. В нем не рассматриваются причины или взаи¬
мосвязи, и основной целью анализа является описание данных и поиск су¬
ществующих в них закономерностей. Примером одномерных данных мо¬
жет быть рост.
Двумерные данные. Этот тип данных включает в себя две разные пе¬
ременные. Анализ данных этого типа связан с причинами и взаимосвязями,
и анализ проводится для выяснения взаимосвязи между двумя переменны¬
ми. Примером двумерных данных могут быть температура и продажи мо¬
роженого в летний сезон.
Многомерные данные. Данные включают в себя три или более пере¬
менных, они классифицируются как многомерные. Пример данных такого
типа: предположим, рекламодатель хочет сравнить популярность четырех
рекламных объявлений на веб-сайте, затем показатели кликов могут быть
измерены как для мужчин, так и для женщин, а далее изучены взаимосвязи
между переменными.
При разделении по упорядочению во времени выделяют простран¬
ственные, временные и пространственно-временные данные
Пространственные данные - значения переменных, относящихся
к сходным объектам в один и тот же фиксированный момент времени.
Пример: температура воздуха в разных городах России в определенный
день.
9
Временные данные. Отражают динамику изменения переменных, ха¬
рактеризующих объект на некотором промежутке времени. Пример: свод¬
ки ГИБДД по количеству ДТП, произошедших в Санкт-Петербурге за один
календарный день в период с 1 по 31 января 2023 г.
Пространственно-временные данные - значения переменных, отно¬
сящихся к сходным объектам за несколько моментов времени. Пример:
сводки ГИБДД по количеству ДТП, с учетом их видов, произошедших
в крупнейших российских городах за один календарный день в период с 1
по 31 января 2023 г.
При разделении по типу шкалы измерения выделяют количественные
и качественные данные, которые, в свою очередь, тоже имеют свое разде¬
ление.
Количественные данные разделяются на дискретные и непрерывные.
Дискретные данные включают в себя круглые конкретные числа, ко¬
торые определяются путем подсчета (например, количество компьютеров
на факультете).
Непрерывные данные включают в себя комплексные числа, которые
измеряются в течение определенного интервала времени (например, су¬
точная скорость ветра).
Среди качественных данных выделяют номинальные и порядковые.
Номинальные данные включают в себя наименование или иденти¬
фикацию данных. Пример: результаты теста могут быть классифицирова¬
ны каждый номинально как «успешно» или «провал».
Порядковые данные включают в себя размещение информации в по¬
рядке. Пример: результаты теста могут быть сгруппированы в порядке
убывания по классам: A «отлично», B «очень хорошо», C «хорошо»,
D «посредственно», Е «недостаточно» и F «плохо»
По степени структурированности можно выделить структурирован¬
ные, полуструктурированные и неструктурированные (рис. 4).
Рис. 4. Типы данных по степени структурированности
10
Структурированные данные представляют собой упорядоченные
данные стандартного формата (таблицы, реляционные базы данных).
В неструктурированных данных нет заранее заданной структуры.
Они могут иметь разнообразные формы (изображения, тексты, видео,
аудио).
Полуструктурированные данные представляют собой комбинацию
структурированных и неструктурированных данных. В них нет строгой
структуры, но они содержат теги и различные маркеры, которые обеспечи¬
вают иерархическую структуру записей (xml, json).
Большие данные (Big Data) - это разнообразные данные, поступаю¬
щие с более высокой скоростью, объем которых постоянно растет.
К главным свойствам больших данных относят так называемые 3V:
объем (Volume), разнообразие (Variety), скорость (Velocity).
Объем. Количество данных является важным фактором. Говоря
о Больших данных, нужно помнить, что придется работать с большим объ¬
емом неструктурированных данных, которые имеют мало информации или
представлены в очень общей форме. Ценность таких данных не всегда из¬
вестна. И, конечно, объем данных может достигать десятков терабайт,
а может и сотен петабайт. Приводя пример данных низкой плотности,
можно представить это как картину с очень маленьким количеством пик¬
селей. На такой картине трудно определить подробности и различия в объ¬
ектах, так как информация о них оказывается недостаточной.
Разнообразие. Доступные данные принадлежат к разным типам. Тра¬
диционные типы данных структурированы и могут быть сразу сохранены
в реляционной базе данных. Итак, в случае с Большими данными будем
иметь дело с неструктурированными данными. Такие неструктурирован¬
ные и полуструктурированные типы данных, как текст, аудио и видео, тре¬
буют дополнительной обработки для определения их значения и поддерж¬
ки метаданных.
Скорость. Здесь мы говорим о скорости приема данных и действий на
их основе. Обычно высокоскоростные потоки данных поступают прямо
в оперативную память, не записываясь на диск. Некоторые «умные» про¬
дукты работают в режиме реального или практически реального времени.
Соответственно, такие данные требуют оценки и действий в реальном
времени.
К основным признакам информации со временем были добавлены
еще три V: достоверность (Veracity), изменчивость (Variability) и ценность
(Value).
Достоверность. Качество данных напрямую влияет на точность про¬
ведения анализа данных. Использование данных из недостоверных источ¬
ников приводит к недостоверным результатам.
11
Изменчивость. Разноплановая интенсивность поступления, которая
влияет на выбор методик обработки. Противоречивость наборов данных
может препятствовать их обработке и управлению ими.
Ценность. Для оценки пользы данных их разделяют на важные
и сложные и второстепенные и простые. Например, важные и сложные
данные - это может быть финансовая аналитика, показатели медицинских
приборов, статистика населения, сигналы со спутников. К примерам вто¬
ростепенных и простых данных можно отнести фотографии из соцсетей,
комментарии под видео, городской справочник.
1.2. Форматы данных
Формат CSV (Comma-Separated Values). Это простой текстовый фор¬
мат данных, который используется для хранения и обмена информацией
в виде таблицы, где каждая строка - это отдельная строка таблицы,
а столбцы отделены один от другого специальными символами - раздели¬
телями (например, точкой с запятой). В настоящее время разделителем
может быть не только точка с запятой, но и другие символы (запятая, табу¬
ляция и т. д.). Например, возможно экспортировать контакты из Google
в CSV-файл, а затем импортировать их в Outlook.
XLSX-файлы - это формат электронных таблиц, который использу¬
ется для хранения и обработки табличных данных, таких как числа, текст
и формулы. Файлы XLSX легко передаются и широко используются для
обмена данными, особенно в офисной среде, где часто требуется работа
с большими объемами информации.
TXT-файлы - это файлы, которые содержат обычный текст, написан¬
ный в простом виде без форматирования или специальных функций. Они
могут быть созданы и прочитаны с помощью различных программ, таких
как текстовые редакторы (например, Блокнот), текстовые процессоры или
различные приложения, поддерживающие открытие текстовых файлов.
TXT-файлы не поддерживают форматирование текста, вставку изображе¬
ний или другие сложные функции, содержат только обычный текст, состо¬
ящий из букв, цифр и специальных символов, очень полезны для хранения
и обмена информацией в простом виде, таком как текстовые заметки, код
программы или простые списки данных. Они также являются одним из
наиболее распространенных и универсальных форматов файлов, поддер¬
живаемых практически любым устройством или программой, которая ра¬
ботает с текстом.
JSON-текст (JavaScript Object Notation) - это способ организации
данных, который используется для передачи информации между компью¬
12
терами. Он основан на формате текста и использует простую структуру,
похожую на словарь или список. JSON-текст состоит из пары «ключ - зна¬
чение», где каждое значение назначается определенному ключу. Ключи
и значения разделяются двоеточием, а каждая пара ключ-значение разде¬
ляется запятой. Все это окружено фигурными скобками {}. JSON-тексты
очень полезны для обмена данными между различными системами, так как
они легко читаемы и понятны для человека, легко обрабатываются компь¬
ютером.
XML-файлы - иерархическая структура данных с разметкой. В языке
XML существуют теги для определения элементов, что затрудняет его чте¬
ние. JSON представляет собой более читабельный текстовый формат дан¬
ных.
Подводя итоги:
• наиболее часто используемые форматы: CSV, XLSX, TXT, JSON,
XML;
• файлы в форматах CSV и XLSX хранят данные в табличных фор¬
матах;
• TXT не ограничены определенным знаком разделителя (отличие от
CSV);
• JSON и XML решают несколько схожую задачу, сравнение в основ¬
ном основано на особенностях и преимуществах каждого из них.
1.3. Классификация данных по источникам
Рассмотрим, какие бывают данные с точки зрения их получения. Ка¬
кие существуют способы получения данных? где брать данные? что такое
открытые данные?
Собственные данные - данные, которые у нас уже есть.
Примеры собственных данных в рамках Big Data:
1. Данные социальных сетей:
• журнал активности пользователей (посты, лайки, комментарии
и т. д.);
• профильные данные пользователей (имя, возраст, местоположение
и т. д.);
• социальные связи и графы друзей.
2. Данные IoT (интернета вещей):
• данные с датчиков умных устройств (температура, влажность, уро¬
вень освещения и т. д.);
• логи действий и состояния устройств.
13
3. Логи веб-серверов:
• записи о запросах к веб-серверам (IP-адрес, пользовательский агент,
время запроса и т. д.);
• информация о посещенных страницах и взаимодействии с ними
(ссылки, скорость загрузки и т. д.).
4. Данные транзакций и финансов:
• логи платежных систем (сумма, время, валюта и т. д.);
• банковские транзакции и операции с кредитными картами.
5. Данные здравоохранения:
• медицинские записи и истории пациентов;
• результаты тестов и исследований;
• данные о заболеваемости и эпидемиологии.
6. Данные транспорта и логистики:
• данные GPS и маршрутизации транспортных средств;
• информация о доставках и перемещении грузов.
Все эти примеры данных могут собираться в больших объемах и тре¬
бовать специальных методов обработки и анализа для извлечения ценной
информации из них.
Сторонние - данные, которые возможно взять из других источников.
Примеры сторонних данных, которые могут быть использованы
в рамках Big Data:
1. Данные социальных медиа:
• публичные данные из социальных сетей (посты, комментарии,
хештеги и т. д.);
• данные API для получения информации о пользователях и их ак¬
тивности (статистика пользовательской активности).
2. Данные метеорологических сервисов:
• погодные данные (температура, осадки, скорость ветра и т. д.);
• информация о погодных условиях в различных регионах.
3. Данные государственных организаций:
• демографические данные (население, возраст, пол и т. д.);
• экономические данные (ввп, безработица, инфляция и т. д.);
• географические данные (границы стран, населенные пункты и т. д.).
4. Данные открытых исследовательских проектов:
• геномные данные для исследования заболеваний и генетической
предрасположенности;
• данные солнечной активности и космического пространства;
• информация о землетрясениях, влажности почвы и других природ¬
ных явлениях.
5. Данные финансовых рынков:
14
• котировки акций, валют и сырьевых товаров;
• финансовые отчеты компаний и экономические новости;
• данные биржевой торговли и объемы сделок.
Все эти сторонние данные являются ценным источником информации,
который можно использовать в аналитике Big Data для получения более
полного и точного понимания различных явлений и процессов.
Потенциальные. Сбор этих данных необходимо организовать.
Примеры потенциальных данных, которые могут быть использованы
в рамках Big Data:
1. Данные интернет-сервисов:
• история поисковых запросов.
• данные о посещаемых веб-сайтах и просмотренных страницах.
• информация о взаимодействии с рекламными материалами.
2. Данные интернета вещей (IoT):
• сведения о состоянии и использовании устройств (например, счет¬
чики энергии, умные термостаты);
• датчики и мониторинг окружающей среды (например, данные о ка¬
честве воздуха, уровне шума).
3. Данные транспорта:
• маршруты движения транспорта (автомобили, грузовики, обще¬
ственный транспорт);
• данные о передвижении на основе GPS (например, данные из мо¬
бильных приложений такси).
4. Данные здравоохранения:
• информация о пациентах (медицинская история, результаты ана¬
лизов);
• данные о распространении заболеваний и эпидемиологические
тренды.
5. Данные финансовых транзакций:
• информация о платежах и транзакциях с банковскими картами;
• данные из электронных платежных систем.
6. Данные социальных сетей:
• профили пользователей, их предпочтения и интересы;
• связи и взаимодействия между пользователями.
7. Данные видеонаблюдения:
• видеофайлы с камер наблюдения;
• данные о движении и анализ объектов.
15
1.4. Способы получения данных
Дата-брокеры - это организации или платформы, которые собирают,
обрабатывают и предоставляют доступ к большим объемам данных раз¬
личного рода. Они действуют как посредники между поставщиками дан¬
ных и потребителями этих данных. В целом, дата-брокеры играют важную
роль в обработке больших объемов данных и помогают предоставлять до¬
ступ к этим данным различным пользователям для разных целей.
Получение данных с использованием API (Application Programming
Interface) - это процесс получения информации с веб-сайта или приложе¬
ния, который предоставляет API.
API - это набор правил и протоколов, которые позволяют различным
программам взаимодействовать между собой. При обращении к API для
получения данных отправляется запрос с определенными параметрами,
API отвечает, предоставляя нужные данные.
Методы сбора данных - это техники и процедуры, используемые для
сбора информации в исследовательских целях. Эти методы могут варьиро¬
ваться от простых опросов до более сложных экспериментов и включать
в себя количественный или качественный подход к сбору данных. Важ¬
ность методов сбора данных заключается в следующем:
• определяют качество и точность собранных данных;
• убеждают в том, что данные являются релевантными, валидными
и надежными;
• помогают уменьшить смещение и повысить репрезентативность
выборки;
• необходимы для принятия обоснованных решений и точных выво¬
дов;
• способствуют достижению целей исследования путем предоставле¬
ния точных данных;
• поддерживают обоснованность и надежность результатов исследо¬
вания.
Методы сбора первичных данных можно разделить на две катего¬
рии: количественные и качественные методы.
К количественным методам относятся анализ временных рядов, тех¬
ника сглаживания, барометрический метод, интервью, эксперименты.
К качественным методам относятся опросы, интервью и наблюдения.
Методы сбора вторичных данных:
• анализ соответствующей литературы и исследований;
• веб-скрининг;
• анализ архивных источников;
16
• анализ существующих баз данных;
• анализ социальных сетей и онлайн-платформ.
1.5. Открытые данные
Открытые данные (Open Data) - концепция о том, что определенные
данные должны быть свободно доступны для машиночитаемого использо¬
вания и дальнейшей републикации без ограничений авторского права, па¬
тентов и других механизмов контроля.
При использовании открытых данных пользователь обязан:
• использовать открытые данные только в законных целях;
• не искажать открытые данные при их использовании;
• сохранять ссылку на источник информации при использовании от¬
крытых данных.
Проблема «больших данных» порождает следующие вызовы:
• необходимость разработки новых методов анализа, захвата, отсле¬
живания, обработки данных;
• необходимость в обновленном инструментарии поиска, совместно¬
го использования, хранения, передачи, визуализации данных;
• выработка новых алгоритмов запросов, обновления и конфиденци¬
альности информации.
1.6. Экосистема больших данных
С каждым днем «большие данные» становятся еще более большими
и хаотичными.
Проблема «больших данных» порождает следующие вызовы:
• возникает необходимость разработки новых методов анализа, за¬
хвата, отслеживания, обработки данных;
• необходимость в обновленном инструментарии поиска, совместно¬
го использования, хранения, передачи, визуализации данных;
• выработка новых алгоритмов запросов, обновления и конфиденци¬
альности информации.
Поток «больших данных» оказывается слишком большим и слишком
сложным для обработки с помощью традиционных систем управления ре¬
ляционными базами данных. Новая экосистема данных (экосистема боль¬
ших данных) приводит к порождению нового поколения баз данных
NoSQL.
17
Изначально в этот набор подходов и технологий входили инструмен¬
ты для параллельной обработки неструктурированных данных, такие как
базы данных NoSQL, алгоритмы и инструменты MapReduce проекта
Hadoop. В последующем к области больших данных стали относить и дру¬
гие решения, предоставляющие аналогичные возможности для обработки
огромных объемов данных, а также определенные аппаратные средства.
NoSQL (Not Only SQL, не только SQL) - общий термин для различ¬
ных нереляционных баз данных и хранилищ, не обозначает какую-либо
одну конкретную технологию или продукт. Обычные реляционные базы
данных хорошо подходят для достаточно быстрых и однотипных запросов,
а на сложных и гибко построенных запросах, характерных для больших
данных, нагрузка превышает разумные пределы, и использование СУБД
становится неэффективным.
MapReduce представляет собой модель распределенных параллель¬
ных вычислений, разработанную Google. По этой модели приложение де¬
лится на множество одинаковых задач, которые выполняются на узлах
кластера и затем объединяются для получения конечного результата.
Hadoop является проектом Apache Software Foundation, представляю¬
щим собой набор утилит, библиотек и фреймворк для разработки и запуска
распределенных программ на кластерах из сотен и тысяч узлов. Он счита¬
ется одной из ключевых технологий в области обработки больших данных.
R - это язык программирования, который применяется для статисти¬
ческой обработки данных и создания графиков. Широко используется для
анализа данных и считается стандартом в области статистических про¬
грамм
Аппаратные решения. Некоторые компании, такие как Teradata
и EMC, предлагают аппаратно-программные решения для обработки
больших данных. Эти комплексы представляют собой готовые к установке
телекоммуникационные шкафы с кластерами серверов и программным
обеспечением для параллельной обработки данных. Также сюда можно от¬
нести аппаратные решения для аналитической обработки данных в опера¬
тивной памяти.
Облачные технологии. Общепринятое определение облачных вы¬
числений, предложенное Национальным институтом стандартов и техно¬
логий США - U.S. National Institute of Standards and Technology (NIST
Special Publication 800-145), гласит: «Облачные вычисления - это модель,
позволяющая легко осуществлять сетевой доступ по требованию к едино¬
му пулу настраиваемых вычислительных ресурсов (например, сетей, сер¬
веров, систем хранения данных, приложений и услуг), которые быстро вы¬
деляются для использования и затем так же быстро высвобождаются. При
18
этом затрачивается минимум усилий на администрирование и взаимодей¬
ствие с поставщиком услуг».
1.7. Распределенные файловые системы
Распределенная файловая система отличается от обычной тем, что она
функционирует на нескольких серверах одновременно. Она предоставляет
возможность выполнять практически все те же действия, что и обычные
файловые системы. Включает в себя такие базовые операции, как запись,
хранение, чтение и удаление данных, а также обеспечивает безопасность
файлов. Распределенные файловые системы обладают рядом таких важных
преимуществ, как:
• способность хранить файлы, размер которых превышает доступное
дисковое пространство отдельного компьютера;
• автоматическая репликация файлов на нескольких серверах для
обеспечения избыточности данных или выполнения параллельных опера¬
ций, при этом все технические сложности реализации этих действий скры¬
ты от пользователя;
• легкое масштабирование распределенной файловой системы без
ограничений по объему памяти или дискового пространства одного сервера.
Важной характеристикой файловой системы является ее масштабиру¬
емость. Ранее масштабирование осуществлялось за счет переноса всех си¬
стем на сервер с большим объемом памяти и дискового пространства,
а также более быстрым процессором (вертикальное масштабирование).
В настоящее время в распределенных системах возникает возможность ис¬
пользования соседних по уровню серверов с унифицированными характе¬
ристиками (горизонтальное масштабирование). Это открывает практически
безграничные возможности для масштабирования.
1.8. Базы данных
Для обработки огромных объемов данных требуется специализиро¬
ванное программное обеспечение, которое может эффективно управлять
данными и выполнять запросы к ним. Исторически для этой цели исполь¬
зовались реляционные базы данных, такие как Oracle SQL, MySQL, Sybase
IQ и другие. Хотя эти базы данных до сих пор остаются популярным вы¬
бором во многих случаях, есть недостатки, которые делают их менее под¬
ходящими для систем обработки больших данных:
19
• ограничения на масштабирование памяти и вычислительных ресур¬
сов за пределами одного узла;
• отсутствие средств для обработки потоковых, графовых и неструк¬
турированных данных в традиционных базах данных.
Для преодоления этих ограничений были созданы новые типы баз
данных, объединенные под общим термином NoSQL. Базы данных NoSQL
предлагают большую гибкость, решают проблемы традиционных баз дан¬
ных и обеспечивают возможность масштабирования данных практически
без ограничений.
Существующие разновидности баз данных можно разделить на сле¬
дующие типы:
• столбцовые базы данных: данные организованы в столбцы для по¬
вышения скорости обработки запросов;
• хранилища документов: гибкая схема данных без использования
таблиц;
• хранилища «ключ - значение»: данные хранятся по ключам, обес¬
печивая хорошее масштабирование;
• SQL в Hadoop: запросы на SQL-подобном языке для Hadoop с ис¬
пользованием MapReduce;
• обновленный SQL (New SQL): комбинация масштабируемости
NoSQL с преимуществами реляционных баз данных;
• графовые базы данных: оптимальные для задач, где данные есте¬
ственно представляются в виде графовых моделей.
1.9. Data Science
Data Science - это область, которая занимается извлечением полезной
информации из больших объемов данных. Целью Data Science является из¬
влечение ценной информации и знаний из данных, которые могут помочь
в принятии решений, постановке задач и предсказании будущих событий.
Data Science изучает проблемы анализа, обработки и представления дан¬
ных в цифровой форме.
Процесс Data Science - это итеративный цикл из нескольких этапов,
который начинается с постановки вопроса и заканчивается предоставлени¬
ем результатов и выводов. Основные этапы процесса Data Science пред¬
ставлены ниже:
1. Постановка вопроса: на этом этапе определяются цели и задачи
проекта. Важно понять, какие проблемы нужно решить или на какие во¬
просы нужно ответить, используя данные.
20
2. Сбор данных: на этом этапе данные собираются из различных ис¬
точников. Может потребоваться очистка, преобразование и объединение
данных для дальнейшего анализа
3. Подготовка данных: этот шаг включает в себя очистку данных, за¬
полнение пропущенных значений, устранение выбросов и приведение дан¬
ных в нужный формат. Чистые данные являются основой для надежного
анализа.
4. Разведочный анализ данных (EDA): на этом этапе производится ис¬
следование данных, поиск закономерностей, корреляций и взаимосвязей
между переменными. Визуализация данных часто используется для луч¬
шего понимания данных.
5. Выбор и применение моделей: yа этом этапе выбираются подходя¬
щие модели машинного обучения или статистические методы для решения
поставленной задачи. Модели обучаются на обучающих данных и прове¬
ряются на тестовых данных.
6. Оценка модели: важно оценить производительность модели с по¬
мощью различных метрик и методов, чтобы измерить точность и предска¬
зательную способность модели.
7. Внедрение и представление результатов: на этом этапе результаты
предоставляются заинтересованным сторонам и используются для приня¬
тия решений или создания системы, основанной на данных.
8. Мониторинг и обновление: после успешного внедрения модель
должна быть постоянно отслеживаема и обновляема в зависимости от из¬
меняющихся условий и данных.
Весь процесс Data Science требует навыков анализа данных, програм¬
мирования, статистики, машинного обучения и визуализации данных.
1.10. Data Mining
Data Mining - это процесс исследования больших объемов данных
с помощью различных методов и алгоритмов с целью выявления скрытых
паттернов, закономерностей и полезной информации. Data Mining может
включать в себя такие задачи, как кластеризация данных, построение мо¬
делей прогнозирования, обнаружение ассоциативных правил и многое дру¬
гое. Эти методы позволяют найти взаимосвязи и тренды в данных, которые
могут быть полезными для бизнеса, научных исследований или других об¬
ластей.
Методология исследования определяет направление исследования,
способ сбора данных и их качество. Она также определяет аналитические
инструменты, используемые для работы с данными.
21
Технология Data Mining предназначена для поиска скрытых, объек¬
тивных и практически полезных закономерностей в больших объемах дан¬
ных.
Неочевидные - скрытые закономерности, которые не могут быть об¬
наружены стандартными методами или экспертным путем.
Объективные - закономерности, которые полностью соответствуют
действительности, в отличие от субъективного экспертного мнения.
Практически полезных - полученные в результате исследования вы¬
воды, которые имеют конкретное значение и могут быть применены на
практике.
22
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое шум в контексте информации?
2. Каковы основные характеристики данных?
3. Как информация отличается от данных?
4. Что такое знания и как они формируются?
5. Как метазнания связаны с другими типами знаний?
6. Как мудрость отличается от знаний?
7. Что представляет собой пирамида знаний?
8. Почему преобразование данных в информацию является критиче¬
ски важным?
9. Каковы основные причины разрыва между данными и информацией?
10. Как организации могут преодолеть разрыв между данными и ин¬
формацией?
11. Какие типы данных можно выделить для улучшения структуриза¬
ции?
12. Как разделение данных по способу получения информации помо¬
гает в анализе?
13. Почему важно учитывать число переменных при анализе данных?
14. Как упорядочение данных во времени влияет на их анализ?
15. Что такое шкала времени в контексте данных?
16. Как степень структурированности данных влияет на их использо¬
вание?
17. Как качество данных влияет на эффективность их преобразования
в информацию?
18. Почему важно рассматривать данные как стратегически важный
актив?
19. Как организация может повысить ценность своих данных?
20. Как методология метанауки связана с метазнаниями?
21. Что такое непрерывные данные? Приведите пример.
22. Каковы основные категории качественных данных?
23. Что такое номинальные данные? Приведите пример.
24. Каковы порядковые данные и как они применяются?
25. Что такое структурированные данные?
26. Каковы неструктурированные данные?
27. Что представляют собой полуструктурированные данные?
28. Что такое большие данные (Big Data)?
29. Каковы основные характеристики больших данных?
30. Что означает объем (Volume) в контексте больших данных?
31. Как разнообразие (Variety) влияет на работу с большими данными?
23
32. Что подразумевается под скоростью (Velocity) в больших данных?
33. Что такое достоверность (Veracity) в контексте информации?
34. Как изменчивость (Variability) влияет на обработку данных?
35. Что такое ценность (Value) данных?
36. Как структурированные данные помогают в анализе информации?
37. Почему неструктурированные данные требуют дополнительной
обработки?
38. Как полуструктурированные данные сочетают элементы разных
типов данных?
39. Какова роль метаданных при работе с большими данными?
40. Почему важно различать важные и второстепенные данные?
24
2. ТЕХНОЛОГИИ ХРАНЕНИЯ
И ОБРАБОТКИ БОЛЬШИХ ДАННЫХ
Файловая система (File System) - это способ организации, хранения
и именования данных на носителях информации в компьютерах. Файловые
системы используются также в другом электронном оборудовании: в циф¬
ровых фотоаппаратах и диктофонах, в мобильных телефонах и т. п.
Распределенная файловая система (РФС) - это способ организации
хранения и доступа к файлам на компьютерной сети. В обычной файловой
системе файлы хранятся на одном физическом устройстве, например на
жестком диске компьютера. В РФС файлы распределяются и хранятся на
нескольких компьютерах, которые могут быть географически удалены
друг от друга.
Представьте, что это как гигантское хранилище, где возможно хра¬
нить файлы, и есть несколько помощников, которые заботятся о них. Каж¬
дый помощник хранит часть файлов и следит за их доступностью и со¬
хранностью. Когда необходим доступ к файлу, можно обратиться к любо¬
му помощнику в сети, и он поможет получить файл вне зависимости от то¬
го, где физически находится. Между помощниками установлены правила
обмена информацией, чтобы всегда знать, где находятся нужные файлы
и как получить к ним доступ.
Такая система дает нам много преимуществ, например увеличенную
отказоустойчивость, возможность параллельной работы и масштабируе¬
мость. С РФС удобно хранить и обмениваться файлами в сети без беспо¬
койства о потере данных или недоступности.
Распределенная база данных представляет собой систему, в которой
данные хранятся и обрабатываются на нескольких компьютерах. Она
обеспечивает возможность распределенного доступа и обработки данных,
что позволяет улучшить производительность и надежность системы. Рас¬
пределенная база данных может использоваться в различных сферах, таких
как банковское дело, электронная коммерция, социальные сети и другие.
Таким образом, хотя обе концепции связаны с распределением дан¬
ных, они имеют разные цели и функциональность.
К преимуществам РБД можно отнести:
Масштабируемость: возможность обрабатывать огромные объемы
данных за счет распределения нагрузки между узлами. Возможность уве¬
личения мощности вычислений путем добавления новых узлов.
Отказоустойчивость обеспечивает непрерывность работы системы
даже при отказе одного из ее узлов. При возникновении сбоев информация
распределяется по другим узлам, что гарантирует сохранность данных.
25
Быстродействие достигается благодаря параллельной обработке на
нескольких участках системы, что позволяет выполнять запросы с высокой
скоростью. Кроме того, система может быть оптимизирована для конкрет¬
ных типов запросов, что повышает эффективность их обработки. При отка¬
зе одного узла, работа продолжается на других. Сортировка информации
обеспечивает ее сохранность при возникновении сбоев.
Быстродействие. Параллельная обработка на нескольких участках
позволяет достичь высокой скорости выполнения запросов. Они могут
быть оптимизированы для конкретных типов запросов, повышая эффек¬
тивность обработки.
Существуют два типа распределенных файловых систем:
- параллельные;
- полностью параллельные.
Распределенные параллельные файловые системы обеспечивают па¬
раллельный доступ к серверам хранения для каждого клиента, что позво¬
ляет избежать узких мест в одном сервере по всем параметрам, таким как
IOPS, пропускная способность, ограничения процессорной мощности
и кеш-память. Эти системы применяются в высокопроизводительных ком¬
пьютерных системах и бизнес-приложениях, включая информационные
системы фондовых бирж.
Когда данные и метаданные (такие как индексы) распределяются па¬
раллельно между всеми клиентами, такие системы называют полностью
параллельными.
2.1. Высоконадежные реплицируемые сервисы
координации распределенных процессов
Высоконадежные реплицируемые сервисы координации распределен¬
ных процессов - это системы, которые помогают распределенным прило¬
жениям работать надежно и согласованно в условиях, когда процессы ра¬
ботают на разных компьютерах и могут потерять связь друг с другом.
Давайте представим, что существуют несколько компьютеров, каж¬
дый из которых запускает свой процесс. Когда процессы должны взаимо¬
действовать друг с другом и выполнить совместную задачу, возникают
сложности (например, как они могут договориться о порядке выполнения
действий или синхронизировать изменения данных?) И вот в таких случа¬
ях требуются высоконадежные реплицируемые сервисы координации рас¬
пределенных процессов. Они предоставляют безопасные механизмы для
согласования действий и обмена информацией между процессами.
26
Репликация означает, что данные и операции с ними дублируются на
нескольких компьютерах, чтобы обеспечить отказоустойчивость. Таким
образом, если один компьютер выходит из строя, другие компьютеры мо¬
гут продолжать работать и обрабатывать запросы.
Высокая надежность означает, что система обеспечивает целост¬
ность данных и гарантирует, что процессы получат корректную информа¬
цию и смогут взаимодействовать без ошибок.
Такие сервисы важны для распределенных систем, где требуется со¬
гласованность и надежность, например базы данных или системы обработ¬
ки транзакций. Они позволяют процессам взаимодействовать и выполнять
операции согласованно и надежно даже при возможных сбоях или разде¬
лениях сети.
2.2. Фреймворк
Фреймворк - это набор инструментов, библиотек и правил, предна¬
значенных для упрощения разработки программного обеспечения, предла¬
гает структуру и архитектуру для создания приложений, облегчая про¬
граммисту работу и ускоряя процесс разработки.
Фреймворк предоставляет различные функции и возможности, такие
как обработка HTTP-запросов, управление базами данных, упрощение со¬
здания пользовательского интерфейса и многое другое. Он определяет
правила и лучшие практики для разработки приложений, что помогает
увеличить эффективность и поддерживаемость кода. Фреймворки исполь¬
зуются в различных областях разработки, таких как веб, мобильная, игро¬
вая и другие приложения.
Самые популярные фреймворки на данный момент:
1. Apache Hadoop: один из наиболее известных и широко используе¬
мых фреймворков для обработки и анализа больших данных. Hadoop
предоставляет распределенное хранение и обработку больших объемов
данных на кластерах.
2. Apache Spark: этот фреймворк предлагает быструю и эффективную
обработку данных в памяти. Он поддерживает различные языки програм¬
мирования, такие как Scala, Python и Java, и обеспечивает более высокую
скорость обработки по сравнению с Hadoop.
3. Apache Flink - это распределенный потоковый фреймворк обработ¬
ки данных, который позволяет анализировать данные в реальном времени.
Он имеет хорошую поддержку потоковой обработки и может быть исполь¬
зован для решения широкого спектра задач обработки данных.
27
4. Apache Kafka - это распределенная система потоковой обработки
данных, которая позволяет передавать и обрабатывать события в реальном
времени. Это отличное решение для стриминга данных, обеспечивает
надежную доставку сообщений.
5. TensorFlow: это самый популярный фреймворк для глубокого обу¬
чения и построения нейронных сетей. TensorFlow предоставляет мощные
инструменты для обучения, предсказания и обработки больших объемов
данных.
2.3. Data Warehouse
Основными источниками Big Data сегодня являются:
• устройства интернета вещей (IoT);
• социальные сети;
• интернет-сервисы (порталы услуг, интернет-магазины);
• оборудование и приборы различного типа;
• медицинские и социальные организации.
Современные вычислительные возможности позволяют быстро полу¬
чать доступ к огромным объемам данных, так как данные хранятся в дата-
центрах на мощных серверах с современными компонентами. Некоторые
компании все еще предпочитают хранить данные на собственных физиче¬
ских серверах, но все большее количество организаций предпочитает ис¬
пользовать облачные решения для хранения и обработки больших данных,
так как это удобнее и надежнее. Для хранения данных используются спе¬
циальные типы хранилищ - Data Warehouse.
Data Warehouse, или склад данных, - это специальная система, кото¬
рая служит для хранения и управления большим объемом данных из раз¬
ных источников. Она позволяет организовать и структурировать информа¬
цию таким образом, чтобы она была легкодоступна для анализа и принятия
решений. Представьте, это как большой фантастический сундук, где все
данные собираются и хранятся вместе, чтобы мы могли взять оттуда нуж¬
ную информацию, когда нам это нужно. Это помогает предприятиям и ор¬
ганизациям принимать более осознанные решения на основе фактов и ана¬
лиза данных.
В конце прошлого века бизнес стал активно интересоваться корпора¬
тивными хранилищами данных с целью улучшения реагирования на изме¬
нения, мониторинга показателей эффективности и автоматизации процес¬
сов. Вместо того чтобы хранить ключевые данные в различных приложе¬
ниях для разных процессов, компании нуждались в решении, которое поз¬
волило бы анализировать информацию в целом. Именно для этой цели бы¬
28
ло создано корпоративное хранилище данных, или Data Warehouse (DWH).
DWH представляет собой единое хранилище архивных данных из различ¬
ных источников, позволяющее пользователям принимать верные управ¬
ленческие решения на основе полной информационной картины.
Data Warehouse представляет собой централизованное хранилище ар¬
хивных данных, собранных из различных источников внутри организации,
таких как системы, департаменты и другие источники данных. Основная
цель Data Warehouse заключается в предоставлении пользователям, вклю¬
чая ключевых сотрудников компании, возможности принимать правиль¬
ные управленческие решения на основе полной и надежной информацион¬
ной картины.
Признаки и особенности DWH:
• Централизованное хранение данных, что позволяет аналитикам по¬
лучить доступ ко всей информации без необходимости запрашивать до¬
ступ к базам данных различных отделов.
• Возможность добавления, удаления, очистки и выгрузки данных
в хранилище, а также выполнение запросов и других манипуляций с дан¬
ными.
• Возможность использования систем бизнес-аналитики для поиска
закономерностей и взаимосвязей в данных, их аналитической обработки
и визуализации.
Хранилище данных DWH, или корпоративное хранилище данных
(КХД), представляет собой структурированное хранилище информации,
содержащее одну широкую или большое количество отдельных таблиц.
DWH не только сохраняют данные, но и выполняют вычисления, посколь¬
ку аналитические запросы, такие как OLAP, часто требуют значительных
ресурсов. Можно сравнить DWH с гигантским ангаром, где хранятся
предметы в коробках, пакетах и пленке, разделенные на секции для раз¬
личных товаров. Если использовать ангар просто как склад, это будет
обычное хранилище. Однако если добавить на каждую коробку штрих¬
коды и установить лазерные сканеры для их отслеживания при входе и вы¬
ходе, то ответственный за склад сможет контролировать заполненность
стеллажей. Это полезно, например, для прогнозирования расхода материа¬
лов, чтобы избежать переполнения стеллажей. Таким образом, DWH пред¬
ставляет собой усовершенствованный ангар.
Основные различия между DWH и обычными базами данных (БД) за¬
ключаются в типе и источнике данных, объеме хранимой информации
и роли в бизнес-процессах. В отличие от обычных БД, которые хранят
данные только от конкретных информационных систем компании, DWH
консолидирует информацию от всех департаментов. Кроме того, DWH
хранит исторические данные и архивные сведения, что позволяет получить
29
информацию о сделках за несколько лет. Наконец, данные из обычных БД
поступают в DWH, который всегда содержит последние версии данных.
Как мы уже выяснили ранее, в Data Warehouse имеем дело с различ¬
ными таблицами, в которых размещена структурированная информация,
и связями между ними. DWH отличается от обычных баз данных тем, что
работает с понятными сущностями таблиц и уже преобразованными дан¬
ными, облегчая его использование и понимание. Однако у DWH есть и не¬
которые недостатки. Например, он может не учитывать данные, которые
не вписываются в его структуру. Если компания работает с большим коли¬
чеством сложноструктурированных данных, то DWH может быть неэф¬
фективным. Кроме того, создание и поддержка DWH требует значитель¬
ных затрат, особенно при обработке больших объемов данных. Также сле¬
дует учесть, что некоторые системы управления базами данных DWH мо¬
гут быть недоступны для пользователей из Российской Федерации. Тради¬
ционная архитектура хранилища данных обычно состоит из трех уровней
(рис. 5).
Рис. 5. Архитектура хранилища данных
30
Нижний уровень - база данных (или даже несколько), которая объ¬
единяет в себе данные из различных источников информации. Например,
из транзакционных СУБД или SaaS-сервисов (SaaS (Software as a Service) -
это модель предоставления программного обеспечения, при которой при¬
ложения размещаются и выполняются на удаленных серверах, а пользова¬
тели получают доступ к ним через Интернет.
Средний уровень - сервисы и приложения, которые преобразуют дан¬
ные в специальную структуру для анализа и сложных запросов (уровень
моделирования либо семантической слой). Это может быть сервер OLAP,
который работает в качестве расширенной системы управления реляцион¬
ными базами данных и отображает операции над многомерными данными
в стандартных реляционных операциях.
Верхний уровень - инструменты для создания отчетов, визуализации
и последующего анализа данных. Его также называют уровнем клиента.
DWH имеет сложную многоуровневую (слоеную) архитектуру, кото¬
рая называется LSA (Layered Scalable Architecture). По сути, LSA реализует
логическое деление структур с данными на несколько функциональных
уровней. Данные копируются с уровня на уровень и трансформируются
при этом, чтобы в итоге предстать в виде согласованной информации, при¬
годной для анализа (рис. 6).
Операционный слой первичных данных (Primary Data Layer, или
стейджинг), на котором данные загружаются из систем-источников в ис¬
ходном качестве и сохраняются с полной историей изменений.
Ядро хранилища (Core Data Layer), на котором данные консолиди¬
руются из разных источников и приводятся к единым структурам и клю-
31
чам. Здесь также происходит работа с качеством данных и общие транс¬
формации для обеспечения целостности и качества данных.
Аналитические витрины (Data Mart Layer), где данные преобразу¬
ются в структуры, удобные для анализа и использования в BI-дашбордах
или других системах-потребителях. Витрины могут брать данные из ядра
или операционного слоя и предоставлять разные представления единых
данных под конкретную бизнес-специфику.
Сервисный слой (Service Layer) обеспечивает управление всеми вы¬
шеописанными уровнями. Он не содержит бизнес-данных, но оперирует
метаданными и другими структурами для работы с качеством данных, поз¬
воляя выполнять сквозной аудит. Также здесь доступны средства монито¬
ринга и диагностики ошибок, что ускоряет решение проблем.
BI (Business Intelligence) - это процесс сбора, анализа и представления
данных для принятия умных и информированных решений в бизнесе.
BI-системы помогают организациям получать ценную информацию из
разных источников данных, а затем анализировать ее и визуализировать
для облегчения принятия решений. Такие системы помогают бизнесу по¬
нять, что происходит внутри компании, выявить тенденции, получить
представление о производительности и результативности, а также предска¬
зать будущие результаты. Все это помогает руководителям и пользовате¬
лям принимать стратегические решения на основе данных.
BI-панель управления (BI dashboard) - это инструмент для визуализа¬
ции и анализа данных в рамках системы бизнес-аналитики. Она представ¬
ляет собой интерактивную дашборд, на которой отображаются различные
ключевые показатели (KPI), метрики и графики, чтобы пользователи могли
легко просматривать и анализировать данные. BI-панель управления поз¬
воляет видеть данные из разных источников в одном месте, наглядно пред¬
ставлять информацию и делать выводы о текущем состоянии бизнеса. Она
может включать в себя такие компоненты, как графики, диаграммы, таб¬
лицы, ленты новостей и другие элементы визуализации данных. Актуаль¬
ные инструменты бизнес-аналитики (BI) вкупе с возможностями DWH
позволяют принимать управленческие решения с гарантированным ре¬
зультатом. Благодаря тщательному анализу обширных объемов данных
руководство компании имеет возможность формулировать гипотезы, осно¬
ванные на реальных показателях бизнеса, и проводить их тестирование.
Data Warehouse не только помогает решать конкретные прикладные
задачи (например, увеличение прибыли, снижение издержек), но и выстра¬
ивать стратегию развития компании на основе Data-driven-подхода.
Data-driven-подход - это стратегия принятия решений, основанная на
анализе данных. В таком подходе данные играют ключевую роль в процес¬
32
се принятия решений и служат основой для выработки стратегий и прогно¬
зирования результата.
В Data-driven-подходе сначала собираются и структурируются данные
из различных источников, таких как базы данных, CRM-системы, веб¬
аналитика и др. Затем данные анализируются и интерпретируются с ис¬
пользованием различных методов аналитики данных, таких как статисти¬
ческий анализ, машинное обучение, исследование рынка и т. д.
2.4. Data Lake
Data Lake, или Озеро данных, - технология для получения и управле¬
ния данными в разных форматах: в необработанном, неупорядоченном
или, наоборот, структурированном или слабоструктурированном виде,
в едином репозитории (рис. 7). По аналогии с детскими игрушками Data
Lake - это бокс, куда складываются все существующие игрушки.
Тип данных
Неструктурированные
Слабоструктурированные
Структурированные
Примеры
Текстовые документы, медицинские данные, изображения и видео
Файлы в формате xml, edi, json и лог-файлы
Строки и столбцы реляционных БД, таблицы Excel
Рис. 7. Данные в Data Lake
Термин Data Lake придуман в 2010 г. основателем компании Pentaho
Джеймсом Диксоном. Описывая концепцию, он сравнил Data Lake и Data
Mart (или витрины данных). Витрины данных похожи на бутилированную
воду - очищенную и упакованную. Озера данных - это открытые водоемы,
в которые вода стекается из различных источников. В водоемы можно по¬
гружаться, а можно брать образцы с поверхности. Озера данных удобны
для сбора, хранения и обработки больших потоков информации, которая
поступает непрерывно.
Преимущества Data Lake:
- Подход дает большую гибкость в работе с данными: если компания
не знает, какие именно данные и в каком формате нужны бизнесу, проще
слить всю информацию в Data Lake, а уже после находить в нем требуемое.
- Озера данных обычно дешевле по стоимости занимаемых ресурсов.
- Такое хранилище чаще всего организовывается в облаке, поэтому
его проще масштабировать, так как используются виртуальные диски.
33
- Data Lake может требовать большей квалификации специалистов
для работы с данными и получения ценности из них; часто поверх DL
нужно надстраивать дополнительное ПО для трансформации данных - так
происходит переход к парадигме Data Lakehouse, которая исключает мно¬
гие недостатки DWH и DL.
- При неправильно выстроенных процессах легко превращается в ха¬
ос, так называемый Data swamp («болото»).
Озеро данных можно рассматривать как шаблон проектирования -
формализованные рекомендации, которые можно использовать для реше¬
ния распространенных проблем при разработке инфраструктуры.
Основные особенности устройства Data Lake:
1. Данные необработаны либо слабообработаны.
2. Большой срок хранения данных.
3. Есть возможность преобразования данных.
4. Поддерживаются разные схемы чтения данных.
Файлы в Data Lake хранятся на нескольких серверах, куда поступают
из таких источников, как CRM-системы, социальные сети, интернет¬
магазины, датчики на производстве и пр. Поступающей в озеро информа¬
ции присваиваются метаданные: время поступления, источник, формат,
структура и др. Все это может использоваться для извлечения данных
в будущем, чтобы провести аналитику или обучить чему-то искусственный
интеллект. Способы организации Data Lake могут включать HDFS, S3,
Data Vault и распределенные файловые системы. Для размещения озера
данных можно использовать как локальное хранилище, так и облачное.
Можно выделить три способа организации Data Lake:
1. Использование Hadoop (HDFS).
2. Организация собственного S3-хранилища.
3. Использование готового решения от провайдера.
2.5. Data Mart
Data Mart, или витрина данных, - база данных, предназначенная для
решения специализированной задачи или набора задач из одной предмет¬
ной области, например по поиску наименьшей цены товара, расчету за¬
грузки производственных мощностей предприятия, организации тематиче¬
ских рассылок и т.п.
Преимущества Data Mart:
- Время и стоимость создания витрины намного меньше затрат на со¬
здание хранилища.
34
- Данные для витрины можно размещать на разных аппаратно¬
программных комплексах и собирать по заранее настроенным запросам
пользователя.
- Так как витрина представляет собой специализированную однород¬
ную информацию, ее может настроить один специалист в предметной об¬
ласти.
- Витрина обеспечивает быстрый доступ к необходимым пользовате¬
лю сведениям.
- Благодаря относительно небольшому объему данных сокращается
время анализа информации на витрине.
- За счет простой внутренней структуры витрину можно быстро пе¬
рестроить в случае изменения информационной модели или задач пользо¬
вателя.
- Так как решения Data Mart подразумевают деление данных по
предметным областям, витрина позволяет гибко настраивать права доступа
пользователей к информации.
Витрины данных бывают зависимыми, независимыми и гибридными.
Зависимая витрина данных. Данные для витрин собираются центра¬
лизованно через хранилище данных. С помощью специализированных
наборов запросов информация из хранилища перегружается в витрины
с разными назначениями. Преимущество этого типа Data Mart - единый
источник информации и простое обновление данных на витринах по за¬
просам к хранилищу. Основное условие успешной работы - наличие хра¬
нилища с заранее верифицированными данными.
Независимая витрина данных. Данные для витрин не хранятся,
а собираются по запросам из разнородных источников (например, сети Ин¬
тернет), что уменьшает затраты на создание и поддержание в актуальном
состоянии баз данных предприятия. Для этого типа Data Mart сложнее по¬
лучать актуальную информацию. Кроме того, полученные данные требуют
дополнительного анализа и верификации. Независимая витрина подходит
для небольших проектов, ограниченных временными и бюджетными рам¬
ками.
Гибридная витрина данных. Сочетает преимущества предыдущих
типов. Наличие хранилища позволяет автоматизировать обновление вит¬
рин и увеличить скорость доступа к актуальным данным. Запросы к внеш¬
ним источникам обеспечивают отсутствие жесткой привязки к одному ис¬
точнику данных и гибкость получаемой информации.
Витрины данных позволяют оптимизировать работу отдельных поль¬
зователей или подразделений. Важно понимать, что Data Mart не предна¬
значены для решения задач комплексной цифровизации бизнес-процессов.
35
Витрины обеспечивают:
• единство хранящихся данных;
• высокую скорость доступа к информации;
• быстрое принятие решений на основе хранящейся статистики;
• простое создание и применение;
• гибкость и масштабирование решений;
• анализ динамики получаемой информации.
В чем же отличия DWH от DM? Витрины нужны для того, чтобы
предоставлять обработанные данные в BI или отчетную систему, наряду
с этим:
• витрины ограничены подразделением или направлением бизнеса;
• строятся из данных, которые запрашивают чаще других, поэтому
витрины создавать легче и быстрее, чем хранилища;
• комплекс из нескольких витрин обычно ведет к потере целостности
данных, потому что сложно обеспечить управление данными и контроль
между витринами;
• доступ к историческим данным ограничен.
2.6. ETL и ELT
Для упрощения доступа и анализа данных наиболее распространен¬
ными методами являются ETL и ELT. Обе эти методики включают в себя
этапы извлечения, преобразования и загрузки данных из одного или не¬
скольких источников в централизованную систему. Однако разница между
ними заключается в порядке выполнения этапов.
ETL (Extraction, Transformation, Loading) представляет собой процесс
собирания данных из различных источников, их передачи в промежуточ¬
ную базу данных для преобразования и загрузки подготовленных данных
в целевую систему. Инструменты ETL используются для интеграции дан¬
ных с целью удовлетворения требований систем управления реляционны¬
ми базами данных и/или традиционных хранилищ данных с поддержкой
OLAP (аналитической онлайн-обработки).
Инструменты OLAP и SQL-запросы требуют, чтобы данные были
структурированы и стандартизированы перед загрузкой в хранилище дан¬
ных. С увеличением объемов и разнообразия данных процесс ETL стано¬
вится неэффективным, дорогостоящим и затратным по времени. В таких
случаях применение ELT может быть более эффективным. С увеличением
количества источников данных и растущей потребности в обработке
36
больших объемов информации для бизнес-аналитики и анализа Big Data
спрос на соответствующие инструменты и методы значительно возрос.
ELT представляет собой альтернативу традиционному методу инте¬
грации данных, где Extraction, Loading и Transformation происходят в дру¬
гом порядке. В ELT данные извлекаются из источников, загружаются
непосредственно в центральный репозиторий, а затем происходят преобра¬
зования. При этом промежуточная база данных не используется. Такая ме¬
тодика стала возможной благодаря современным технологиям, позволяю¬
щим хранить и обрабатывать огромные объемы данных в любом формате.
Итак, ETL и ELT - это два способа интеграции данных в одно храни¬
лище. Основное различие между ними заключается в том, где и когда вы¬
полняются преобразование и загрузка данных. При ETL данные преобра¬
зуются на временном этапе подготовки до того, как попадут в целевой ре¬
позиторий (например, в корпоративное хранилище данных), в то время как
ELT позволяет преобразовывать данные после их загрузки в целевую си¬
стему (облачные хранилища данных или озера данных).
37
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое Data Warehouse?
2. Каковы преимущества использования облачных решений для хра¬
нения данных?
3. Почему компании начали интересоваться корпоративными храни¬
лищами данных в конце прошлого века?
4. Какова основная цель Data Warehouse?
5. Что такое централизованное хранение данных?
6. Какие операции можно выполнять с данными в Data Warehouse?
7. Как системы бизнес-аналитики используют данные из DWH?
8. В чем заключается отличие между DWH и обычными базами дан¬
ных?
9. Как DWH может помочь в прогнозировании?
10. Что такое OLAP и как он связан с DWH?
11. Как можно представить Data Warehouse в виде аналогии?
12. Почему важна возможность добавления и удаления данных
в DWH?
13. Как DWH помогает в автоматизации бизнес-процессов?
14. Что подразумевается под историческими данными в контексте
DWH?
15. Как DWH способствует принятию управленческих решений?
16. Какие источники данных могут быть использованы для заполне¬
ния DWH?
17. Почему важно иметь единую информационную картину для биз¬
неса?
18. Как DWH влияет на эффективность работы аналитиков?
19. Что такое архитектура DWH?
20. Каковы перспективы развития технологий хранения данных?
21. Что такое ETL и каковы его основные этапы?
22. В чем заключается отличие между ETL и ELT?
23. Как современные технологии способствуют применению ELT?
24. Какие преимущества и недостатки существуют у ETL и ELT?
25. Каковы будущие тенденции в области интеграции данных?
38
3. ЯЗЫК ПРОГРАММИРОВАНИЯ R
Программирование необходимо на всех этапах работы с большими
объемами данных, начиная от их загрузки и очистки и заканчивая проек¬
тированием баз данных и точной настройкой алгоритмов машинного обу¬
чения. Возможно выбрать любой язык программирования, но каждый из
них имеет свои особенности и предназначен для определенных задач.
Например, при необходимости работы с базой данных клиентов для марке¬
тинговой аналитики подойдут простые языки, для серьезных научных ис¬
следований лучше использовать сложные и точные языки.
R был специально создан для работы со статистикой. Он позволяет
собирать и очищать данные, оперировать таблицами, проводить статисти¬
ческие тесты, различные виды анализа и создавать графические отчеты. R
подходит для специалистов, знакомых с теорией вероятности, статистиче¬
скими методами и математическим анализом. На первый взгляд он может
показаться сложным из-за интуитивно непонятного синтаксиса.
На практике R используют:
• для научных исследований в разных сферах;
• машинного обучения и нейросетей;
• маркетинговых исследований.
Для R создано более 10 000 библиотек и расширений. Например,
ggplot2 - для визуализации данных, dplyr - для манипулирования данны¬
ми, Bioconductor - для работы с генетической информацией, Quanteda -
для анализа текстов. Кроме этого, R выделяется среди конкурентов высо¬
кой скоростью обработки данных и открытым исходным кодом.
R - это язык программирования и среда разработки для статистиче¬
ского анализа и визуализации данных. Он широко используется в научных
исследованиях, анализе данных и машинном обучении, имеет множество
функций и пакетов, которые облегчают статистический анализ, визуализа¬
цию данных и моделирование. R предоставляет удобные инструменты для
чтения, записи и манипуляции данными, включая операции фильтрации,
сортировки и группировки. Он также имеет мощные средства для создания
графиков и визуализации данных, поддерживает различные типы графи¬
ков, включая линейные графики, гистограммы, круговые диаграммы, ящи¬
ки с усами и многое другое. Одной из особенностей R является его откры¬
тое сообщество, в котором разработчики создают и делятся пакетами, рас¬
ширяющими функциональность языка. Это делает R очень гибким и адап¬
тивным для широкого спектра задач анализа данных. Также часто исполь¬
зуется в машинном обучении, где используются алгоритмы классифика¬
ции, регрессии, кластеризации и др. Благодаря своей гибкости, мощности
39
и обширному сообществу R является одним из наиболее популярных язы¬
ков программирования для работы с данными и статистического анализа.
R - интерпретируемый объектно-ориентированный язык программи¬
рования. Что это значит? Функции или таблицы для него - это объекты,
которые относятся к определенному классу (типу данных), а готовая про¬
грамма исполняется сразу - строчка за строчкой. Компилировать код в ис¬
полняемый файл перед запуском не нужно.
Преимущества языка R:
- Обширный набор функций для анализа данных благодаря подклю¬
чаемым библиотекам.
- Возможность эффективной работы с огромными таблицами и база¬
ми данных без потери производительности.
- Продвинутые настройки интерфейса: выбор между графическим
пользовательским интерфейсом и командной строкой.
- Полностью бесплатная экосистема с компонентами, распространя¬
емыми под лицензией GNU.
- Поддержка большинства операционных систем: Windows, macOS,
FreeBSD, Solaris, различные версии Unix и Linux.
- Расширенные возможности визуализации: создание приложений,
построение разнообразных графиков, включая интерактивные, и редакти¬
рование их элементов.
- Обилие информации и активное сообщество: наличие блогов, фо¬
румов по R и RStudio, учебных материалов и конференций.
- Понятная и подробная документация с описаниями всех библиотек
и примерами использования.
Недостатки языка R:
1. Документация и большинство источников опубликованы только на
английском языке.
2. Пользователю необходимы опыт программирования и знание основ
статистики, а также знание базовых понятий: среднее, мода, медиана, вы¬
борка, нормальное распределение [8].
3. Узкая сфера применения: он идеален для анализа данных, но для
разработки программ не подходит (но в этом и его сила. Настоящий UNIX¬
way - находка для ученых, журналистов, дата-сайентистов, аналитиков,
а также всех, кто желает работать с данными).
Синтаксис языка R прост и включает в себя минимальный набор при¬
митивных типов данных: символьные, числовые, логические и комплекс¬
ные. Примитивные типы объединяются в более сложные. Например, тип
вектор - это, по сути, список из нескольких объектов (чисел, строк и дру¬
гих). Числовые переменные могут принимать и особые значения: NaN (Not
40
a Number - не число), Inf (Infinity - бесконечность) и NA (Not Available -
недоступно).
Самая популярная команда в R - чтение файла, так как необходимо
постоянно открывать и исследовать датасеты (рис. 8).
data <- read.csv("input.csv", sep =
Рис. 8. Чтение данных
Здесь data - переменная, в которую сохранится файл, < - присвоения,
read.csv - функция для чтения файлов формата .csv, атрибут sep (запятая) -
тип разделителя между данными в исходном файле. Он необходим, чтобы
таблица отображалась правильно.
Кроме интерфейса командной строки, для R существуют графические
пользовательские интерфейсы и интерактивные инструменты: они делают
работу легче и приятнее, доступны бесплатно и распространяются под
свободной лицензией GNU GPL.
С помощью R доступны следующие функции:
1. Обработка, очистка и преобразование данных для последующего ис¬
следования (например, сортировка и группировка данных о супергероях).
2. Проведение статистических тестов, таких как t-тест, для определе¬
ния статистически значимых различий между данными, например продол¬
жительностью жизни мужчин и женщин.
3. Выполнение разведочного анализа, включая проверку данных на
нормальность распределения и использование инструментов для этой цели.
4. Работа с таблицами различных форматов, включая объединение
данных из разных файлов для обработки как одного файла.
5. Создание интерактивных графиков и возможность регулировать их
параметры, такие как значения по осям.
6. Разработка интерактивных приложений, которые могут быть пред¬
ставлены в виде веб-страницы с графиками, фильтрами и сортировкой
данных.
7. Анализ регрессионных моделей для выявления отношений между
зависимыми и независимыми переменными.
Многие из этих функций могут быть реализованы с помощью библио¬
тек R, таких как stat для статистических тестов и graphics для визуализа¬
ции, а также других библиотек, доступных на сервере CRAN (plotly для
интерактивных графиков и tidyr для очистки данных).
Существует несколько популярных библиотек и пакетов для работы
с большими данными в языке программирования R:
41
- dplyr: эта библиотека предоставляет простой и эффективный син¬
таксис для манипуляции данными. Она оптимизирована для работы
с большими наборами данных и позволяет выполнять операции фильтра¬
ции, сортировки, группировки и агрегирования данных;
- data.table: это многофункциональный пакет с высокой производи¬
тельностью для работы с таблицами данных. Он предлагает инструменты
для чтения, записи и манипуляции большими наборами данных, а также
предоставляет свой синтаксис для выполнения операций фильтрации, сор¬
тировки и агрегирования данных;
- sparklyr: эта библиотека позволяет взаимодействовать с Apache
Spark из R, предоставляет высокоуровневый API для работы с данными,
аналогичным API библиотеки dplyr. Позволяет загружать, обрабатывать
и анализировать большие наборы данных с использованием распределен¬
ных возможностей Apache Spark;
- sqldf: эта библиотека позволяет выполнять операции SQL непосред¬
ственно на объектах данных R. Она является полезным инструментом для
работы с большими наборами данных, особенно когда требуются сложные
операции фильтрации и соединения.
Это только некоторые из библиотек для работы с большими данными
на языке программирования R. Выбор конкретной библиотеки зависит от
требований и характеристик вашей системы.
42
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Каковы основные этапы работы с данными, и какую роль в этом
процессе играет язык программирования R?
2. В каких сферах используется язык программирования R, и какие за¬
дачи он помогает решать?
3. Каковы преимущества использования языка R по сравнению с дру¬
гими языками программирования?
4. Что такое интерпретируемый объектно-ориентированный язык про¬
граммирования и как это относится к R?
5. Какие дополнительные возможности предоставляет язык R для ви¬
зуализации данных?
43
4. ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ
Интеллектуальный анализ данных (иногда также называемый анали¬
зом больших данных, или Data Science) - это процесс извлечения, изучения
и интерпретации значимой информации из больших объемов данных с ис¬
пользованием различных математических и статистических методов,
а также алгоритмов машинного обучения.
В основе интеллектуального анализа данных лежит работа с такими
задачами, как предсказание, классификация, кластеризация, регрессия и
др. В процессе анализа данных используются различные методы и инстру¬
менты, такие как статистика, вероятность, машинное обучение и глубокое
обучение.
Термин «интеллектуальный анализ данных» неправильный, поскольку
его цель не заключается в извлечении или анализе самих данных. Фактиче¬
ски, уже имеется большой объем данных, из которого необходимо извлечь
ценные знания. Процесс сбора, хранения, анализа и интеллектуального
анализа данных включает в себя следующие этапы:
1. Сбор данных: это процесс сбора информации из различных источ¬
ников, таких как отзывы клиентов, платежи и заказы на покупку.
2. Хранение данных: это процесс сохранения этих данных в большой
базе данных или хранилище данных.
3. Аналитика данных: это последующая обработка, хранение и ана¬
лиз данных с использованием сложного программного обеспечения и ал¬
горитмов.
4. Интеллектуальный анализ данных: это направление аналитики дан¬
ных или аналитическая стратегия, используемая для обнаружения скрытых
или ранее неизвестных закономерностей в данных. Интеллектуальный
анализ данных является важной частью успешной аналитической инициа¬
тивы. Компании могут использовать процесс обнаружения знаний для
укрепления доверия клиентов, обнаружения новых источников дохода
и привлечения новых клиентов. Эффективный интеллектуальный анализ
данных помогает в различных аспектах бизнес-планирования и управления
операциями.
Такие отрасли, как телекоммуникации, СМИ и технологии, активно
используют интеллектуальный анализ данных для улучшения обслужива¬
ния клиентов путем выявления закономерностей в их поведении. Напри¬
мер, компании могут анализировать использование пропускной способно¬
сти и предоставлять персонализированные услуги или рекомендации.
В финансовых сферах, таких как банковское дело и страхование, при¬
ложения для интеллектуального анализа данных помогают решать слож¬
ные проблемы, связанные с мошенничеством, соблюдением нормативных
44
требований, управлением рисками и удержанием клиентов. Например,
страховые компании могут оптимизировать ценообразование, анализируя
прошлые показатели эффективности и цены конкурентов.
В сфере образования алгоритмы интеллектуального анализа данных
помогают проверять знания учащихся, персонализировать уроки и сделать
обучение более интерактивным. Сведения об успеваемости учащихся на
основе данных помогают преподавателям лучше адаптировать обучение
к потребностям учащихся.
Производственные компании используют методы интеллектуального
анализа данных для прогнозирования в реальном времени с целью повы¬
шения эффективности оборудования, обслуживания, качества продукции
и эффективности цепочки поставок.
В розничной торговле данные о поведении покупателей обрабатыва¬
ются с помощью интеллектуального анализа для создания информации для
маркетинговых кампаний и прогнозирования продаж. Точные модели дан¬
ных помогают оптимизировать продажи, логистику и удовлетворить по¬
требности клиентов. Например, анализ данных может помочь выявить по¬
пулярные товары и подготовить запасы заранее, чтобы избежать дефицита.
4.1. Процесс интеллектуального анализа данных
Понимание бизнеса
Сначала специалисты по обработке и анализу данных определяют
цель и объем проекта. Они сотрудничают с заинтересованными сторонами
бизнеса, чтобы получить определенную информацию, например проблемы,
которые требуют решения, ограничения проекта, воздействие потенциаль¬
ных решений на бизнес, затем используют эту информацию, чтобы опре¬
делить цели интеллектуального анализа данных и ресурсы, необходимые
для обнаружения знаний.
Понимание данных
Определив бизнес-проблему, специалисты по работе с данными при¬
ступают к предварительному анализу данных. Они собирают наборы дан¬
ных из различных источников, получают права доступа и готовят отчет
с описанием данных. В отчете содержится информация о типах и количе¬
стве данных, требованиях к аппаратному и программному обеспечению
для обработки данных. После утверждения плана компанией специалисты
приступают к исследованию и проверке данных; обрабатывают данные,
используя базовые статистические методы; оценивают качество данных
и выбирают итоговый набор данных для следующего этапа.
45
Подготовка данных
Самый длительный этап, поскольку ПО для интеллектуального анали¬
за данных требует высококачественных данных. В бизнес-процессах дан¬
ные собираются и хранятся по причинам, отличным от интеллектуального
анализа, поэтому специалисты по анализу должны подготовить данные,
прежде чем использовать их для моделирования. Подготовка данных со¬
стоит из следующих процессов:
о очистка данных (например, обработка отсутствующих данных,
ошибок и стандартных значений, а также корректировка данных);
о интеграция данных (например, объединение двух разных наборов
данных для получения итогового целевого набора);
о форматирование данных (например, преобразование типов данных
или настройка данных для конкретной используемой технологии
интеллектуального анализа).
Моделирование данных
Специалисты по анализу данных вводят подготовленные данные в ПО
для интеллектуального анализа данных и изучают результаты. Для этого
они могут использовать один из множества методов и инструментов ин¬
теллектуального анализа данных, а также должны написать тесты для
оценки качества результатов интеллектуального анализа данных. Для мо¬
делирования данных специалисты по работе с данными могут:
о обучать модели машинного обучения на небольших наборах дан¬
ных с известными результатами;
о использовать модели для дальнейшего анализа неизвестных набо¬
ров данных;
о настраивать или перенастраивать ПО для интеллектуального анали¬
за данных, чтобы получать удовлетворительные результаты.
Оценка
После создания моделей аналитики начинают анализировать их с уче¬
том изначальных бизнес-целей. Они делятся результатами с бизнес¬
аналитиками и получают обратную связь. Модель может ответить на пер¬
воначальный вопрос или выявить новые закономерности. Аналитики могут
внести изменения в модель, адаптировать бизнес-цели или пересмотреть
данные на основе обратной связи от компании. Непрерывная оценка, об¬
ратная связь и корректировки являются неотъемлемой частью процесса из¬
влечения знаний.
Развертывание
В процессе развертывания заинтересованные стороны могут исполь¬
зовать рабочую модель для получения бизнес-аналитики. Специалисты по
обработке данных планируют процесс развертывания, который включает
46
в себя обучение других функций модели, постоянный мониторинг и под¬
держку приложения интеллектуального анализа данных. Бизнес-аналитики
могут использовать приложение для создания отчетов, обмена результата¬
ми с клиентами и улучшения бизнес-процессов.
4.2. Методы интеллектуального анализа данных
Методы интеллектуального анализа данных основаны на различных
пересекающихся областях знаний, включая статистический анализ, ма¬
шинное обучение и математику. К основным методам относят:
1. Анализ ассоциативных правил.
2. Классификация.
3. Кластеризация.
4. Анализ последовательностей и путей.
Анализ ассоциативных правил
Анализ ассоциативных правил - это процесс нахождения связей меж¬
ду различными наборами данных, которые кажутся несвязанными. Эти
связи выражаются в форме «если, то» и показывают вероятность наличия
связи между двумя точками данных. Критерии поддержки и доверия ис¬
пользуются для измерения точности результатов. Поддержка указывает,
как часто связанные элементы встречаются в наборе данных, а доверие по¬
казывает, насколько часто утверждение «если, то» оказывается верным.
Розничные продавцы могут использовать анализ ассоциативных пра¬
вил для определения товаров, которые могут заинтересовать новых клиен¬
тов, используя данные о прошлых покупках. Результаты интеллектуально¬
го анализа данных могут быть использованы для заполнения рекомендуе¬
мых разделов в интернет-магазине.
Классификация
Классификация в интеллектуальном анализе данных - это метод, ко¬
торый обучает алгоритмы машинного обучения распознавать и сортиро¬
вать данные по определенным категориям. Для этого используются раз¬
личные статистические методы, такие как деревья решений и метод бли¬
жайшего соседа. Алгоритмы предварительно программированы с исполь¬
зованием известных классифицированных данных, чтобы определить тип
новых элементов данных. Например, аналитики могут обучить программ¬
ное обеспечение для интеллектуального анализа данных, используя поме¬
ченные изображения яблок и манго. Затем это программное обеспечение
сможет с некоторой точностью предсказывать, какой фрукт изображен на
новых картинках: яблоко, манго или другой фрукт.
47
Кластеризация
Кластеризация представляет собой процесс объединения нескольких
точек данных в группы на основе их сходства. В отличие от классифика¬
ции, кластеризация не присваивает данным определенные категории, но
выявляет закономерности в их сходстве. Результатом анализа данных ста¬
новится набор кластеров, где каждая группа отличается от остальных, но
объекты внутри каждого кластера обладают определенной степенью сход¬
ства. Например, анализ кластеров может быть полезен при изучении рынка
на основе многомерных данных опросов. Исследователи рынка использу¬
ют кластерный анализ для разделения потребителей на сегменты рынка
и для получения полного представления о взаимосвязях между различны¬
ми группами.
Анализ последовательностей и путей
Программное обеспечение для анализа данных может также выявлять
закономерности, в которых определенные наборы событий или значений
приводят к последующим. Это ПО способно обнаруживать изменения
в данных, происходящих через определенные временные интервалы, или
изменения в точках данных, которые происходят со временем. Например,
анализ путей может помочь компаниям обнаружить увеличение продаж
определенных товаров непосредственно перед праздниками или выявить,
что теплая погода привлекает больше посетителей на их веб-сайты.
4.3. Типы интеллектуального анализа данных
В зависимости от данных и целей анализа интеллектуальный анализ
данных может быть направлен в различные области.
Одним из таких направлений является анализ процессов, который
направлен на выявление, контроль и улучшение бизнес-процессов. При
этом анализ процессов включает в себя изучение журналов событий, до¬
ступных в информационных системах, что позволяет организациям наблю¬
дать и понимать ход событий в этих процессах на протяжении времени.
Например, в компаниях, занимающихся онлайн-торговлей, осуществляют¬
ся различные процессы, такие как закупки, продажи, оплата, сборка и до¬
ставка товаров. Анализируя данные о закупках, компании могут выявить,
что надежность поставок от поставщиков составляет 54 %. Либо 12 % по¬
ставщиков постоянно поставляют товары раньше срока. Эту информацию
можно использовать для оптимизации взаимоотношений с поставщиками.
Анализ текста использует специализированное программное обеспе¬
чение для чтения и понимания текста. Специалисты по обработке данных
применяют интеллектуальный анализ текста для автоматизации извлече¬
48
ния информации из письменных материалов, таких как веб-сайты, книги,
электронные письма, отзывы и статьи. Например, цифровая медиакомпа¬
ния может использовать интеллектуальный анализ текста для автоматиче¬
ского анализа комментариев к своим онлайн-видео и классификации отзы¬
вов зрителей как положительные или отрицательные.
Прогностический анализ данных использует бизнес-аналитику для
прогнозирования тенденций и помогает руководителям бизнеса изучать
влияние их решений на будущее компании. Например, компания может
изучить данные о прошлых возвратах продукции, чтобы разработать схему
гарантии, которая поможет избежать убытков. С помощью прогностиче¬
ского анализа компании могут предсказать потенциальное количество воз¬
вратов в следующем году и создать годовой гарантийный план, который
учитывает убытки при определении цены товара.
4.4. Классификация интеллектуального анализа данных
Классификация в интеллектуальном анализе данных является методом
анализа данных, который используется для классификации объектов
в определенные категории или классы на основе их характеристик или
свойств.
Основная цель классификации в данных - обучить модель на основе
имеющихся данных, чтобы она могла классифицировать новые или нераз¬
меченные объекты. Для этого процесс классификации сначала тренирует
модель на размеченных данных, где каждому объекту присваивается из¬
вестный класс. Затем модель используется для классификации новых объ¬
ектов на основе достаточно похожих признаков уже размеченных данных.
Основные методы классификации включают в себя деревья решений,
нейронные сети, метод опорных векторов, наивный байесовский класси¬
фикатор и многие другие. Каждый метод имеет свои преимущества и не¬
достатки, и выбор метода зависит от конкретной задачи и данных.
Классификация в интеллектуальном анализе данных широко приме¬
няется в различных областях, таких как медицина, финансы, маркетинг
и прогнозирование. Она помогает организациям принимать обоснованные
решения, оптимизировать процессы и повышать эффективность.
Классификация требует соблюдения следующих правил:
• в каждом акте деления необходимо применять только одно основа¬
ние;
• деление должно быть соразмерным, т. е. общий объем видовых по¬
нятий должен равняться объему делимого родового понятия;
49
• члены деления должны взаимно исключать друг друга, их объемы
не должны перекрещиваться;
• деление должно быть последовательным.
Виды классификаций по признаку:
• вспомогательная (искусственная) классификация. Производится по
внешнему признаку и служит для придания множеству предметов (процес¬
сов, явлений) нужного порядка;
• естественная классификация. Производится по существенным при¬
знакам, характеризующим внутреннюю общность предметов и явлений.
Она является результатом и важным средством научного исследования, так
как предполагает и закрепляет результаты изучения закономерностей клас¬
сифицируемых объектов.
В зависимости от выбранных признаков, их сочетания и процедуры
деления понятий классификация может быть простая и сложная:
• простая - деление родового понятия только по признаку и только
один раз до раскрытия всех видов. Примером такой классификации явля¬
ется дихотомия, при которой членами деления бывают только два понятия,
каждое из которых является противоречащим другому (т. е. соблюдается
принцип «А и не А»);
• сложная - применяется для деления одного понятия по разным осно¬
ваниям и синтеза таких простых делений в единое целое. Примером такой
классификации является периодическая система химических элементов.
Также классификация может быть одномерной, основанной на одном
признаке, или многомерной, основанной на двух и более признаках. Мно¬
гомерная классификация была разработана биологами для решения про¬
блем дискриминации и классификации организмов. Одной из первых работ
в этом направлении была работа Р. Фишера (1930), в которой организмы
разделялись на подвиды в зависимости от результатов измерений их физи¬
ческих параметров. Биология была и остается самой подходящей и удоб¬
ной средой для разработки многомерных методов классификации. Под
классификацией понимается отнесение объектов (наблюдений, событий)
к одному из заранее известных классов.
Классификация - это процесс, который позволяет определить харак¬
теристики определенной группы на основе закономерностей. Для успеш¬
ной классификации необходимы признаки, описывающие группу, к кото¬
рой относится объект или событие. Обычно правила классификации фор¬
мулируются на основе анализа уже известных групп.
Классификация часто используется в контролируемом обучении
(Supervised Learning), где целью является предсказание категориальной за¬
висимой переменной на основе набора переменных. Например, можно
предсказать, является ли клиент потенциальным покупателем определен¬
50
ного товара или пользователем услуги компании. Эти задачи часто отно¬
сятся к бинарной классификации, где зависимая переменная принимает
только два значения (да/нет, 0/1).
Если, например, рассматривать ситуацию, когда зависимая перемен¬
ная может принимать значения из определенного набора классов, это при¬
водит к другому виду классификации (например, в случае, когда требуется
предсказать, какую марку автомобиля захочет приобрести клиент, необхо¬
димо множество классов для зависимой переменной).
Пример
Допустим, есть база данных о клиентах туристического агентства
с информацией об их возрасте и доходе за месяц, а также два вида реклам¬
ного материала: один предлагает более дорогой и комфортный отдых, в то
время как другой предлагает более доступный, молодежный отдых. Соот¬
ветственно, определены два класса клиентов: класс 1 и класс 2 (рис. 9).
| Код клиента
Возраст
Доход
Класс |
1
18
25 000
1
2
22
100 000
1
3
30
70 000
1
4
35
200 000
1
5
24
15 000
2
6
25
22 000
1
7
32
50 000
2
8
19
45 000
2
9
27
75 000
1
10
40
90 000
2
Рис. 9. Исходные данные
Определить класс, к которому будет относиться новый клиент, и ма¬
териал, который ему необходимо будет отправить.
Решение
Для наглядности представим базу данных в двумерном пространстве,
где каждый объект характеризуется возрастом и доходом и отнесен к одному
из двух классов: класс 1 (оранжевая метка) или класс 2 (серая метка). Задача
заключается в определении принадлежности нового клиента к одному из
этих классов, который обозначен белой меткой на графике (рис. 10).
Цель процесса классификации состоит в том, чтобы построить мо¬
дель, которая использует прогнозирующие атрибуты в качестве входных
параметров и получает значение зависимого атрибута. Процесс классифи¬
кации заключается в разбиении множества объектов на классы по опреде¬
ленному критерию.
51
Рис. 10. Визуализация исходных данных
Классификатор - это сущность, которая определяет, к какому из за¬
данных классов принадлежит объект на основе его признаков. Для матема¬
тической классификации необходимо иметь формальное описание объекта,
с которым можно работать с помощью математических методов. В нашем
случае таким описанием является база данных.
Каждый объект в базе данных содержит информацию о некоторых
свойствах объекта. Исходные данные разделяются на два множества: обу¬
чающее и тестовое:
• обучающее множество содержит данные, используемые для созда¬
ния модели. Оно состоит из входных и выходных значений примеров, где
выходные значения используются для обучения модели;
• тестовое множество также содержит входные и выходные значе¬
ния примеров. Однако выходные значения используются для проверки ра¬
ботоспособности модели. Здесь выходные значения используются для про¬
верки работоспособности модели.
Процесс классификации состоит из двух этапов: конструирования мо¬
дели и ее использования:
• конструирование модели: описание множества предопределенных
классов:
о каждый пример набора данных относится к одному предопреде¬
ленному классу;
о на этом этапе используется обучающее множество, на нем проис¬
ходит конструирование модели;
о полученная модель представлена классификационными правила¬
ми, деревом решений или математической формулой;
• использование модели: классификация новых или неизвестных зна¬
чений:
о оценка правильности (точности) модели;
52
о известные значения из тестового примера сравниваются с резуль¬
татами использования полученной модели;
о уровень точности - процент правильно классифицированных
примеров в тестовом множестве;
о тестовое множество, т. е. множество, на котором тестируется по¬
строенная модель, не должно зависеть от обучающего множества;
о если точность модели допустима, возможно использование моде¬
ли для классификации новых примеров, класс которых неизве¬
стен.
Конструирование модели представлено на рис. 11.
Классификационный
Обучающее
Классификатор
множество
алгоритм
(модель)
База
данньЕ
к
Если ДОХОД>20000
СЕМЕЙНОЕ
ПОЛОЖЕНИЕ=
mamed, то Класс 1
Классификационный
алгоритм
Обучающее
множество
Новые данные
шшашш
База данньг
к
ДОХОД=25000 и
СЕМЕЙНОЕ
ПОЛОЖЕННЕ=
married
Класс 1
Рис. 11. Конструирование модели
Для классификации используются различные методы. Основные из
них:
• классификация с помощью деревьев решений;
• байесовская (наивная) классификация;
• классификация при помощи искусственных нейронных сетей;
• классификация методом опорных векторов;
• статистические методы, в частности линейная регрессия;
• классификация при помощи метода ближайшего соседа;
53
• классификация CBR-методом;
• классификация при помощи генетических алгоритмов.
Оценка точности классификации может быть выполнена с использо¬
ванием кросс-валидации.
Кросс-валидация представляет собой процедуру оценки точности
классификации на тестовом наборе данных, который также известен как
контрольный набор. Точность классификации тестового набора сравнива¬
ется с точностью классификации обучающего набора. Если результаты
классификации тестового набора близки к результатам классификации
обучающего набора, то говорят, что модель успешно прошла кросс¬
валидацию.
Для разделения на обучающий и тестовый наборы используется метод
разделения выборки в определенной пропорции. Например, обучающий
набор содержит две трети данных, а тестовый - одну треть данных. Этот
подход рекомендуется для выборок с большим количеством примеров.
В случае малых выборок рекомендуется использовать специальные мето¬
ды, при которых обучающий и тестовый наборы могут частично пересе¬
каться.
Оценивание методов следует проводить исходя из следующих харак¬
теристик: скорость, робастность, интерпретируемость, надежность.
Скорость характеризует время, которое требуется на создание модели
и ее использование.
Робастность, т. е. устойчивость к каким-либо нарушениям исходных
предпосылок, означает возможность работы с зашумленными данными и
пропущенными значениями в данных.
Интерпретируемость обеспечивает возможность понимания модели
аналитиком.
Свойства классификационных правил:
• размер дерева решений;
• компактность классификационных правил.
Надежность методов классификации предусматривает возможность
работы этих методов при наличии в наборе данных шумов и выбросов.
4.5. Машинное обучение
Машинное обучение (Machine Learning) - это обширный подраздел
искусственного интеллекта, математическая дисциплина, использующая
разделы математической статистики, численных методов оптимизации,
теории вероятностей, дискретного анализа и извлекающая знания из дан¬
ных, а также занимающаяся поиском закономерностей этих данных. Если
54
говорить другими словами, то машинное обучение - это область искус¬
ственного интеллекта, изучающая разработку алгоритмов и моделей, кото¬
рые позволяют компьютерам «учиться» из опыта и данных без явного про¬
граммирования.
Контролируемое обучение - это один из подходов в машинном обу¬
чении, при котором модель обучается с использованием размеченных дан¬
ных. В контролируемом обучении у нас есть набор обозначенных приме¬
ров, где каждый пример имеет входные данные (например, фотография)
и соответствующий выход или метку (например, информация о том, что на
фотографии изображено). Модель использует эти размеченные данные для
обучения и последующего прогнозирования или классификации новых
данных.
Неконтролируемое обучение - это другой подход в машинном обу¬
чении, где у нас нет явно размеченных данных. Вместо этого набор данных
состоит только из входных данных без соответствующих меток или вы¬
ходных значений. В неконтролируемом обучении модель ищет внутренние
паттерны и структуры в данных, чтобы выделить скрытые зависимости.
Этот тип обучения часто используется для кластеризации (группирования)
данных или снижения размерности (преобразования данных в меньший
набор признаков).
Оба подхода имеют свои сильные и слабые стороны и могут приме¬
няться в разных областях в зависимости от характера данных и задачи, ко¬
торую мы хотим решить.
Кластерный анализ - это метод исследования и статистического ана¬
лиза данных, который позволяет разделить набор данных на группы или
кластеры таким образом, чтобы объекты внутри каждого кластера были
более схожи между собой, чем с объектами из других кластеров.
Основная цель кластерного анализа - выявить внутренние структуры
и отношения в данных.
Кластерный анализ может быть полезным в различных областях,
включая маркетинг, медицину, социальные науки, биологию и многие дру¬
гие. Например, в маркетинге он может использоваться для сегментации
клиентов и определения их предпочтений; в медицине - для классифика¬
ции пациентов по типам заболеваний; в социальных науках - для анализа
социальных сетей и группировки людей схожих интересов.
Задачи кластерного анализа:
• выявление кластерных структур: определение оптимального коли¬
чества кластеров и выделение объектов, принадлежащих к одному и тому
же кластеру;
55
• определение принадлежности объектов: определение кластера,
к которому относится новый объект, на основе имеющихся данных и обу¬
ченных моделей;
• визуализация и интерпретация: представление результатов кластер¬
ного анализа в понятной форме для лучшего понимания структуры данных
и принятия решений.
Задача кластеризации сходна с задачей классификации, является ее
логическим продолжением, но ее отличие в том, что классы изучаемого
набора данных заранее не предопределены.
Кластеризация предназначена для разбиения совокупности объектов
на однородные группы (кластеры или классы). Кластеризация является
описательной процедурой, не делает никаких статистических выводов, но
дает возможность провести разведочный анализ и изучить «структуру дан¬
ных». Само понятие «кластер» определено неоднозначно: в каждом иссле¬
довании свои «кластеры». Переводится понятие кластер (Cluster) как
«скопление», «гроздь». Кластер можно охарактеризовать как группу объ¬
ектов, имеющих общие свойства (рис. 12).
Основная идея кластерного анализа заключается в разбиении объек¬
тов на группы или кластеры таким образом, чтобы внутри группы эти
наблюдения были более похожи друг на друга, чем на объекты другого
кластера. Обобщая, кластерный анализ может применяться для сегмента¬
ции потребителей, обнаружения аномальных наблюдений (например, при
выявлении мошенничества) и в целом для структурирования данных, о со¬
держании которых мало что известно заранее.
56
В табл. 1 представлено сравнение некоторых параметров задач клас¬
сификации и кластеризации.
Таблица 1
Характеристика
Классификация
Кластеризация
Контролируемость
обучения
Контролируемое обучение
Неконтролируемое
обучение
Стратегия
Обучение с учителем
Обучение без учителя
Наличие метки класса
Обучающее множество
сопровождается меткой,
указывающей класс, к которому
относится наблюдение
Метки класса
обучающего множества
неизвестны
Основание для клас¬
сификации
Новые данные классифицируют¬
ся на основании обучающего
множества
Дано множество данных
с целью установления
существования классов
или кластеров данных
В классификации (рис. 13, а) классы предопределены изначально,
в кластеризации (рис. 13, б) классы не предопределены, осуществляется
поиск наиболее похожих, однородных групп.
°,
О
О ПО
о о
О О
о
о
о
о
1
□
о
э □□
□
□
□
□
(а)
(б)
Рис. 13. Классификация (а) и кластеризация (б)
Этапы кластеризации
Для начала необходимо выбрать свойства, которые характеризуют
наши объекты, ими могут быть количественные характеристики (коорди¬
наты, интервалы), качественные характеристики (цвет, статус и т. д.). За¬
тем стоит попробовать уменьшить размерность пространства характери¬
стических векторов, т. е. выделить наиболее важные свойства объектов.
Выделенные характеристики стоит нормализовать. Далее все объекты
представляются в виде характеристических векторов. Однако при создании
модели пользователя информация, используемая для создания кластеров,
например часто используемые пункты меню, особенности пользователя
и т. д., не может быть представлена в виде численного вектора. После это¬
57
го выбирается метрика, по которой определяется близость объектов. После
получения и анализа результатов возможна корректировка выбранной мет¬
рики и метода кластеризации до получения оптимального результата.
Кластеризация - это процесс группировки схожих объектов в класте¬
ры, основанный на их сходстве. В зависимости от подхода кластеризации
можно выделить два типа методов: иерархические и неиерархические.
Иерархические методы кластеризации
✓ агломеративные методы: начинают с того, что каждый объект
находится в отдельном кластере, затем объединяются близкие
кластеры постепенно, пока не получится один общий кластер;
✓ дивизивные методы: начинают с того, что все объекты находятся
в одном общем кластере и затем разделяются на более мелкие
кластеры до достижения желаемого количества кластеров;
✓ иерархические методы строят иерархию кластеров, отображаю¬
щую отношения между ними. Они позволяют исследовать дан¬
ные на разных уровнях детализации и принимать более гибкие
решения.
Неиерархические методы кластеризации
✓ k-средних (k-means): определяет заранее заданное количество
кластеров (k) и итеративно перевычисляет центры кластеров
и принадлежность объектов к кластерам;
✓ DBSCAN: базируется на плотности данных и идентифицирует
кластеры как плотные области в пространстве данных;
✓ плотностные методы: выделяют кластеры на основе плотности
объектов в пространстве данных.
Неиерархические методы определяют кластеры без построения иерар¬
хии. Они могут быть эффективны в больших наборах данных или когда
количество кластеров неизвестно.
В обоих случаях выбор метода зависит от характеристик данных и по¬
ставленных целей. Каждый из методов имеет свои преимущества и огра¬
ничения, поэтому важно выбрать подходящий для конкретной задачи.
К выбору метода кластерного анализа исходных данных подходят разные
критерии, включая набор признаков, доступность меток, объем данных
и предполагаемую структуру кластеров.
Агломеративные методы
Агломеративные методы - это класс алгоритмов кластеризации, кото¬
рый строит иерархию кластеров путем последовательного объединения
более мелких кластеров. Эти методы начинают с каждого объекта как от¬
дельного кластера и последовательно объединяют их, основываясь на
определенном критерии близости.
58
Принцип работы агломеративных методов кластеризации можно раз¬
бить на несколько шагов:
1. Инициализация: на первом шаге каждый объект рассматривается
как отдельный кластер.
2. Вычисление матрицы расстояний: вычисляется матрица расстояний
между всеми парами кластеров на основе выбранной метрики расстояния,
такой как евклидово расстояние или косинусное расстояние.
3. Нахождение наименее удаленной пары кластеров: из матрицы рас¬
стояний выбираются два наименее удаленных кластера на основе выбран¬
ного критерия близости, такого как среднее расстояние или минимальное
расстояние.
4. Объединение кластеров: выбранные наименее удаленные кластеры
объединяются в один новый кластер.
5. Обновление матрицы расстояний: матрица расстояний обновляется
для учета нового объединенного кластера.
6. Повторение шагов 3-5: шаги 3-5 повторяются до тех пор, пока все
объекты не объединятся в один кластер или пока не будет достигнуто
определенное условие остановки, такое как заданное количество кластеров
или пороговое значение расстояния.
7. Возврат иерархии кластеров: после завершения агломеративного
процесса можно получить иерархическую структуру кластеров в виде
дендрограммы или дерева.
Принцип работы агломеративных методов заключается в последова¬
тельном объединении более мелких кластеров в большие, основываясь на
мере близости между объектами и кластерами. Это позволяет создать
иерархию кластеров, которая может быть использована для анализа дан¬
ных на различных уровнях детализации. На каждом шаге агломеративного
метода вычисляется мера близости между кластерами и объектами, и вы¬
бирается наименее удаленная пара для объединения. Этот процесс про¬
должается, пока все объекты не будут сгруппированы в один кластер или
не будет достигнуто определенное условие остановки.
Агломеративные методы предоставляют иерархическую структуру
кластеров, что позволяет исследовать их в различных масштабах. Они
также могут работать с различными типами данных и быть полезны при
анализе и визуализации больших наборов данных. Однако они могут быть
вычислительно сложными при работе с большими наборами данных.
Дивизивные методы
Дивизивные методы кластеризации работают в противоположность
агломеративным методам. Вместо объединения кластеров они начинают
с одного крупного кластера, который последовательно разделяется на бо¬
59
лее мелкие кластеры до достижения необходимого числа кластеров или
выполнения определенного условия остановки.
Основные шаги дивизивного метода кластеризации:
1. Инициализация: в начале все объекты рассматриваются как члены
одного крупного кластера.
2. Выбор кластера для разделения: изначально выбирается кластер для
разделения. в качестве критерия выбора используется, например, размер
кластера или плотность объектов.
3. Разделение выбранного кластера: выбранный кластер разделяется
на два или более меньших кластера. Для этого могут использоваться раз¬
личные методы, такие как алгоритм k-средних или иерархическая класте¬
ризация.
4. Повторение шагов 2-3: процесс выбора кластера и разделения про¬
должается до тех пор, пока не будет достигнуто заданное количество кла¬
стеров или выполнено условие остановки.
5. Возврат кластеров: по завершению процесса разделения получает¬
ся требуемое количество кластеров. Главное отличие дивизивных методов
от агломеративных состоит в том, что они начинают с одного крупного
кластера и последовательно разделяют его на более мелкие кластеры. Это
позволяет более гибко контролировать процесс разделения и получать кла¬
стеры разной формы и размеров.
Метод DBSCAN
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) -
это алгоритм кластеризации данных, основанный на плотности объектов.
Дословно - плотностной алгоритм пространственной кластеризации с при¬
сутствием шума. Он позволяет находить кластеры любой формы, не требуя
предварительного задания числа кластеров.
Основная идея метода DBSCAN заключается в следующем:
1. Определение параметров: алгоритм DBSCAN требует задания двух
параметров: радиуса (eps) и минимального числа соседей (minPts). Радиус
eps определяет расстояние, в пределах которого объекты считаются сосе¬
дями. Минимальное число соседей minPts указывает минимальное количе¬
ство объектов, которые должны находиться в пределах радиуса eps, чтобы
рассматриваемый объект считался основным.
2. Определение типа объекта: каждому объекту присваивается один из
трех типов: основной (Core), граничный (Border) или выброс (Noise). Ос¬
новные объекты имеют в пределах радиуса eps не менее minPts соседей и,
следовательно, являются частью кластеров. Граничные объекты имеют
меньшее число соседей, но находятся в пределах радиуса eps основных
объектов и могут быть включены в кластер. Выбросы не имеют достаточ¬
ного числа соседей и считаются шумом.
60
3. Формирование кластеров: алгоритм просматривает каждый объект
в выборке и проверяет его тип. Если объект является основным, то все со¬
седние объекты, в пределах радиуса eps, добавляются в один кластер. Если
объект является граничным, то он может быть включен в кластер, если
один из его соседей является основным. Процесс продолжается, пока все
объекты не будут проверены.
4. Корректировка кластеров: в результате работы алгоритма могут
возникнуть ситуации, когда некоторые граничные объекты соединены
двумя или более кластерами. Для решения этой проблемы проводится про¬
цесс корректировки кластеров, в результате которого подобные случаи об¬
рабатываются и устраняются. DBSCAN имеет несколько преимуществ пе¬
ред другими методами кластеризации. Во-первых, он способен обнаружи¬
вать кластеры любой формы и размера. Во-вторых, DBSCAN не требует
предварительного задания числа кластеров, что делает его очень удобным
в использовании на практике. Однако для эффективной работы алгоритма
необходимо правильно выбрать параметры радиуса и минимального числа
соседей. Если параметры выбраны неправильно, алгоритм может не вы¬
явить все кластеры или объединить их вместе.
Плотностные методы
Плотностные методы - это класс алгоритмов кластеризации данных,
основанных на плотности объектов в пространстве признаков. Они выде¬
ляют кластеры, основываясь на плотности точек, которые близко распо¬
ложены друг к другу, а также на разреженности точек в окружающих об¬
ластях.
Одним из наиболее известных плотностных методов является алго¬
ритм DBSCAN (Density-Based Spatial Clustering of Applications with Noise),
о котором мы только что узнали. DBSCAN определяет кластеры как не¬
прерывные участки высокой плотности точек в пространстве признаков,
игнорируя области с низкой плотностью. Другими популярными плот¬
ностными методами являются OPTICS (Ordering Points To Identify the Clus¬
tering Structure) и HDBSCAN (Hierarchical Density-Based Spatial Clustering
of Applications with Noise).
OPTICS работает аналогично DBSCAN, но вместо жестко заданного
значения радиуса определяет радиусы соседей каждой точки на основе ее
плотности. Это позволяет определять кластеры любой формы и размера,
без необходимости подбора конкретного значения радиуса.
HDBSCAN является расширением DBSCAN, использующим иерархи¬
ческий подход для кластеризации. Он строит иерархическую структуру
кластеров, позволяя обнаруживать как крупномасштабные, так и мелко¬
масштабные кластеры.
61
Плотностные методы имеют несколько преимуществ. Во-первых, они
могут обнаруживать кластеры любой формы и размера, в том числе кла¬
стеры с неоднородной плотностью. Во-вторых, они позволяют обрабаты¬
вать выбросы и шум в данных, исключая их из кластеров или относя их
к отдельним категориям. Однако плотностные методы также имеют свои
ограничения. Они могут быть чувствительны к выбору параметров, таких
как радиус и минимальное количество соседей. Неправильный выбор па¬
раметров может привести к неправильной кластеризации или объединению
несвязанных кластеров.
В целом, плотностные методы являются мощным инструментом для
кластеризации данных, который может быть использован в различных об¬
ластях, включая машинное обучение, анализ данных и геоинформацион¬
ные системы.
Принцип работы плотностных методов основан на анализе плотности
точек в пространстве признаков. Основная идея заключается в том, что
точки, которые находятся близко друг к другу и имеют высокую плот¬
ность, вероятнее всего, принадлежат к одному кластеру. Основные шаги
принципа работы плотностных методов представлены ниже:
1. Расчет плотности: сначала вычисляется плотность каждой точки
в пространстве признаков. Плотность может быть вычислена различными
способами, например с помощью подсчета количества точек в заданной
окрестности каждой точки.
2. Определение ядерных объектов: плотностные методы ищут точки,
которые имеют плотность выше заданного порогового значения. Эти точки
называются ядерными объектами и представляют наиболее плотные обла¬
сти данных.
3. Формирование кластеров: начиная с каждого ядерного объекта, ал¬
горитм расширяется путем добавления соседних точек, которые также
имеют достаточно высокую плотность. Таким образом, образуются кла¬
стеры точек с высокой плотностью. Если точка не является ни ядерным
объектом, ни соседней точкой высокой плотности, она считается выбросом
или шумом.
4. Объединение кластеров: иногда плотностные методы создают мел¬
комасштабные кластеры, которые находятся внутри крупномасштабных
кластеров. Для упрощения анализа и интерпретации данных кластеры мо¬
гут быть объединены, используя различные эвристики или иерархический
подход.
Далее, после кластеризации, можно проводить анализ и интерпрета¬
цию полученных результатов, например определять характеристики каж¬
дого кластера, искать аномалии или классифицировать новые данные на
основе обученной модели. Важно отметить, что плотностные методы об-
62
ладают различными параметрами, такими как радиус окрестности и мини¬
мальное количество соседей, которые могут повлиять на результаты кла¬
стеризации. Выбор оптимальных параметров может требовать исследова¬
ния и экспериментов.
Метод k-средних
Метод k-средних (k-means clustering) - это один из самых популярных
методов кластерного анализа. Он разделяет объекты на заранее заданное
количество кластеров k, опираясь на их сходство. Каждый объект присваи¬
вается к ближайшему кластеру, в котором центром является среднее зна¬
чение всех объектов этого кластера.
Пример использования метода k-средних: представьте, у нас есть дан¬
ные о покупках в интернет-магазине. Каждая покупка характеризуется
суммой покупки и количеством товаров. Необходимо проанализировать
эти данные и выделить группы покупателей на основе их поведения. С по¬
мощью метода k-средних возможно сгруппировать покупателей в кластеры
в зависимости от схожести их покупок. Например, можно выделить кла¬
стер «экономные покупатели», которые тратят меньше денег, но покупают
много товаров, и кластер «любители роскошных покупок», которые тратят
больше денег на ограниченное количество товаров.
Давайте пошагово разберемся в том, как работает этот алгоритм
(рис. 14).
Рис. 14. Метод k-средних
63
Шаг 1. Возьмем данные и самостоятельно выберем желаемое количе¬
ство кластеров, обозначим их буквой k (отсюда название метода). Пусть
в данном случае их будет три.
Шаг 2. Расположим несколько точек. Их количество будет равно ко¬
личеству кластеров. Эти точки называются центроидами. Посчитаем рас¬
стояние от данных до каждого из центроидов. Логично отнести наблюде¬
ние к тому центроиду, который находится ближе. В частности, T1 будет
отнесена к C2.
Шаг 3. Таким образом, каждая точка будет отнесена к определенному
центроиду (кластеру).
Шаг 4. Сместим центроиды в центр получившихся кластеров.
Шаг 5. Вновь отнесем точки к каждому из центроидов. Некоторые
наблюдения «переметнутся» к другому центроиду.
Следует повторять шаги 4 и 5 до тех пор, пока алгоритм не стабили¬
зируется, т. е. до тех пор, пока наблюдения не перестанут переходить от
одного центроида (кластера) к другому.
Более формальное представление алгоритма показано на рис. 15.
Цель алгоритма - минимизировать сумму квадратов внутрикластерных
расстояний до центра кластера (WCSS, Within-Cluster Sum of Squares,
функция потерь).
Функция потерь
(еще говорят целевая функция,
objective function)
Рис. 15. Алгоритм k-средних
Есть два способа выбора количества кластеров: экспертный метод и
метод локтя.
При экспертном методе выбор количества кластеров будет зависеть от
знания о предметной области (Domain Knowledge)
Методом локтя (Elbow Method) также возможно обучить модель, ис¬
пользуя несколько вариантов количества кластеров, измерить сумму квад¬
64
ратов внутрикластерных расстояний и выбрать тот вариант, при котором
данное расстояние перестанет существенно уменьшаться.
На рис. 16 представлено графическое представление метода локтя.
Как видно, после того как количество кластеров достигает трех, сумма
квадратов внутрикластерных расстояний (WCSS) перестает существенно
уменьшаться. Значит, в данном случае три кластера и будет оптимальным
значением.
4.6. Поиск ассоциативных правил
Поиск ассоциативных правил - это один из методов обучения без учи¬
теля, который ищет статистические связи между различными элементами
или атрибутами в наборе данных.
В отличие от обучения с учителем, где используются размеченные
данные (с метками), при поиске ассоциативных правил данные не требу¬
ют явного обозначения целевой переменной или классификации. Вместо
этого метод анализирует взаимосвязи и встречаемость различных наборов
атрибутов в данных, чтобы определить возможные правила или законо¬
мерности.
Однако в некоторых случаях поиск ассоциативных правил может быть
использован в комбинации с обучением с учителем. Например, ассоциа¬
тивные правила могут быть использованы для извлечения фичей или пре¬
добработки данных перед применением методов обучения с учителем. Это
позволяет улучшить процесс анализа и качество предсказаний моделей.
65
Поиск ассоциативных правил является одним из методов анализа
данных и широко применяется в области ассоциативного анализа. Ассо¬
циативные правила позволяют исследовать связи и зависимости между
элементами в наборе данных. Например, можно исследовать закономер¬
ности покупок в магазине и определить, какие товары часто приобрета¬
ются вместе.
Цель поиска ассоциативных правил заключается в выявлении скры¬
тых связей и зависимостей в наборе данных. Это позволяет понять, какие
элементы или события часто встречаются вместе, и использовать эту ин¬
формацию для принятия бизнес-решений.
Примеры целей поиска ассоциативных правил:
1. Маркетинг и продажи: использование ассоциативных правил может
помочь оптимизировать маркетинговые кампании и увеличить продажи.
Например, можно выяснить, какие товары часто покупаются вместе,
и предлагать их приобретать совместно или создавать специальные пред¬
ложения для таких комбинаций.
2. Рекомендации и персонализация: анализ ассоциативных правил
может быть использован для создания персонализированных рекоменда¬
ций. Например, на основе истории покупок или поведения пользователя
можно предложить ему товары или услуги, которые часто покупаются
вместе с теми, которые он уже выбрал.
3. Анализ поведения клиентов: ассоциативные правила могут помочь
понять предпочтения и поведение клиентов. Это позволяет более глубоко
изучить сегменты клиентов и разработать более эффективные стратегии
маркетинга и продаж.
4. Оптимизация процессов: анализ ассоциативных правил может так¬
же применяться для оптимизации различных бизнес-процессов. Например,
в производственной отрасли можно выявить связи между определенными
параметрами и качеством продукции, что поможет оптимизировать произ¬
водственные процессы и улучшить качество продукции.
Цель поиска ассоциативных правил может быть разной в зависимости
от конкретной задачи и области применения. Но общим является стремле¬
ние найти полезные и интересные связи в данных, которые помогут при¬
нять решения или повысить эффективность бизнеса.
Процесс поиска ассоциативных правил включает в себя следующие
шаги:
1. Подготовка данных: сначала необходимо подготовить данные для
анализа. Это может включать предварительную обработку данных, такую
как удаление дубликатов, преобразование данных в нужный формат и вы¬
бор интересующих нас признаков.
66
2. Определение поддержки и достоверности: ассоциативные правила
оцениваются на основе двух метрик - поддержки и достоверности. Под¬
держка (Support) определяет, насколько часто правило встречается в дан¬
ных, а достоверность (Confidence) показывает, насколько часто правило
оказывается верным.
3. Генерация частых наборов и правил: сначала определяются все ча¬
стые наборы, т. е. комбинации элементов, которые часто встречаются
в данных. Затем на основе этих частых наборов строятся ассоциативные
правила. Правило имеет вид «Если X, то Y», где Xи Y - наборы элементов.
4. Оценка правил: правила оцениваются на основе установленных
метрик поддержки и достоверности. Можно также использовать другие
метрики, например Lift, которая показывает степень зависимости между
элементами в правиле.
5. Выбор интересных правил: часто в данных находится множество
ассоциативных правил. Чтобы выбрать наиболее интересные правила,
можно использовать дополнительные метрики, такие как Lift или конкрет¬
ность (Specificity).
6. Интерпретация результатов: полученные ассоциативные правила
могут помочь в понимании взаимосвязей и зависимостей в данных. Они
могут быть использованы для принятия бизнес-решений, оптимизации
процессов или проведения маркетинговых кампаний.
Важно отметить, что ассоциативный анализ может быть применен к
различным типам данных, включая транзакционные данные (например,
данные о покупках), структурированные данные и текстовую информа¬
цию. В зависимости от типа данных и поставленных задач могут использо¬
ваться различные алгоритмы для поиска ассоциативных правил, такие как
алгоритм Apriori или FP-growth.
Для поиска ассоциативных правил существует несколько методов:
1. Метод подсчета частоты (Support Counting): этот метод основан на
подсчете частоты появления комбинации элементов в наборе данных. Сна¬
чала вычисляется частота появления отдельных элементов, затем комбина¬
ций элементов разной длины. Затем устанавливается минимальный порог
частоты появления для определения значимых ассоциаций.
2. Метод Apriori: этот метод основан на идее генерации и проверки
кандидатских ассоциаций. Сначала находятся все одноэлементные частот¬
ные наборы. Затем генерируются кандидатские наборы большей длины на
основе уже найденных наборов. Для каждого кандидатского набора прове¬
ряется его частота появления и решается, является ли он значимой ассоци¬
ацией.
67
3. Метод FP-growth: этот метод основан на древовидной структуре
данных, называемой FP-дерево (Frequent Pattern tree). FP-growth строит де¬
рево, представляющее все частотные наборы в данных. Затем он использу¬
ет эту структуру для эффективного поиска ассоциативных правил. Метод
FP-growth обычно работает быстрее, чем метод Apriori, особенно при рабо¬
те с большими наборами данных.
4. Алгоритм SETM: создание этого алгоритма было мотивировано же¬
ланием использовать язык SQL для вычисления часто встречающихся
наборов товаров. Как и метод Apriori, SETM также формирует кандидатов
«на лету», основываясь на преобразованиях базы данных. Чтобы использо¬
вать стандартную операцию объединения языка SQL для формирования
кандидата, SETM отделяет формирование кандидата от их подсчета. Вы¬
бор метода зависит от размера данных, доступных ресурсов, требуемой
точности, а также от конкретной задачи и области применения. Часто ис¬
пользуется комбинация разных методов для достижения наилучших ре¬
зультатов.
5. Метод ECLAT: алгоритм, предназначенный для поиска часто встре¬
чающихся множеств. Он основан на идее агрегирования транзакций с об¬
щими элементами в эквивалентные классы, что позволяет ускорить про¬
цесс поиска. Алгоритм ECLAT также использует битовые операции для
эффективной работы с большими наборами данных.
6. Алгоритм вычисления обобщенных ассоциативных правил: это ме¬
тод, основанный на поиске связей и закономерностей между элементами
в наборе данных.
Метод подсчета частоты широко применяется в различных областях,
таких как анализ данных, статистика, машинное обучение и другие. Он
помогает выявить наиболее частые или редкие значения в наборе данных,
что может быть полезно для принятия решений и дальнейшего анализа.
Метод подсчета частоты можно применять не только для подсчета ча¬
стоты отдельных элементов в наборе данных, но и для поиска ассоциатив¬
ных правил. Ассоциативные правила используются для выявления связей и
зависимостей между элементами в наборе данных.
Шаги для использования метода подсчета частоты как метода поиска
ассоциативных правил представлены ниже:
1. Подготовка данных: необходимо иметь набор данных, состоящий
из транзакций или списков элементов.
2. Подсчет частоты элементов: для каждого элемента в наборе данных
применяется метод подсчета частоты, чтобы определить, как часто он по¬
является в транзакциях.
68
3. Определение порога поддержки и достоверности: необходимо вы¬
брать пороговые значения для поддержки и достоверности, чтобы опреде¬
лить, когда правило считается значимым.
4. Г енерация кандидатов: создается список всех возможных комбина¬
ций элементов, которые могут быть связаны между собой на основе задан¬
ных порогов.
5. Подсчет поддержки и достоверности: для каждого кандидата под¬
считываются его поддержка и достоверность на основе частоты элементов
и их комбинаций.
6. Фильтрация правил: из всех полученных правил отбираются только
те, которые удовлетворяют пороговым значениям поддержки и достовер¬
ности.
7. Интерпретация результатов: анализируются полученные ассоциа¬
тивные правила для выявления присутствующих связей и зависимостей
между элементами.
Предположим, имеется набор данных, состоящий из транзакций поку¬
пок, и необходимо найти ассоциативные правила между продуктами. При¬
меняя метод подсчета частоты, получаем частотный профиль каждого про¬
дукта. Затем генерируем все возможные комбинации продуктов и подсчи¬
тываем их поддержку и достоверность. Далее фильтруем правила и остав¬
ляем только те, которые удовлетворяют пороговым значениям поддержки
и достоверности.
Например, возможно обнаружить ассоциативные правила вида:
• если покупают молоко, то вероятность покупки хлеба составляет
70 %;
• если покупают яйца, то вероятность покупки молока составляет
60 %.
Такие правила помогают понять, какие продукты часто покупаются
вместе, и могут быть использованы для принятия решений о размещении
товаров в магазине или рекомендации дополнительных товаров покупа¬
телям.
Метод поиска ассоциативных правил AIS (Agrawal, Imielinski,
Swami), также известный как алгоритм Apriori, является одним из самых
распространенных и изучаемых методов в области ассоциативного анализа
данных. Этот метод был введен в 1993 г. для обнаружения ассоциативных
правил в наборах транзакций. Он основан на простом наблюдении, что ес¬
ли некоторый набор товаров появляется в транзакции, то все его подмно¬
жества также будут присутствовать в этой транзакции.
Этапы метода Apriori:
1. Генерация кандидатов: алгоритм начинает с генерации первона¬
чальных кандидатов наборов товаров, которые состоят из одного элемента.
69
2. Подсчет поддержки: для каждого кандидата вычисляется его под¬
держка, т. е. доля транзакций, в которых данный кандидат появляется.
3. Отбор кандидатов: кандидаты, у которых поддержка превышает за¬
данный порог, остаются в качестве потенциальных ассоциативных правил.
4. Генерация новых кандидатов: новые кандидаты генерируются пу¬
тем объединения и расширения кандидатов, которые прошли предыдущий
отбор.
5. Повторение процесса: шаги 2-4 повторяются до тех пор, пока
больше не генерируются новые кандидаты или не достигается заданное
количество итераций.
6. Оценка правил: после завершения процесса генерации кандидатов
ассоциативные правила оцениваются на основе их поддержки и достовер¬
ности. Меры, такие как уверенность и Lift, могут использоваться для опре¬
деления значимости правил.
7. Выбор и интерпретация правил: лучшие правила, удовлетворяющие
заданным критериям, выбираются в качестве окончательных ассоциатив¬
ных правил. Их можно интерпретировать и использовать для принятия ре¬
шений или понимания связей в данных.
Алгоритм Apriori является классическим методом для поиска ассоциа¬
тивных правил и имеет множество вариаций и улучшений. Он широко
применяется в маркетинге, рекомендательных системах, анализе данных и
других областях, где важно обнаружить скрытые связи и отношения между
признаками в данных.
Метод FP-growth (Frequent Pattern growth) - это алгоритм добычи ча¬
стых шаблонов в наборе данных, основанный на структуре дерева префик¬
сов (Prefix tree) или FP-дерева (Frequent Pattern tree).
Этапы метода FP-growth:
1. Подготовка данных: необходимо иметь набор данных, состоящий
из транзакций или списков элементов.
2. Построение дерева префиксов (FP-дерева): на основе набора дан¬
ных строится дерево префиксов, где каждая ветвь представляет элемент из
транзакции, а узлы дерева содержат информацию о частоте элементов.
3. Построение условного FP-дерева: для каждого элемента строится
условное FP-дерево, которое представляет только частотные шаблоны, со¬
держащие данный элемент.
4. Добыча частых шаблонов: рекурсивным обходом извлекаются ча¬
стые шаблоны условных FP-деревьев.
5. Фильтрация шаблонов: частые шаблоны фильтруются по заданному
порогу поддержки, чтобы оставить только значимые шаблоны.
Алгоритм SETM (Sequential Episode Pattern Mining) - это метод по¬
иска ассоциативных правил в последовательных данных, таких как логи
70
действий пользователей, транзакционные данные, временные ряды и дру¬
гие. Основная идея алгоритма SETM заключается в выявлении повторяю¬
щихся шаблонов событий или последовательностей событий в данных.
Каждый шаблон, называемый эпизодом, представляет собой последова¬
тельность событий, которые часто встречаются вместе.
Этапы алгоритма SETM:
1. Разбивка данных на последовательности: исходные данные разби¬
ваются на последовательности событий. Каждая последовательность пред¬
ставляет собой последовательность событий, которые происходят в опре¬
деленном порядке.
2. Поиск эпизодов: в данных выявляются повторяющиеся шаблоны
событий с помощью алгоритма, основанного на подграфах. Эпизоды пред¬
ставляют собой частицы, которые могут содержать одно или несколько со¬
бытий.
3. Вычисление меры поддержки: для каждого эпизода вычисляется его
поддержка, т. е. частота, с которой он встречается в данных.
4. Отбор эпизодов: эпизоды, у которых поддержка превышает задан¬
ный порог, остаются в качестве потенциальных ассоциативных правил.
5. Генерация ассоциативных правил: на основе найденных эпизодов
генерируются ассоциативные правила. Это делается путем разделения эпи¬
зода на две части и определения связи между ними.
6. Оценка правил: ассоциативные правила оцениваются на основе их
поддержки, достоверности и других мер. Можно использовать различные
критерии для определения значимости правил.
7. Выбор и интерпретация правил: лучшие правила, удовлетворяю¬
щие заданным критериям, выбираются в качестве окончательных ассоци¬
ативных правил. Их можно интерпретировать и использовать для прогно¬
зирования, рекомендаций или понимания поведения в последовательных
данных.
Алгоритм SETM может быть полезен для анализа последовательных
данных, таких как потоки событий, где важно обнаружить зависимости и
паттерны. Он может использоваться в областях, таких как маркетинг, ана¬
лиз поведения пользователей, обнаружение аномалий и других, где после¬
довательности событий играют важную роль.
Алгоритм ECLAT (Equivalence Class Clustering and bottom-up Lattice
Traversal) - это метод добычи ассоциативных правил в наборе данных, ос¬
нованный на пересечении эквивалентных классов.
Этапы методы ECLAT:
1. Подготовка данных: необходимо иметь набор данных, состоящий
из транзакций или списков элементов.
71
2. Построение вертикальной транзакционной матрицы: для каждого
элемента строится список транзакций, в которых этот элемент присутствует.
3. Построение эквивалентных классов: каждый элемент в вертикаль¬
ной транзакционной матрице формирует эквивалентный класс, содержа¬
щий список транзакций, в которых этот элемент присутствует.
4. Построение комбинированных эквивалентных классов: сочетая эк¬
вивалентные классы, можно получить комбинированные эквивалентные
классы. Например, комбинированный эквивалентный класс для элементов
A и B будет содержать списки транзакций, в которых оба элемента присут¬
ствуют.
5. Поиск частых элементов: определяются частые элементы путем об¬
хода комбинированных эквивалентных классов. Элемент считается ча¬
стым, если поддержка его эквивалентного класса превышает заданный по¬
рог поддержки.
6. Построение правил ассоциации: на основе частых элементов стро¬
ятся правила ассоциации. Например, если элементы A и B часто встреча¬
ются вместе, то можно сформулировать правило «если A, то В».
Алгоритм вычисления обобщенных ассоциативных правил - это
метод, основанный на поиске связей и закономерностей между элементами
в наборе данных. Эти ассоциативные правила помогают понять, какие эле¬
менты часто встречаются вместе и какую зависимость имеют между собой.
Этапы алгоритма вычисления обобщенных ассоциативных правил:
1. Предварительная обработка данных: на этом этапе исходные дан¬
ные анализируются и подготавливаются для дальнейшей обработки. Это
может включать в себя удаление дубликатов, преобразование данных
в удобный формат и извлечение нужной информации.
2. Формирование частотных наборов элементов: алгоритм ищет набо¬
ры элементов, которые часто встречаются в исходных данных. Для этого
используются различные методы, такие как Apriori, FP-Growth или
ECLAT. Наборы элементов описываются частотой - сколько раз они
встречаются в исходных данных.
3. Поиск обобщенных наборов: на этом этапе алгоритм стремится
найти обобщенные наборы элементов, которые включают в себя как часто
встречающиеся элементы, так и менее часто встречающиеся элементы. Это
помогает выявить более общие связи и закономерности в данных.
4. Оценка и выбор правил: затем алгоритм оценивает полученные
обобщенные ассоциативные правила на основе различных метрик, таких
как уверенность и поддержка. На основе этих метрик выбираются наибо¬
лее значимые и интересные правила.
5. Визуализация и интерпретация результатов: наконец, результаты
анализа визуализируются и интерпретируются для понимания связей и за¬
72
кономерностей в данных. Это может включать в себя создание графиков,
диаграмм или отчетов, которые помогут пользователю легче понять ре¬
зультаты.
Алгоритмы вычисления обобщенных ассоциативных правил могут ва¬
рьироваться в зависимости от конкретной реализации или метода, исполь¬
зуемого для оценки и выбора правил. Однако эти основные шаги обычно
присутствуют в большинстве алгоритмов.
Преимущества метода поиска ассоциативных правил:
1. Выявление скрытых связей: анализ ассоциативных правил может
помочь выявить скрытые связи и закономерности в данных, которые могут
быть незаметны при первичном взгляде. Это позволяет получить глубокое
понимание данных и их взаимосвязей.
2. Принятие более обоснованных решений: ассоциативные правила
могут помочь в принятии более обоснованных решений на основе анализа
данных. Например, в области маркетинга ассоциативные правила могут
помочь определить, какие товары часто покупаются вместе, и на основе
этой информации сделать предложение по продаже связанных товаров.
3. Улучшение маркетинговых стратегий: анализ ассоциативных пра¬
вил может быть полезным для разработки и улучшения маркетинговых
стратегий. Например, на основе ассоциативных правил можно определить,
какие продукты покупаются вместе, и использовать эту информацию для
создания более эффективных рекламных кампаний или предложений для
целевой аудитории.
4. Оптимизация производственных процессов: анализ ассоциативных
правил может помочь оптимизировать производственные процессы
и улучшить эффективность предприятия. Например, на основе ассоциа¬
тивных правил можно выявить, какие компоненты или материалы часто
используются вместе, и оптимизировать их закупку и хранение.
5. Повышение продаж и доходов: анализ ассоциативных правил мо¬
жет помочь повысить продажи и доходы компании. Например, на основе
ассоциативных правил можно создать персонализированные предложения
или рекомендации для клиентов, основываясь на их предпочтениях и по¬
купках других товаров.
6. Улучшение клиентского опыта: анализ ассоциативных правил мо¬
жет помочь улучшить клиентский опыт и удовлетворенность. Например,
на основе ассоциативных правил можно определить, какие продукты
и услуги часто потребляются вместе, и использовать эту информацию для
улучшения предлагаемого ассортимента продуктов или услуг.
Недостатки метода поиска ассоциативных правил:
1. Избыточность и неточность результатов: метод ассоциативных пра¬
вил может порождать большое количество правил, в том числе и нереле¬
73
вантных или очевидных. Это может усложнить анализ данных и требовать
дополнительной обработки и фильтрации результатов для получения зна¬
чимых и полезных выводов.
2. Проблема «лишнего включения»: метод ассоциативных правил мо¬
жет включать в свои рекомендации товары или услуги, которые могут
быть случайными или проходными. Это приведет к нежелательному вклю¬
чению неподходящих предложений для клиентов и искажению анализа
данных.
3. Отсутствие причинно-следственной связи: ассоциативные правила
могут показывать связь между различными переменными, но не дают ин¬
формации о причинно-следственных связях между ними. Это может быть
ограничением при принятии решений и планировании, основанных на ре¬
зультатах анализа.
4. Влияние вариации и выбросов: анализ ассоциативных правил чув¬
ствителен к вариации данных и выбросам. Единичные непредсказуемые
события или неточности в данных могут привести к появлению непра¬
вильных ассоциаций или искажению результатов анализа.
5. Ограничения по объему данных: поиск ассоциативных правил мо¬
жет столкнуться с ограничениями по объему данных. Чем больше данные,
тем больше ресурсов потребуется для выполнения анализа, включая вы¬
числительную мощность и время. Это может снизить эффективность
и применимость метода на больших наборах данных.
6. Недостаток контекстуальной информации: анализ ассоциативных
правил обычно ориентирован на анализ наборов данных без учета контек¬
ста или специфических требований исследовательской задачи. Это может
привести к неполным или неправильным выводам, особенно если требует¬
ся учет уникальных особенностей предметной области или бизнес¬
контекста.
Несмотря на эти недостатки, анализ ассоциативных правил все же яв¬
ляется мощным инструментом для извлечения информации и понимания
данных в различных областях. Важно учитывать эти ограничения и приме¬
нять метод конструктивно, подходящими инструментами и техниками ана¬
лиза данных.
74
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое интеллектуальный анализ данных и каковы его основные
цели?
2. Каковы этапы процесса интеллектуального анализа данных?
3. Почему термин «интеллектуальный анализ данных» может быть
неправильным?
4. Как компании могут использовать интеллектуальный анализ дан¬
ных для повышения доверия клиентов?
5. Какие отрасли активно используют интеллектуальный анализ дан¬
ных и для каких целей?
6. Как интеллектуальный анализ данных помогает в финансовых сфе¬
рах?
7. Как алгоритмы интеллектуального анализа данных применяются
в образовании?
8. Как производственные компании используют методы интеллекту¬
ального анализа данных?
9. Как розничная торговля использует интеллектуальный анализ дан¬
ных для улучшения бизнеса?
10. Что включает в себя первый этап процесса интеллектуального
анализа данных «понимание бизнеса»?
11. Как сбор данных влияет на процесс анализа?
12. Какие методы используются в аналитике данных?
13. Как интеллектуальный анализ данных может помочь в управлении
рисками?
14. В чем заключается значение этапа «понимание данных» в процес¬
се интеллектуального анализа?
15. Какую роль играет машинное обучение в интеллектуальном ана¬
лизе данных?
16. Как компании могут использовать данные о поведении клиентов
для создания персонализированных предложений?
17. Какие проблемы могут возникнуть при сборе и хранении больших
объемов данных?
18. Как влияет качество данных на результаты интеллектуального
анализа?
19. Почему важно сотрудничество между аналитиками и бизнес-
стейкхолдерами?
20. Каковы перспективы развития интеллектуального анализа данных
в будущем?
21. Что такое плотностные методы кластеризации?
75
22. Как работает алгоритм DBSCAN?
23. Что такое ядерные объекты в DBSCAN?
24. Каковы преимущества DBSCAN?
25. Как выбрать параметры eps и MinPts в DBSCAN?
26. Что такое выбросы в контексте кластеризации?
27. В чем отличие между DBSCAN и OPTICS?
28. Как HDBSCAN улучшает алгоритм DBSCAN?
29. Как плотностные методы справляются с данными разной плотности?
30. Что происходит с точками, которые не являются ядерными объек¬
тами в DBSCAN?
31. Как визуализировать результаты кластеризации с использованием
плотностных методов?
32. Каковы ограничения использования алгоритма DBSCAN?
33. Когда лучше использовать OPTICS вместо DBSCAN?
34. Какова роль расстояния в плотностных методах кластеризации?
35. Как улучшить производительность алгоритмов кластеризации?
36. Как применять плотностные методы к большим наборам данных?
37. Каковы связи между плотностными методами и машинным обуче¬
нием?
38. Где применяются плотностные методы в реальной жизни?
39. Как оценить качество кластеризации?
40. В чем основная идея плотностных методов анализа данных?
76
5. ВИЗУАЛИЗАЦИЯ ДАННЫХ
Визуализация данных - это не только наглядное представление ин¬
формации, но также и сбор и подготовка данных и транслирование инфор¬
мации.
Если вы работаете в компании, вероятно, что будете использовать
корпоративные источники данных. Часто это база данных, из которых вы¬
членяют данные с помощью SQL-запроса. Также возможно взять данные
из внешних источников: из порталов открытых данных, с сайтов Росстата
или определенных компаний, например результаты финансовой деятель¬
ности за какой-то период, где можно скачать данные в формах xls, csv или
подключаться по API.
Подготовка данных заключается в предварительной обработке данных
или в очистке, т. е. в обработке пропусков, в поиске аномалий, в преобра¬
зовании типов данных, объединении или разбивке данных и т. д. Здесь
важный аспект - это качество данных. Если данные грязные, у них много
пропусков, опечаток, данные неполные, или у вас много дубликатов - это
все отразится на визуализации, на ключевых показателях, на количестве
клиентов и т. д. Качество данных для визуализации очень важно. Также
необходимо понимать, что именно нужно извлечь из данных, в чем цель
анализа и дальнейшей визуализации.
Допустим, у вас есть 3 столбца с именем, фамилией и суммой покупок
клиентов (рис. 17).
Имя
Фамилия П
ь
Сумма покупок [▼]
Дмитрий
Кондраков
2 987.00 Р
Сергей
Букин
10 999.00 Р
Ангелина
Петрова
32 780.00 Р
Софья
Кушакова
4 865.00 Р
Елена
Миронова
1 500.00 Р
Сергей
Иванов
7 320.00 Р
Ульяна
Филиппова
9 475.00 Р
Виктор
Матвеев
20 540.00 Р
Кирилл
Усачев
12 860.00 Р
Анна
Черных
480.00 Р
Рис. 17. Исходные данные
По отдельности столбцы с именем и фамилией клиента не нужны. По¬
этому следует объединять их в новый столбец с полным именем человека,
где будет указаны фамилия и имя. Допустим, необходимо вывести топ-3
клиентов по продажам за месяц. Представим, что компания запускает не-
77
которую акцию и дарит клиентам с именем, входящим в топ-3 клиентов по
продаже месяца, подарок. Тогда объединение столбцов по имени и фами¬
лии не нужно. Нужны данные именно по отдельности. Топ-3 имен клиен¬
тов по продаже и топ-3 клиентов. Это не одно и то же. Поэтому очень важ¬
но понимать цели работы (рис. 18).
КИРИЛЛ УСАЧЕВ
ВИКТОР МАТВЕЕВ
АНГЕЛИНА ПЕТРОВА
12 860.00 Р Rlflll
20 540,00 Р |
32 780,00 Р
СЕРГЕЙ
ВИКТОР
АНГЕЛИНА
а б
Рис. 18. Визуализация результатов: топ-3 клиентов по сумме продаж (а);
топ-з имен клиентов по сумме продаж (б)
И если необходимо строить только порт для заказчиков, вероятно,
что изначально будут стоять конкретные цели. На практике же часто
встречаются ситуации, когда клиент не осознает важность определения
цели получения информации.
Также важно не подстроить анализ под желаемый результат, так как
в этом случае ваши находки могут быть проигнорированы.
Второй важный аспект в исследованиях данных - это понимание дан¬
ных. Рассмотрим реальный пример. Пусть имеются исторические данные
о лауреатах Нобелевской премии (в частности, год проведения мероприя¬
тия, имена, фамилии и возраст лауреатов). Необходимо выявить средний
возраст лауреатов за каждый год (рис. 19).
• Valid
• Error 0 %
• Empty < 1 %
• Valid 99 %
• Error 0 %
• Empty e 1 %
• Valid 100%
• Error 0 %
• Empty 0 %
• Valid 99 %
• Error 0 %
• Empty < 1
1
Wilhelm Conrad
Rontgen
1901
56
2
Hendrik A.
Lorentz
1902
49
3
Pieter
Zeeman
1902
37
4
Henri
Becquerel
1903
5ll
5
Pierre
Curie
1903
44
6
Marie
Curie
1903
36
7
Marie
Curie
1911
44
8
Lord
Rayleigh
1904
62
9
Philipp
Lenard
1905
43
10
JJ.
Thomson
1906
50
11
Albert A.
Michelson
1907
55
12
Gabriel
Lippmann
1908
63
Рис. 19. Исходные данные
78
Диаграмма рассеяния показана на рис. 20.
На данном графике каждая точка представляет собой отдельного ла¬
уреата. И эта точка находится на пересечении года проведения мероприя¬
тия и возраста. Также обозначена линия, которая, как представляется,
отображает средний возраст лауреата. На основании этого графика был
сделан вывод, что с каждым последующим годом средний возраст увели¬
чивается и видна тенденция к старению лауреатов, поскольку линия
тренда направлена ввысь. На самом деле вывод неверный. Как и сама
диаграмма. Итак, представление данных в таком формате, как правило,
показывает зависимость одной переменной от другой, т. е. диаграмма
рассеяния строится для того, чтобы увидеть взаимосвязи между показате¬
лями или некоторую корреляцию и наличие групп. В данном же случае
показана зависимость возраста лауреата от года проведения мероприятия.
Но фактически это не связанные вещи, и лауреат получает премию не из-
за возраста, а за достижения.
Если выведем простую линейную диаграмму, показывающую средний
возраст в каждый год проведения Нобелевской премии, то вид графика бу¬
дет совершенно другим. Здесь средний возраст колеблется около 60 лет
(рис. 21).
79
То есть в первом случае была построена зависимость возраста лауреа¬
та от года проведения мероприятия, и говорилось о тенденциях, что
в корне неверно в связи с отсутствием смысловой связи между перемен¬
ными.
Если более детально посмотреть на данные, на количество точек, то
видно, что в последние годы в целом лауреатов стало больше. И если же
размышлять о том, зачем был дан возраст лауреата в момент получения
премии, то, например, можно увидеть, что средний возраст получения
премии за весь период - 60 лет.
А если задаться вопросом, почему 60, а не 30, например? Можно
найти самого молодого лауреата. Посмотреть, в какой области была полу¬
ченная премия, или, наоборот, самого возрастного лауреата. То есть к дан¬
ным можно задавать абсолютно разные вопросы, строить абсолютно раз¬
ные графики. Но самое главное - это понимать данные. Понимать взаимо¬
связи, задаваться вопросом: а зачем строить ту или иную визуализацию?
зачем делать тот или иной анализ?
На этапе визуализации, помимо выбора цветового решения, типов
графиков, расположения элементов дашборда, очень важно понимать це¬
левую аудиторию. Кто будет работать с дашбордом? Это технические спе¬
циалисты, т. е. программисты, аналитики, или же специалисты со стороны
бизнеса, маркетологи, высшее руководство, клиенты? В зависимости от то¬
го, насколько аудитория знакома с предметной областью, следует выби¬
рать, какая информация необходима, нужно ли добавлять подсказки или
80
показывать какие-то моменты более детально. Например, бывают сложные
диаграммы или, как в примере, какие-то регрессионные модели, которые
специалисты предметной области или технические специалисты поймут,
но для людей, не работающих с представленными процессами, эти диа¬
граммы будут очень сложны для восприятия.
Визуализацию данных можно назвать своего рода наукой, потому что
она должна представлять данные точно, методично, конкретно, чтобы
можно было видеть основные тенденции и закономерности. Опираясь на
данные, можно подобрать нужную визуализацию для контента в зависимо¬
сти от того, что необходимо показать. И в то же время визуализация - это
язык, на котором вы говорите с аудиторией, потому что визуализация ис¬
пользует диаграммы, чтобы передать информацию. Данные в этом смысле
закодированы с помощью символов и знаков, и чтобы понять диаграмму,
нужно изучить ее синтаксис и условные обозначения.
Таким образом, можно сделать вывод о том, что для качественной ви¬
зуализации нужно понимать источники данных, следить за качеством дан¬
ных, понимать цели анализа, понимать данные, правильно выбирать тип
диаграммы, знать свою целевую аудиторию. Главная цель визуализации
данных - упростить и ускорить восприятие информации. Поэтому выбран¬
ный формат графика и тип диаграммы должны этому способствовать, а не
мешать.
5.1. Диаграммы
Рассмотрим разные типы диаграмм в зависимости от отношения меж¬
ду данными. Здесь можно выделить несколько групп - это сравнение вели¬
чин, сравнение частей целого, изменения во времени, распределение, кор¬
реляция, а также мы рассмотрим карты.
Сравнение величин. Здесь главным представителем является стол¬
биковая диаграмма, или Column Chart. На столбиковой диаграмме одна из
осей должна иметь категориальную переменную, например название,
а другая - числовую, например сумму продаж или количество человек,
средний рейтинг и т. д. Таким образом, мы видим разницу между числовой
переменной в зависимости от категории. Ширина столбца здесь ничего не
значит. Например, на графике представлены игры со средними рейтингами
(рис. 22). Диаграмма показывает, какая из этих игр лучшая, кто и какое ме¬
сто занимает, как соотносятся переменные по рангу, идеально подходит
для рейтингов. И, что очень удобно, в легенду помещается длинное назва¬
ние. В других типах диаграмм это может мешать.
81
Рис. 22. Столбиковая диаграмма
Также во многих системах присутствуют столбиковые диаграммы с
группировкой, или Grouped Column Chart, что позволяет сравнивать дан¬
ные по несколько категориям. Например, на графике показано количество
лауреатов Нобелевской премии в 2016-2019 гг. в категориях медицина,
мир и экономика (рис. 23).
82
Горизонтальная столбиковая диаграмма называется линейчатой диа¬
граммой, или Bar Chart. Отображает то же самое, что из столбиков, но оси
поменяны местами (рис. 24).
Рис. 24. Горизонтальная столбиковая диаграмма
Во многом выбор между столбиковой или линейчатой диаграммой
определяется форматом визуализации: альбомным или портретным. Одна¬
ко название категории в диаграмме могут быть длинными. И чтобы было
проще читать, лучше перейти в горизонтальный формат. Например, графи¬
ки показывают средний рейтинг и название игр. Линейчатую диаграмму
читать легче, так как название игр помещается в одну строку (рис. 25).
Рис. 25. Сравнение диаграмм
83
Также для сравнения величин может использоваться леденцовая диа¬
грамма (рис. 26). На леденцовой диаграмме значения показывают с помо¬
щью столбиков, а на вершине столбика добавляется кружок. Эта диаграм¬
ма применяется в тех же случаях, что и обычная столбиковая, и она также
может быть горизонтальной и вертикальной.
Рис. 26. Леденцовая диаграмма
Еще одним представителем данной группы является пузырьковая диа¬
грамма, а именно уложенная пузырьковая диаграмма. На диаграмме пока¬
зано соотношение количества запусков космических аппаратов в разбивке
по странам, и чем больше пузырь, тем больше было запусков (рис. 27). Та¬
кой тип диаграмм хорошо читаем, когда разница в объемах достаточно
значительная, однако при достаточной близости значений определить,
насколько отличаются пузыри, практически невозможно. В данном случае
достаточно сложно определить, насколько отличается количество запусков
космических аппаратов между Америкой и Китаем. Леденцовая, фигурная
и пузырьковая диаграммы, как правило, не входят в стандартные пакеты
BI-программ, но их можно скачать отдельно.
Рис. 27. Пузырьковая диаграмма
84
Сравнение частей целого. Здесь основными представителями явля¬
ются круговая диаграмма и столбиковая диаграмма с накоплением. В це¬
лом эти виды графиков взаимозаменяемые, однако круговая диаграмма
требует больше пространства ниже или на дашборде, а столбиковая диа¬
грамма с накоплением более компактная. Поэтому часто выбор визуализа¬
ции определяется форматом презентации или ориентации дашборда.
В круговой диаграмме отличия величин кодируются углом наклона, что
считается довольно сложным для восприятия мозгом человека, особенно
когда части целого достаточно близки или когда этих частей больше трех.
Ниже представлено количество лауреатов Нобелевской премии
в 2019 г. в категориях медицина, экономика и мир (рис. 28). Оба графика
абсолютно идентичны и показывают одно и то же.
Рис. 28. Сравнение диаграмм
85
Если же столбиковую диаграмму с накоплением перевернуть горизон¬
тально, то получим линейчатую диаграмму с накоплением. Оба типа диа¬
грамм часто можно встретить в приложениях для отслеживания потрачен¬
ного времени, например в статистике проведенного времени в телефоне
(рис. 29).
Рис. 29. Линейчатая диаграмма с накоплением
Кроме того, для отображения частей целого используют кольцевую
диаграмму, также известную как пончиковая диаграмма. Это разновид¬
ность круговой диаграммы. Здесь значения кодируются длиной дуг, а не
углом наклона, что затрудняет восприятие (рис. 30).
Рис. 30. Пончиковая диаграмма
86
Еще один вариант отображения частей целого - это тримэп, или
иерархическая диаграмма (рис. 31), где за целое берется весь квадрат, ко¬
торый делится на части. График также считается достаточно сложным для
восприятия. Но используется, в частности, в случаях, когда есть некоторая
вложенность в данных.
Количество лауреатов Нобелевской премии в 2019
медицина
мир
Gregg Semenza 1
Peter Ratdiffe 1
William Kaefcn 1
экономика
Abhajit Banegee 1
Esther Duflo 1
Michael Kremer 1
Abry Ahmed Alii
Рис. 31. Иерархическая диаграмма
Иногда для отображения частей целого используют вафельную диа¬
грамму (рис. 32). Ее применяют, когда категорий достаточно много. Ва¬
фельная диаграмма хорошо показывает степень достижения некоторой це¬
ли, как и кольцевая диаграмма.
Количество лауреатов Нооелевской премии в 2019
43%
43%
экономика
медицина
мир
Рис. 32. Вафельная диаграмма
87
Графики отражения изменений во времени. Самым главным и ба¬
зовым представителем этой группы является линейная диаграмма, или
LineChart (рис. 33). Здесь x - это прямая времени, у - это числовая шкала.
На пересечении осей ставятся точки, которые соединяются линией. За счет
изменения наклона линии мы можем делать выводы о трендах. Например,
показатель падает или растет, это резкий или плавный рост, наблюдается
ли сезонность изменений и т. д.
Отображать изменения во времени можно и с помощью столбиковой
диаграммы, но мы будем больше обращать внимание на разницу между
соседними столбиками, нежели чем на динамику в целом (рис. 34).
Рис. 34. Столбиковая диаграмма
88
Еще одним часто используемым графиком для отображения измене¬
ний во времени является диаграмма с областями, или площадная диаграм¬
ма, а закрашивание площади под кривой - это чисто декоративный прием.
Эту диаграмму можно разбить на категории, так мы получим площадную
диаграмму с накоплениями. На графике видно, как категории «медицина»
и «мир» наполняют целое, а отображается изменение целого, количество
лауреатов. На рис. 35, б показаны категории «медицина» и «мир» по от¬
дельности (рис. 35).
Количество лауреатов Нобелевской премии (медицина мир)
Ю
а
1900 1905 1910 1915
Количество лауреатов Нобелевской премии (медицина, мир)
category •медицина 9мир
10
1920
1925
&
«О
с;
5
О
1900
б
193С
Рис. 35. Площадная диаграмма (а) и площадная диаграмма с накоплениями (б)
Диаграммы распределения. Такие диаграммы показывают количе¬
ство данных в последовательных интервалах. Это важно для понимания,
что из себя представляет тот или иной показатель, каковы его минималь-
ные/максимальные значения, в каком интервале в основном содержится
информация. Основными представителями здесь являются гистограмма
и диаграмма размаха (рис. 36).
Гистограмма отображает распределение данных внутри одного ряда,
т. е. количество значений, попадающих на ту или иную точку оси Х. Здесь
на оси Х отображаются интервалы, а на оси Y отображается количество
значений, попадающих в интервалы. Диаграмма размаха в удобной форме
показывает медиану, нижний/верхний квартиль, минимальное/максималь-
ное значение выборки и выбросы. Ниже показано, как сопоставляются ги¬
стограмма и диаграмма размаха. Эти диаграммы строят достаточно редко
для презентации и дашбордов, поскольку их не все понимают, но ими ак¬
тивно пользуются в научных работах и для анализа данных.
89
150
НИ I—I- —
НИ I 1
Выбросы
Медиана
(половина значений
больше медианы,
половина — меньше)
Рис. 36. Гистограмма и диаграмма размаха
Корреляция. Корреляция показывает наличие связи между перемен¬
ными. Влияет ли один показатель на другой? Например, с помощью корре¬
ляции можно ответить на вопрос: «Влияет ли площадь квартиры на ее сто¬
имость?»
Главное представителям здесь является диаграмма рассеяния, т. е.
скатерплот. С ее помощью выявляется зависимость и характер связи меж¬
ду двумя параметрами. Диаграмма рассеяния показывает вид и тесноту
взаимосвязи между парами данных (рис. 37).
Диаграмма рассеяния оценок критиков и оценок пользователей
100
• • • •
о
0 2 4 б 8 10
Оценки пользователей
Рис. 37. Диаграмма рассеяния
90
Например, на графике мы можем посмотреть, как соотносят оценки
игр, поставленные пользователями и критиками. То есть пользователями,
игроками и критиками. В целом мы видим, что для большинства игр чем
больше оценка пользователя, тем больше оценка критиков. Однако есть
случаи, когда высокая оценка пользователей соотносится с низкой оценкой
критиков, и наоборот. Как правило, диаграмма рассеяния строится для
анализа данных и построения некоторой математической модели.
Также для построения дашбордов используются карты (рис. 38). Они
представляют собой карту мира или карту региона, при этом области на
диаграмме либо раскрашиваются, полностью покрывая весь регион, либо
проставляются точки (координаты места, например, магазина. Размер точ¬
ки определяет размер прибыли, чем больше точка, тем больше прибыль).
Как правило, картами пользуются для анализа масштабных предприя¬
тий, международных соревнований и заболеваемости.
Рис. 38. Диаграмма в виде карты
91
5.2. Ошибки в визуализации данных
Обрезание оси диаграмм. Часто в столбиковых диаграммах обрезают
ось Y. И начинают ее со значения, отличного от нуля. При сравнении пер¬
вого и последнего столбиков (рис. 39, а) сложится ощущение, что разница
очень большая, но на самом деле все не так (рис. 39. б). Если перестроить
график с началом в точке ноль, то видно, что разница не так уж велика (ча¬
сто этот прием используется с целью введения в заблуждение).
Ранжирование игр по среднему рейтингу
Ранжирование игр по среднему рейтингу
Super Mario Grand Theft W1 Sports
Bros Auto V
а
б
Рис. 39. Обрезание оси диаграмм
Переизбыток категорий. Например, при построении круговой диа¬
граммы оказывается, что частей целого слишком много. Такой график ока¬
зывается неинформативным, так как тяжело разобраться, что и к какой ка¬
тегории относится. И главное, становится трудно сопоставить категории
между собой. В данном случае лучше объединить данные в группы и рас¬
сматривать детали уже в рамках сформированных групп. Если на рисунке
(рис. 40, а) рассматривать овощи, фрукты, ягоды в отдельности, например,
в продуктовой корзине, то не так легко понять, какая категория больше.
И в целом график читается тяжело. При объединении категорий все стано¬
вится наглядней (рис. 40, б).
• Бананы
• Виноград
•Яблоки
•Апельсины
• Груши
• Капуста
• Картофель
• Морковь
•Огурцы
• Персики
• Клубника
• Малина
• Смородина
• Фрукты
• Овощи
• Ягоды
а б
Рис. 40. Переизбыток категорий (а); корректное использование диаграммы (б)
92
Неуместное использование диаграмм. Например, круговые диа¬
граммы не отображают целое. Иногда круговые диаграммы используют для
сравнения категорий. Например, средних зарплат по отделам. В результате
получают неверный график, он не отражает действительности.
Создадим круговую диаграмму средней зарплаты сотрудников по
трем отделам: юристов, экономистов и бухгалтеров (рис. 41, а). На первый
взгляд, все верно. Сумма всех процентов составляет 100, все выглядит как
части одного целого. Но по смыслу это неверно. Так как средняя зарплата
по отделам не является слагаемым средней зарплаты сотрудника в компа¬
нии. Вместо этого корректнее использовать агрегирование по количеству
сотрудников либо по распределению фонда оплаты труда. Для отображе¬
ния средней зарплаты сотрудников по отделам правильнее использовать
линейчатую диаграмму. И тогда мы бы сразу увидели, в каком отделе
средняя зарплата по предприятию больше (рис. 41, б).
а б
Рис. 41. Неуместное использование диаграммы (а);
корректное использование диаграммы (б)
Прерывание временной оси. Иногда возникает ситуация, когда
нарушается последовательность дат на оси Х. Это может происходить,
например, если в наборе данных не хватает каких-либо дат или неверно
определен тип данных. К примеру, вместо типа данных «дата» определяет¬
ся тип данных «строка». Поэтому важно следить, чтобы даты на графике
шли в хронологическом порядке (рис. 42).
93
Использование объемных графиков. Исследования показали, что
трехмерная графика не передает никакой дополнительной информации и
заставляет воспринимать больше лишних деталей. В плоскости работать и
анализировать намного легче, так как при восприятии объемного варианта
роль играет угол наклона фигуры (рис. 43).
Рис. 43. Использование объемных графиков
Переизбыток деталей. Старайтесь избегать лишних деталей, подло¬
жек под числовые значения, изменений цвета и шрифтов, добавления но¬
вого фона и т. д. Давайте рассмотрим пример (рис. 44) столбчатой диа¬
граммы, на которую вывели оценки студентов. Давайте попробуем этот
график улучшить.
Рис. 44. Переизбыток деталей
Сначала уберем объем. Затем обратим внимание, что линии по оси Y
не несут новой информации, так как значения уже подписаны над столб¬
цами. Это можно сказать и о цвете. Он здесь ничего не кодирует и не несет
никакой смысловой нагрузки. Окрасим столбцы в один цвет и раздвинем
столбцы, чтобы данный график не выглядел, как гистограмма (рис. 45).
94
Полученные оценки за контрольную работу
13
Получили’’4" Получили "3" Получили "У Получили ”2’
Рис. 45. Оптимизированная диаграмма
5.3. Business Intelligence
Business Intelligence (BI) - технологии сбора, анализа и визуализации
данных, которые выявляют новые стратегические возможности для бизне¬
са. Например, рекламные кампании охватывают несколько площадок -
будь то интернет, телевидение, баннеры, листовки и т. д. И необходимо
постоянно сравнивать эффективность этих площадок. Этот процесс можно
автоматизировать через BI-систему, которая необработанную информацию
из разных источников преобразует в удобную понятную аналитику. По¬
этому BI-систему можно применять в любой области или сфере деятельно¬
сти как на уровне компании в целом, так и для подразделения или отдель¬
ных продуктов. Цель BI - интерпретировать большое количество данных,
заостряя внимание только на ключевых факторах эффективности (рис. 46).
Рис. 46. Цель BI-систем
95
Принцип работы BI-системы следующий:
1. Извлечение данных (Extract) из разных источников данных. Из
разных источников мы выгружаем данные, будь то Excel, PDF, база дан¬
ных, API и т. д. После того как данные интегрированы, т. е. загружены
в BI-систему, они хранятся в области хранения (промежуточная область).
2. Обработка данных. После интеграции данных в эту промежуточную
область необработанные данные потребуют обработки. На этом этапе
можно удалить избыточные данные, произвести какие-то замены значений,
соединить или разъединить столбцы, изменить тип данных и т. д. Эти пре¬
образованные данные, по итогу, будут загружены в хранилище данных,
т. е. в Data Warehouse. Все это завершит полный процесс ETL.
Итак, BI-система первоочередно состоит из процесса ETL: вычлене¬
ние - трансформация - загрузка данных. И только после этого уже очи¬
щенные данные направляются на визуализацию, т. е. на создание дашбор-
да. BI-система предлагает широкий спектр визуализации. Помимо базовых
визуализаций можно скачать дополнительные, но все это зависит от си¬
стемы. Затем созданные дашборды многие системы позволяют отправлять
в Интернет, мобильные приложения или выгружать с помощью PDF-
отчетов, чтобы ими делиться с бизнес-пользователями.
BI-разработчик занимается подготовкой и извлечением данных, визу¬
ализацией. Г лобально BI-разработчик - это связующее звено между бизне¬
сом и данными. С одной стороны, он тесно взаимодействует с аналитиками
и с данными, поскольку вычленяет их и собирает в единое целое, в некото¬
рую модель данных. С другой стороны, он взаимодействует с подразделе¬
ниями бизнеса и продуктовыми командами. BI-разработчик должен пони¬
мать потребности бизнеса, продуктовой команды, касающихся данных.
96
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какова главная цель визуализации данных?
2. Почему важен выбор формата графика и типа диаграммы?
3. Какие группы типов диаграмм выделяются в зависимости от отно¬
шения между данными?
4. Что такое столбиковая диаграмма и когда она используется?
5. Каковы преимущества столбиковой диаграммы при сравнении по¬
казателей?
6. Что такое диаграмма с группировкой (Grouped Column Chart)?
7. В чем отличие между столбиковой и линейчатой диаграммой?
8. Когда предпочтительнее использовать линейчатую диаграмму?
9. Что такое леденцовая диаграмма и как она работает?
10. В каких случаях лучше всего использовать пузырьковую диа¬
грамму?
11. Каковы ограничения пузырьковых диаграмм?
12. Почему леденцовые и пузырьковые диаграммы не всегда входят
в стандартные BI-программы?
13. Как визуализация данных может помочь в принятии решений?
14. Какой тип диаграммы лучше всего подходит для отображения из¬
менений во времени?
15. Что такое корреляция в контексте визуализации данных?
16. Как карты используются в визуализации данных?
17. Как выбрать подходящий тип диаграммы для конкретных данных?
18. Почему важно учитывать формат визуализации (портретный или
альбомный)?
19. Как использование легенды помогает в интерпретации диаграмм?
20. Какова роль визуализации данных в современных бизнес¬
процессах?
97
6. ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ
ТЕКСТОВЫХ ДАННЫХ
Анализ текстовой информации (Text Mining) - это процесс извлечения
полезной информации и знаний из большого объема текстовых данных.
Алгоритмы Text Mining позволяют автоматически обрабатывать, интер¬
претировать и анализировать тексты, выявлять в них частотные слова, те¬
мы, связи между ними, сущности и другие важные подробности. Это очень
полезный инструмент для изучения мнений пользователей, анализа отзы¬
вов, классификации документов, создания резюме и многого другого. Ана¬
лиз структурированной информации, хранящейся в базах данных, требует
предварительной обработки: проектирование БД, ввод информации по
определенным правилам, размещение ее в специальных структурах
(например, реляционных таблицах) и т. п. Таким образом, непосредственно
для анализа этой информации и получения из нее новых знаний необходи¬
мо затратить дополнительные усилия. При этом они не всегда связаны с
анализом и не обязательно приводят к желаемому результату. Из-за этого
КПД анализа структурированной информации снижается. Кроме того, не
все виды данных можно структурировать без потери полезной информа¬
ции. Например, текстовые документы практически невозможно преобразо¬
вать в табличное представление без потери семантики текста и отношений
между сущностями. По этой причине такие документы, как текстовые поля
(BLOB-поля), хранятся в БД без преобразований. В то же время в тексте
скрыто огромное количество информации, но ее неструктурированность не
позволяет использовать алгоритмы Data Mining. Решением этой проблемы
занимаются методы анализа неструктурированного текста.
Обнаружение знаний в тексте - это нетривиальный процесс обнару¬
жения действительно новых, потенциально полезных и понятных шабло¬
нов в неструктурированных текстовых данных. От определения Data
Mining оно отличается только новым понятием «неструктурированные
текстовые данные». Под такими знаниями понимается набор документов,
представляющих собой логически объединенный текст без каких-либо
ограничений на его структуру. Примерами таких документов являются
веб-страницы, электронная почта, нормативные документы и т. п. В общем
случае такие документы могут быть сложными и большими и включать
в себя не только текст, но и графическую информацию. Документы, ис¬
пользующие язык расширяемой разметки XML (extensible Markup
Language), стандартный язык обобщенной разметки SGML (Standard
Generalised Markup Language) и другие подобные соглашения по структуре
формирования текста, принято называть полуструктурированными доку¬
ментами. Они также могут быть обработаны методами Text Mining.
98
Целями Text Mining являются анализ, структурирование и извлечение
информации из текстовых данных с помощью автоматических методов об¬
работки естественного языка.
Основные задачи Text Mining:
1. Извлечение ключевых понятий: алгоритмы Text Mining могут опре¬
делить наиболее значимые слова и фразы, которые помогут в определении
основной темы или контекста текста. Первичной целью извлечения ключе¬
вых понятий является идентификация фактов и отношений в тексте.
В большинстве случаев такими понятиями являются имена существитель¬
ные и нарицательные: имена и фамилии людей, названия организаций и др.
Алгоритмы извлечения понятий могут использовать словари, чтобы иден¬
тифицировать некоторые термины и лингвистические шаблоны для опре¬
деления других.
2. Классификация текста: текстовые данные могут быть классифици¬
рованы по различным категориям или классам на основе содержания.
Например, отзывы могут быть классифицированы как положительные, от¬
рицательные или нейтральные. Целью классификации является определе¬
ние для каждого документа одной или нескольких заранее заданных кате¬
горий, к которым этот документ относится. Особенностью задачи класси¬
фикации является предположение, что множество классифицируемых до¬
кументов не содержит «мусор», т. е. каждый из документов соответствует
какой-нибудь заданной категории. Частным случаем задачи классифика¬
ции является задача определения тематики документа.
3. Кластеризация документов: группировать схожие документы на ос¬
нове их содержания, используя методы кластеризации. Целью кластериза¬
ции документов является автоматическое выявление групп семантически
похожих документов среди заданного фиксированного множества (группы
формируются только на основе попарной схожести описаний документов,
и никакие характеристики этих групп не задаются заранее).
4. Автоматическое аннотирование текста - процесс автоматического
создания краткого описания или категории для данного текста. Решение
этой задачи обычно регулируется пользователем при помощи определения
количества извлекаемых предложений или процентом извлекаемого текста
по отношению ко всему тексту. Результат включает в себя наиболее зна¬
чимые предложения в тексте.
5. Определение тональности: алгоритмы Text Mining могут опреде¬
лить эмоциональную тональность текста, позволяют оценить позитивные
или негативные отзывы.
6. Анализ трендов позволяет идентифицировать тренды в наборах до¬
кументов на период времени. Тренд может быть использован, например,
для обнаружения изменений интересов компании от одного сегмента рын¬
ка к другому.
99
7. Анализ связей: Text Mining может выявлять связи и отношения
между различными сущностями и темами, что позволяет лучше понять
структуру и связи в текстовых данных.
8. Резюмирование текста: алгоритмы Text Mining могут автоматиче¬
ски создавать краткое содержание длинного текста, выделяя наиболее
важные информационные элементы.
9. Анализ настроений и мнений: Text Mining может использоваться
для анализа мнений, отзывов или комментариев пользователей, помогая
выявить общие тенденции и понять общую реакцию на определенные со¬
бытия, продукты или услуги.
Существует большое количество разновидностей перечисленных за¬
дач, а также методов их решения. Это еще раз подтверждает значимость
анализа текстов. Комбинируя эти задачи, Text Mining позволяет сделать
полезные выводы и принимать информированные решения на основе тек¬
стовых данных.
6.1. Этапы Text Mining
Процесс анализа текстовых документов можно представить как по¬
следовательность нескольких шагов (рис. 47).
0111110
1011101
1011101
5. Интерпретация
1. Поиск
результатов
информации
1110101
1110101
1110101
1110101
0111110
4. Применение
методов Text
Mining
2. Предварительная
обработка
документов
Извлечение
информации
Рис. 47. Этапы Text Mining
Поиск информации начинается с идентификации документов, под¬
лежащих анализу, и обеспечения доступности к ним. Пользователи обычно
могут самостоятельно определить набор документов для анализа, но при
100
большом объеме документов необходимо использовать автоматизирован¬
ные методы отбора по заданным критериям.
Предварительная обработка документов включает в себя базовые
преобразования для представления текста в форме, пригодной для методов
Text Mining, удаление лишних слов и стандартизацию текста.
Извлечение информации из выбранных документов предполагает
выделение в них ключевых понятий, которые будут подвергнуты анализу.
Применение методов Text Mining представляет собой извлечение
шаблонов и отношений из текста, что является основой процесса анализа
текста.
Интерпретация результатов. Обычно результаты представляются на
естественном языке или визуализируются в графическом виде. Визуализа¬
ция также может использоваться для анализа текста, помогая быстро иден¬
тифицировать главные темы и понятия, а также определить их важность.
Также возможно применение визуализации в качестве средства анализа
текста. Это достигается путем извлечения ключевых концепций и их пред¬
ставления в графическом формате. Такой метод помогает пользователям
быстро выявлять основные темы и идеи, а также определять их значимость.
Одной из основных проблем анализа текстов является большой объем
слов в документе. Если каждое слово анализировать отдельно, это приве¬
дет к значительному увеличению времени поиска информации и вряд ли
будет соответствовать потребностям пользователей. Однако не все слова в
тексте несут смысловую нагрузку. Кроме того, различные слова, формаль¬
но отличающиеся друг от друга (например, синонимы), на самом деле мо¬
гут означать одно и то же. Поэтому удаление неинформативных слов и
приведение синонимов к общей форме значительно сокращают время ана¬
лиза текстов. Решение описанных проблем производится на этапе предва-
).
Удаление стоп-слов.
Стоп-слова - вспомогательные
слова, которые несут мало
информации о содержании
документа ( «так как», «кроме
того» и т.д.).
Стемминг- морфологический
поиск.
Преобразование каждого слова
к его нормальной форме.
(«сжатие», «сжатый» —> «сжимать»),
► Приведение регистра.
«ТЕКСТ», «Текст» —*«текст».
Рис. 48. Предварительная обработка текста
рительной обработки текста (рис. 4
101
Чтобы сделать тексты более точными и информативными, обычно
применяют следующие методы:
1. Удаление стоп-слов: это слова, которые не несут существенной ин¬
формации и часто встречаются в тексте. Например, предлоги, союзы и ар¬
тикли. Они исключаются из текста на этапе предварительной обработки.
2. Стемминг - процесс приведения слов к их основной форме (норма¬
лизации), чтобы учесть различные формы одного слова. Например, слова
«сжатие» и «сжатый» будут преобразованы в форму «сжимать». Это помо¬
гает сократить количество различных слов в тексте.
3. Использование N-грамм: это последовательности из N слов или
символов. Например, для слова «дата» трехграммы будут «_да», «дат»,
«ата», «та_». Это позволяет учесть контекст и сделать текст более строгим.
N-граммы менее чувствительны к грамматическим ошибкам и не требуют
лингвистического представления слов.
4. Приведение регистра: это преобразование всех символов в тексте
к верхнему или нижнему регистру. Например, слова «текст», «Текст»,
«ТЕКСТ» будут приведены к нижнему регистру «текст». Это помогает
унифицировать слова и упрощает процесс анализа текста.
Эти методы помогают сделать тексты более компактными, точными
и удобными для анализа.
Извлечение ключевых понятий из текста может рассматриваться
и как отдельный этап анализа текста, и как определенная прикладная зада¬
ча. В первом случае извлеченные из текста факты используются для реше¬
ния различных задач анализа: классификации, кластеризации и др. В зада¬
че извлечения ключевых понятий из текста интерес представляют некото¬
рые сущности, события и отношения. При этом извлеченные понятия ана¬
лизируются и используются для вывода новых. Извлечение ключевых по¬
нятий из текстовых документов можно рассматривать как фильтрацию
больших объемов текста. Этот процесс включает в себя отбор документов
из коллекции и пометку определенных термов в тексте.
Существуют различные подходы к извлечению информации из текста.
Примером может служить определение частых наборов слов и объедине¬
ние их в ключевые понятия. Для определения частых наборов использует¬
ся алгоритм Apriori. Другим подходом является идентификация фактов
в текстах и извлечение их характеристик. Фактами являются некоторые
события или отношения. Идентификация производится с помощью набо¬
ров образцов. Образцы представляют собой возможные лингвистические
варианты фактов. Такой подход позволяет представить найденные ключе¬
вые понятия, представленные событиями и отношениями, в виде структур,
которые в том числе можно хранить в базах данных.
102
Процесс извлечения ключевых понятий с помощью шаблонов разби¬
вается на две стадии: локальный анализ и анализ понятий (рис. 49). На
первой стадии из текстовых документов извлекаются отдельные факты
с помощью лексического анализа. Вторая стадия заключается в интеграции
извлеченных фактов и/или в выводе новых фактов. В конце наиболее ха¬
рактерные факты преобразовываются в нужную выходную форму.
Сложность извлечения фактов с помощью образцов связана с тем, что
на практике их нельзя представить в виде простой последовательности
слов. В большинстве систем обработки естественных языков вначале иден¬
тифицируются различные уровни компонентов и отношений, а затем на их
основе строятся образцы. Этот процесс обычно начинается с лексического
анализа (определения частей речи и характеристик слов и фраз посред¬
ством морфологического анализа и поиска по словарю) и распознавания
имен (идентификации имен и других лексических структур, таких как да¬
ты, денежные выражения и т. п.). За этим следует синтаксический разбор,
целью которого является выявление групп существительных, глаголов и,
если возможно, дополнительных структур. Затем применяются предметно¬
ориентированные образцы для идентификации интересующих фактов.
Локальный анализ
Отдельные лексемы
имена, даты и т.п.
Существительные и
глагольные группы
Лексический анализ
звлечение имен
собственных
Синтаксический анализ
Сопоставление с образом
Локальный анализ
Уточненные
сущности и события
Анализ понятий
Анализ ссылок
Вывод новых понятий
Извлечение
отдельных
фактов
Имена собственные
Сущности и события
Интеграция
извлеченных
фактов и/или
вывод новых
фактов
Рис. 49. Процесс извлечения ключевых понятий
На этапе интеграции происходит анализ и объединение обнаружен¬
ных в документах фактов с учетом отношений, определяемых местоиме¬
ниями или описанием одинаковых событий. Кроме того, на данной стадии
делаются выводы на основе ранее установленных фактов.
Как уже упоминалось, извлечение фактов осуществляется путем сопо¬
ставления текста с набором регулярных выражений (образцов). Если вы¬
103
ражение соответствует текстовым сегментам, то такие сегменты помеча¬
ются метками. При необходимости этим сегментам присваиваются допол¬
нительные свойства. Образцы организуются в наборы, где метки, связан¬
ные с одним набором, могут ссылаться на другие наборы. Каждый образец
имеет связанный с ним набор действий, преимущественно - это пометка
текстового сегмента новой меткой, но могут быть и другие действия.
В каждый момент времени текстовому сегменту сопоставляется только
один набор образцов.
Каждый образец в наборе начинает сопоставляться с первого слова
предложения. Если образец может быть сопоставлен более чем одному
сегменту, то выбирается наиболее длинный сопоставленный сегмент, и ес¬
ли таких сегментов несколько, то выбирается первый. При сопоставлении
выполняются действия, связанные с этим образцом. Если не удалось сопо¬
ставить ни один образец, то сопоставление повторяется, начиная со следу¬
ющего слова в предложении. Если сегмент сопоставлен с образцом, то со¬
поставление повторяется, начиная со следующего слова после данного
сегмента. Процесс продолжается до конца предложения.
Основной целью сопоставления с образцами является выделение
в тексте сущностей, связей и событий, которые могут быть преобразованы
в структуры для последующего анализа стандартными методами Data
Mining.
Рассмотрим процесс выделения ключевых понятий на примере сле¬
дующего текста: Петр Сергеевич Иванов покинул должность вице¬
президента известной фабрики ООО «Анкор». Его заменил Иван Андре¬
евич Сидоров.
На этапе лексического анализа текст делится на предложения и лек¬
семы, базовые формы слова, которые не несут никакой грамматической
информации и могут быть изменены с помощью грамматических оконча¬
ний или приставок. Простыми словами можно сказать, что лексема - это
«корень» или «основа» слова, которая может быть использована для со¬
здания различных форм этого слова. Каждая лексема ищется в словаре для
определения ее части речи и других свойств. Такой словарь готовится за¬
ранее экспертами в данной предметной области и должен включать в себя,
кроме специальных терминов, имена людей, названия городов, стран, пре¬
фиксы компаний (например «ООО», «ЗАО», «АО» и т. п.) и др. В нашем
примере на этом этапе должны быть идентифицированы следующие лек¬
семы: «Петр», «Иван», «ООО». При этом «Петр» и «Иван» помечаются как
имена, а «ООО» - как префикс фирмы.
На следующем этапе идентифицируются различные типы имен соб¬
ственных и другие специальные формы, такие как даты, денежные выра¬
104
жения и т. п. Имена присутствуют в текстах различного вида. Определить
их достаточно просто, но они являются важными ключевыми понятиями.
Имена идентифицируются с помощью образцов (регулярных выраже¬
ний), которые строятся на основе частей речи, синтаксических и орфогра¬
фических свойств (например, использование заглавных букв). Люди могут
быть идентифицированы:
• предшествующими званиями: «мистер», «сударь», «господин», «то¬
варищ» и т. п. (например, мистер Смит, господин Иванов, товарищ Сталин
и т. д.);
• распространенными именами: «Иван», «Петр», «Елена» и т. п.
(например, Иван Сидоров, Елена Премудрая, Петр Сергеевич Иванов
и т. д.);
• предшествующими инициалами имени и отчества (например,
И. И. Сидоров, Е. А. Иванова и т. д.).
Компании могут идентифицироваться с помощью лексем, обознача¬
ющих форму их организации «ООО», «ЗАО».
В нашем примере можно идентифицировать три имени собственных:
1) Петр Сергеевич Иванов с типом «человек»;
2) Иван Андреевич Сидоров с типом «человек»;
3) ООО «Анкор» с типом «фирма».
В результате получим следующую структуру: Гимя собственное тип:
человек Петр Сергеевич Иванов] покинул должность вице-президента из¬
вестной фабрики Гимя собственное тип: фирма ООО «Анкор»]. Его заме¬
нил Гимя собственное тип: человек Иван Андреевич Сидоров].
При идентификации имен собственных также важно распознавать
и альтернативное их написание (другие формы тех же имен). Например,
«Петр Сергеевич Иванов», «П. С. Иванов», «Петр Иванов», «господин
Иванов» должны быть идентифицированы как одно и то же лицо. Такое
сопоставление различных написаний имен собственных может помочь
в идентификации свойств понятия. Например, по выражению «Елена рабо¬
тает с 9:00 до 20:00» невозможно понять, Елена является человеком или
фирмой с названием «Елена» (однозначно это сложно определить даже че¬
ловеку). Однако если в тексте также встречается альтернативное написа¬
ние «ООО «Елена», то понятию «Елена» можно присвоить тип «фирма».
Идентификация некоторых аспектов синтаксических структур упро¬
щает последующие фазы извлечения фактов. С другой стороны, идентифи¬
кация сложных синтаксических структур в предложении - трудная задача.
В связи с этим различные методы анализа текста по-разному решают эту
задачу. Некоторые из них опускают данный этап, а некоторые выполняют
сложный разбор предложений. Однако большинство систем выполняют
разбор последовательных фрагментов предложений. Они строят только та¬
105
кие структуры, которые могут быть точно определены или синтаксисом,
или семантикой отдельного фрагмента предложения.
Примером такого подхода может служить построение структур для
групп имен существительных (имя существительное плюс его модифика¬
ции) и глагольных групп (глагол с его вспомогательными частями). Оба
вида структур могут быть построены с использованием исключительно ло¬
кальной синтаксической информации. Кроме того, этот подход позволяет
строить большие структуры групп имен существительных (путем объеди¬
нения нескольких групп), если имеется семантическая информация, под¬
тверждающая корректность таких объединений. Все такие структуры стро¬
ятся с использованием одних и тех же регулярных выражений.
Вначале помечаются все основные группы имен существительных
меткой «сущ.». В нашем примере имеются следующие группы имен суще¬
ствительных: три имени собственных, местоимение и две больших группы.
Далее помечаются глагольные группы меткой «гл.».
В результате наш пример будет выглядеть так:
Гсущ. сущность: е1 Петр Сергеевич Иванов] |гл.: покинул] Гсущ. сущность:
е2 должность вице-президента] Гсущ. сущность: е3 известной фабрики]
ГГсущ. сущность: е4 ООО «Анкор»]. Гсущ. сущность: е5 Его] Ггл.: заменил]
Гсущ. сущность: е6 Иван Андреевич Сидоров].
С каждой группой можно связать дополнительные свойства. Для гла¬
гольных групп такими свойствами являются информация о времени (про¬
шедшее, настоящее, будущее) и залоге (активный или пассивный), а также
корневая форма глагола. Для групп имен существительных - это информа¬
ция о корневой форме главного слова (например, имени собственном)
и его числительность (единственное или множественное число). Кроме то¬
го, для каждой группы имен существительных создается сущность.
В нашем примере их шесть:
el тип: человек, имя: «Петр Сергеевич Иванов»;
е2 тип: должность, значение: «вице-президент»;
e3 тип: фирма;
е4 тип: фирма, имя: «ООО «Анкор»;
e5 тип: человек;
e6 тип: человек, имя: «Иван Андреевич Сидоров».
Для укрупнения групп имен существительных используют наборы об¬
разцов, присоединяющих правые модификаторы. Эти образцы обычно
объединяют две группы имен существительных и, возможно, промежуточ¬
ные слова в большую группу и модифицируют сущность, ассоциирован¬
ную с главным существительным, чтобы соединить информацию из моди¬
фикатора.
106
В нашем примере можно выделить два важных образца: описание
и имя фирмы, конструкцию группы: должность фирмы.
Во втором образце «должность» представляет собой элемент, который
сопоставляется с сущностью типа «должность» (в нашем примере это
сущность е2), а элемент «фирма» сопоставляется c сущностью типа «фир¬
ма» (е3 и е4). Возможно использование некоторой иерархии семитических
типов и сопоставление образцов с ее применением (например, «фирма»
более общее понятие, чем «фабрика», поэтому сопоставление должно вы¬
полняться). В первом образце элемент «имя фирмы» определяет сущность
типа «фирма», в которой главным словом является имя (е4); элемент «опи¬
сание фирмы» определяет группу типа «фирма», в котором главным сло¬
вом является общее описание (е3). Эти образцы порождают метки:
Гсущ. сущность: е1 Петр Сергеевич Иванов] Ггл покинул] Гсущ. сущность:
е2 должность вице-президента]] Гсущ. сущность: е3 известной фабрики]
ГГсущ. сущность: е4 ООО «Анкор»]. Гсущ. сущность: е5 Его] Ггл: заменил]
Гсущ. сущность: е6 Иван Андреевич Сидоров].
Таким образом, список сущностей обновится следующим образом:
el тип: человек, имя: «Петр Сергеевич Иванов»;
е2 тип: должность, значение: «вице-президент» фирмы: е3;
е3 тип: фирма, имя: «ООО «Анкор»;
e5 тип: человек;
e6 тип: человек, имя: «Иван Андреевич Сидоров».
Для извлечения событий и отношений используются образцы, кото¬
рые получаются за счет расширения образцов, описанных ранее. Напри¬
мер, событие преемственности должности извлекается с помощью следу¬
ющих образцов: человек покинул должность и человек заменяется челове¬
ком.
В примере элементы шаблона: «человек» и «должность» сопоставля¬
ются с группами имен существительных. А элементы «покинул» и «заме¬
няется» сопоставляются с активными и пассивными глагольными группа¬
ми соответственно. В результате в тексте выделяются две структуры собы¬
тий на основе ранее созданных сущностей:
Гсобытие: е7 Петр Сергеевич Иванов покинул должность вице-президента
известной фирмы ООО "Анкор"]. Гсобытие: е8 Его заменил Иван Андре¬
евич Сидоров].
Список сущностей обновляется следующим образом:
e1 тип: человек, имя: «Петр Сергеевич Иванов»;
е2 тип: должность, значение: «вице-президент» фирмы: е3;
е3 тип: фирма, имя: «ООО «Анкор»;
e5 тип: человек;
107
e6 тип: человек, имя: «Иван Андреевич Сидоров»;
е7 тип: покинул, человек: e1, должность: е2;
e8 тип: заменил, человек: е6, человек: е5.
Описанным образом могут быть получены основные ключевые поня¬
тия. По ним может выполняться анализ текстов методами Data Mining для
решения задач классификации, кластеризации и др.
В результате локального анализа из текста извлекаются ключевые по¬
нятия: сущности и события. Для получения более структурированной ин¬
формации выполняется анализ ссылок. Его целью является разрешение
ссылок, представленных местоимениями и описываемыми группами имен
существительных. В нашем примере таким местоимением является «Его»
(сущность e5). Для разрешения этой ссылки будет выполняться поиск пер¬
вой предшествующей сущности с типом «человек». В нашем примере та¬
кой сущностью является e1. В результате ссылки на e5 должны быть заме¬
нены ссылками на e1. Таким образом, список сущностей и событий обно¬
вится следующим образом:
e1 тип: человек, имя: «Петр Сергеевич Иванов»;
e2 тип: должность, значение: «вице-президент» фирмы: е3;
e3 тип: фирма, имя: «ООО «Анкор»;
e6 тип: человек, имя: «Иван Андреевич Сидоров»;
e7 тип: покинул, человек: e1, должность: е2;
e8 тип: заменил, человек: е6, человек: е1.
При анализе ссылок также надо учитывать иерархию понятий (как
в случае «фирма» и «фабрика»). Во многих ситуациях определенная ин¬
формация о событии может распространяться на другие предложения. Ис¬
пользуя механизмы вывода, можно получить новые факты. В нашем при¬
мере, строя выводы на смысле сказуемого «заменил», можно получить но¬
вый факт, что Иван Андреевич Сидоров тоже был вице-президентом. Та¬
кой вывод можно сделать на основе системы порождающих правил.
В результате описанной последовательности действий можно полу¬
чить следующие извлеченные ключевые понятия (рис. 50).
Событие
Человек
Должность
Фирма
1
Покинул
Петр Сергеевич Иванов
Вице¬
президент
ООО «Анкор»
2
Вступил
Иван Андреевич Сидоров
Вице¬
президент
ООО «Анкор»
Рис. 50. Извлеченные ключевые понятия
108
В описанном подходе не определялось время событий. Однако для
многих методов это важно или для вывода в аналитический отчет, или для
хронологии последовательности событий. В таких случаях информация
о времени может быть получена из разных источников, включая абсолют¬
ные даты и время (например, «28 июля 2006 года»), относительные упоми¬
нания времени («последняя неделя»), времена глаголов и знаний о после¬
довательности вывода событий.
Извлеченные понятия должны быть преобразованы в единую форму.
Это позволяет выполнять индексированный поиск и другие операции мак¬
симально правильно. Например, слова «изучающий» и «изучение» должны
быть идентифицированы как одно слово «изучать».
6.2. Классификация текстовых документов
Классификация текстовых документов заключается в отнесении до¬
кумента к одному из заранее известных классов. Часто классификацию
применительно к текстовым документам называют категоризацией или
рубрикацией. Очевидно, что данные названия происходят от задачи систе¬
матизации документов по каталогам, категориям и рубрикам. При этом
структура каталогов может быть как одноуровневой, так и многоуровневой
(иерархической).
Формально задачу классификации текстовых документов описывают
набором множеств. Множество документов представляется в виде
D {^1, • • •, d-i,..., dft}.
Категории документов представляются множеством
С ={сг },
где г = 1, ...,т.
Иерархию категорий можно представить в виде множества пар, отра¬
жающих отношение вложенности между рубриками:
Н = {< Cj, ср >, Cj, ср Е С } (категория ср вложена в категорию Cj ).
В задаче классификации требуется на основе этих данных построить
процедуру, которая заключается в нахождении наиболее вероятной катего¬
рии из множества С для исследуемого документа dt.
Большинство методов классификации текстов так или иначе основаны
на предположении, что документы, относящиеся к одной категории, со¬
держат одинаковые признаки (слова или словосочетания), и наличие или
отсутствие таких признаков в документе говорит о его принадлежности
109
или непринадлежности к той или иной теме. Таким образом, для каждой
категории должно быть множество признаков:
F(C) =U (сг),
где
F(cr) = <f,...,fk ,...,fz} >.
Такое множество признаков часто называют словарем, так как оно со¬
стоит из лексем, которые включают в себя слова и/или словосочетания, ха¬
рактеризующие категорию. Подобно категориям каждый документ также
имеет признаки, по которым его можно отнести с некоторой степенью ве¬
роятности к одной или нескольким категориям:
F(dt) =<fi fi /у >.
Множество признаков всех документов должно совпадать с множе¬
ством признаков категорий, т. е.:
F(C) = F(D) =U F(dj).
Необходимо заметить, что данные наборы признаков являются отли¬
чительной чертой классификации текстовых документов от классификации
объектов в Data Mining, которые характеризуются набором атрибутов. Ре¬
шение об отнесении документа d к категории cr принимается на основании
пересечения:
F(di) =U F(cr).
Задача методов классификации состоит в том, чтобы наилучшим об¬
разом выбрать такие признаки и сформулировать правила, на основе кото¬
рых будет приниматься решение об отнесении документа к рубрике.
Существует два противоположных подхода к формированию множе¬
ства F(С) и построению правил:
• машинное обучение - предполагается наличие обучающей выборки
документов, по которому строится множество F(C);
• экспертный метод - предполагается, что выделение признаков -
множества F(C) - и составление правил производится экспертами. В слу¬
чае машинного обучения анализируется статистика лингвистических шаб¬
лонов (таких как лексическая близость, повторяемость слов и т. п.) из до¬
кументов обучающей выборки.
В нее должны входить документы, относящиеся к каждой рубрике,
чтобы создать набор признаков (статистическую сигнатуру) для каждой
рубрики, который впоследствии будет использоваться для классификации
новых документов. Достоинством данного подхода является отсутствие
110
необходимости в словарях, которые сложно построить для больших пред¬
метных областей. Однако чтобы избежать неправильной классификации,
требуется обеспечить хорошее представительство документов для каждой
рубрики. Во втором случае формирование словаря (множества F(C)) мо¬
жет быть выполнено на основе набора терминов предметной области и от¬
ношений между ними (основные термины, синонимы и родственные тер¬
мины). Классификация затем может определить рубрику документа в соот¬
ветствии с частотой, с которой появляются выделенные в тексте термины
(ключевые понятия). Возможна и комбинация двух описанных подходов,
когда выделение признаков и составление правил выполняются автомати¬
чески на основе обучающей выборки, и в то же время правила строятся
в таком виде, чтобы эксперту была понятна логика автоматической рубри¬
кации и у него была возможность вручную корректировать эти правила.
Существуют различные методы классификации текстовых докумен¬
тов. Вот некоторые из самых распространенных:
1. Метод наивного Байеса: основан на теореме Байеса и использует
вероятностный подход для классификации текстов. Он представляет доку¬
менты в виде набора слов или признаков и основывается на их частоте
в документе и в классах, чтобы определить, к какому классу документ от¬
носится.
2. Метод опорных векторов (SVM): строит гиперплоскость, разделя¬
ющую различные классы документов в пространстве признаков. Метод
опорных векторов стремится максимизировать зазор между классами, что¬
бы обеспечить максимальную разделимость.
3. K-ближайших соседей (KNN): относит новый документ к классу на
основании уже существующих документов, ближайших к нему в простран¬
стве признаков. K-ближайших соседей использует метрику (например, Ев¬
клидово расстояние) для определения, какие документы наиболее похожи
на новый.
4. Деревья решений: это графическая модель, представляющая собой
иерархическую структуру, которая принимает решения на основе серии
вопросов. Деревья решений используются для разделения классов на осно¬
ве признаков, приводящих к последовательным разветвлениям и листьям
(классам).
5. Нейронные сети: это компьютерные модели, которые имитируют
работу человеческого мозга. Нейронные сети используются для классифи¬
кации текстов, преобразуя слова в численные векторы и обучаясь распо¬
знавать определенные закономерности в текстах и их связи с классами.
Это только некоторые из методов, и есть еще много других, которые
могут быть использованы для классификации текстовых документов. Вы¬
бор метода зависит от конкретной задачи и доступных данных.
111
6.3. Кластеризация текстовых документов
Кластеризация документов - это процесс группировки документов на
основе их сходства. Это позволяет организовать большие коллекции доку¬
ментов и обнаружить скрытые паттерны или темы в тексте.
Кластеризация документов может быть полезной во многих областях,
таких как информационный поиск, анализ социальных медиа, обработка
естественного языка и многое другое. Она помогает автоматически откры¬
вать структуру и содержание текстового материала.
Основной подход к кластеризации документов - это вычисление меры
сходства между документами и последующая группировка их в кластеры.
Меры сходства могут быть основаны на различных факторах, таких как
семантика, синтаксис, ключевые слова или комбинация этих факторов.
Комплексные методы обычно сочетают несколько мер сходства для более
точной кластеризации.
После кластеризации можно провести анализ каждого кластера, что¬
бы выявить дополнительные паттерны, ключевые слова или темы, что
может быть полезно для классификации или извлечения информации из
документов.
Важно отметить, что эффективность кластеризации документов зави¬
сит от качества данных, выбора алгоритма и параметров, а также от пред¬
варительной обработки текста.
Цели и задачи кластеризации документов могут варьироваться в зави¬
симости от конкретной задачи и контекста использования. Вот некоторые
из них:
1. Объединение похожих документов: кластеризация помогает груп¬
пировать документы, которые имеют схожую тематику или содержание.
Это может быть полезно для организации больших коллекций документов
и быстрого доступа к искомой информации.
2. Обнаружение скрытых паттернов: кластеризация может помочь об¬
наружить скрытые структуры или паттерны в текстовых данных. Она мо¬
жет выявлять сходство по тематическому контенту, используемым ключе¬
вым словам, паттернам поведения и т. д. Это особенно полезно в анализе
больших объемов данных.
3. Распознавание новых тем: путем анализа кластеров можно выявить
новые или неожиданные темы, которые ранее не были идентифицированы.
Это может помочь вам получить новые идеи, концепции или тенденции из
текстового материала.
4. Категоризация и классификация: кластеризация может служить ос¬
новой для категоризации и классификации документов. Каждый кластер
можно рассматривать как отдельную категорию или класс, что упрощает
112
организацию информации и автоматизацию классификации новых доку¬
ментов.
5. Репрезентация данных: кластеризация может быть использована
для создания визуализаций или репрезентаций больших объемов данных.
Например, документы в каждом кластере могут быть представлены в виде
облака ключевых слов или топ-терминов, что поможет лучше понять кон¬
тент каждого кластера. Все эти цели и задачи имеют общую цель - облег¬
чить процесс работы с большими объемами текстовых данных и извлече¬
ния полезной информации из них.
Распространенные методы кластеризации документов, представлен¬
ные на сайте:
1. k-средних (k-means): это один из самых популярных алгоритмов
кластеризации. Он разбивает документы на K кластеров, где K - заранее
заданное число. Алгоритм итеративно перераспределяет документы между
кластерами, минимизируя сумму квадратов расстояний между документа¬
ми и центром каждого кластера.
2. Иерархическая кластеризация: этот метод строит иерархию класте¬
ров, где каждый документ начинает как отдельный кластер и последова¬
тельно объединяется с другими кластерами на основе их сходства или рас¬
стояния. Есть два подхода к иерархической кластеризации: агломератив-
ный (снизу вверх) и дивизивный (сверху вниз).
3. DBSCAN: этот метод позволяет обнаружить кластеры произволь¬
ной формы и имеет способность обнаруживать выбросы. DBSCAN разде¬
ляет документы на плотные области и разделительные границы между ни¬
ми. Он опирается на понятие плотности: кластеры состоят из участков
с более высокой плотностью, разделительные границы имеют более низ¬
кую плотность.
4. Методы многомерного шкалирования (MDS): MDS преобразует
многомерные пространства, созданные на основе сходства между доку¬
ментами, в двухмерные или трехмерные пространства для визуализации.
Документы, которые находятся ближе друг к другу в пространстве, счита¬
ются более схожими.
5. Латент Дирихлет Аллокэйшен (Latent Dirichlet Allocation (LDA)):
это вероятностная модель, используемая для моделирования тем в коллек¬
ции документов. LDA разбивает коллекцию документов на несколько те¬
матических кластеров, где каждый документ может содержать несколько
тем с разной вероятностью.
Каждый из этих методов имеет свои преимущества и недостатки,
и выбор определенного метода зависит от задачи и свойств документов.
113
6.4. Аннотирование текста
Несмотря на масштабный переход к цифровым технологиям, часть
наиболее сложных данных по-прежнему хранится в виде текста в статьях
или официальных документах. В условиях изобилия публично доступной
информации возникают трудности с управлением неструктурированными
сырыми данными и их преобразования в понятный для машин вид. С тек¬
стом это сделать сложнее, чем с изображениями и видео. Точные аннота¬
ции текста помогают моделям лучше понимать передаваемые им данные,
что приводит к безошибочной интерпретации текста.
Аннотирование текста - это процесс разметки текстового документа
или различных элементов его содержимого. Какими бы умными ни были
машины, человеческий язык иногда бывает сложно расшифровать даже
самим людям. При аннотировании текста составляющие предложений или
структуры выделяются по определенным критериям для подготовки набо¬
ров данных к обучению модели, которая сможет эффективно распознавать
человеческий язык, коннотацию или эмоции, стоящие за словами. Под
коннотацией подразумевают дополнительные ассоциативные значения
слов, которые, как правило, имеют яркую эмоциональную окраску.
Цель аннотирования текстов состоит в том, чтобы автоматически из¬
влекать информацию и структуру из текстовых данных. Это может вклю¬
чать в себя следующее:
1. Извлечение ключевых слов и фраз: аннотирование позволяет опре¬
делить наиболее важные слова или фразы в тексте, которые могут быть
использованы для классификации или поиска.
2. Идентификация именованных сущностей: аннотирование помогает
распознавать имена людей, мест, организаций и других сущностей
в тексте. Это может быть полезно для сегментации текста по категориям
или для извлечения конкретной информации.
3. Распознавание семантических связей: аннотирование может помочь
определить связи между различными словами или фразами в тексте.
Например, оно может помочь определить, что «яблоко» относится к кате¬
гории «фрукты» или что «кот» является частью фразы «любит играть».
4. Классификация текстов: аннотирование может использоваться для
автоматической классификации текстов по определенным категориям или
темам. Например, тексты новостей могут быть классифицированы по те¬
мам, таким как политика, спорт или развлечения.
5. Определение тональности: аннотирование может помочь опреде¬
лить эмоциональную окраску текста, такую как позитивная, негативная
или нейтральная тональность. Это может быть полезно для определения
114
общего отношения людей к определенным продуктам, услугам или собы¬
тиям.
Задачи аннотирования текстов в Text Mining включают в себя разра¬
ботку алгоритмов для автоматического извлечения и обработки информа¬
ции, а также создание различных моделей и классификаторов для класси¬
фикации и анализа текстовых данных. Как можно увидеть, задача анноти¬
рования документов является актуальной для любых хранилищ информа¬
ции: от библиотек до интернет-порталов. Аннотирование требуется также
и конкретному человеку, например для быстрого ознакомления с интере¬
сующей его публикацией или с подборкой статей по одной тематике.
В настоящее время наиболее распространено ручное аннотирование, к до¬
стоинствам которого можно отнести, безусловно, высокое качество со¬
ставления аннотации - ее «осмысленность». Типичные недостатки ручной
системы аннотирования - высокие материальные затраты и присущая ей
низкая скорость.
Хорошее аннотирование предполагает содержание в аннотации пред¬
ложений, представляющих максимальное количество тем, представленных
в документе, при минимальной избыточности.
Обработка естественного языка (Natural Language Processing, NLP) -
это область компьютерных наук, которая занимается взаимодействием
между компьютером и естественным языком, используемым людьми.
NLP включает в себя различные задачи, такие как:
1. Различные типы анализа текстов: это может включать обработку
исходного текста, его синтаксический анализ, морфологический анализ,
выделение именованных сущностей и многое другое.
2. Машинный перевод: разработка моделей и алгоритмов, позволяю¬
щих компьютеру переводить текст с одного языка на другой.
3. Распознавание речи: разработка алгоритмов, позволяющих компью¬
теру распознавать и транскрибировать речь на текст.
4. Генерация естественного языка: создание компьютерных систем,
способных генерировать читаемый и понятный текст на естественном
языке.
5. Анализ тональности и сентимента: определение эмоциональной
окраски текста, выявление сентимента (положительного, отрицательного
или нейтрального) в текстовых данных.
NLP используется в различных областях, включая машинное обуче¬
ние, искусственный интеллект, цифровых помощников, чат-ботов, поиско¬
вых систем и многое другое. Эта область постоянно развивается, и с ее по¬
мощью мы можем лучше понимать и взаимодействовать с текстовой ин¬
формацией.
115
Зачем мы вообще аннотируем текст? Последние прорывы в сфере
NLP, или обработки естественного языка (Natural Language Processing),
выявили нарастающую потребность в текстовых данных для таких обла¬
стей, как страхование, здравоохранение, банковское дело, телекоммуника¬
ции и т. д. Аннотирование текстов необходимо, поскольку оно гарантиру¬
ет, что целевая считывающая система, в данном случае - модель машинно¬
го обучения (ML) - сможет воспринимать предоставленную информацию
и делать выводы на ее основе. Далее подробнее рассмотрим конкретные
способы использования, а пока вам следует помнить то, что текстовые
данные все равно остаются данными, почти как изображения или видео,
и они так же используются для обучения и тестирования.
Список задач, которые учатся выполнять компьютеры, стабильно рас¬
тет, однако некоторые области остаются нетронутыми: NLP не является
в этом исключением. Без аннотаторов-людей модели не поймут глубины,
естественности и сленга, при помощи которых люди управляют и манипу¬
лируют языком. Поэтому компании постоянно пользуются помощью жи¬
вых аннотаторов для обеспечения достаточного качества данных для обу¬
чения. К современным ИИ-решениям на основе NLP относятся голосовые
помощники, машинные переводчики, умные чат-боты, альтернативные по¬
исковых движки, и список систем продолжает расширяться параллельно
с повышением гибкости, обеспечиваемой типами аннотирования текста.
Аннотирование текстов для NLP - это процесс разметки или марки¬
ровки текста, чтобы создать обучающие данные для алгоритмов обработки
естественного языка. Оно включает в себя пометку текста с указанием ча¬
стей речи, именованных сущностей, синтаксических связей и других линг¬
вистических структур.
Аннотирование текстов играет важную роль в создании моделей ма¬
шинного обучения, таких как алгоритмы обнаружения тональности, извле¬
чение информации, машинный перевод и т. д. Благодаря этому процессу
модели могут научиться понимать и интерпретировать тексты человече¬
ского языка.
Аннотирование может быть выполнено как вручную, так и с исполь¬
зованием автоматических методов. В ручном режиме аннотаторы проходят
текст по предложениям и устанавливают теги или помечают с помощью
соответствующих инструментов. В автоматическом режиме модели могут
использоваться для автоматической разметки текста на основе предвари¬
тельно размеченных образцов.
Аннотирование текста для распознавания текста - это процесс добав¬
ления информации к тексту с целью облегчения его распознавания и ин¬
терпретации компьютерными системами. Одной из самых распространен¬
ных форм аннотирования текста для распознавания является разделение
116
его на слова и расстановка тегов (меток) для каждого слова, указывающих
на его часть речи, грамматическое значение и другую синтаксическую ин¬
формацию. Это помогает компьютерным моделям понимать и интерпрети¬
ровать структуру и смысл текста. Например, при аннотировании текста для
задачи распознавания именованных сущностей, имена людей, организа¬
ции, местоположения и другие ключевые фразы могут быть выделены спе¬
циальными тегами или помечены определенным образом. Это позволяет
системам распознавания текста лучше идентифицировать и извлекать та¬
кие важные сущности из текста. Аннотирование текста для распознавания
текста является важным этапом в разработке систем машинного обучения,
которые работают с текстом. Благодаря этому процессу модели становятся
способными эффективно и точно распознавать и интерпретировать текст,
что открывает много возможностей для различных приложений, таких как
автоматическое редактирование текста, извлечение информации, анализ
тональности и другие задачи NLP.
Оптическое распознавание текста (Optical Character Recognition,
OCR) - это технология, которая позволяет компьютерным системам распо¬
знавать и интерпретировать текст, содержащийся на изображениях или фо¬
тографиях.
OCR использует алгоритмы и модели машинного обучения для авто¬
матического распознавания символов и слов на изображении и преобразо¬
вания их в компьютерно-читаемый текст.
Этот процесс обычно включает в себя следующие шаги: сегментацию
изображения (разделение на отдельные символы или слова), распознавание
отдельных символов или слов с помощью моделей машинного обучения,
а затем сбор полученных распознанных символов в текстовую строку.
OCR широко используется в различных областях, таких как распозна¬
вание номерных знаков на автомобилях, сканирование и архивирование
документов, обработка чеков и квитанций, чтение рукописных заметок
и т. д. Благодаря этой технологии можно автоматизировать множество за¬
дач, которые раньше требовали ручного ввода данных, что облегчает
и ускоряет работу с большим объемом информации.
Системы OCR предназначены для упрощения доступности информа¬
ции пользователям. Они помогают в ведении бизнеса и в рабочих процес¬
сах, экономят время и ресурсы, которые были бы необходимы для управле¬
ния данными. После преобразования обработанная OCR текстовая инфор¬
мация может более удобно и просто использоваться компаниями. Достоин¬
ствами распознавания текста являются отсутствие необходимости ручного
ввода данных, снижение ошибок, повышение продуктивности и т. д.
OCR вместе с NLP - две основные области, сильно зависящие от ан¬
нотирования текста.
117
Оптическое распознавание символов (OCR) широко применяется во
многих областях. Вот некоторые из них:
1. Сканирование и архивирование документов: OCR используется для
распознавания текста на бумажных документах, таких как паспорта, удо¬
стоверения личности, контракты, счета и т. д. Это позволяет автоматиче¬
ски извлекать информацию из документов и сохранять ее в электронном
формате.
2. Автоматическое заполнение форм: OCR может использоваться для
автоматического распознавания и заполнения информации в веб-формах,
приложениях или других электронных документах. Например, при запол¬
нении заявок на кредит или онлайн-покупках.
3. Обработка чеков и квитанций: OCR позволяет автоматически рас¬
познавать и извлекать информацию с чеков и квитанций, такую как сумма
покупки, дата, номер транзакции и т. д. Это облегчает учет и анализ фи¬
нансовых данных.
4. Распознавание номерных знаков: OCR используется для автомати¬
ческого распознавания номерных знаков автомобилей на дорогах. Это по¬
могает в правоохранительных и дорожных службах, контроле парковки,
электронной тарификации и других приложениях.
5. Распознавание рукописного текста: OCR может быть использовано
для распознавания рукописного текста, что позволяет автоматически пре¬
образовывать рукописную информацию в компьютерно-читаемый формат.
Это может быть полезно, например, при обработке заметок, писем или
архивировании исторических документов. С ростом технологий машинно¬
го обучения и развитием алгоритмов распознавания символов ожидается,
что области применения OCR будут только расширяться и развиваться
в будущем.
Типы аннотирования текста:
1. Маркировка: это основной тип аннотирования текста, при котором
определенные части текста выделяются и помечаются для последующего
анализа. Примерами маркировки могут быть выделение ключевых слов,
имен собственных, отсылок к другим текстам и т. д.
2. Метаданные: в этом типе аннотирования текста добавляются раз¬
личные метаданные, такие как автор, дата создания, тема, категория и т. д.
Метаданные могут быть полезны для организации и поиска текстовой ин¬
формации.
3. Комментарии и заметки: этот тип аннотирования позволяет добав¬
лять комментарии и заметки к определенным частям текста. Комментарии
могут содержать разъяснения, анализ или дополнительную информацию,
которая помогает понять или интерпретировать текст.
118
4. Теги и категории: при использовании тегов или категорий опреде¬
ленные аспекты текста классифицируются и помечаются для упрощения
поиска и организации. Например, теги могут использоваться для класси¬
фикации текстов по тематике или жанру.
5. Связи и ссылки: данный тип аннотирования позволяет устанавли¬
вать связи между различными частями текста или между текстами в целом.
Это может быть полезно для создания сетей знаний, выявления связей
между идеями или для создания гипертекстовых структур.
Каждый тип аннотирования имеет свою уникальную ценность и при¬
менимость в различных ситуациях. Зачастую также применяется комбини¬
рование нескольких типов аннотирования для более полного и структури¬
рованного анализа текстовой информации.
Наборы данных аннотирования текста обычно представлены в виде
выделенного или подчеркнутого текста, по краям которого оставлены за¬
метки. Продолжим рассматривать типы аннотирования текста.
Аннотирование сущностей. Аннотирование сущностей служит для
разметки неструктурированных предложений важной информацией; часто
применяется в наборах данных для обучения чат-ботов. Этот тип анноти¬
рования можно описать как нахождение, извлечение и разметка сущностей
в тексте одним из следующих способов:
• Распознавание именованных сущностей (Named Entity Recognition,
NER): NER лучше всего подходит для разметки в тексте ключевой инфор¬
мации, будь то люди, географические точки, часто встречающиеся объекты
или персонажи. NER является фундаментальной основой NLP. Google
Translate, Siri и Grammarly - прекрасные примеры NLP, использующего
NER для понимания текстовых данных.
• Разметка частей речи: как понятно из названия, разметка частей ре¬
чи помогает парсить предложения и распознавать грамматические едини¬
цы (существительные, глаголы, прилагательные, местоимения, наречия,
предлоги, союзы и т. п.).
• Разметка ключевых фраз: этот способ можно описать как поиск
и разметку ключевых слов или фраз в текстовых данных.
Хотя аннотирование сущностей является сочетанием распознавания
сущностей, частей речи и ключевых фраз, оно часто идет рука об руку
с сопоставлением сущностей, что помогает моделям в более глубокой кон-
текстуализации сущностей.
Сопоставление сущностей. Если аннотирование сущностей помогает
находить и извлекать сущности из текста, то сопоставление сущностей, ча¬
сто называемое сопоставлением именованных сущностей (Named Entity
Linking, NEL), - это процесс соединения этих именованных сущностей
с более крупными наборами данных. Возьмем для примера предложение
119
«Любовь любит мороженое». Задача заключается в том, чтобы определить,
что Любовь - это имя девушки, а не чувство или любая другая сущность,
которую потенциально можно назвать Любовь. Сопоставление сущностей
отличается от NER тем, что NER находит именованную сущность в тексте,
но не указывает, что это за сущность.
Классификация текста. Задача аннотирования сущностей заключа¬
ется в аннотировании конкретных слов или фраз, а задача классификации
текста - в аннотировании фрагмента текста или строк одной меткой. При¬
мерами и специализированными типами классификации текста являются
классификация документов, разбиение продуктов на категории, аннотиро¬
вание эмоционального настроя текста и т. д.
• Классификация документов: присвоение документу одной метки
может быть полезным для интуитивной сортировки больших объемов тек¬
стового содержимого.
• Разбиение продуктов на категории: процесс сортировки продуктов
или сервисов на классы и категории может улучшить поисковые результа¬
ты для электронной коммерции, например оптимизировать SEO и повы¬
сить видимость продукта на странице ранжирования.
• Аннотирование эмоционального настроя. Как понятно из названия,
аннотирование эмоционального настроя заключается в определении эмо¬
ций или мнений, лежащих в основе текстового блока. Даже людям иногда
сложно определить значение полученного сообщения, если тексту свой¬
ственен сарказм или другие виды языковых манипуляций. За кулисами
этого явления находится аннотатор, внимательно анализирующий текст,
выбирающий метку, лучше всего описывающую эмоцию, настрой или
мнение. Затем компьютеры могут основывать свои выводы на схожих дан¬
ных, чтобы различать положительные, нейтральные или отрицательные от¬
зывы, а также другие виды текстовой информации. В свете своей приме¬
нимости анализ эмоционального настроя помогает компаниям разрабаты¬
вать стратегии позиционирования своего продукта или услуги и их даль¬
нейшего отслеживания.
Процесс аннотирования текста в Text Mining включает следующие
шаги:
1. Подготовка данных: первым шагом является подготовка текстовых
данных для аннотирования. Это может включать в себя очистку от неин¬
формативных символов, удаление стоп-слов или приведение всех симво¬
лов к нижнему регистру.
2. Токенизация: токенизация - это процесс разделения текста на от¬
дельные слова или токены. Токенизация помогает разбить текст на более
мелкие единицы для последующей обработки.
120
3. Лемматизация: лемматизация - это процесс приведения слов к их
базовой форме или лемме. Например, слова «бежал», «бежит», «бежит»
будут приведены к лемме «бежать». Это помогает снизить размерность
данных и устранить искажения, вызванные различными формами одного
слова.
4. Извлечение ключевых фраз или слов: здесь используются алгорит¬
мы, которые анализируют текст и определяют его наиболее информатив¬
ные части. Это могут быть ключевые слова или фразы, которые будут ис¬
пользованы в дальнейшем анализе.
5. Классификация или кластеризация: в данном шаге тексты могут
быть аннотированы и классифицированы по теме, эмоциональному окрасу
или другим критериям. Алгоритмы машинного обучения могут быть ис¬
пользованы для создания моделей, которые определяют категорию или
группу текстов.
6. Извлечение информационных элементов: этот шаг заключается
в выделении конкретных сущностей, таких как имена, даты, места или
другие факты из текста. Это может быть выполнено с использованием ал¬
горитмов разметки, базирующихся на правилах или моделях машинного
обучения.
7. Создание аннотаций: на последнем шаге создаются аннотации, ко¬
торые связывают различные аспекты анализа текста с исходными текста¬
ми. Аннотации могут быть представлены в виде метаданных или дополни¬
тельных полей, которые содержат информацию о найденных ключевых
словах, классификации, извлеченных сущностях и т. д.
Каждый из этих шагов может варьироваться и требовать различных
алгоритмов или подходов в зависимости от конкретной задачи аннотиро¬
вания текста в Text Mining.
В Text Mining существует несколько методов аннотирования текста.
Давайте рассмотрим некоторые из них:
1. Метод маркировки (Tagging): этот метод заключается в присвоении
меток или тегов каждому токену в тексте, чтобы указать его часть речи,
синтаксическую роль или другие лингвистические характеристики. Наибо¬
лее популярным примером является маркировка частей речи (Part-of-
Speech Tagging).
2. Извлечение ключевых слов (Keyword Extraction): в этом методе
текст анализируется для выделения наиболее значимых слов или фраз. Мо¬
гут использоваться методы векторного пространства, частотного анализа
или алгоритмы машинного обучения для определения ключевых слов.
3. Классификация текста (Text Classification): этот метод заключается
в присвоении тексту определенной категории или класса. Модели машин¬
ного обучения, такие как наивный Байесовский классификатор или метод
121
опорных векторов, могут использоваться для обучения моделей классифи¬
кации на размеченных данных.
4. Кластеризация текста (Text Clustering): в этом методе тексты груп¬
пируются на основе их сходства без заранее заданной иерархии или кате¬
гории. Методы кластеризации, такие как k-средних или DBSCAN, исполь¬
зуются для определения групп по сходству текстовых признаков.
5. Извлечение информационных элементов (Information Extraction):
этот метод заключается в извлечении конкретных фактов или сущностей
из текста, таких как имена, даты, места или другие важные элементы. Мо¬
гут использоваться методы разметки на основе правил или модели машин¬
ного обучения для извлечения этих элементов.
6. Резюмирование текста (Text Summarization): в этом методе создается
краткое изложение содержимого текста. Может быть использована аб¬
страктная суммаризация, где генерируется новый текст, или заголовочная
суммаризация, где выделяются ключевые предложения из исходного текста.
Каждый из этих методов имеет свои преимущества и подходит для
различных задач аннотирования текста в Text Mining. Иногда можно ком¬
бинировать несколько методов для получения более точных и информа¬
тивных результатов.
Реферирование и аннотирование - это лингвистические методы сжа¬
тия информации, которые позволяют сохранить основное значение текста,
сократив его объем. Они осуществляются путем удаления второстепенных
деталей, сохраняя при этом главную идею.
Аннотация (от лат. annotatio - замечание) представляет собой краткую
характеристику смыслового компонента печатного произведения и, как
правило, содержит предельно краткую характеристику первоисточника
описательного типа. В аннотации в обобщенном виде раскрывается тема¬
тика публикации без полного отражения ее содержания, дается ответ на
вопрос, о чем именно говорится в первичном источнике информации.
Композиционно аннотация представляет собой текстовый документ, со¬
стоящий из двух частей, где в первой части сформулирована основная тема
первоисточника, а во второй - основные положения аннотируемого текста.
Реферат - это краткое изложение содержания научного труда по опре¬
деленной теме, раскрывающее основное содержание и сопровождаемое
оценкой и выводами референта.
В отличие от аннотации, реферат более подробно раскрывает основ¬
ные положения первичного документа, также предоставляет описание пер¬
вичного документа, информацию о его выходе в свет и наличии соответ¬
ствующих первичных документов, а также служит источником для полу¬
чения справочных данных и самостоятельным средством научной инфор¬
мации.
122
Существуют два основных подхода к автоматическому аннотирова¬
нию текстовых документов: извлечение и обобщение.
Подход извлечения заключается в выделении ключевых фрагментов
текста, таких как предложения, и соединении их в реферат или аннотацию
на основе позиционных и тематических критериев. Этот метод часто назы¬
вают поверхностным.
В свою очередь, подход обобщения использует грамматики есте¬
ственных языков, тезаурусы, онтологические справочники и другие ин¬
струменты для переформулирования исходного текста и создания нового,
более краткого текста. Этот метод считается более глубинным, так как
включает в себя адекватную перцепцию и анализ первоисточника, созда¬
ние внутреннего представления его структуры, семантическое сжатие
и синтез нового текста.
В методе извлечения фрагментов по шаблонам выделяются самые
важные лексически и статистически значимые части текста. Затем выбран¬
ные фрагменты просто объединяются для создания аннотации. Большин¬
ство методов, основанных на этом подходе, используют весовые коэффи¬
циенты для каждого фрагмента, которые рассчитываются с учетом различ¬
ных характеристик, таких как позиция фрагмента в тексте, частота его по¬
явления, употребление в ключевых предложениях и статистическая значи¬
мость. Общий вид формулы вычисления веса фрагмента текста U выглядит
следующим образом:
Weight(U) = Location(U) + KeyPhrase(U) + StatTerm(U) + AddTerm(U).
В данной модели весовой коэффициент расположения (Location) зави¬
сит от того, где в тексте или параграфе находится фрагмент - в начале, се¬
редине или конце. Также учитывается использование фрагмента в ключе¬
вых разделах, например во вводной части или заключении. Ключевые фра¬
зы, такие как «в заключение» или «согласно результатам анализа», имеют
особый весовой коэффициент (KeyPhrase). Он может зависеть от оценоч¬
ного термина, принятого в данной предметной области, например «отлич¬
ный» или «малозначащий». Также учитывается статистическая важность
(StatTerm), которая вычисляется на основе данных автоматической индек¬
сации и весовых коэффициентов лексем. Наконец, модель также учитывает
наличие терминов (AddTerm) в заголовке, колонтитуле, первом параграфе
и пользовательском запросе при определении весового коэффициента
фрагмента. Это позволяет настраивать аннотацию на конкретного пользо¬
вателя или группу, выделяя наиболее интересующие их термины.
Для создания аннотации в подходе обобщения требуются мощные
вычислительные ресурсы для систем обработки естественного языка,
включая грамматики и словари для синтаксического разбора и генерации
123
естественно-языковых конструкций. Также необходимы онтологические
справочники, отражающие здравый смысл, и понятия, ориентированные на
предметную область, для принятия решений во время анализа и определе¬
ния наиболее важной информации. Данный подход использует два основ¬
ных типа методов.
Первый тип методов опирается на традиционный лингвистический
метод синтаксического разбора предложений. В этом методе также ис¬
пользуется семантическая информация для аннотирования деревьев разбо¬
ра. Процедуры сравнения направлены на изменение структуры деревьев,
например путем сокращения ветвей на основе структурных критериев, та¬
ких как скобки или встроенные условные или подчиненные предложения.
После такой процедуры дерево разбора упрощается, становясь структур¬
ной «выжимкой» исходного текста.
Второй тип методов аннотирования основан на понимании естествен¬
ного языка. Синтаксический разбор также используется, но в этом случае
не порождаются деревья разбора. Вместо этого формируются концепту¬
альные структуры, отражающие всю исходную информацию, которая ак¬
кумулируется в текстовой базе знаний. В качестве структур могут быть
использованы формулы логики предикатов или такие представления, как
семантическая сеть или набор фреймов.
Подход, основанный на извлечении фрагментов, легко настраивается
для обработки больших объемов информации. Так как работа таких мето¬
дов основана на выборке отдельных фрагментов, предложений или фраз,
текст аннотации часто лишен связности. Однако такой подход выдает бо¬
лее сложные аннотации, содержащие информацию, дополняющую исход¬
ный текст. Поскольку он основан на формальном представлении информа¬
ции в документе, его можно настроить на достаточно высокую степень
сжатия, например для рассылки сообщений на мобильные устройства.
Подход, основанный на обобщении и предполагающий опору на зна¬
ния, как правило, требует полноценных источников знаний. Это является
серьезным препятствием для его широкого распространения. Поэтому раз¬
работчики средств автоматического аннотирования все больше склоняются
к гибридным системам, а исследователям все более успешно удается объ¬
единять статистические методы и методы, основанные на знаниях.
124
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какова первая стадия процесса анализа текстов?
2. Почему важно использовать автоматизированные методы отбора
документов?
3. Что включает в себя предварительная обработка документов?
4. Каковы основные цели извлечения информации из документов?
5. Что такое Text Mining и какую роль он играет в анализе текста?
6. Как могут быть представлены результаты анализа текстов?
7. Как может помочь визуализация в анализе текста?
8. Почему объем слов в документе представляет проблему для анализа?
9. Каковы основные проблемы, связанные с анализом текстов?
10. Что такое стоп-слова и как они влияют на анализ текста?
11. Как стемминг помогает в предварительной обработке текста?
12. Что такое ^-граммы и как они используются в анализе текста?
13. Как приведение регистра способствует унификации текста?
14. Почему важно удалять неинформативные слова при анализе текста?
15. Как составляются списки стоп-слов для удаления из текста?
16. Какие примеры стоп-слов можно привести?
17. Как предварительная обработка текста влияет на качество анализа?
18. Что происходит с текстом после этапа предварительной обработки?
19. Как визуализация результатов может улучшить понимание анализа
текста?
20. Каковы преимущества использования методов Text Mining в со¬
временных исследованиях?
21. Что такое OCR и как он используется для распознавания рукопис¬
ного текста?
22. Каковы преимущества использования OCR для обработки руко¬
писного текста?
23. Каковы ожидаемые тенденции в области применения OCR в бу¬
дущем?
24. Что такое маркировка в контексте аннотирования текста?
25. Какова роль метаданных в аннотировании текста?
26. Как комментарии и заметки могут улучшить понимание текста?
27. Что такое теги и категории в аннотировании текста?
28. Как связи и ссылки помогают в аннотировании текста?
29. Почему комбинирование нескольких типов аннотирования может
быть полезным?
30. Что такое аннотирование сущностей и как оно применяется?
31. Что такое распознавание именованных сущностей (NER)?
32. Как разметка частей речи помогает в анализе текста?
125
33. Что такое разметка ключевых фраз и как она работает?
34. Как аннотирование сущностей связано с сопоставлением сущно¬
стей?
35. Каковы примеры применения OCR за пределами распознавания
рукописного текста?
36. Какие вызовы стоят перед технологиями OCR при работе с руко¬
писным текстом?
37. Как технологии машинного обучения влияют на развитие OCR?
38. Почему важно учитывать контекст при аннотировании текста?
39. Как аннотирование может помочь в обучении чат-ботов?
40. Каковы основные цели аннотирования текста?
126
7. Web Mining
Web Mining - это процесс использования методов интеллектуального
анализа данных для автоматического обнаружения веб-документов
и услуг, извлечения информации из веб-ресурсов и выявления общих зако¬
номерностей в Интернете.
Понятие явилось эволюцией Data Mining, использует те же методы
интеллектуального анализа данных, его продолжением прогнозируется
Cloud Mining (но этот раздел мы не затрагиваем). Итак, почему веб-
майнинг стал важным? С годами количество доступной информации в Ин¬
тернете значительно выросло, и в настоящее время официальные и неофи¬
циальные веб-страницы предоставляют богатую информационную базу.
В век цифровой трансформации это приводит к появлению огромного объ¬
ема неструктурированных данных, которые требуется обрабатывать и ана¬
лизировать.
Цели и задачи Web Mining могут быть различными в зависимости от
конкретной области применения и требуемых результатов. Веб-данные мо¬
гут содержать ценную информацию о предпочтениях пользователей, поку¬
пательских тенденциях, конкурентной среде и многом другом. Оператив¬
ное использование этих данных может помочь компаниям оптимизировать
маркетинговые кампании, улучшить качество продуктов и услуг, а также
повысить уровень клиентского сервиса.
В общем виде цели и задачи могут быть описаны следующим образом:
1. Извлечение информации: основная цель Web Mining - извлечение
полезной и структурированной информации из большого объема неструк¬
турированных данных, доступных на интернет-ресурсах. Это может вклю¬
чать в себя, например, извлечение текста, изображений, аудио- или видео¬
данных, а также информации о пользователях, организациях, товарах и т. д.
2. Краулинг веб-страниц - это процесс автоматического сбора инфор¬
мации с веб-страниц. Это делается с помощью программных агентов,
называемых краулерами или веб-пауками, которые сканируют страницы,
извлекают нужную информацию, такую как текст, изображения, ссылки
и т. д., и сохраняют ее для дальнейшего анализа или использования.
3. Классификация веб-страниц - это процесс группировки веб-страниц
по их содержанию и специфическим характеристикам. Этот процесс помо¬
гает организовать большой объем информации и облегчает поиск и анализ
данных.
4. Поиск знаний и паттернов: Web Mining позволяет обнаруживать
скрытые знания и паттерны, которые могут быть полезны в различных об¬
ластях, таких как маркетинг, бизнес-аналитика, медицина и т. д. Например,
127
анализ данных из социальных сетей может помочь в выявлении трендов
и предпочтений пользователей.
5. Поиск сходства и различия между сайтами: сходство и различия
между сайтами определяются на основе ряда факторов, включая функцио¬
нальность, дизайн, контент, адаптивность, пользовательский опыт и тех¬
нические характеристики.
6. Анализ структуры и использования веб-сайтов: Web Mining помо¬
гает понять структуру и использование веб-сайтов, что может быть полез¬
но для улучшения пользовательского опыта, оптимизации поисковых си¬
стем, определения важных страниц и т. д. Методы веб-аналитики, такие
как счетчики посещений и анализаторы журналов сервера, являются обыч¬
ными инструментами для этой задачи.
7. Рекомендации и персонализация: Web Mining может использоваться
для предоставления персонализированных рекомендаций пользователю на
основе его предыдущих действий и интересов. Например, алгоритмы колла-
боративной фильтрации могут с помощью Web Mining анализировать пред¬
почтения пользователя и рекомендовать ему товары, фильмы или статьи.
8. Отслеживание и анализ социальных медиа: Web Mining может ис¬
пользоваться для мониторинга и анализа активности в социальных медиа.
Это может помочь компаниям и организациям понять общественное мне¬
ние о их продуктах, бренде или событиях, а также для определения трен¬
дов и идей, которые могут быть важными для их дальнейших действий.
Цели и задачи Web Mining могут быть очень разнообразными и зави¬
сят от контекста и отрасли, в которой его применяют. Однако в целом ос¬
новная цель заключается в извлечении ценной информации из веб-данных
для принятия обоснованных и эффективных решений.
Основной целью Web Mining является извлечение полезной и струк¬
турированной информации из большого объема неструктурированных
данных, доступных на интернет-ресурсах. Извлечение информации из веб¬
страниц можно осуществить с помощью различных технологий и инстру¬
ментов. Ниже приведены некоторые популярные подходы:
1. Регулярные выражения: использование регулярных выражений для
поиска и извлечения определенных сущностей или паттернов из HTML-
кода веб-страницы.
2. HTML-парсеры: это программные библиотеки, которые позволяют
анализировать HTML-код и извлекать нужные данные. Некоторые извест¬
ные HTML-парсеры включают Rvest для R, BeautifulSoup для Python и
JSoup для Java.
3. XPath: XPath - это язык запросов для выбора узлов из XML-
документа. Он также может использоваться для извлечения данных из
128
HTML-кода веб-страницы. XPath используется, например, в инструменте
Scrapy для Python.
4. CSS-селекторы: это метод выбора элементов на основе их структу¬
ры и стилей CSS. Они также могут использоваться для извлечения данных
из HTML-кода веб-страницы. Например, библиотека lxml для Python под¬
держивает использование CSS-селекторов для извлечения данных.
5. API: некоторые веб-сайты предлагают API, которые позволяют про¬
граммистам получить доступ к данным без необходимости распарсивания
HTML-кода. API предоставляет удобные методы и эндпоинты для запроса
и получения нужных данных.
6. Машинное обучение: возможно использование методов машинного
обучения для извлечения информации из веб-страниц. Например, можно
обучить модель классификации, которая будет извлекать нужные данные
из HTML-кода, опираясь на шаблоны или контекст информации. В целом,
выбор технологии и метода зависит от конкретных требований и характе¬
ристик извлекаемых данных.
Краулинг веб-страниц - процесс автоматического сбора информации с
веб-страниц. Это делается с помощью программных агентов, называемых
краулерами или веб-пауками, которые сканируют страницы, извлекают
нужную информацию, такую как текст, изображения, ссылки и т. д., и со¬
храняют ее для дальнейшего анализа или использования.
Краулинг является основой для создания поисковых систем, агрегато¬
ров новостей, парсеров сайтов и других систем, которые нуждаются в до¬
ступе к информации на веб-страницах.
Процесс краулинга обычно состоит из следующих этапов:
1. Начальная точка: выбор URL, с которого начинается сканирование.
2. Поиск ссылок: краулер переходит по найденным ссылкам на другие
страницы и извлекает новые URL для дальнейшего сканирования.
3. Скачивание страницы: краулер загружает HTML-код страницы для
анализа.
4. Извлечение данных: краулеры анализируют HTML-код страницы
и извлекают нужные данные, используя различные методы, такие как ре¬
гулярные выражения или Xpath.
5. Обработка данных: полученные данные могут быть отфильтрованы,
преобразованы или сохранены в базе данных или файле.
6. Обход ограничений: краулеры часто сталкиваются с различными
ограничениями, установленными веб-серверами, такими как файл robots.txt
или ограничение скорости запросов. Краулеры должны уметь обходить эти
ограничения, чтобы продолжать сканирование страниц.
Важно отметить, что при краулинге необходимо соблюдать правила
конкретного веб-сайта и указания владельцев сайта. Несоблюдение этих
129
правил может привести к юридическим проблемам или блокировке IP-
адреса краулера.
Классификация веб-страниц - это процесс, когда страницы разделя¬
ются на различные категории или типы в зависимости от их содержимого
или функций. Это помогает людям находить нужную информацию или
выполнять определенные задачи в Интернете.
Существует несколько подходов к классификации веб-страниц.
Один из них основан на анализе содержимого страницы. В этом слу¬
чае веб-страницы могут быть классифицированы по таким категориям, как
новости, спорт, технологии, здоровье и т. д. Анализаторы содержания ис¬
пользуют методы машинного обучения и обработки естественного языка,
чтобы автоматически определить тематику веб-страницы.
Другой подход к классификации основан на анализе сетевой структу¬
ры веб-страницы. В этом случае страницы могут быть классифицированы
на основе их связей с другими страницами, структуры веб-сайта, а также
анализа гиперссылок. Например, страницы могут быть классифицированы
как главные страницы, страницы категорий, страницы товаров и т. д. Дан¬
ный подход помогает организовать структуру веб-сайта, анализировать
пользовательскую навигацию и определить потенциальные аномалии в се¬
тевой структуре.
Обычно веб-страницы классифицируются в следующие категории:
1. Информационные страницы: это страницы, которые предоставляют
информацию по определенной теме, например статьи, новости, исследова¬
ния и пр.
2. Коммерческие страницы: это страницы, которые используются для
продажи товаров или услуг, такие как интернет-магазины, сайты компа¬
ний, брендов и т. д.
3. Развлекательные страницы: здесь включаются страницы, предна¬
значенные для развлечения (игры, музыкальные, видео и графические кон-
тенты).
4. Социальные сети: это страницы, где пользователи могут общаться,
делиться контентом, находить друзей и устанавливать профессиональные
связи.
5. Блоги и персональные страницы: это страницы, где люди делятся
своими мыслями, идеями, опытом и знаниями по определенной тематике.
6. Образовательные страницы: это страницы, которые предназначены
для обучения и предоставления информации научного, академического
или практического характера.
Это только некоторые из множества возможных типов веб-страниц.
В зависимости от целей и содержания сайтов они также могут включать
в себя комбинацию различных типов страниц.
130
Сходство и различия между сайтами определяются на основе ряда
факторов, включая функциональность, дизайн, контент, адаптивность,
пользовательский опыт и технические характеристики. Ниже приведено
подробное определение сходства и различий между сайтами.
Определение сходства: сходство между сайтами относится к общим
чертам, которые они имеют между собой. Это может быть связано с общей
тематикой, структурой или целью сайтов. Например, сайты, посвященные
путешествиям, могут иметь общую тематику и структуру, так как они бу¬
дут предлагать информацию о различных местах, отзывы от пользователей
и возможность бронирования. Сходство может также относиться к функ¬
циональности и возможностям сайтов, например наличие встроенного по¬
иска или возможность добавления комментариев. Кратко говоря, сходство
между сайтами определяется тем, что они имеют общие черты, которые
делают их похожими друг на друга.
Определение различий: различие между сайтами относится к уни¬
кальным чертам, которые делают их отличными друг от друга. Это может
быть связано с дизайном, выбором цветовой палитры, расположением эле¬
ментов на странице и типографикой. Например, сайты модных брендов
могут иметь разные стили дизайна, чтобы отразить свою уникальность
и ценности. Различия могут также относиться к контенту, предлагаемому
на сайте, например один сайт может быть посвящен новостям, другой -
образовательному контенту, а третий - коммерческой деятельности. Тех¬
нические различия между сайтами также могут быть значительными,
например один сайт может быть разработан на языке программирования
PHP, а другой - на Ruby. Кратко говоря, различия между сайтами опреде¬
ляются уникальными чертами, которые делают их отличными в различных
аспектах.
Следует учитывать, что Web Mining может быть разделен на три основ¬
ных типа. Важно также учитывать этические и юридические аспекты Web
Mining, такие как защита данных и личной информации пользователей.
1. Web Usage Mining (анализ использования веб-ресурсов): изучение
данных о поведении пользователей на веб-ресурсах. Включает в себя ана¬
лиз журналов сервера, данных о посещении страниц, кликов, времени,
проведенном на сайте, и других веб-метрик. Примеры включают в себя
разработку рекомендательных систем и персонализированных рекоменда¬
ций на основе поведения пользователей.
2. Web Structure Mining (извлечение веб-структур): анализ структуры
веб-страниц и взаимосвязей между ними. Включает в себя извлечение ссы¬
лок, построение графов веб-страниц и анализ структуры сайтов. Примеры
включают в себя алгоритмы для поиска наиболее авторитетных веб¬
страниц.
131
3. Web Content Mining (извлечение веб-контента): извлечение и анализ
содержимого веб-страниц, включая текст, изображения, видео, аудио
и другие медиафайлы. Например, разработка алгоритмов для автоматиче¬
ской категоризации и извлечения информации из новостных статей.
В зависимости от решаемой задачи различаются и методы Web
Mining. Кроме того, решение задачи извлечения веб-контента в процессе
информационного поиска различается в зависимости от вида анализируе¬
мых документов. Они могут быть структурированные и слабоструктуриро¬
ванные (почти структурированные).
Данное направление основано на извлечении данных из логов веб¬
серверов. Целью анализа является выявление предпочтений посетителей
при использовании тех или иных ресурсов сети Интернет. Здесь крайне
важно осуществить тщательную предобработку данных: удалить лишние
записи лога, которые не интересны для анализа.
Каждый пользователь сети имеет свои индивидуальные вкусы, взгля¬
ды, в зависимости от которых он посещает те или иные ресурсы. Выявив,
какие страницы и в какой последовательности открывал пользователь,
можно сделать вывод о его предпочтениях. Анализ общих тенденции среди
всех посетителей показывает, насколько эффективно работает электрон¬
ный портал, какие его страницы посещаются чаще, какие реже. На основе
этого анализа можно оптимизировать сайт: найти ранее не замеченные
проблемы в функционировании, дизайне и много другое.
Методы исследования использования, которые могут быть применены
для анализа поведения пользователей:
1. Методы анализа журналов - эти методы анализируют журналы
серверов, которые содержат информацию о запросах пользователей. Они
могут быть использованы для определения частоты посещений, популяр¬
ности страниц, времени пребывания пользователя на странице и др.
2. Методы ассоциативного правила - эти методы анализируют по¬
следовательность действий пользователей на веб-сайте. Они могут быть
использованы для определения частых паттернов поведения пользователей
и ассоциативных правил, которые связывают различные действия.
3. Методы кластеризации - эти методы группируют пользователей
на основе их поведения на веб-сайте. Они могут быть использованы для
определения различных типов пользователей и анализа их предпочтений
и поведения.
4. Методы прогнозирования - эти методы используют исторические
данные о поведении пользователей для прогнозирования будущих дей¬
ствий. Они могут быть применены для предсказания следующего действия
пользователя или для прогнозирования его интересов и предпочтений.
132
5. Методы визуализации - эти методы используют графические ин¬
струменты для визуализации поведения пользователей на веб-сайте. Они
могут быть применены для визуального анализа данных и обнаружения
интересных паттернов и трендов.
Итак, все эти методы могут быть использованы для извлечения раз¬
личных видов информации о поведении пользователей на веб-сайте, таких
как частота посещений, популярность страниц, предпочтения пользовате¬
лей и др. Эта информация может быть применена для оптимизации веб¬
сайта, персонализации контента и улучшения пользовательского опыта.
7.1. Извлечение веб-ресурсов
Извлечение веб-ресурсов рассматривает взаимосвязи между веб¬
страницами, основываясь на связях между ними. Построенные модели мо¬
гут быть использованы для категоризации веб-ресурсов, поиска схожих
и распознавания авторских сайтов. В зависимости от поставленной задачи
структура сайта моделируется с определенным уровнем детализации.
В самом простом случае гиперссылки представляют в виде направленного
графа. Извлечение веб-структур может быть использовано как подготови¬
тельный этап для извлечения веб-контента.
Методы Web Structure Mining, которые могут быть использованы для
анализа структуры веб-сайтов:
1. Методы анализа графов - эти методы используют графовую модель
для анализа структуры веб-сайтов. Они включают в себя такие методы, как
анализ соседства, поиск в ширину и поиск в глубину, которые позволяют
определить связи между веб-страницами.
2. Методы кластеризации - эти методы группируют веб-страницы на
основе их структуры и связей. Они могут использоваться для определения
кластеров связанных веб-страниц или для анализа структуры навигации
веб-сайта.
3. Методы ранжирования - эти методы используют алгоритмы ранжи¬
рования (например, PageRank) для определения важности веб-страниц на
основе их структуры и связей. Они могут быть использованы для опреде¬
ления наиболее важных страниц веб-сайта или степени связности между
страницами.
4. Методы анализа путей - эти методы анализируют пути, по которым
пользователи переходят по веб-сайту. Они могут быть использованы для
определения популярных путей пользователей или для анализа эффектив¬
ности навигации веб-сайта.
133
5. Анализ ссылочной структуры: этот метод заключается в анализе
графа ссылок между веб-страницами. Он позволяет определить важность
страницы на основе количества ссылок, указывающих на нее, а также на
основе важности источников ссылок. Наиболее известным алгоритмом
анализа ссылок является PageRank, который используется поисковой си¬
стемой Google для ранжирования веб-страниц.
6. Анализ структуры документов: этот метод направлен на анализ
структуры HTML-документов, таких как заголовки, списки, таблицы и т. д.
Анализ структуры документов позволяет извлекать информацию о струк¬
туре и организации контента, что может быть полезно для автоматического
индексирования и категоризации веб-страниц.
7. Анализ поведения пользователей: этот метод используется для ана¬
лиза данных посещений и поведения пользователей на веб-сайте. Он поз¬
воляет выявлять паттерны поведения пользователей, такие как частота по¬
сещений, переходы между страницами, время пребывания на страницах
и т. д. Анализ поведения пользователей может помочь в оптимизации
структуры веб-сайта и улучшении пользовательского опыта.
8. Анализ структуры URL включает в себя анализ структуры URL-
адресов веб-страниц. Он позволяет выявить и извлечь информацию
о иерархии и организации контента на веб-сайте. Анализ структуры URL
может быть полезен для определения ключевых слов и категоризации
страниц.
Итак, все эти методы могут быть использованы для извлечения раз¬
личных видов информации из структуры веб-сайтов, таких как группиров¬
ка страниц, определение важности страниц, анализ навигации и др.
7.2. Извлечение веб-контента
Актуальность данного направления возрастает в связи с тем, что
в настоящее время прослеживается тенденция предоставления компаниями
доступа к своим ресурсам. Это относится не только к статической инфор¬
мации, представленной в виде HTML-страниц, но также к данным, храня¬
щимся в БД компаний, и другим ресурсам (таким, например, как электрон¬
ные магазины). Безусловно, остается часть данных, к которым доступ не¬
возможен. К этой категории относятся и закрытая (конфиденциальная) ин¬
формация, а также информация, которая не может анализироваться ввиду
своей динамичности (например, динамические страницы, формируемые по
запросам пользователей).
Необходимо обратить внимание на отличия существующих точек зре¬
ния на технологию извлечения веб-контента со стороны информационного
134
поиска (IR) и представления баз данных. С точки зрения IR данная задача
решается для улучшения релевантности получаемых документов и исполь¬
зуется для индексации документов. С точки зрения базы данных задача из¬
влечения веб-контента позволяет структурировать документ, расширяя
возможности запросов к нему.
В зависимости от решаемой задачи различаются и методы Web
Mining. Кроме того, решение задачи извлечения Web-контента в процессе
информационного поиска различается в зависимости от вида анализируе¬
мых документов. Они могут быть структурированные и слабоструктуриро¬
ванные (почти структурированные).
Методы извлечения веб-контента:
1. Краулинг: этот метод включает в себя процесс сбора данных с веб¬
страниц с использованием веб-пауков или роботов. Веб-пауки автоматиче¬
ски переходят по ссылкам на веб-страницах и собирают информацию, ко¬
торая затем может быть использована для анализа.
2. Веб-скрапинг: этот метод включает в себя извлечение данных с веб¬
страниц путем анализа HTML-структуры и извлечения нужной информа¬
ции с помощью программирования. Веб-скраперы автоматически анализи¬
руют HTML-код веб-страниц и извлекают данные, такие как текст, изоб¬
ражения, таблицы и т. д.
3. Обработка естественного языка: это метод, который использует
компьютерные алгоритмы для анализа и понимания естественного языка,
используемого в веб-контенте. NLP может быть использован для извлече¬
ния информации, классификации текста, поиска по ключевым словам
и многого другого.
4. Text Mining: этот метод включает в себя анализ и извлечение инфор¬
мации из текстовых данных, содержащихся в веб-контенте. Text Mining ис¬
пользует различные техники, такие как анализ тональности, кластеризация
текста, анализ сущностей и т. д., чтобы найти полезные сведения.
5. Image Mining: этот метод включает в себя анализ и обработку изоб¬
ражений, содержащихся на веб-страницах. Image Mining может использо¬
ваться для распознавания объектов, анализа изображений и оценки содер¬
жания изображений.
6. Data Extraction: этот метод включает в себя извлечение структури¬
рованных данных из веб-контента. Он может быть использован для извле¬
чения данных, таких как цены товаров, список контактов, информация
о продукте и мн. др.
Это лишь некоторые из методов извлечения содержимого, существует
множество других методов и техник, используемых для анализа и извлече¬
ния информации из веб-контента.
Ниже представлена взаимосвязь между категориями Web Mining и за¬
дачами Data Mining (рис. 51 и 52).
135
Анализ
Web Mining
Извлечение
Извлечение
использования
веб-контента
веб-ресурсов
веб-ресурсов
Классификация
Кластеризация
Ассоциация
Рис. 51. Категории Web Mining
{ядами Web Mining
Характеристики
II (влечение Web-кошен та
II !влеченне
Web-структур
Исследование
валач
В целях информационно! о
поиска
В целях ря1мен|ення в БД
иснолыовяння
W еЬ-ресурсов
Гии данных
Неструктур про ва нн ые.
Слабое тру ктурн ровен ные
Слабоструктурированные.
Web-сайт как БД
Структуры
ссылок
"Следы”
взаимодействия
Айал и mi ру ем ме
данные
Гипертекстовые и текстовые
локуме1Гты
Гипертекстовые документы
Структуры
ссылок
Протоколы сервера.
Протоколы браузера
Подходы
Наборы слов, «-граммов.
Отношения.
Граф
Реляционные таблицы.
к представлению
данных
Термины, фразы.
Понятия или онтологии.
Отношения
Маркированный граф.
Графы
Метод
TKIDF и его варианты.
Частные алгоритмы.
Частные
Статистические.
Машинное обучение.
Статические методы,
в том числе и NLP
NLP.
Модифицированные ассоциа¬
тивные правила
алгоритмы
М од и ф и ил рован н ые
ассоциативные
правила.
Машинного обучения
Прикладное
применение !адач
Кластеризация.
Классификация.
Правила поиска извлечения.
Поиск шаблонов в тексте.
Моделирование пользователя
Поиск частных подструктур.
Обнаружение схем
Web-сайтов
Кластеризация
и классификация
Конструкция сайта,
адаптация
и управление.
Маркетинг.
Моделирование
пользователей
Рис. 52. Задачи Web Mining
На рис. 53 продемонстрировано взаимодействие браузера и веб¬
сервера. Все сайты сети Интернет хранятся на веб-серверах.
136
Рис. 53. Взаимодействие браузера и веб-сервера
Чтобы получить страницу сайта, браузер посылает запросы на веб¬
сервер. В ответ на них возвращаются файлы, необходимые для формиро¬
вания интернет-страницы в окне браузера. Загрузив страницу, пользова¬
тель просматривает имеющуюся на ней информацию, после чего он мо¬
жет перейти на другую согласно структуре сайта, связи в которой уста¬
навливаются посредством гиперссылок. Для удобства навигации страни¬
цы могут быть объединены в категории, а они, в свою очередь, в разделы.
Внутри категорий между страницами может быть разнообразная структу¬
ра (иерархическая, последовательная, сетевая). На большинстве сайтов
предусмотрен быстрый переход с любой страницы на главную. В зависи¬
мости от выбранной структуры пользователь перемещается с одной стра¬
ницы на другую.
7.3. Этапы Web Mining
Веб-майнинг включает в себя следующие этапы:
1. Сбор данных (Data Gathering): на этом этапе осуществляется сбор
и загрузка данных с веб-сайтов. Включает в себя использование веб-пауков
или API для извлечения информации со страниц и сохранения ее в струк¬
турированном формате.
2. Предобработка данных (Data Preprocessing): после сбора данных
следует их предварительная обработка. Включает в себя удаление лишних
137
символов или HTML-тегов, нормализацию текста, исправление орфогра¬
фических ошибок и т. д. Этот этап помогает улучшить качество и соответ¬
ствие данных для анализа.
3. Извлечение информации (Information Extraction): на этом этапе дан¬
ные анализируются и извлекаются нужные атрибуты или факты. Примера¬
ми могут быть извлечение заголовков новостей, цен продуктов, имен
и адресов компаний, отзывов пользователей и т. д. Это может быть сделано
с помощью методов обработки естественного языка (Natural Language
Processing), регулярных выражений или машинного обучения.
4. Анализ данных (Data Analysis): после извлечения информации про¬
водится анализ данных для выявления паттернов, трендов и взаимосвязей.
Включает в себя методы статистического анализа, машинного обучения,
графовых анализов и других алгоритмов. Целью анализа данных является
получение ценных инсайтов и понимание важных характеристик данных.
5. Визуализация и интерпретация (Visualization and Interpretation): по¬
сле анализа данных результаты представляются визуально для более про¬
стого и понятного восприятия. Может быть в виде графиков, гистограмм,
карт или других визуальных представлений данных. Также важна интер¬
претация результатов и создание выводов для принятия решений.
6. Применение результатов (Application of Results): наконец, получен¬
ные результаты и инсайты могут быть применены для различных целей.
Это может быть оптимизация сайта, предсказание трендов, улучшение
продуктов или услуг, выявление мошеннической деятельности и мн. др.
Применение результатов является последним этапом, который заключается
в использовании полученных знаний для достижения конкретных целей.
Всемирная сеть сейчас содержит огромное количество информации,
знаний. Пользователи на различных условиях могут просматривать все¬
возможные документы, аудио- и видеофайлы. Однако это многообразие
данных скрывает в себе проблемы, которые могут возникнуть не только
при анализе, но и при поиске необходимой информации в Интернет.
1. Проблема поиска нужной информации связана с тем, что пользова¬
тель не всегда сразу может найти необходимые ему электронные ресурсы.
Лишь небольшой процент ссылок среди предложенных поисковыми си¬
стемами приводит к требуемым документам. Также труден поиск неиндек¬
сированной информации такими средствами.
2. Проблема обнаружения новых знаний. Даже если найдено множе¬
ство информации, для пользователя извлечение полезных знаний является
довольно трудоемкой и непростой задачей. Сюда же можно и отнести
сложности, связанные с осмыслением сведений, понятием тех идей, кото¬
рые были вложены авторами.
138
3. Проблема изучения потребителей связана с предоставлением поль¬
зователю информации, которая оказалась бы ему интересна. Это особенно
актуально для электронных торговых порталов, которые могли бы «под¬
сказывать» пользователю при выборе товара.
7.4. Сбор текстовых данных
Пользователи генерируют большое количество информации, оставляя
свои следы в Интернете. По отдельности эта информация не предоставляет
интереса, но когда речь идет о большом количестве пользователей, такие
данные уже можно использовать для анализа.
Для понимания процесса сбора информации из сети важно выделить
основные типы источников, это позволит более точно подобрать инстру¬
мент и правильно спланировать исследование. Для проведения исследова¬
ний можно выделить следующие типы ресурсов:
• соцсеть;
• блог;
• новостной ресурс;
• интернет-приемная;
• интернет-ресурс для размещения общественных инициатив;
• личный дневник;
• другие ресурсы, на которых контент генерируют пользователи.
Рассмотренные далее инструменты позволят проводить сбор инфор¬
мации со всех типов ресурсов.
Для качественного анализа нужен большой массив данных, его можно
собирать вручную, копируя текст, либо применить автоматизированный
подход.
Существует 2 основных подхода для автоматизированного сбора ин¬
формации с веб-ресурсов:
• парсинг данных через API;
• парсинг данных путем скачивания контента.
Для разработчиков и опытных пользователей с целью быстрого полу¬
чения массивов данных в машиночитаемых форматах на сайтах часто реа¬
лизована возможность подачи запросов посредством API. API - это способ
программного взаимодействия с отдельным программным компонентом
или ресурсом. API (Application Programming Interface) - программный ин¬
терфейс приложения, интерфейс прикладного программирования. Опреде¬
ляет взаимодействие между несколькими программными посредниками,
виды вызовов или запросов, которые могут быть сделаны, форматы дан¬
139
ных, которые следует использовать, соглашения, которым следует следо¬
вать и т. д.
API также может обеспечить механизмы расширения, чтобы пользо¬
ватели могли расширять существующие функциональные возможности
различными способами и в разной степени. Может быть полностью
настраиваемым, специфичным для компонента или разработанным на ос¬
нове отраслевого стандарта для обеспечения совместимости. API пред¬
ставляет собой совокупность различных инструментов, функций, реализо¬
ванных в виде интерфейса для создания новых приложений, благодаря ко¬
торому одна программа будет взаимодействовать с другой. В общем слу¬
чае данный механизм применяется с целью объединения работы различ¬
ных приложений в единую систему. Это достаточно удобно для исполни¬
телей, так как в этом случае к другому приложению можно обращаться как
к «черному ящику». При этом не имеет значения его внутренний меха¬
низм. Важно, чтобы исследователь понимал общий принцип, что если сайт
или сервис имеет публичный API, это означает, что вы можете подклю¬
читься к базе данных этого сайта и с помощью определенных запросов по¬
лучить информацию в структурированном виде. Для работы с API-сайтов
можно использовать разные языки программирования, это может быть R,
Python, PHP, C и другие. Если исследуемый сайт имеет API, можно озна¬
комиться с документацией и заранее выяснить, какую информацию воз¬
можно скачивать и какими методами.
Чтобы понять, есть ли на ресурсе API, нужно найти соответствующий
раздел на сайте. Если визуально раздел найти не удалось, это еще не озна¬
чает, что его нет. К примеру, изучение главной страницы «Портал откры¬
тых данных Санкт-Петербурга» (https://data.gov.spb.ru/) не говорит нам
о том, что на сайте есть API, но если воспользоваться поиском, найдем со¬
ответствующий раздел, содержащий полную информацию по использова¬
нию API данного ресурса. Это инструкция к действию, в которой описан
формат хранения данных, методы и способы подключения, перечислены
доступные сервисы, а также приведены примеры запросов.
Также при работе с API важно понимать такие форматы данных, как
XML и JSON. Это самые распространенные форматы вывода результатов
запроса. Используя доступное API, можно выгружать разнообразную ин¬
формацию, к которой предоставлен доступ.
Работа с API включает в себя следующие правила:
1. Регистрация и получение ключа доступа: в большинстве случаев
для работы с API необходимо зарегистрироваться на соответствующем ре¬
сурсе и получить уникальный ключ доступа (API key) или токен. Этот
ключ будет использоваться для аутентификации приложения и доступа
к API.
140
2. Ограничения использования: API может иметь ограничения на ко¬
личество запросов в единицу времени, ограничения на размер данных, до¬
ступ только для определенных регионов и т. д. Важно ознакомиться
с документацией API и учитывать эти ограничения при разработке и ис¬
пользовании вашего приложения.
3. Аутентификация: в большинстве случаев API требует аутентифика¬
ции, чтобы убедиться в легитимности пользователя и обеспечить безопас¬
ность данных. Ключ доступа или токен обычно передается в заголовке
HTTP-запроса или в параметрах запроса.
4. Формат данных: API может предоставлять данные в различных
форматах, таких как JSON, XML или CSV. Полученные данные необходи¬
мо правильно интерпретировать и обработать в приложении.
5. Обработка ошибок: API может возвращать различные коды состоя¬
ния HTTP для обозначения успешности или ошибок запроса. Важно обра¬
батывать эти коды состояния и сообщения об ошибках, чтобы понимать,
что пошло не так, и принять соответствующие действия.
6. Документация и примеры: перед началом работы с API важно вни¬
мательно прочитать документацию, предоставленную разработчиками.
Документация должна содержать в себе информацию о доступных мето¬
дах, параметрах запроса, формате ответа и примеры использования. При¬
меры могут помочь пользователю быстрее начать работать с API и понять,
как применять различные функции.
7. Тестирование: перед полноценным использованием и внедрением
API важно провести тестирование в управляемом окружении. Протести¬
руйте различные сценарии использования, проверьте запросы и обработку
ответов, чтобы убедиться, что все работает корректно.
8. Безопасность: при работе с API обязательно учитывайте меры без¬
опасности. Защитите ключи доступа и токены от несанкционированного
доступа, используйте HTTPS для защищенной передачи данных и обраба¬
тывайте конфиденциальную информацию согласно нормам безопасности.
Следование этим правилам поможет эффективно работать с API и ис¬
пользовать его функциональность.
Ниже представлены некоторые из наиболее распространенных огра¬
ничений API:
1. Ограничение запросов в единицу времени: API может ограничивать
количество запросов, которые возможно выполнить в определенный пери¬
од времени, например в минуту или в час. Это может быть выражено как
конкретное число запросов или же как ограничение в виде скорости обра¬
щения к API (например, 100 запросов в минуту).
2. Ограничение размера данных: API может ограничивать размер дан¬
ных, возвращаемых в ответ на запрос. Например, это может быть ограни¬
141
чение на количество записей или на размер файла, который можно пере¬
дать или получить через API.
3. Ограничение доступа разных уровней: API может иметь разные
уровни доступа, такие как бесплатный или платный доступ, премиум-
подписка. Каждый уровень доступа может иметь свои ограничения по коли¬
честву запросов, функциональности или доступу к определенным ресурсам.
4. Ограничение по региону: некоторые API могут иметь ограничения
по регионам, в которых они доступны. Ограничение может основываться
на IP-адресе или других идентификаторах местоположения, может запре¬
щать доступ к API из определенных географических областей.
5. Аутентификация и авторизация: API может требовать аутентифика¬
цию, чтобы убедиться, что вы имеете право доступа к API. Это может
включать в себя использование API-ключей, токенов или других методов
идентификации. Ограничения могут быть связаны с недействительными
или истекшими ключами доступа, а также с ограничением доступа к опре¬
деленным методам или ресурсам API.
6. Безопасность: API может иметь ограничения в целях безопасности,
такие как ограничение доступа к определенным методам или ресурсам.
Это может включать в себя проверку прав доступа пользователя, защи¬
щенную передачу данных (часто с использованием HTTPS) и другие меры
безопасности для защиты информации и предотвращения несанкциониро¬
ванного доступа.
Важно ознакомиться с документацией API, чтобы полностью пони¬
мать ограничения, применяемые к конкретному API. Это поможет вам
планировать и разрабатывать свои приложения с учетом этих ограничений.
Парсинг - это процесс извлечения информации из структурированных
или полуструктурированных данных, таких как веб-страницы, файлы
JSON, XML или текстовые файлы.
XML - это формат хранения и представления данных, который очень
широко используется в самых различных областях:
• любые сайты Интернет показывают информацию, сохраненную
в формате XML;
• документы и электронные таблицы хранят данные в формате XML;
• архивные статистическое данные госзакупок, биржевых котировок,
научных исследований активно используют XML для хранения.
Парсинг (или анализ) данных имеет множество применений и может
быть полезен во многих областях. Вот некоторые основные причины ис¬
пользования парсинга:
1. Извлечение информации: парсинг позволяет извлекать нужные
данные из веб-сайтов или других источников. Например, возможно ис¬
пользовать парсинг для получения новостей, цен продуктов, рейтингов от¬
142
зывов, списка контактов и т. д. Может быть полезно для анализа конкурен¬
тов, мониторинга рынка, сбора информации о клиентах и других целей.
2. Анализ данных: парсинг помогает анализировать и понимать дан¬
ные. Возможно использовать парсинг для выявления паттернов, трендов,
связей и других особенностей данных. Например, можно использовать
парсинг для анализа текстовых данных, изображений, видео, социальных
медиа и многого другого. Может быть полезно для принятия решений,
предсказания трендов или выявления аномалий.
3. Извлечение структурированных данных: парсинг позволяет извле¬
кать структурированные данные из неструктурированных источников, та¬
ких как HTML-страницы или документы PDF. Может быть полезно для
преобразования данных в удобный формат (например, CSV или JSON) и их
дальнейшей обработки или анализа.
4. Автоматизация задач: парсинг может быть использован для автома¬
тизации повторяющихся задач. Например, возможно использовать парсинг
для автоматического сбора информации, обновления баз данных, генера¬
ции отчетов и т. д. Это может помочь вам сэкономить время и ресурсы,
а также улучшить точность и надежность процессов.
5. Мониторинг и отслеживание: парсинг позволяет мониторить и от¬
слеживать изменения или обновления в данных или веб-сайтах. Например,
можно использовать парсинг для отслеживания цен на товары, поиска но¬
вых статей на определенную тему, получения уведомлений о новых пред¬
ложениях и т. д. Может быть полезно для отслеживания конкурентов, сле¬
дования за новостями или быстрой реакции на изменения в рынке.
Это лишь некоторые примеры использования парсинга данных. В за¬
висимости от конкретных потребностей и задач, парсинг может быть адап¬
тирован и применен в различных сферах деятельности.
Алгоритм парсинга:
1. Загрузка данных: в первую очередь необходимо получить данные,
с которыми вы хотите работать. Может понадобиться скачать веб-страницу
или прочитать файл с данными.
2. Анализ структуры данных: определите структуру данных, которую
нужно извлечь. Если это веб-страница, можно использовать инструменты
для анализа HTML-кода и определения тегов, классов и идентификаторов
элементов, содержащих нужные данные.
3. Выделение данных: на основе анализа структуры данных разрабо¬
тайте алгоритм для извлечения нужной информации. Используйте соответ¬
ствующие методы и функции для работы с данными, например регулярные
выражения, библиотеки для парсинга XML или JSON, или инструменты
для работы с текстом.
143
4. Обработка данных: один из важных шагов парсинга данных - это
чистка и обработка извлеченной информации. Можно удалить ненужные
символы, преобразовать данные в нужный формат или применить другие
операции для улучшения качества данных.
5. Хранение данных: если необходимо сохранить извлеченные данные
для дальнейшего использования, следует решить, как и где их хранить.
Можно использовать базу данных, файлы или другие способы хранения
данных в зависимости от потребностей.
6. Итерация и автоматизация: парсинг данных часто требует автома¬
тизации для обработки больших объемов данных или для регулярного об¬
новления данных. Разработайте процесс, который позволяет повторять
парсинг и обновление данных при необходимости.
Конечно, алгоритм парсинга может быть более сложным и зависит от
конкретного случая. Однако указанные шаги представляют общий подход
к парсингу данных.
Многообразие сфер применения и востребованность формата XML
обусловливают непрекращающуюся разработку новых и улучшение суще¬
ствующих программ-парсеров - коммерческих и бесплатных, универсаль¬
ных и созданных под конкретный тип данных.
Независимо от того, какая программа-парсер используется, общий ал¬
горитм парсинга формата XML одинаков:
1. Анализируется структура источника XML, в котором находятся
нужные данные: определяются пути доступа к данным - в каких узлах или
атрибутах они хранятся, их структура - данные являются неделимыми
(атомарными) или составными, к какому типу они принадлежат. Этот этап
выполняется программой-парсером, в полуавтоматическом режиме.
От набора инструментов, предлагаемых программой-парсером, и удобства
работы с ними зависят время, которое затратится на анализ структуры
XML, и качество извлекаемых программой-парсером данных - их полноту
и точность.
2. Непосредственно извлечение данных и их сохранение в формате,
удобном для последующего поиска, трансформации и анализа. Возможно,
таким форматом будет база данных или таблица Ехсе1.
Требования к программе-парсеру могут варьироваться в зависимости
от конкретной ситуации и задачи парсинга данных. Общие требования, ко¬
торые могут быть полезными:
1. Эффективность: программа-парсер должна быть эффективной и ра¬
ботать достаточно быстро, особенно если обрабатываются большие объе¬
мы данных. Оптимизируйте алгоритмы и структуры данных для достиже¬
ния наилучшей производительности.
144
2. Гибкость и масштабируемость: парсер должен быть гибким
и способным адаптироваться к различным источникам данных и их изме¬
нениям. Он также должен быть масштабируемым, чтобы обрабатывать без
проблем как небольшие, так и большие объемы данных.
3. Обработка ошибок: при парсинге данных могут возникать ошибки,
такие как отсутствующие или поврежденные данные, изменение структуры
данных и другие. Парсер должен быть способен обрабатывать и сообщать
об ошибках, чтобы пользователь мог предпринять соответствующие дей¬
ствия.
4. Гибкий и простой интерфейс: парсер должен иметь гибкий и про¬
стой интерфейс для взаимодействия с пользователем. Интерфейс должен
позволять настроить параметры парсинга, указать источник данных и иметь
возможность просмотреть результаты парсинга.
5. Поддержка различных форматов данных: парсер должен быть спо¬
собен работать с различными форматами данных, такими как HTML, XML,
JSON, текстовые файлы и другие. Он должен иметь возможность извлекать
данные из этих форматов и обрабатывать их соответствующим образом.
6. Безопасность: если программа-парсер работает с конфиденциаль¬
ными данными, она должна быть безопасной и обеспечивать защиту дан¬
ных от несанкционированного доступа или утечки.
7. Документация и поддержка: парсер должен иметь достаточно до¬
кументации и поддержки, чтобы пользователи могли легко установить,
настроить и использовать его. Документация может включать в себя руко¬
водства пользователя, примеры кода, API-документацию и другие полез¬
ные материалы.
Это базовые требования, и они могут варьироваться в зависимости от
конкретных потребностей и требований проекта парсинга данных.
145
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое классификация веб-страниц?
2. Какие методы используются для анализа содержимого веб-страниц?
3. Как анализ сетевой структуры помогает в классификации веб-страниц?
4. Какие основные категории веб-страниц существуют?
5. Что такое информационные страницы?
6. Каковы характеристики коммерческих страниц?
7. Что включает в себя категория развлекательных страниц?
8. Какова роль социальных сетей в классификации веб-страниц?
9. Что такое блоги и персональные страницы?
10. Каковы цели образовательных страниц?
11. Как сходство между сайтами определяется?
12. Что такое различия между сайтами?
13. Как дизайн влияет на различия между сайтами?
14. Что такое Web Mining?
15. Какие три основных типа Web Mining существуют?
16. Каковы цели анализа содержимого в Web Mining?
17. Что такое анализ структуры в Web Mining?
18. Каковы задачи анализа пользовательского поведения в Web Mining?
19. Почему важно учитывать этические аспекты Web Mining?
20. Как Web Mining может помочь в улучшении веб-сайтов?
21. Какие основные этапы включает в себя процесс веб-майнинга?
22. Как происходит сбор данных в веб-майнинге?
23. Почему важна предобработка данных в процессе веб-майнинга?
24. Какие методы используются для извлечения информации из собранных
данных?
25. Как осуществляется анализ данных в веб-майнинге?
26. Какова роль визуализации в процессе веб-майнинга?
27. Какие проблемы могут возникнуть при поиске информации в интернете?
28. Как веб-майнинг может помочь решить проблемы поиска информации?
29. Какие источники данных наиболее полезны для веб-майнинга?
30. Каковы преимущества применения результатов веб-майнинга?
146
СПИСОК РЕКОМЕНДУЕМЫХ ИСТОЧНИКОВ
1. Агафонов, А. А. Основы технологий баз данных : учебное пособие /
А. А. Агафонов, А. М. Белов. - Самара : Самарский университет, 2023. - 304 с.
2. Алексеев, Д. С. Технологии интеллектуального анализа данных / Д. С. Алек¬
сеев, О. В. Щекочихин. - 2-е изд., стер. - Санкт-Петербург : Лань, 2024. - 176 с.
3. Бродский, Я. С. Анализ статистических данных : учебное пособие / Я. С. Брод¬
ский, А. Л. Павлов. - Донецк : ДонНУ, 2023. - 67 с.
4. Васильев, Е. П. Интеллектуальный анализ данных в технологиях принятия ре¬
шений : учебное пособие / Е. П. Васильев, В. И. Орешков. - Рязань : РГРТУ, 2023. -
180 с.
5. Кадырова, Н. О. Статистический анализ больших данных: подход на основе
машин опорных векторов : учебное пособие / Н. О. Кадырова, Л. В. Павлова. - Санкт-
Петербург : СПбГПУ, 2022. - 60 с.
6. Кобзаренко, Д. Н. Анализ больших данных : учебное пособие / Д. Н. Кобзарен-
ко, А. Г. Мустафаев ; сост. Д. Н. Кобзаренко. - Махачкала : ДГУНХ, 2019. - 107 с.
7. Пальмов, С. В. Основы сбора и обработки больших данных : учебное пособие /
С. В. Пальмов. - Самара : ПГУТИ, 2023. - 285 с.
8. Савельев, В. Статистика и котики / В. Савельев. - Москва : Издательство АСТ,
2024. - 192 с.
147
Лабковская Римма Яновна
Косов Павел Валерьевич
АНАЛИЗ БОЛЬШИХ ДАННЫХ
Учебное пособие
Электронное издание
Редактор Е. В. Пирогова
Компьютерная верстка Т. Л. Пинчук
План издания 2024 г., п. 48
Подписано к изданию 04.04.2025
Объем 9,5 уч.-изд. л.
Редакционно-издательский отдел СПбГУТ
193232 СПб., пр. Большевиков, 22