Статьи

Застосування XML в глибинному аналізі даних

  1. Часто використовувані скорочення
  2. Огляд глибинного аналізу даних
  3. кластеризація
  4. Таблиця 1. Поширені види кластеризації для глибинного аналізу даних
  5. Навчання за асоціативним правилами
  6. огляд XML
  7. Таблиця 2. Діалекти XML для глибинного аналізу даних
  8. Подання слабоструктурованих даних за допомогою XML
  9. Лістинг 1. Приклад XML-документа
  10. Малюнок 1. XML-документ у вигляді орієнтованого графа
  11. Лістинг 2. Просте XPath-вираз
  12. Лістинг 3. XQuery-вираз для пошуку всіх вузлів film
  13. Лістинг 4. Анотований результат XQuery
  14. Лістинг 5. XML-представлення бази даних
  15. Виявлення змін в XML-даних
  16. висновок
  17. Ресурси для скачування

Роль XML в глибинному аналізі даних - Поради та методики використання

Часто використовувані скорочення
  • API: Application Programming Interface (прикладний інтерфейс програмування)
  • HTML: Hypertext Markup Language (мова розмітки гіпертексту)
  • XML: Extensible Markup Language (розширювана мова розмітки)

Глибинний аналіз даних (data mining) - це процес застосування алгоритмів до даних для виявлення закономірностей, відповідних заданому контексту або запиту. Організації протягом багатьох років використовують глибинний аналіз даних для аналізу великих обсягів інформації з метою прогнозування поведінки, складання інформативних звітів, досягнення переваги над конкурентами і т.д.

Поширення неструктурованих і слабоструктурованих даних в Web підвищує потреба в інтелектуальному глибинному аналізі даних, їх зберіганні та обробці. Поява великих наборів даних все зростаючої складності піднімає на новий рівень вимог до обробки традиційні методики глибинного аналізу даних. Глибинний аналіз даних, розміщених в Web, включає в себе застосування структур до інформації, представленої в кращому випадку в слабоструктурированное форматі.

Огляд глибинного аналізу даних

Глибинний аналіз даних має на меті пошук закономірностей в великих обсягах даних за допомогою, серед іншого, статистичних методів, штучного інтелекту і стандартних методик управління базами даних.

У міру збільшення обчислювальної потужності і повсюдного поширення можливостей підключення пристроїв важливість глибинного аналізу даних стає все більш очевидною. Організації в прагненні отримати конкурентні переваги спрямовують зусилля на перетворення величезної кількості даних в цінну бізнес-інформацію. Ці знання дають переваги в науці, маркетингу, протидії шахрайству, спостереженні та інших областях. Отримувані від глибинного аналізу даних вигоди привели до різкого зростання попиту на більш ефективні методики, технології і рішення для аналізу. До ефективних рішень відносяться оптимізовані методики і технології вилучення, фільтрації і перетворення даних. Потім перетворені дані відкриваються для використання за допомогою Web-сервісів, систем обміну повідомленнями і т.д.

Глибинний аналіз даних зазвичай включає в себе кілька стандартних завдань, в тому числі кластеризацию, класифікацію, регресію і навчання по асоціативним правилами (associated rule learning).

кластеризація

Кластеризація (clustering) в контексті глибинного аналізу даних - це спроба виявити в неструктурованих або слабоструктурованих даних подібні підгрупи (кластери) даних. В таблиці 1 перелічені та описані деякі поширені види кластеризації для глибинного аналізу даних.

Таблиця 1. Поширені види кластеризації для глибинного аналізу даних

Вид кластеризації Опис Грід-кластеризація Використовує порогові значення для виявлення матриць або "осередків" даних, з яких формуються кластери. Ієрархічна кластеризація Включає в себе пошук послідовних груп або кластерів даних з використанням раніше виявлених кластерів для формування ієрархії кластерів від маленьких до великих. Кластеризація на основі розташування або відстані Включає методи виявлення кластерів даних на основі віртуального або фізичного місця розташування. Кластеризація поділом Рекурсивно розділяє об'єкти даних на фіксоване число кластерів.

