Download - Algoritmy extrakcie dát z webu
Autor: Milan ŠafárikVedúci: RNDr. Róbert Novotný
Ciele prácePreskúmať oblasť extrakcie dát z webu.
Analyzovať a vylepšiť algoritmy pre danú oblasť.
Vybraný algoritmus implementovať a vyhodnotiť efektivitu zvoleného algoritmu na rôznych reálnych aplikačných doménach.
Data miningData mining, alebo dolovanie z dát je veda
extrahovania skrytých hodnotných informácií z veľkých objemov dát.
Využíva sa tu množstvo rôznych techník, od štatistických a databázových až po rozhodovacie stromy a umelú inteligenciu.
3 fázy dolovania dátPredspracovanie – Nespracované (surové) dáta obyčajne nie sú
vhodné na dolovanie z rôznych dôvodov. Preto je potrebné odstrániť porušené a duplicitné dáta, alebo rôzne abnormality.
Spracovávanie dát – spracované dáta sú vstupom do vybraného algoritmu dolovania dát, ktorý nám extrahuje potrebné informácie, ktoré hľadáme.
Záverečné spracovanie – V mnohých aplikáciách nie sú všetky nájdené informácie užitočné. Tento krok hľadá tie užitočné a odstraňuje tie nepotrebné
Predspracovanie
1. Stiahne sa HTML dokument z internetu alebo sa načíta z disku.
2. Vytvorí sa z neho stromová štruktúra pomocou tried HtmlParser a Dom4J.
3. Odstránia sa nepotrebné dáta a html značky.
Spracovanie dát
1. Dáta z prvej fázy sa použijú ako vstup do algoritmov extrakcie.
2. Výstupom je množina výsledkov ohodnotených pravdepodobnosťami.
3. V záverečnom spracovaní sa už iba zbavíme výsledkov s nízkou pravdepodobnosťou.
Skryté Markovove modelySkryté Markovove modely sú štatistické modely stochastických procesov na počítanie pravdepodobnosti na základe vstupných pozorovaní. Sú reprezentované konečnostavovým automatom, ktorý môžeme vyjadriť päticou: G = (Q, V, A, B, π), kde:
Q = konečná množina N stavov modelu.V = konečná množina M vstupných symbolov (pozorovaní).A = matica pravdepodobností medzi stavmi.B = matica pravdepodobností medzi stavmi a pozorovaniami.π = vektor pravdepodobností počiatočného stavu.
Príklad
3 základné problémyOhodnotenie – Počítanie pravdepodobnosti, akou mohol model
vygenerovať danú sekvenciu pozorovaní. Využíva sa tu Forward algoritmus.
Dekódovanie – Počítanie sekvenciu skrytých stavov ktorá by mohla túto sekvenciu pozorovaní s najväčšou pravdepodobnosťou vygenerovať. Viterbiho algoritmus.
Naučenie – Natrénovať parametre modelu na danú sadu sekvencií. Na učenie modelu slúži Baum-Welchov algoritmus.
Programovanie
Naivné algoritmy sú pomalé.
Potreba urýchleného výpočtu
Dynamické algoritmy ako Forward a Baum-Welchov algoritmus.
Príklad naivného výpočtu
Zložitosť (2T - 1) · NT násobení a NT – 1 pripočítavaní.
N = 5, T = 100 až 1072 operácii!
Príklad dynamického výpočtu
N · (N + 1) · (T - 1) + N násobení a N · (N - 1) · (T - 1) pripočítavaní.
Využitie modelov
Extrakcia po skupinách slov – Ak hľadáme pojmy, ktoré sa skladajú z viacerých slov, je najlepšie použiť tento model. Každá časť extrahovanej informácie bude skrytý stav v markovovom modely.
Extrakcia po skupinách znakov – Najlepšie fungujúci na rozpoznávanie slov alebo čísiel. Stavy sú písmená a až z (0 až 9). Potreba učenia Baum-Welchovim algoritmom.
Extrakcia po slovách
Názvy mobilov: Samsung M8100, Motorola RAZR2 V9, LG GD510 Silver.
TestovanieTestovanie algoritmu na burzových dátach. Extrahovanie 10 rôznych informácii, spravených bolo 300 rôznych testovaní. Úspešnosť medzi 54% – 100%.
Možné vylepšenia
Využitie HTML štruktúry.
Preskakovanie v prehľadávaní textu.
Odborná literatúra
1. Lawrence R. Rabiner, A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.
2. B. H. Juang, An Introduction to Hidden Markov Models
3. Altigran S. da Silva, A Brief Survey of Web Data Extraction Tools
Meranie efektivity
Precision (Presnosť) = Počet správne nájdených / Počet všetkých nájdených. Vysoké hodnoty.
Recall (Návratnosť) = Počet správnych / Počet, ktoré mali byť navrátené. Počítané hodnoty.
Meranie efektivity
F1 sa počíta, ak β = 1.
F2 sa počíta, ak β = 2.