Případová studie: extrakce strukturovaných dat z webu s využitím extrakčních ontologií

Podobné dokumenty
EXTRAKCE STRUKTUROVANÝCH DAT O PRODUKTOVÝCH A PRACOVNÍCH NABÍDKÁCH POMOCÍ EXTRAKČNÍCH ONTOLOGIÍ ALEŠ POUZAR

Sémantický web a extrakce

Ontologie. Otakar Trunda

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Dolování z textu. Martin Vítek

Text Mining: SAS Enterprise Miner versus Teragram. Petr Berka, Tomáš Kliegr VŠE Praha

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Extrakce informací z webových stránek pomocí extrakčních ontologií

Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí

Sémantický web 10 let poté

CASE. Jaroslav Žáček

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Znalostní systém nad ontologií ve formátu Topic Maps

Moderní systémy pro získávání znalostí z informací a dat

Uživatelská podpora v prostředí WWW

MBI - technologická realizace modelu

Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill. Optimalizace komprese XML. Závěr

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Využití metod strojového učení v bioinformatice David Hoksza

Automatic Alignment of Tectogrammatical Trees from Czech-English Parallel Corpus

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky

Dobývání znalostí z textů text mining

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc.

Výměnný formát XML DTM DMVS PK

Problémové domény a jejich charakteristiky

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Práce s velkými sestavami

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

MINISTERSTVO PRO MÍSTNÍ ROZVOJ Č.j. 7022/ R O Z H O D N U T Í č. 19/2016. ministryně pro místní rozvoj. ze dne

1 Nejkratší cesta grafem

Základy XML struktura dokumentu (včetně testových otázek)

8.2 Používání a tvorba databází

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

Usuzování za neurčitosti

POPIS STANDARDU CEN TC278/WG7. 1 z 5. draft prenv Geografická silniční databáze. Oblast: ZEMĚPISNÁ DATA V SILNIČNÍ DOPRAVĚ ( GRD)

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

PRODUKTY. Tovek Tools

Analýza a prezentace dat

EXTRAKT z mezinárodní normy

Strojové učení Marta Vomlelová

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Procesy a vlákna (Processes and Threads)

Úloha - rozpoznávání číslic

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

ŠKODA Portal Platform

Ekonomické aspekty propojitelných dat. Jan Kučera Katedra informačních technologií

2. Začlenění HCI do životního cyklu software

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

TÉMATICKÝ OKRUH Softwarové inženýrství

Analýza staročeské morfologie v Excelu

CASE nástroje. Jaroslav Žáček

Novinky. Autodesk Vault helpdesk.graitec.cz,

Kybernetika a umělá inteligence, cvičení 10/11

Aplikace pro srovna ní cen povinne ho ruc ení

Procesní řízení. Hlavní zásady a praxe dodavatele Komix

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování složitějších sestav Ing. Kotásek Jaroslav

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

32 APZ Nabídky. Popis modulu

Vyhledávání podle klíčových slov v relačních databázích. Dotazovací jazyky I ZS 2010/11 Karel Poledna

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Výroková a predikátová logika - III

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Logický datový model VF XML DTM DMVS

ECM. Enterprise Content Management. čt 9:15 Petr Bouška (xboup00) Zbyněk Hostaš Lukáš Maršíček Martin Nikl (xnikm00)

PRODUKTY. Tovek Tools

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Jak vytvářet poznatkovou bázi pro konkurenční zpravodajství. ing. Tomáš Vejlupek

Avíza ve formátu MT942

Otázky ke tvorbě datové báze

BA_EM Electronic Marketing. Pavel

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

63. ročník Matematické olympiády 2013/2014

10 Metody a metodologie strukturované analýzy

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

Principy UML. Clear View Training 2005 v2.2 1

Statistická teorie učení

UML. Unified Modeling Language. Součásti UML

Hodnocení (ne)zajímavosti asociačních pravidel za využití báze znalostí

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

Transkript:

Případová studie: extrakce strukturovaných dat z webu s využitím extrakčních ontologií Aleš Pouzar 1 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 ales.pouzar@gmail.com 2 IBM Prague Research Lab, V parku 2294/4, 148 00 Praha 4 martin.labsky@cz.ibm.com 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é firmy 3. 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 Ex 4, 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ř. CEO 5 nebo nově vznikající PTO 6. 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 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. 4 http://eso.vse.cz/~labsky/ex/ 5 http://www.ebusiness-unibw.org/ontologies/consumerelectronics/v1 6 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 zobrazit 7. 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 Pracovní nabídky 701 359 189 116 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 produktu 8 ), 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 pozic 10, 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 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). 10 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řesnost, R = úplnost, F = F-míra pro jednotlivé extrakční modely. Pouze ruční pravidla (model #1) a kombinovaný model (model #2). F = 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 Atribut # P (%) R (%) F (%) P (%) R (%) F (%) F (%) 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 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 Atribut # P (%) R (%) F (%) P (%) R (%) F (%) F (%) 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 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 Testovací sada Množina dokumentů 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 Pracovní nabídky - 87,09 63,55 73,48

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.