Класифікація - це процес каталогізації даних відповідно до визначеної таксономії або організацією (наприклад, вага, колір і т.д.). Одним з найбільш частих застосувань класифікації є ідентифікація спаму або небажаних листів, що відправляються по електронній пошті.

Регресія в глибинному аналізі даних являє собою статистичний метод прогнозування даних. Наприклад, можна спрогнозувати вартість будинку по його місцю розташування, кількості спалень, площі і т.д. На основі кількісних даних розробляються формули, які потім застосовуються до наступних даними для формування прогнозу. Регресія зазвичай використовується для прогнозування.

Навчання за асоціативним правилами

Навчання за асоціативним правилами здійснюється шляхом пошуку взаємозв'язків між об'єктами даних для прогнозування, позиціонування продуктів і т.д. Наприклад, продуктовий магазин може використовувати навчання за асоціативним правилами для прогнозування переваг клієнтів, виходячи з інформації про те, що при покупці хот-догів, булочок і деревного вугілля клієнт зазвичай купує і паперові тарілки.

огляд XML

XML - це текстова мова розмітки, який можна використовувати для структуризації даних в різних діалектах. Діалекти XML зазвичай задаються схемами, які знаходяться в зовнішньому сховищі за посиланням або вбудовані в XML-документ. Більшість популярних мов програмування надає ту чи іншу форму підтримки роботи з XML-документами.

XML - це підмножина мови Standard Generalized Markup Language (SGML); він призначений для надання метаінформації про вміст даного XML-документа. XML зберігає апаратно і програмно-незалежні дані в простому текстовому форматі. Ці властивості роблять XML одним з найпопулярніших в Web форматів обміну даними та спільного використання інформації додатками і системами.

Діалекти XML досить широко використовуються для глибинного аналізу даних. В таблиці 2 перелічені та описані деякі з найбільш часто використовуваних діалектів.

Таблиця 2. Діалекти XML для глибинного аналізу даних

Діалект Опис CWM-DM Специфікація CWM-DM (Common Warehouse Model for Data Mining) визначає метадані для аналізу, такі як опис моделі, настройки алгоритму і атрибути. CWM-DM-моделі є XML-документами, згенерували за допомогою інструментальних засобів і додатків UML (Unified Modeling Language). PMML Специфікація PMML (Predictive Model Markup Language) являє собою XML-діалект для визначення статистичної моделі та моделі аналізу даних, які можуть спільно використовуватися різними PMML-сумісними сервісами та додатками. PMML дозволяє гетерогенним сервісів і додатків маніпулювати моделями аналізу даних стандартним способом. PMML-документ складається з таких елементів як заголовок, словник даних, карти перетворення даних, визначення моделі, схема аналізу, цільові об'єкти пост-обробки і вихідні поля. XMLA Специфікація XMLA (XML for Analysis) визначає XML-інтерфейси, що використовують SOAP для надання доступу до аналітичними даними з різних джерел за допомогою двох методів: виявлення та виконання. XMLA призначена для глибинного аналізу даних та аналітичної обробки в режимі реального часу (Online Analytical Processing - OLAP). XPath Мова XPath (XML Path Language) - це загальний механізм, що використовується для посилань на елементи і дані всередині XML-документа. Він схожий на механізми, які застосовуються для навігації по файловій системі. XQL Мова XQL (XML Query Language) - це мова запитів, спроектований спеціально для XML-даних, який аналогічний мови SQL (Structured Query Language) для роботи з реляційними даними.

Подання слабоструктурованих даних за допомогою XML

Слабоструктурированное називаються дані певної структури, якої недостатньо для елегантного застосування реляційної моделі. Слабоструктуровані дані зазвичай містять теги або інші елементи для поділу семантично пов'язаних елементів, що несуть певну інформацію про асоційованих даних. Однією з популярних форм слабоструктурованих даних є HTML. Слабоструктуровані дані, головним чином в форматі HTML, відкривають нові горизонти глибинного аналізу даних з Web.

