110 likes | 291 Views
Extrakcia ľudí pomocou Apache UIMA a Apache Hadoop. Marek Šurek. Zadanie. Za pomoci uveden ých frameworkov hľadať výsky t osôb v texte Pracovať s anglickou wikipédiou Možnosť spracovať výsledky paralelne na klastry (vytvorenie Hadoop job)
E N D
Extrakciaľudí pomocou Apache UIMA a ApacheHadoop Marek Šurek
Zadanie • Za pomoci uvedených frameworkov hľadať výskyt osôb v texte • Pracovať s anglickou wikipédiou • Možnosť spracovať výsledky paralelne na klastry (vytvorenie Hadoop job) • Identifikácia osôb má prebiehať na základe krstných mien poprípade regulárnych výrazov
Motivácia • Drvivá väčšina dát na internete je neštrukturovaná • Nato aby sme im boli schopný porozumieť, musíme vedieť rozoznávať ich informačnú hodnotu(čo presne daný text popisuje) • Extrahované dáta je možné následne klasifikovať do ontológií typu FOAF a prejsť tak z web 2.0 na sémantický web
Čo podobné existuje • Okrem UIMA je rozšírený aj framework GATE, ktorý má taktiež podporu na rozoznávanie osôb • IBM používa UIMA v Watsonovi • Voľne dostupné implementácie pre framework UIMA neexistujú • Framework dáva programátorom len podporu pri vytváraní anotátorov
Softvérový prototyp • Programovací jazyk Java SE 6 • Apache UIMA - 2.4 • Apache Hadoop -1.04 • VirtualBox s Ubuntu -12.04
Metódy anotácie mien • Upravený slovník anglických krstných mien • Slovník „stopWords“ • Slovník titulov (profesné, akademické, armádne, časti oslovenia) • Tokenizácia • Regulárne výrazy – veľké začiatočné písmeno, meno spojené pomlčkou, iniciály v mene + kombinácia týchto prístupov so slovníkmi • Zásobník na 6 tokenov • Jednoduchý systém váh • Získanie priezviska z titulky článku
Implementácia • Celý funkčný program (aj so slovníkmi zabalený do jedného .jar súboru) • Vlastný Hadoop dátový typ WikiOutput • Upravený XMLInputFormat • RecordReader na základe tagov <page> • Vlastný výstup
Problémy • Neznalosť OS Linux, Hadoop, Apache UIMA • Nefunkčný návod na spojenie Apache Hadoop a UIMA • Slabá komunita okolo frameworku UIMA • Neimplementovaná priama podpora na čítanie XML vo frameworku Hadoop
Výstupy • Aplikácia nemá grafické rozhranie (konzola) • Výstup je presmerovaný do súboru • Výstup z programu je nasledovný : Identifikované meno | počet výskytov | url na výskyty mena na wikipédii oddelené bodko-čiarkou
Vyhodnotenie Dataset 1 (10 článkov, ručne ohodnotených, 17k slov) • Presnosť : 92,5625% • Pokrytie : 84,9684% • Výborné výsledky ale : • Malá testovacia vzorka v porovnaní s celou wikipédiou • Niektoré články mali podstatne horšiu presnosť alebo pokrytie (pod 50%) no v konečnom meradle mali nízku váhu • Pri testovaní väčšieho Dataset 2(2m riadkov, 117MB) boli očividné rôzne prípady nesprávneho určenia mena