Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Information Extraction: il rapporto GATE – Named Entity Recognition Relatore: Prof. Sonia Bergamaschi Candidato: Simone Ferrari Anno Accademico 2005 – 2006 Iter seguito • Differenziazione Information Retrievial – Information Extraction • Discussione Information Extraction Named Entity Recognition • Descrizione GATE ANNIE • Applicazione a siti web di GATE per NER Valutazione prestazioni • Conclusioni e sviluppi futuri Information Retrievial vs Information Extraction Sistema IR Input: insieme di documenti (corpus) + query (key words) Output: documenti rilevanti + score Sistema IE Input: insieme di documenti (corpus) + query (key words) Output: frammenti dei documenti con informazioni poco ambigue in formato prestabilito Vantaggi IE: • minor tempo d’analisi • formato dell’output Svantaggi IE: • difficoltà d’implementazione • in alcuni casi meno accurato rispetto alla lettura umana Information Extraction Jim bought 300 shares of Acme Corp. in 2006 • Concetto nato all’interno delle MUCs • In MUC (1998) - Named Entity recognition (NE) - Coreference resolution (CO) - Template Element construction (TE) - Template Relation construction (TR) - Scenario Template production (ST) • Successore di MUC : ACE (1999) <ENAMEX TYPE="PERSON">Jim</ENAMEX> bought <NUMEX TYPE="QUANTITY">300</NUMEX> shares of <ENAMEX TYPE="ORGANIZATION">Acme Corp.</ENAMEX> in <TIMEX TYPE="DATE">2006</TIMEX> GATE a General Architecture for Text Engineering Hamish Cunningham (University of Sheffield) versione 1 nel 1996; versione 3.1 su http://gate.ac.uk/download/ algoritmi + dati + GUI = applicazioni • Language Resources (LRs) • Processing Resources (PRs) • Visual Resources (VRs) = CREOLE a Collection of REusable Objects for Language Engineering ANNIE • A Nearly New IE system • contiene al suo interno le PRs Tokeniser Gazetteer Sentence Splitter POS Tagger Semantic Tagger OrthoMatcher (NameMatcher) Attività sperimentale NER utilizzando GATE applicato a siti WISDOM (http://dbgroup.unimo.it/wisdom/) • output • codice • prestazioni • modifiche e prestazioni2 Booking.com Input Output XML Booking.com • Attività Creazione preliminare dell’annotation del Tokeniser set di default da parte del Tokeniser − <TextWithNodes> Id="2567" StartNode="450"EndNode="456"> EndNode="456"> −−<Annotation <Annotation Id="2317" Type="Location" Type="Lookup" StartNode="450" − <Node id="0"/> − <Feature> <Feature> BOOKING <Name <Name className="java.lang.String">rule1</Name> className="java.lang.String">majorType</Name> <Node <Value id="7"/> className="java.lang.String">Location1</Value> <Value className="java.lang.String">location</Value> </Feature> . </Feature> − <Node id="8"/> − <Feature> <Feature> COM <Name <Name className="java.lang.String">rule2</Name> className="java.lang.String">minorType</Name> <Node <Value id="11"/> className="java.lang.String">LocFinal</Value> <Value className="java.lang.String">city</Value> <Node id="450"/> </Feature> <Node id="12"/> Serialized Nodes Berlin </Feature> − <Feature> online </Annotation> <Node id="456"/> <Node <Name id="18"/> className="java.lang.String">locType</Name> <Node <Value id="19"/> className="java.lang.String">city</Value> </Feature> hotel Berlin→city.lst:location:city − <Feature> <Node id="24"/> <Node <Nameid="25"/> className="java.lang.String">matches</Name> reservations <Value className="java.util.ArrayList" <Node itemClassName="java.lang.Integer">2567;2568;2686</Value> id="37"/> </Feature> (…) </Annotation> </TextWithNodes> Valutazione delle prestazioni Tramite l’AnnotationDiff Tool di GATE • consente di confrontare due set di annotazioni Confronto prestazioni di GATE nell’IE: • inglese vs italiano • inglese referenziato vs inglese • italiano referenziato vs italiano Inglese referenziato vs Inglese Default Dopo Modifiche: Norwalk, Loulè→city.lst; Tuscany→region.lst; PT →country_cap.lst 48,84% 58,14% Miss rimanenti: mancanza di regole adeguate Conclusioni e sviluppi futuri • Sistema GATE fornito in modalità “primitiva”: necessità di un raffinamento (Gazetteer, POS e Semantic Tagger) • Training pesante (centinaia di testi, mesi) • Sviluppo multilingua recente (molto da implementare) • PRs sempre più intelligenti → background working