XML дозволяє представляти як табличні, так і ієрархічні дані. Також XML оснащений вбудованими метаданими і іншими описовими об'єктами, такими як схеми і DTD (Document Type Definition). XML може представляти дані у вигляді як простих, так і складних і хитромудрих структур. Це робить XML-діалекти чудовими словниками для подання слабоструктурованих даних.

XML влаштований таким чином, що фактично змушує сервіс або додаток структурувати дані. Тому механізми глибинного аналізу даних застосовують до оброблюваних даних семантики для визначення корисної моделі даних. Проектувальники даних, що використовують XML-діалект як формат даних, отримують повний контроль над семантичної моделлю, яка визначає дані.

XML також надає достатню кількість загальних атрибутів для сервісів і додатків, що допомагає реалізувати загальний доступ до даних з гетерогенних середовищ і мов програмування. Такий доступ дозволяє програмісту або користувачеві сконцентруватися на обробці і споживанні даних замість розробки алгоритмів і програмування обробки і споживання.

Подання слабоструктурованих даних у вигляді XML-документа вимагає наявності надійної системи глибинного аналізу даних, пристосованої для споживання, управління і виведення XML-даних. Система аналізу даних, що відповідає цим вимогам, дозволяє працювати з такими з даними загальноприйнятими способами.

Слабоструктуровані дані, представлені в XML-форматі, можна сприймати як позначений орієнтований граф, що містить одну кореневу вершину. Ребра, листя та інші вузли XML-графа можуть бути позначені текстом. Також кожен вузол в графі може бути ідентифікований за допомогою унікального ідентифікатора.

Розглянемо приклад XML-документа, що представляє фільмографію (див. лістинг 1 ).

Лістинг 1. Приклад XML-документа

<Filmography> <director name = "Scorsese"> <year> 2002 <film> <title> Deuces Wild </ title> </ film> </ year> <year> 2003 <film> <title> The Soul of a Man </ title> </ film> <film> <title> The Blues </ title> </ film> </ year> </ director> </ filmography>

XML-документ з лістингу 1 можна представити у вигляді графа, показаного на малюнку 1 .

Малюнок 1. XML-документ у вигляді орієнтованого графа
Роль XML в глибинному аналізі даних - Поради та методики використання   Часто використовувані скорочення   API: Application Programming Interface (прикладний інтерфейс програмування)   HTML: Hypertext Markup Language (мова розмітки гіпертексту)   XML: Extensible Markup Language (розширювана мова розмітки)   Глибинний аналіз даних (data mining) - це процес застосування алгоритмів до даних для виявлення закономірностей, відповідних заданому контексту або запиту

Мови запитів, засновані на XML-технології, створюються з метою досягнення будь-якої довільної точки у графі XML-документа за допомогою послідовностей міток ребер і роздільників, що описують шлях. В лістингу 2 показаний шлях, або XPath-вираз, для вузла Deuces Wild на XML-графі, представленому на малюнку 1 . Шлях починається з кореневої мітки.

Лістинг 2. Просте XPath-вираз

/ Filmography / director [@ name = "Scorsese"] / year [0] / film / title / text ()

Щоб виключити неоднозначності в XML-документах, використовуйте контекст, з якого породжуються дані. Наприклад, якщо людина шукає режисера на прізвище White, а XML-документ містить фільм з назвою White, контекст, певний XPath-виразом / filmography / director [@ name = "White"] @ name, усуває двозначність в XPath-вираженні / filmography / director [@ name = "White"] / year [1] / film [0] / title / text ().

Отримання інформації з джерел слабоструктурованих даних, таких як HTML-документи в Web, зазвичай вимагає фільтрації, перетворення і вилучення даних. Щоб надати HTML-документу структуровану форму, перетворіть його в XHTML-документ (Extensible Hypertext Markup Language). Зазвичай це має на увазі виконання процесу фільтрації, в який входить групування вузлів за назвою тега і видалення елементів, що заважають, таких як які не рекомендовані теги і атрибути, і т.д. Наступний крок - перетворення відфільтрованого документа шляхом оголошення єдиного кореневого елемента html, перетворення назв атрибутів і елементів тегів в малі літери, додавання кінцевих тегів до всіх початковим, додавання атрибутів alt до тегам img і т.д.

