Případová studie: extrakce strukturovaných dat z webu s využitím extrakčních ontologií Aleš Pouzar1 a Martin Labský2 1
Katedra informačního a znalostního inženýrství, Vysoká škola ekonomická v Praze, nám. W. Churchilla 4, 130 67 Praha 3
[email protected] 2 IBM Prague Research Lab, V parku 2294/4, 148 00 Praha 4
[email protected]
Abstrakt Tato studie se zabývá úlohou automatizace zpracování webového obsahu a sémantického anotování textu pro dvě vybrané domény. Ze stránek e-shopů jsou extrahovány nabídky notebooků a z webových prezentací firem volně publikované pracovní nabídky. Výsledkem extrakčního procesu jsou strukturovaná data uspořádaná do objektů, ve kterých je každému údaji přiřazena odpovídající sémantická značka. Pro realizaci úlohy byl vybrán extrakční systém Ex, který kombinuje dva typy extrakčních znalostí: ručně zadaná pravidla a supervizované algoritmy strojového učení. Díky expertní znalosti v podobě pravidel, ve kterých je možné částečně zohlednit i formátovací strukturu dokumentů, lze účinně kompenzovat nedostatek trénovacích dat. Pravidla jsou přitom nezávislá na konkrétní webové struktuře a jeden extrakční model je tak možné využít pro heterogenní množinu dokumentů. I menší počet trénovacích dat vede k lepším výsledkům u hodnot těch atributů, které jsou jinak obtížně specifikovatelné jen s pomocí ručních pravidel.
Klíčová slova: extrakce informací, automatická sémantická anotace, extrakční ontologie, strojové učení, rozpoznávání pojmenovaných entit
1
Úvod a motivace
Cílem je navržení jednoho extrakčního modelu pro každou doménu, s jehož pomocí je možné získat strukturovaná data o vysoké granularitě z množiny heterogenních webových dokumentů (z hlediska formátovací struktury). Narozdíl od tzv. wrapper přístupu [3] není nutné vytvářet pro každý web různá extrakční pravidla, naopak stačí udržovat jediný model, který lze průběžně vylepšovat (např. zvyšováním počtu trénovacích dat). Obě vybrané extrakční úlohy pokrývají tři základní typy webových dokumentů: pevně strukturované dokumenty (generované převážně automaticky z databáze na základě šablon), strukturovaný volný text (každá informace je zpravidla na samostatném řádku) a nestrukturovaný volný text (informace jsou obsaženy ve větách, absence formátování apod.).
První typ představují produktové katalogy eshopů, druhý typ je nejblíže detailovým stránkám o produktech a některým pracovním nabídkám a poslední typ odpovídá zbývajícím pracovním nabídkám. Výchozí motivací je získání takových dat, která by byla využitelná v reálných aplikacích jako strukturované vyhledávání produktových a pracovních nabídek nebo komparativní nakupování. V současné době jsou podobné aplikace závislé na datech, které jim poskytují samotné firmy3 . Z toho důvodu nepokrývají zdaleka všechen relevantní obsah, který se na webu nachází. Manuální sběr dat, který by tuto mezeru zacelil, je při tak častých změnách pracovních i produktových nabídek a jejich velkém počtu (desetitisíce) vyloučený. Extrakce informací je prostřední a zároveň nejkritičtější článek celého procesu – prvním krokem je získání dostatečně obsáhlé množiny webových dokumentů, úkolem finální fáze je spárovat nabídky týkající se identických produktů (resp. odstranit duplicitní záznamy pracovních nabídek). Ve výsledku tak musí být extrakční model dostatečně robustní i pro nerelevantní dokumenty a zároveň popsat co nejvíce důležitých informací, které by usnadnily finální proces párování nabídek. Další části textu jsou členěny následovně. Druhá sekce stručně popisuje nástroj Ex a uváděný pojem extrakční ontologie. Ve třetí části následují údaje o datasetech, se kterými byly provedeny experimenty. Čtvrtá sekce je věnována návrhu extrakčních ontologií, pátá sekce prezentuje výsledky a poslední část shrnuje výhody i nevýhody použitého přístupu.
2
Popis extrakčního systému
Extrakční nástroj Ex4 , vyvíjený na VŠE Praha, slouží k extrakci pojmenovaných entit (hodnot atributů) a k jejich seskupování do relací (instancí tříd). Zpracovávat lze dokumenty s různým množstvím formátovací struktury jako jsou webové stránky, ale také čistě textové nebo tabulární dokumenty. Definice tříd a třídu tvořících atributů se zapisují do tzv. extrakční ontologie [1]. Snahou je zde využít doménové ontologie doplněné o znalosti umožňující automatickou extrakci z textu. Mezi doménové ontologie využitelné pro odvození sruktury extrakčních ontologií [4] v oblasti nabídek produktů patří např. CEO5 nebo nově vznikající PTO6 . Odvozením z vhodné doménové ontologie se současně minimalizuje úsilí nutné pro zpětnou konverzi extrahovaných výsledků při populaci zdrojové ontologie. Nástroj Ex kombinuje celkem tři typy extrakční znalosti: pravidla ručně zadaná expertem, znalosti indukované z trénovacích dat pomocí algoritmů strojového učení a částečně jsou využita nesupervizovaně indukovaná pravidla o formátovací struktuře dokumentů. Extrakční ontologie definuje jednu nebo více 3
4 5 6
Eshopová data o produktových nabídkách jsou zpravidla poskytována konečným aplikacím (např. Heureka.cz) prostřednictvím tzv. XML feedů, které musí mít požadovanou strukturu. To je často překážkou pro menší eshopy. http://eso.vse.cz/~labsky/ex/ http://www.ebusiness-unibw.org/ontologies/consumerelectronics/v1 http://www.productontology.org
tříd (např. produktová nabídka) sestávajících z atributů, u kterých lze definovat kardinalitní a datotypová omezení a využít dědičnosti (např. cena a cena s DPH). Definice atributů i tříd obsahují extrakční indicie, které jsou reprezentovány zejména regulárními vzory a axiomy. Regulární vzory na úrovni třídy specifikují pravděpodobná pořadí atributů uvnitř instance nebo kontext jejího výskytu, zatímco na úrovni atributů modelují předpovídanou hodnotu atributu (obsahové vzory) nebo okolí jeho výskytu (kontextové vzory). Vzory lze definovat na úrovni slov (včetně rozsáhlých seznamů), vlastností slov, na úrovni znaků a na úrovni formátovacích značek (HTML elementů). Třídní axiomy představují tvrzení o obsahu třídy (typicky o vztazích mezi hodnotami jejích atributů, např. „emailová adresa je podobná jménu majitele“), zatímco axiomy definované na atributech se vyjadřují o hodnotě daného atributu. Axiomy je možné definovat jako funkce jazyka JavaScript vracející binární výsledek. U každé indicie je možno nastavit dva pravděpodobnostní odhady. Přesnost indicie stanovuje pravděpodobnost výskytu atributu v případě, že daná indicie platí: P (hodnota atributu|indicie). Pokrytí indicie stanovuje, do jaké míry je přítomnost vzoru pro extrakci hodnoty daného atributu nutná: P (indicie|hodnota atributu). Dále je každý typ atributu spojen s určitou nízkou apriori pravděpodobností výskytu v textu. Na základě vyhodnocení všech indicií a předpokladu jejich podmíněné nezávislosti systém odhadne pravděpodobnost každé potenciální hodnoty atributu ve zkoumaném dokumentu podle [5]. Pro extrakci atributů lze navíc přímo z extrakční ontologie trénovat a používat externí algoritmy strojového učení: značkovač sekvencí CRF++[6] a některé klasifikátory implementované v systému Weka [2]. Rozhodnutí těchto algoritmů je obvykle využito jako další obsahový vzor klasifikovaného atributu [5].
Obrázek 1. Ukázka části extrakční ontologie – atribut driving_license pro extrahování skupin řidičského oprávnění.
Atribut na obr. 1 je definován pomocí dvou obsahových a dvou kontextových vzorů. První vzor říká, že výskyt jednoho z uvedených písmen v textu s 25 % pravděpodobností představuje skupinu řidičského oprávnění, zatímco 100 % pokrytí zamezí extrakci hodnot tento vzor nesplňujících. Poslední obsahový vzor přijímá rozhodnutí externího klasifikátoru CRF. První kontextový vzor svým vysokým pokrytím 75 % omezuje pravděpodobná levá okolí předpovídané hodnoty atributu (označené symbolem $).
3
Popis datasetů
Dataset produktových nabídek je tvořen celkem 56 stránkami získanými ze 17 různých eshopů. Dataset byl pořízen manuálně, nachází se v něm tedy pouze relevantní dokumenty. Každý eshop je zastoupen dvěma detailovými stránkami notebooků a jedním či více produktovými katalogy, které lze v eshopu zobrazit7 . Poměr těchto typů dokumentů je 22 katalogových stránek ku 34 detailovým stránkám. V trénovací množině je zastoupeno 11 eshopů, v testovací zbývajících 6. Stránky stejného eshopu jsou vždy přiřazeny k právě jedné množině, bez ohledu na typ dokumentu. Dataset pracovních nabídek byl získán automaticky pomocí web crawleru a nacházejí se v něm tedy i nerelevantní dokumenty, které se netýkají nabídky pracovních pozic (jinak řečeno žádné neobsahují).
Tabulka 1. Základní údaje o anotovaných dokumentech. Počet příkladů (hodnot atributů) a počet instancí. Hodnoty atributů (#) Instance (#) Trénovací data Testovací data Trénovací data Testovací data Nabídky notebooků 5242 2496 271 105 (katalogové stránky) 3432 1098 249 79 (detailové stránky) 1810 1398 22 26 701 359 189 116 Pracovní nabídky
4
Vytváření extrakčních modelů
Pro každou doménu jsou vytvořeny 2 extrakční ontologie, které se od sebe liší použitými extrakčními znalostmi. První model (#1) využívá pouze ručně zadaná pravidla, zatímco druhý model (#2) kombinuje expertní znalost se znalostmi získanými pomocí algoritmu CRF. Ten je využit jen pro některé typy extrahovaných informací, jež je problematické získat z textu pomocí regulárních vzorů. 7
Tj. např. tabulková struktura a obrázkový katalog, které se liší nejen počtem údajů, ale i formátovací strukturou.
V důsledku toho jsou „doladěny“ i ostatní pravděpodobnostní odhady stávajících vzorů (přesnost a pokrytí), aby došlo k optimálnímu „vyvážení“ obou typů znalostí. Algoritmus CRF značkuje sekvence slov dokumentu značkami typu „začátek atributu“, „pokračování atributu“ a „nezajímavé“, přičemž využívá ortografické příznaky značkovaného slova a okolních slov a příznaky korespondující vzorům z extrakční ontologie. Slova z frází odpovídající určitému vzoru jsou spojeny s příznakem typu „začátek vzoru“ nebo „pokračování vzoru“. 4.1
Specifikace atributů
Ontologická třída definující nabídky notebooků obsahuje celkem 24 atributů, z toho 5 je odvozených. Povinnými atributy jsou jen název výrobce, název modelu a cena. Třída obsahuje celkem 108 ručně vytvořených vzorů (z toho 2 vzory pro seskupování atributů) a 8 axiomů. Časová náročnost tvorby kombinovaného modelu (tj. včetně vytvoření vhodného CRF modelu a vyvážení parametrů) jsou přibližně dva člověkotýdny. Ontologická třída definující pracovní nabídky je tvořena 10 atributy (z toho jeden odvozený), které v součtu obsahují 82 ručních vzorů a 4 axiomy. Jediným povinným atributem je název pracovní pozice. Důvodem je velmi rozmanitá variabilita údajů v jednotlivých pracovních nabídkách – od nabídek obsažených v jediné větě („Hledáme nové pracovníky na pozici kuchař nebo číšník “) až po nabídky strukturované do několika částí. Časové náklady na vytvoření kombinovaného modelu jsou odhadem 1-2 člověkotýdny (model je v současnosti stále vyvíjen). Produktové nabídky Klíčovou otázkou při návrhu extrakční ontologie je, kolik atributů zvolit pro komplexní hodnoty (např. název produktu8 ), které se skládají z více sémanticky dělitelných jednotek (sémantických komponent). Je možné zvolit jeden atribut pro každou komponentu (jak bylo provedeno v případě názvu notebooku, rozděleného do 3 atributů) nebo jeden vzor pro každou komponentu a ty posléze pomocí referencí poskládat do celku v rámci jediného atributu (využito u názvu procesoru a grafické karty). Volba záleží mj. na složitosti převedení různých značení výrobců na jednotné značení (tj. zjednoznačnění), ale i na délce (počtu slov) jednotlivých částí názvu nebo typu vybraného klasifikátoru. Dekompozice názvu produktu na jednotlivé komponenty výrobce, řada (série) a model byla provedena tak, aby vznikl jednotný systém značení, který by vyhovoval produktovým značením všech výrobců v trénovacích datech. Pro extrakci atributů výrobce a název série jsou dostačující krátké seznamy slov – jde o malý počet hodnot, které jsou z krátkodobého časového hlediska relativně neměnné. Naopak modelové označení notebooku je specifikováno obecně, aby daný regulární vzor odpovídal i novým údajům a odpadla tím nutnost časté aktualizace extrakčního modelu, resp. obsažených slovníků. V regulárních vzorech je 8
V této úloze jsou extrahovány názvy celkem 3 typů produktů: název notebooku a jeho dvě části – název grafické karty a název procesoru.
jednotlivým dělitelným částem (tokenům) přiřazen ortografický typ slova (slovo složené z písmen anglické abecedy, alfanumerické slovo, číslo), popř. i velikost slov (minuskule, majuskule, velké písmeno pouze na začátku slova). Konkrétní posloupnosti výše uvedených typů slov byly odvozeny z trénovacích dat. Některé názvy modelů se přitom skládají jen z písmen abecedy, které lze ve volném textu snadno zaměnit se slovy přirozeného jazyka vyskytující se bezprostředně za názvem notebooku. Dodatečná podmínka, která těmto případům zabraňuje, je popsána dále v sekci 4.3. Pracovní nabídky V této úloze je klíčovým atributem název pracovní pozice. Ten obvykle tvoří jedna či více profesí a případně další podpůrná slova, která rozvíjejí název profese. V ojedinělých případech je pozice popsána pouze pomocí konkrétní činnosti (např. úklidové práce). Množina přípustných názvů pracovních pozic je přitom v podstatě nekonečná, kromě názvů povolání mohou obsahovat libovolná slova. Extrakce názvů pozic využívá formátovací strukturu stránky a obsáhlého slovníku, který obsahuje přibližně 1000 jednoslovných profesí9 . V případě strukturovanosti textu na stránce jsou jednotlivé informace odděleny formátovacími prvky jazyka HTML. Se slovníkem profesí jsou porovnávána jednotlivá slova uvnitř HTML elementu a v případě shody některé dvojice slov lze extrahovat celý obsah elementu a označit jej za pracovní pozici. Pravidlo je omezeno pouze délkou povoleného okolí hodnoty (5 tokenů na levé a 10 tokenů na pravé straně). Nevýhodou uvedeného přístupu je nemožnost najít název pozice ve volném textu, resp. dokázat oddělit název pozice od okolního textu. Uvedená strategie může být dále vylepšena o slovníky obsahující typické začátky a konce pracovních pozic10 , příp. o seznamy slov, které se nacházejí bezprostředně před názvem pozice (resp. po názvu pozice). V současnosti byl testován pouze první způsob. 4.2
Koreferenční rozhodnutí
Za koreferenci jsou automaticky považovány takové hodnoty (řetězce), které jsou identické jako jiné extrahované hodnoty v této instanci. Pomocí JavaScriptových funkcí lze pak účinně hledat koreference i mezi dvěma různými řetězci. Takovým příkladem jsou např. následující dvě hodnoty, které odkazují ke stejnému objektu (referentu): Windows 7 Professional 64-bit CZ a W7 Pro CZ (x64). V tomto případě je název Windows převeden na jediný znak (odpovídající počátečnímu písmenu v názvu), totéž je provedeno s označením verze (Professional, Home, Premium apod.), odstraněny jsou rovněž veškeré mezery, interpunkční znaménka a slova, která jsou z hlediska porovnávání nepodstatná (bit nebo jazyková označení jako CZ, EN apod.). Výsledkem sekvence těchto konverzí řetězců je u výše uvedeného příkladu v obou případech tvar „W7PRO64“, druhou z hodnot tak lze prohlásit za koreferenci k té první. 9
10
Tj. profese jako architekt, právník nebo lékař. Názvy pozic byly primárně získány z katalogu NSP (www.nsp.cz). Takové údaje lze získat i nesupervizovaně, např. parsingem agenturních stránek jako Jobs.cz, které obsahují tisíce názvů pracovních pozic, byť s určitým šumem.
4.3
Seskupování atributů do instancí
Přípustná pořadí hodnot atributů v instanci lze definovat pomocí vzorů na úrovni třídy. S rostoucím počtem vzorů se pochopitelně snižuje rozlišovací schopnost rozhodnout o pořadí, neboť se úměrně zvyšuje počet možností, jak dané atributy seskupit. Zatímco produktové nabídky na stránkách eshopů typicky začínají názvem produktu, začátek nestrukturovaných pracovních nabídek bývá proměnlivý a tudíž obtížně specifikovatelný pomocí jediného pravidla. V případě notebooků je seskupování atributů vynuceno pomocí jediného přípustného pořadí na začátku instance: „Výrobce (Série) Model“, přičemž přítomnost atributu Série není povinná. Zbývající atributy se mohou v instanci vyskytovat v libovolném pořadí. Pouhým zvolením pořadí atributů na začátku instance ještě není zajištěno jejich správné seskupení. V textu se většinou vyskytují několikanásobné výskyty názvu produktu vztahující se k jedinému produktu (referentu), mezi nimiž se mohou vyskytovat hodnoty ostatních atributů. Při extrakci názvu produktu se lze omezit pouze na ty HTML značky, jež název produktu obklopují a zároveň ho od zbytku textu „vizuálně oddělují“. Přestože není prováděna analýza CSS stylů, lze využít např. nadpisy (H1 – H6) a hyperlink (A), které se v obou případech používají jen pro zobrazování kratších (řekněme důležitějších) informací. Jde zároveň o dostačující podmínku pro to, aby se v okolí názvu notebooku nevyskytovala běžná slova jazyka (viz 4.1).
5
Výsledky
Pro vyhodnocení byly počítány všechny výskyty v dokumentu bez ohledu na jejich možnou duplicitu (koreferenci). Porovnávání extrahovaných hodnot a ručních anotací probíhá ve 2 režimech: v prvním jsou počítány pouze přesně extrahované hodnoty (strict mode), zatímco ve druhém „fuzzy“ režimu (loose mode) jsou započítány i částečně správně extrahované hodnoty (tj. neúplné nebo přesahující do okolního textu) a to poměrně podle počtu správně extrahovaných slov. 5.1
Použité metriky
Úspěšnost extrakce atributů je měřena pomocí tradičních metrik přesnost, úplnost a F-míra. K měření správnosti seskupování atributů do instancí je použita tzv. Vilainova míra [8], která vychází z výše uvedených metrik. Namísto hodnot porovnává hrany, které propojují sekvenci označkovaných hodnot atributů v rámci instance. Každá instance má tedy přesně N − 1 hran, kde N je počet vrcholů (hodnot atributů) v dané instanci. Vilainova přesnost se počítá jako poměr počtu hran nutných k propojení extrahovaných hodnot patřících do instance k počtu všech „extrahovaných“ hran v instanci. Vilainova úplnost je pak analogicky ke klasické úplnosti poměr počtu správně extrahovaných hran ku počtu všech ručně označkovaných hran.
5.2
Vyhodnocení extrakce atributů
U atributů, které lze obtížně postihnout pomocí ručních pravidel nebo z jiného důvodu dosahují nižší úspěšnosti (nevhodně nastavené pravděpodobnostní odhady, nedostatek vzorů apod.), je vhodnější přenechat rozhodnutí o (ne)extrakci hodnoty klasifikátoru CRF a současně ponechat již vytvořené negativní indicie (tj. vzory s nulovým pokrytím), které ošetřují výjimečné případy, příp. omezují extrakci hodnot dle specifické formátovací struktury v okolí. Velký rozdíl mezi oběma modely je způsoben především stručností zápisu parametrů výrobku na katalogových stránkách, údaje jsou často uvedeny za sebou na jediném řádku bez jakéhokoliv kontextu.
Tabulka 2.
Vyhodnocení vybraných atributů pro nabídky notebooků (testovací sada). P = přes-
nost, R = úplnost, F = F-míra pro jednotlivé extrakční modely. Pouze ruční pravidla (model #1) a kombinovaný model (model #2). 4F = rozdíl mezi F-mírou druhého a prvního modelu. Pokud je uveden symbol *, jedná se o mód loose, jinak striktní mód. Nabídky notebooků (testovací sada) Model #1
Model #2
#
P (%)
R (%)
F (%)
P (%)
R (%)
F (%)
4F (%)
Název modelu
234
71,98
71,37
71,67
74,58
75,21
74,89
+3,22
Název modelu*
234
84,01
82,88
83,44
84,72
83,31
84,01
+0,57
Produktový kód
52
81,25
25,00
38,24
85,37
67,31
75,27
+37,03
Cena
181
65,73
62,44
64,04
82,58
81,21
81,89
+17,85
Název CPU
185
78,57
41,62
54,42
97,62
88,65
92,92
+38,50
Název GPU
110
91,55
59,09
71,82
92,52
90,00
91,24
+19,42
Operační paměť
159
73,14
80,50
76,65
95,27
84,43
89,52
+12,87
Grafická paměť
92
100,00
52,17
68,57
91,58
94,57
93,05
+24,48
Úhlopříčka displeje
72
37,50
12,88
19,17
93,46
85,84
89,49
+70,32
Průměr
2516
83,42
69,53
75,85
89,70
85,62
87,61
+11,76
Průměr*
2516
85,31
70,91
77,44
91,58
87,11
89,29
+11,85
Atribut
V případě pracovních nabídek je význam kombinovaného extrakčního modelu zanedbatelný. Minimální či žádný nárůst úspěšnosti je patrně důsledkem malého množství ručně označkovaných dat a poměrně velkou variabilitou údajů způsobenou mj. ohýbáním slov. To se nejvíce projevilo u atributu lokalita, slovník měst (regionů a krajů) obsahuje pouze základní tvary. Právě absence morfologické a syntaktické analýzy textu zvýhodňuje ruční pravidla, která obsahují dostatečný počet často používaných slovních tvarů. Pro extrakci určitých atributů (lokalita, pracovní pozice) je navíc podstatné použití rozsáhlých seznamů slov. Pracovní pozice jsou pak často velmi specifické díky složeným názvům obsahujících více profesí (asistent/asistentka). Přesto lze pomocí jednoduchého modelu založeného na formátovací stuktuře a obsáhlém slovníku extrahovat názvy pozic s relativně vysokou úspěšností, byť extrahované hodnoty často obsahují i slova z okolí.
Tabulka 3.
Vyhodnocení atributů pro pracovní nabídky (testovací sada). P = přesnost, R =
úplnost, F = F-míra pro jednotlivé extrakční modely. Pracovní nabídky (testovací sada) Model #1
Model #2
#
P (%)
R (%)
F (%)
P (%)
R (%)
F (%)
4F (%)
Pracovní pozice
143
66,94
58,04
62,17
66,94
58,04
62,17
0,00
Pracovní pozice*
143
78,25
73,76
75,94
78,25
73,76
75,94
0,00
Lokalita
76
57,41
40,79
47,69
64,58
40,79
50,00
+2,31
Lokalita*
76
65,74
43,54
52,39
73,96
43,54
54,81
+2,42
Vzdělání
44
93,48
97,73
95,56
93,48
97,73
95,56
0,00
Jazyky
35
97,22
100
98,59
97,22
100
98,59
0,00
Řidičský průkaz
16
93,33
87,50
90,32
93,33
87,50
90,32
0,00
Pracovní vztah
19
91,67
57,89
70,97
100
68,42
81,25
+10,28
Průměr
382
75,96
62,70
68,70
78,84
65,08
71,30
+2,60
Průměr*
382
82,22
69,39
75,26
85,11
71,81
77,90
+2,64
Atribut
5.3
Vyhodnocení extrakce instancí
V případě produktových nabídek jsou uvedeny rovněž výsledky pro trénovací množinu (uvážíme-li, že vzory pro seskupování atributů jsou výsledkem spíše uživatelské zkušenosti než pozorovaných dat). Jediná katalogová stránka, která neodpovídala stanovenému pořadí atributů, se nacházela v testovací sadě. Detailové stránky naopak obsahují velmi mnoho (často se opakujících) hodnot atributů roztažených po celé délce stránky a je proto velmi obtížné je seskupit všechny do jediné instance. Nízká úplnost je zde částečně způsobena koreferencemi (resp. duplicitami), které se počítají jako samostatné výskyty. Z hlediska využitelnosti dat v praxi by bylo zajímavé měřit spíše unikátnost informací. Vyhodnocení pracovních nabídek neodráží případy, kdy se určitá hodnota atributu váže k více než jedné instanci. Z hlediska ruční anotace jsou takové hodnoty přiřazeny k nejbližší skupině atributů.
Tabulka 4.
Vyhodnocení instancí pro obě úlohy. V P = Vilainova přesnost, V R = Vilainova
úplnost, V S = Vilainovo skóre. Pouze kombinovaný model (model #2). Seskupování atributů do instancí (kombinovaný model) Trénovací sada Množina dokumentů
Testovací sada
VP (%)
VR (%)
VS (%)
VP (%)
VR (%)
VS (%)
Notebooky (produktové katalogy)
97,60
86,20
91,60
92,10
61,00
73,30
Notebooky (detailové stránky)
85,90
30,30
45,80
93,10
39,20
55,20
87,09
63,55
73,48
Pracovní nabídky
-
6
Shrnutí
Vytvořené extrakční modely je možné nadále vylepšovat prostřednictvím ručně zadaných pravidel, popřípadě vhodnějším nastavením pravděpodobnostních odhadů v kombinovaném modelu. V případě produktových nabídek je možné specializovat daný model na dva podtypy, jeden pro katalogové stránky a druhý pro detailové stránky. Limitem v dosažení vyšší úspěšnosti byly právě zjevné rozdíly v obou typech dokumentů: na katalogových stránkách jsou požadované informace více zhuštěné a často ve formě zkratek bez jakéhokoliv kontextu, naopak na detailových stránkách jsou údaje jsou většinou strukturované pod sebou na jednotlivých řádcích, popisy parametrů jsou velmi detailní a je nutné počítat s delším kontextem. S rostoucím počtem atributů v ontologické třídě se stává problematičtější jejich seskupování do objektů a tedy klesá celková úspěšnost. Pro dynamicky generované záznamy z databází podle určité šablony (např. produktové katalogy) se jeví vhodnější využití top-down algoritmu, který hledá jednotlivé datové záznamy v dokumentu analýzou DOM stromu (nebo-li hledá sekvenci opakujících se částí kódu). Takový přístup používá např. MDR [7]. Přesto lze systém Ex použít jak na částečně strukturované dokumenty (databází generované záznamy), tak na málo strukturované texty přirozeného jazyka (pracovní nabídky). Výzkum je částečně podporován grantem GAČR P202/10/0761, „Sémantizace webu“.
Reference 1. Embley, D.W., Tao, C., Liddle, S.W.: Automatically extracting ontologically specified data from HTML tables with unknown structure. In: Proc. ER 2002. 2. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I. H.: The WEKA Data Mining Software: An Update. SIGKDD Explorations, Volume 11, Issue 1, 2009. 3. Chia-Hui, Ch., Mohammed, K., Moheb, R. G., Khaled, F. S.: A Survey of Web Information Extraction Systems. In: IEEE Transactions on Knowledge and Data Engineering, Vol. 18, Issue 10, 2006, s. 1411-1428. 4. Labský, M., Svátek, V.: On the design and Exploitation of Presentation Ontologies for Information Extraction. In: ESWC’06 -Workhshop 4: Mastering the Gap: From Information Extraction to Semantic Representation. Budva: KMI, The Open Univwersity, 2006. 11 s. 5. Labský, M., Nekvasil, M., Svátek, V., Rak, D.: The Ex Project: Web Information Extraction using Extraction Ontologies. In: Knowledge Discovery Enhanced with Semantic and Social Information. Springer, Studies in Computational Intelligence, Vol. 220, 2009. 6. Lafferty, J., McCallum, A., Pereira, F.: Conditional random fields: Probabilistic models for segmenting and labeling sequence data. In: Proc. The 18th International Conf. on Machine Learning, 2001, s. 282-289. 7. Liu, B., Grossman, R., Zhai, Y.: Mining data records in Web pages. In: Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining (KDD ’03). ACM, New York, NY, USA, 2003, s. 601-606.
8. Moens, M.F.: Information Extraction: Algorithms and Prospects in a Retrieval Context. Springer, 2006. ISBN 1-4020-4987-0.
Annotation: Case study: Extracting structured data from Web using extraction ontologies This case study concerns the task of automatic semantic annotation of web documents in two selected domains – product offers on e-shops and job offerings posted on company web pages. The extraction process outputs named entities (attribute values) of high granularity optionally grouped into structured records (relations). The extraction task was performed using the extraction system Ex, which combines two extraction approaches: manually written rules and supervised machine learning algorithms. The advantages of this method include independence of the extraction models on the formatting structures of specific documents and the possibility to create an initial functional prototype using just manual extraction knowledge with gradual shift towards machine learning methods as (more) training data becomes available. For both data sets, we compare extraction accuracies achieved using a purely manual extraction model to a model that combines manually authored indicie with a trained learner.