Web Information Extraction - extrakce informací z webu Jan Dědek Department of Software Engineering Faculty of Information Technology Czech Technical University in Prague Peter Vojtáš, Jan Dědek, Ivo Lašek Semantic Web MI SWE 2011 Lecture 13 MI POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Obsah Extrakce pomocí struktury Přehled Lixto VIDOME Lingvistická extrakce Semantic Czech Pojmenované entity (názvy) KIM MI-SWE 2011 2
Sémantizace webu (skoro) automaticky Web Semantized Web Web Page Annotation Annotated Web Page Search Engine Keyword Query Web Store & Index Extraction Semantic Repository Semantic Search Engine Semantic Query MI-SWE 2011 3
Extrakce pomocí struktury HTML wrapping Regulární výrazy Ruční návrh pravidel Trénované Chytré GUI MI-SWE 2011 4
WIE Je to těžké? WIE MI-SWE 2011 5
WIE ručně nebo automaticky? Chia-Hui Chang, Mohammed Kayed, Moheb Ramzy Girgis, Khaled F. Shaalan, "A Survey of Web Information Extraction Systems," IEEE Transactions on MI-SWE Knowledge 2011 and Data Engineering, vol. 18, no. 10, pp. 1411-1428, October, 2006. 6
WIE Má to nějakou teorii? Hyper-tree Gramatiky Automaty Pravidla MI-SWE 2011 7
Chia-Hui Chang, Mohammed Kayed, Moheb Ramzy Girgis, Khaled F. Shaalan, "A Survey of Web Information Extraction Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 18, no. 10, pp. 1411-1428, October, 2006. Lze dohledat WIE - Přehled nástrojů MI-SWE 2011 8
Lixto Visual Developer MI-SWE 2011 9
VIDOME MDR algoritmus Implementace Dušan Maruščák 2007 DP KSI Hledání podobných uzlů v DOM opakování Extrakce pomocí regulárních výrazů enumeration pattern minlength, maxlength keywords MI-SWE 2011 10
3 fáze extrakce 1. Identifikace Data Regions Datové regiony 2. Identifikace Data Records Datové záznamy 3. Identifikace Data Attributes Atributy datových záznamů Pomocí regulárních výrazů Opakování v DOM MI-SWE 2011 11
Datové regiony a záznamy (1) MI-SWE 2011 12
Datové regiony a záznamy (2) MI-SWE 2011 13
Datové regiony - příklad MI-SWE 2011 14
Hledání datových regionů 1 function BFSfindDR(LevelNodes) Kde hledat v dalším zanoření 2 begin 3 NextLevelNodes = Ø; 4 regions = Ø; Už jsme našli 5 for each Node in LevelNodes do 6 begin 7 regions=identdataregions(normalized(node.children)); 8 NextLevelNodes=NextLevelNodes U (Node.Children not in regions); 9 end 10 if NextLevelNodes!= Ø 11 return regions U BFDfindDR(NextLevelNodes); 12 else return regions; 13 end Rekurze MI-SWE 2011 15
Datový záznam ve vícero uzlech <table> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> </table> A1 A2 B1 MI-SWE 2011 16
identdataregions Podobnost uzlů Dvojic uzlů Trojic uzlů Podobnost ~ Editační vzdálenost MI-SWE 2011 17
Levenshteinova editační vzdálenost Zdroj Cíl = match o subst + ins - del +1 + +1 - +1 / 0 o / = MI-SWE 2011 18
Mapování do ontologie (zatím nedokončeno) MI-SWE 2011 19
Java regexp http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/pattern.html Příklad: Character classes [abc] a, b, or c (simple class) [^abc] Any character except a, b, or c (negation) [a-za-z] a through z or A through Z, inclusive (range) [a-d[m-p]] a through d, or m through p: [a-dm-p] (union) [a-z&&[def]] d, e, or f (intersection) [a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction) [a-z&&[^m-p]] a through z, and not m through p: [a-lq-z](subtraction) \d A digit: [0-9] MI-SWE 2011 20
MI-SWE 2011 21
VIDOME - shrnutí K dispozici na http://www.ksi.mff.cuni.cz/~eckhardt/vyuka/swi108/ Pouze Win Instalace viz dokumentce Server aplikace + Firefox plugin Výstup HTML nebo MySQL Editace (nejen) regulárních výrazů ručně ontology/vidomeontology.owl MI-SWE 2011 22
SimilaritySpider Implementace Michal Šenkýř 2010 DP KSI MFF UK Není volně dostupná, možnost kontaktovat autora MI-SWE 2011 23
SimilaritySpider - Hlavní okno aplikace MI-SWE 2011 24
SimilaritySpider - Štítkovací rozhraní MI-SWE 2011 25
Lingvistická extrakce Jan Dědek, DP, PhD Podrobnosti viz: http://czsem.berlios.de/ MI-SWE 2011 26
Extrakční pravidlo ochrana životního prostředí unit amount where material MI-SWE 2011 27
Example of a linguistic tree "Due to the clash the throat of fuel tank tore off and 800 litres of oil (diesel) has run out to a stream." Nárazem se utrhl hrdlo palivové nádrže a do potoka postupně vyteklo na 800 litrů nafty. jihmor56559.txt-001-p1s3 (1) litre (2) (3) diesel (5) (4) "into" water stream
Experimental results extracted data <QueryMatches> <Match root_id="jihmor56559.txt-001-p1s3" match_string="15:0,16:4,22:1,23:2,27:3"> <Sentence>Nárazem se utrhl hrdlo palivové nádrže a do potoka postupně vyteklo na 800 litrů nafty.</sentence> <Data> <Value variable_name="amount" attribute_name="t_lemma">800</value> <Value variable_name="unit" attribute_name="t_lemma">l</value> <Value variable_name="material" attribute_name="t_lemma">nafta</value> <Value variable_name="where" attribute_name="t_lemma">potok</value> </Data> </Match> <Match root_id="jihmor68220.txt-001-p1s3" match_string="3:0,12:4,21:1,22:2,27:3"> <Sentence>Z palivové nádrže vozidla uniklo do půdy v příkopu vedle silnice zhruba 350 litrů nafty, a proto byli o události informováni také pracovníci odboru životního prostředí Městského úřadu ve Vyškově a České inspekce životního prostředí.</sentence> <Data> <Value variable_name="amount" attribute_name="t_lemma">350</value> <Value variable_name="unit" attribute_name="t_lemma">l</value> <Value variable_name="material" attribute_name="t_lemma">nafta</value> <Value variable_name="where" attribute_name="t_lemma">půda</value> </Data> </Match>... water stream litre soil diesel MI-SWE 2011 29
Pojmenované entity MI-SWE 2011 30
Pojmenované entity Lingvistický přístup <Location>Barbados</Location> Sémantický přístup <Island ID= http://...#island.1234 > Barbados </Island> Nejčastěji využívaný framework GATE http://www.gate.ac.uk MI-SWE 2011 31
KIM Platform Novinové články Velká KB Integrací mnoha DB Zeměpisné Obchodní http://www.ontotext.com/kim MI-SWE 2011 32
KIM Ontology MI-SWE 2011 33
KIM KB (2006) RDF Statements Small KB Full KB - explicit 444,086 2,248,576 - after inference 1,014,409 5,200,017 Instances - Entity: 40,804 205,287 - Location: 12,528 35,590 - Country: 261 261 - Province: 4,262 4,262 -City: 4,400 4,417 - Organization: 8,339 146,969 - Company: 7,848 146,262 - Person: 6,022 6,354 - Alias: 64,589 429,035 MI-SWE 2011 34
KIM funkcionalita Animace http://ontotext.com/kim/kim-demo.html http://ontotext.com/kim/core-timelines.htm MI-SWE 2011 35