При використанні описаного процесу фільтрації / перетворення / вилучення можна розглядати Web як велике сховище XML-даних. Тим самим вилучення даних з Web можна значно спростити, використовуючи мову запитів для XML, наприклад, XQuery.

Щоб за допомогою XQuery витягти і використовувати дані з XHTML-документа, потрібно сформулювати запит на пошук вмісту в документі, створюючи при необхідності нові XML-структури або зовсім нові XML-документи. Пошук даних в документі є прикладом зіставлення зі зразком (pattern matching) за допомогою XPath-виразів.

У XQuery-запиті в лістингу 3 міститься просте XQuery-вираз, що повертає назви фільмів 2002 року через XML-документа, представленого в лістингу 1 .

Лістинг 3. XQuery-вираз для пошуку всіх вузлів film

for $ x in doc ( "www.example.com/films.xml") / filmography / director where $ x / year = "2002" return $ x / year / film / title

Відзначимо, що результати, повернуті з XQuery-документа, можна анотувати за допомогою XML-тегів, атрибутів та іншої розмітки, необхідної споживачеві результатів. Наприклад, зверніть увагу на фрагмент, представлений в лістингу 4 .

Лістинг 4. Анотований результат XQuery

for $ x in doc ( "www.example.com/films.xml") / filmography / director return <director name = "{$ x [@id]}"> <other_data> ... </ other annotated data> </ director>

В лістингу 4 повернений із XQuery-коду результат анотується як XML-фрагмент з даними, отриманими із запиту.

Особливістю XQuery є можливість вказати конкретний документ, до якого ви хочете застосувати запит. У XQuery можна розширити XPath-вираз / filmography / director [@ name = "White"] @ name, щоб застосувати його до конкретного документа:

doc ( "www.example.com/films.xml") / filmography / director [@ name = "White"] @ name

За допомогою XQuery-виразів можна виявляти подібності в XML-даних, виконуючи пошук даних за загальним елементу (наприклад, імені автора, джерела даних і т.д.). Більш складні методи, такі як зважування частоти і нормалізація частоти, виходять за рамки даної статті.

Як вже говорилося, структура XML-документа являє собою вкладене ієрархічне дерево з вузлами декількох типів, такими як елементи, посилання на логічні об'єкти, коментарі і т.д. Документ може мати тільки один кореневий вузол (root node), який є першим вузлом в документі.

Реляційна база даних складається з набору таблиць, що містять набір записів або рядків. Запис або рядок містить набір полів або стовпців, що містять дані. Всі рядки в даній конкретній таблиці мають однакове число стовпців. Отже, реляційну базу даних можна уявити як ієрархічну XML-структуру, що складається з вузла database, що містить набір вузлів table, що містять набір вузлів row, що містять набір вузлів column.

Можна створити модельну реляційну базу даних (filmography) зі структурою, що складається з однієї таблиці (director), що містить один рядок (row) у вигляді XML-документа, як показано в лістингу 5 .

Лістинг 5. XML-представлення бази даних

<Filmography> <director> <row> <name> Scorsese </ name> <year> 2002 <film> <title> Deuces Wild </ title> </ film> </ year> <year> 2003 <film> <title > The Soul of a Man </ title> </ film> <film> <title> The Blues </ title> </ film> </ year> </ row> </ director> </ filmography>

Відзначимо, що таблиці, пов'язані з ключу, можуть бути вкладеними, як показано в лістингу 5 , Або посилатися один на одного за посиланням, вбудованої в документ у вигляді атрибуту з назвою пов'язаної таблиці.

Виявлення змін в XML-даних

