350 likes | 526 Views
Web Information extraction - extrakce informací z webu. NSWI140 15.12.2010 Jan D ědek. Obsah. Extrakce pomocí struktury Př ehled Lixto VIDOME Lingvistická extrakce “Semantic Czech” Pojmenované entity (názvy) KIM. Sémantizace webu (skoro) automaticky. Extrakce pomocí struktury.
E N D
Web Information extraction- extrakce informací z webu NSWI140 15.12.2010 Jan Dědek
Obsah • Extrakce pomocí struktury • Přehled • Lixto • VIDOME • Lingvistická extrakce • “Semantic Czech” • Pojmenované entity (názvy) • KIM
Extrakce pomocí struktury • HTML wrapping • Regulární výrazy • Ruční návrh pravidel • Trénované • Chytré GUI
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 Knowledge and Data Engineering, vol. 18, no. 10, pp. 1411-1428, October, 2006.
WIE – Má to nějakou teorii? Hyper-tree Gramatiky Automaty Pravidla
Lze dohledat WIE - Přehled nástrojů 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.
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
3 fáze extrakce • Identifikace Data Regions • Datové regiony • Identifikace DataRecords • Datové záznamy • Identifikace DataAttributes • Atributydatových záznamů • Pomocí regulárních výrazů Opakování v DOM
Hledání datových regionů Kde hledat v dalším zanoření 1 function BFSfindDR(LevelNodes) 2 begin 3 NextLevelNodes = Ø; 4 regions = Ø; 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 UBFDfindDR(NextLevelNodes); 12 else return regions; 13 end Už jsme našli Rekurze
Datový záznam ve vícero uzlech • <table> • <tr> • <td> • A1 • </td> • <td> • A2 • </td> • </tr> • <tr> • <td> • B1 • </td> • … • </table>
identDataRegions • Podobnost uzlů • Dvojic uzlů • Trojic uzlů • … • Podobnost ~ Editační vzdálenost
Levenshteinova editační vzdálenost Cíl = match o subst + ins - del Zdroj +1 „+“ +1 / 0 „o / =“ +1 „-“
Java regexp http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
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
SimilaritySpider • Implementace Michal Šenkýř2010 DP KSI • http://www.ksi.mff.cuni.cz/~dedek/SimilaritySpider/
Lingvistická extrakce • Nejprve pdf prezentace • Viz:20101005_Dedek_Uzivatelsko-webovy_seminar.pdf
(1) (2) (3) (5) (4) jihmor56559.txt-001-p1s3 litre diesel "into" water stream 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.”
Experimental results – extracted data • <QueryMatches> • <Matchroot_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> • <Valuevariable_name="amount"attribute_name="t_lemma">800</Value> • <Valuevariable_name="unit"attribute_name="t_lemma">l</Value> • <Valuevariable_name="material"attribute_name="t_lemma">nafta</Value> • <Valuevariable_name="where"attribute_name="t_lemma">potok</Value> • </Data> • </Match> • <Matchroot_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> • <Valuevariable_name="amount"attribute_name="t_lemma">350</Value> • <Valuevariable_name="unit"attribute_name="t_lemma">l</Value> • <Valuevariable_name="material"attribute_name="t_lemma">nafta</Value> • <Valuevariable_name="where"attribute_name="t_lemma">půda</Value> • </Data> • </Match> • ... litre water stream diesel soil
Pojmenované entity • Lingvistický přístup <Location>Barbados</Location> • Sémantický přístup <Island ID=“http://...#Island.1234”> Barbados </Island> • Nejčastěji využívaný frameworkGATE http://www.gate.ac.uk
Novinové články Velká KB Integrací mnoha DB Zeměpisné Obchodní KIM Platform http://www.ontotext.com/kim
KIM funkcionalita • Animace http://ontotext.com/kim/KIM-demo.html http://ontotext.com/kim/core-timelines.htm