Споживачі XML-даних, повернутих запитами глибинного аналізу даних, часто цікавляться тільки тими даними, які змінилися з моменту попереднього запиту. Рішення такого роду задач найчастіше грунтуються на реалізації процесу збереження / індексація / виявлення змін (store / index / diff). Спочатку виконується вилучення та збереження XML-даних. Потім ці дані індексуються з використанням таких методик, як індексація по шаблонним виразами XML, індексація по B-деревам, структурна індексація, індексація вмісту або ключових слів та ін. Після індексації з'являється можливість швидко знаходити XML-дані для виявлення змін за допомогою послідовного пошуку. При цьому формується дельта (зміна), яку можна порівняти з поточними даними.

Виявлення змін може бути корисно для ідентифікації змін в шаблонах даних, які можна використовувати для подальшого аналізу і прогнозування.

висновок

Процеси глибинного аналізу даних передбачають застосування спеціальних алгоритмів для виявлення закономірностей в даному контексті або запиті. Організації використовують цей підхід для аналізу великих наборів даних з метою формування змістовних звітів, які допомагають спрогнозувати поведінку, випередити конкурентів і т.д.

Величезні обсяги неструктурованих і слабоструктурованих даних, розміщених в Web і внутрішніх сховищах даних, вимагають інтелектуального і ефективного аналізу даних. Великі і складні набори даних піднімають традиційні методики глибинного аналізу даних на новий рівень вимог до обробки. Глибинний аналіз даних, розміщених в сучасних сховищах, вимагає структурування неструктурованих або в кращому випадку слабоструктурованих даних.

У даній статті були розглянуті питання використання і роль XML в глибинному аналізі даних, включаючи порівняння з шаблоном, виявлення змін, пошук подібності, анотації даних і семантику. Також були коротко розглянуті існуючі стандарти для використання XML в контексті глибинного аналізу даних.

Ресурси для скачування

Схожі тими

  • Оригінал статті: Add XML as a data mining tool (EN).
  • Глибина аналіз Web-Даних (Джуссі Міллімакі (Jussi Myllymaki) и Джеред Джексон (Jared Jackson), developerWorks, червень 2001 роки): інформація про Автоматичне вітяганням информации з Використання технологій HTML, XML и Java ™ (EN).
  • Початок роботи з XPath (Бертран Портьє (Bertrand Portier), developerWorks, травень 2004 роки): основи мови XML Path або XPath (EN).
  • Обробка XML з використанням XQuery (Ніколас Чейз (Nicholas Chase), developerWorks, травень 2007 року): інформація про більш простому і природному пошуку XML-даних з використанням XQuery 1.0 (EN).
  • Як XQuery розширює XPath (Донні Кемерон (Donnie Cameron), developerWorks, квітень 2008 року): інформація про те, що можна зробити в XQuery і не можна в XPath (EN).
  • Глибинний аналіз даних за допомогою WEKA. Частина 1: введення і регресія (Майкл Абернеті (Michael Abernethy), developerWorks, квітень 2010 року): інформація про програмне забезпечення з відкритими початковими кодами для глибинного аналізу даних і про найпопулярніші методиках інтерпретації даних (EN).
  • Глибинний аналіз даних за допомогою WEKA. Частина 2: класифікація та кластеризація (Майкл Абернеті (Michael Abernethy), developerWorks, травень 2010 року): інформація про двох стандартних методах аналізу даних, класифікації і кластеризації, які можна використовувати для більш глибокого аналізу даних (EN).
  • Глибинний аналіз даних за допомогою WEKA. Частина 3: методика "найближчого сусіда" і серверна бібліотека (Майкл Абернеті (Michael Abernethy), developerWorks, червень 2010 року): детальна інформація про застосування методики "найближчого сусіда" для глибинного аналізу даних (EN).
  • Інші статті цього автора (Джеффрі Хенсон (Jeffrey Hanson), developerWorks, з червня 2006 року по теперішній час): статті про захист машапів, API соціальних мереж, REST-сервісах, інфраструктурах, Apache Geronimo та інших технологіях (EN).
  • Сертифікація IBM XML : Інформація про отримання сертифіката IBM-Certified Developer по XML і суміжних технологій.

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Новости