1 / 54

Text Processing Information Extraction

Text Processing Information Extraction. Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: ernandes@dii.unisi.it. Lo scenario. Il text-processing raccoglie un grande insieme di problemi, tecniche e obiettivi. Sfrutta le teorie sviluppate nelle discipline: Computer Science Linguistica

gay-moses
Download Presentation

Text Processing Information Extraction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Text ProcessingInformation Extraction Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: ernandes@dii.unisi.it

  2. Lo scenario • Il text-processing raccoglie un grande insieme di problemi, tecniche e obiettivi. • Sfrutta le teorie sviluppate nelle discipline: • Computer Science • Linguistica • …dalle loro ibridazioni: • Linguistica computazionale • Natural Language Processing

  3. Proprietà del testo • Il Testo è semplicemente una struttura dati contenente caratteri alfanumerici e caratteri speciali. • Il testo rappresenta la grande maggioranza di informazione disponibile nei computer: • Tra il 70% e il 75% dell’informazione rilevante nel Web è in formato testuale. • Ogni Sistema Operativo mette a disposizione una serie di tool per il testo: es: “word count” o “grep”.

  4. Esempi di testo • Tipo di fonte: • Giornali • Report Aziendali • Pagine Web • Articoli scientifici • Documenti Legali • Formati elettronici: • Word, PDF, PS, HTML, XML,… • Lingua: • Inglese, Tedesco, Giapponese, etc… • Character Encoding: • ASCII, ISO-8859-1, ISO-8859-3, Unicode, etc…

  5. Focus: l’informazione! • INFORMAZIONE  DATI + CONOSCENZA • Dati: sequenza di fatti (in un qualsiasi formato, foto, video, testo…) di cui un sistema informativo viene in possesso • Conoscenza: insieme di modelli (strutturali e/o funzionali) del mondo o del dominio di interesse. La conoscenza è necessaria per “interpretare” i dati e trasformali in informazione. • Informazione: è la porzione di conoscenza richiesta per uno specifico problema. Rappresenta il valore di conoscenza associato ai dati in possesso nel contesto del problema.

  6. Text Processing • Il Testo è semanticamente legato al mondo in cui viviamo: veicola un significato. • Quindi è legato alla conoscenza che abbiamo del mondo. • Quindi è usabile come DATO per produrre informazione. • Si ha TEXT-PROCESSING quando si sfrutta il senso veicolato da un testo (in una certa lingua/linguaggio). • “grep” e “word count” non rappresentano vero Text Processing: sono una sorta di STEP 0.

  7. Text Processing • Il modo con cui possiamo ottenere informazione dai dati testuali è vario, si possono distinguere (senza separarli nettamente) vari filoni: INFORMATION EXTRACTION DOCUMENT SUMMARIZATION INFORMATION RETRIEVAL PASSAGE RETRIEVAL QUESTION ANSWERING TEXT UNDERSTANDING

  8. Text Processing • Come viene usato il testo: • “grep”, “word count”: i file sono sequenze di caratteri • Information Retrieval: i file (documenti) sono sequenze di unità/parole con un possibile significato • Information Extraction: i file (documenti) sono sequenze di frasi con significato, possibilmente rilevanti per un argomento. • Text Understanding: i file (documenti) sono articoli, storie, racconti, etc… con uno o molti significati.

  9. Cosa vedremo • Principalemnte: Information Extraction e Question Answering (Passage Retr., Doc. summarization). • Le relazioni e le differenze tra questi e altri tipi di text processing. • Le competizioni ufficiali internazionali. • Metodi di analisi e comparazione. • Gli approcci e le tecniche usate. • Le difficoltà intrinseche. • Interessi applicativi e motivazioni.

  10. Information Extraction • Per “information extraction” si intende l’attività di creare una rappresentazione strutturata della informazione rilevante presente nel testo. • Questo filone di ricerca è stato creato dal DARPA (sigla per “Defense Advanced Research Projects Agency”), con lo scopo di riuscire a ricavare l’informazione rilevante e desiderata dagli enormi archivi di documenti ministeriali americani.

  11. IE: esempio • ANSA 19 Marzo 1997 • “19 Marzo - Una bomba è esplosa stamani nei pressi di una centrale elettrica di San Salvador. L’ordigno, fatto detonare da un commando della guerrilla alle 06:50 (12:50 GMT), non ha causato vittime, ma ha completamente distrutto la centrale.”

  12. IE: la competizione • MUC: Message Understanding Conference • MUC fornisce: • Corpus di testi di addestramento • Specifica del task di IE • Specifica del formato di output • Termine di confronto: risposte fornite dall’uomo nello stesso formato di output • Valutazione: blind test per tutti i partecipanti

  13. MUC: i task • MUC-1 (1987): tactical naval operations reports (12 messaggi di training, 2 testing) • MUC-2 (1989): stesso tema (105 training, 25 testing) • MUC-3 (1991): attacchi terroristici nei paesi latini (1300 training, 3x100 testing) • MUC-4 (1992): come MUC-3 (cambiano i task, cioè i template) • MUC-5 (1993): news su joint-ventures e microelettronica (2 lingue, inglese e giapponese) • MUC-6 (1995): news su assunzioni/licenziamenti di managers (aggiunta task) • MUC-7 (1998): lanci di veicoli spaziali (aggiunta task)

  14. IE vs. IR • Hanno diversi obiettivi: • IR: data una base documentale il sistema cerca di selezionare un subset di documenti rilevanti ad una certa query (set di parole chiave) ricevuta come input. L’utente umano navigherà la lista di documenti e cercherà l’informazione che più gli interessa. • IE: data una selezione di documenti e dato un formato di risposta, il sistema cerca di estrarre in modo strutturato l’informazione rilevante. • IE e IR sono tecnologie complementari!

  15. IE vs. Full Text Understanding • IE: • solo un sottoinsieme del testo è rilevante • la rappresentazione del target è predefinita, semplice e rigida • Interessa solo ciò che un testo denota, non gli scopi dell’autore (connotazione, pragmatica). • E’ possibile definire delle metriche di valutazione. • Text Understanding: • Interessa il senso di tutto il testo • Il target è dato dalla capacità di rispondere ha domande sul testo. • E’ molto difficile stabilire metriche di valutazione.

  16. Le risposte corrette sono chiamate “chiavi”. Sono i Template riempiti a mano correttamente. La valutazione delle risposte viene fatta confrontando le risposte del sistema con le chiavi. Simile all’Information Retrieval: fornite & non corrette Non fornite & non corrette Non corrette fornite & corrette Non fornite & corrette corrette Fornite Non fornite IE: metriche di valutazione Possibili Risposte Risposte Corrette Risposte Fornite

  17. 1 Precision 0 1 Recall IE: metriche di valutazione • Precision e Recall • Precision = # risposte corrette / # risposte fornite • Recall = # risposte corrette / # possibili risposte corrette

  18. IE: metriche di valutazione • F-measure: la media armonica tra precision e recall. • F = 2PR / P+R • Oppure la media parametrizzata, che permette di scegliere di dare più importanza a P o ad R:  = 1: P e R pesano in modo uguale.  > 1: La Recall è più importante. < 1:La Precision è più importante.  = 0: Conta solo la Precision

  19. IE: applicazioni • Supporto per DATABASE: • Costruzione automatica a partire da testo • Supporto per INFORMATION RETRIEVAL: • Post-Filter di alta precisione per sistemi IR • Classificazione testo • Indicizzazione NL • Supporto per TEXT SUMMARIZATION: • Highlighting / Clipping • Generazione di testo NL a partire da una rappresentazione formale.

  20. IE: diversi subtasks • Named Entity task (NE) • Marcare nel testo le stringhe che rappresentano: persone, organizzazioni, luoghi, date, valori monetari. • Template Element Task (TE) • Estrarre l’informazione rilevante associata ai Named Entities (persone, luoghi, etc…). • Template Relation Task (TR) • Estrarre l’info sulle relazioni tra gli elementi del Template ottenuti con NE e TE. • Scenario Template Task (ST) • Come TR, ma la scelta del template (slot da riempire) è determinata dal riconoscimento di elementi rilevanti ad un certo argomento. • Coreference Task (CO) • Catturare l’informazione sulle coreferenze legati agli elementi marcati con TE e NE.

  21. IE: diversi subtasks (esempi) • “L’innovativo missile è stato lanciato Giovedì. E’ stato progettato da John Hoakney che lo ha chiamato “Big Red”. Dr. Hoakney fa parte dello staff della Rockets Inc.” • NE: “missile”, “Giovedì”, “Dr. Hoakney”, “Rockets Inc.” • CO: missile  “lo”, “Big Red” Dr. Hoakney  “John Hoakney” • TE: missile  innovativo, lanciato Giovedì,… • TR: “Dr. Hoakney” LAVORA PER “Rockets Inc.” • ST (aerospazio): missile  lanciato Giovedì / progettato da Dr. Hoakney per conto della Rockets Inc.

  22. IE: risultati nei subtasks • MUC-7 (1998)

  23. IE: 2 approcci • “Knowledge Engineering” (“Sistemi basati su regole”) • C’è un esperto in IE e in linguistica che definisce “a mano” le grammatiche del sistema • L’esperto classifica i “domain patterns” usando un corpus. • La parametrizzazione (perfezionamento) del sistema viene fatto “a mano” • “Automatically Trainable Systems” • Usa metodi statistici • Apprende regole da dei corpora di addestramento • Apprende regole dall’interazione con l’utente

  24. IE: 2 approcci • “Knowledge Engineering” • PRO: per un esperto creare un sistema funzionante è rapido / si possono ottenere grandi performance • CON: c’è bisogno di expertise / se il problema cambia c’è da ricostruire tutto il sistema / creare un sistema ottimo è un processo lungo • “Automatically Trainable Systems” • PRO: alta portabilità tra domini diversi / non richiede la presenza di esperti • CON: richiede grandi quantità di dati

  25. IE: architettura generale • Il sistema individua dei “fatti” nel testo. • Il sistema integra questi “fatti” con le proprie conoscenze per fare inferenze o mettere in relazione i “fatti” tra loro • Il sistema traduce l’informazione generata nel formato di output.

  26. IE: architettura generale 2 • Format Detection • riconoscimento del formato e del layout del documento • Tokenization • si individuano le parole e le frasi grazie a spazi e punteggiatura. • Morphological & Lexical Analysis • Named Entities Recognition • Syntactic Analysis • Coreference Analysis • Scenario pattern matching • Inferenze & Event Merging

  27. IE: Tokenization • E’ un task “facile”, ma può creare qualche problema. • Il punto (the dot problem): • se interpretiamo un punto come fine di un periodo (full-stop), sbagliamo quasi nel 10% dei casi. • se consideriamo ogni punto non seguito da spazio un non full-stop allora riduciamo l’errore al 6,5% • Con analisi delle strutture delle abbreviazioni: errore al 2,5% • Differente uso della punteggiatura nelle varie lingue. • Differente rappresentazione di date

  28. IE: Morphological Analysis • “Lexical Lookup” • Lista di forme (derivazioni di un lemma) di una lingua associate alle categorie morfologiche (es: SMS = sost. masc. sing. o AGFP = agg. fem. plu.) • in italiano: > 250000 forme “general purpouse” • Oltre al dizionario generale si usano liste domain specific che però rischiano di creare ambiguità • L’inglese ha una morfologia così povera che spesso vengono usate solo le liste. • “Part Of Speech Tagging” (PoS Tagging) • Sistema che associa ad ogni parola di una frase una classe morfologica.

  29. PoS Tagging 1 • Ci si basa su un corpus pre-taggato. • Metodo Triviale: • Calcolare il tag più probabile per ogni parola nel corpus ed usarlo per documenti successivi. • Se il termine è sconosciuto: tag = Nome Comune quando iniziale minuscola, tag = Nome Proprio altrimenti. • Se il corpus è abbastanza grande questo metodo dà già buoni risultati (ca. 90%). • ES: corpus inglese con 1 milione parole taggate (40 tags), la parola put appare 41145 volte come V e 46 come N. • P(V | “put”) = 41145/41199 = 0.999 • P(N | “put”) = 46/41199 = 0.001

  30. PoS Tagging 2 • Metodo Transformation-Based Learning • Si basa su quattro elementi: • Metodo Triviale da corpus annotato • Stima della error triple <taga, tagb, % errore> su un altro corpus. • Un set di possibili trasformazioni da fare da taga a tagb per ridurre l’errore • Fase di learning hill-climbing.

  31. PoS Tagging 3 • Metodo Transformation-Based Learning • Transformations • Cambia il tag a con il tagbquando: • Parola prec. (succ.) ha tagz • Parola due passi indietro (avanti) ha tag z • Una delle due parole prec (succ.) ha tag z • Una delle tre parole prec (succ.) ha tag z • Parola prec. ha tagz e succ. ha tag w • Parola prec. ha tagz e due passi indietro ha tag w • Parola prec (succ.) = Word • Learning: • Per ogni coppia di tag prova ogni trasformazione t • Quantifica gli errori • Scegli la trasformazione che riduce di più l’errore

  32. PoS Tagging 4 • Metodo Transformation-Based Learning • Per le parole sconosciute si applicano trasformazioni di tag basandosi sulle lettere dei prefissi e dei suffissi: • Cambia il tag a della parola sconosciuta W con il tagbquando: • I primi (ultimi) 1,2,3,4 caratteri sono la lettera z • Togliendo (aggiungendo) il suffisso (prefisso) si ottiene una parola nota • Etc.. • Questo metodo riesce a taggare correttamente: • 97.7 % parole note • 82.2 % parole sconosciute • 96 % totale parole

  33. PoS Tagging 5 • Metodo N-grams • Sfrutta la teoria della probabilità con l’obiettivo di trovare la sequenza di tag t1,n che massimizza la probabilità P(t1,n|w1,n) • Usa la Bayesian Rule applicata al testo: • Si deve trovare la sequenza di tag che massimizza la posterior probability della sequenza di parole.

  34. PoS Tagging 6 • Metodo N-grams (N-words) • Si considera una finestra di N parole. Tipicamente 3: trigrammi. • La probabilità di un tag dipende solo dai due tag precedenti. • La probabilità di avere una certa parola in una certa posizione, dato un tag, è indipendente da ogni altro fattore. • t0 e tT+1 sono i tag speciali d’inizio e fine frase.

  35. PoS Tagging 7 • Metodo N-grams • Per migliorare le prestazioni si possono combinare uni-grammi, bi-grammi e tri-grammi: • Il metodo usa come priors: • delle parole note e dei tag le frequenze ottenute in un corpus • delle parole sconosciute: osservando la frequenza delle lettere nei suffissi e nei prefissi • Performance: • 95.7 - 97.7 % parole note • 61.2 - 89 % parole sconosciute • 78.1 - 96.7% totale parole

  36. IE: Named Entity Recognition • E’ uno dei problemi più affrontati: • perché i nomi propri sono rilevanti da un punto di vista informativo e quindi semplifica il text processing successivo (sono spesso i valori da inserire nelle slot del template di IE) • Ha già dato risultati “accettabili”: • Gestire i nomi propri solo con liste è impossibile: • andrebbero aggiornate continuamente • appartengono a troppi domini diversi • le ambiguità sarebbero troppe

  37. IE: Named Entity Rec. 2 • I nomi propri vanno riconosciuti e inseriti in delle categorie. • 3 categorie universalmente richieste: • Persone, Luoghi, Organizzazioni • Altre categorie comuni: • Date, Misure (denaro, peso, etc.), Indirizzi • Categorie domain-specific: • Nomi farmacologici, Nomi di barche, Citazioni <name type=“person”> Bill Gates </name> è proprietaro della <name type=“company”> Microsoft </name>.

  38. IE: Named Entity Rec. 3 • 3 approcci: • LookUp List (Gazetteers) • RULE-BASED: pattern matching • MACHINE-TRAINABLE: spesso HMM • Gazetteers • Liste di nomi, associati a categorie (organizzate gerarchicamente) + Macchine a Stati Finiti. • Per esempio: GATE Possiede oltre 60000 ingressi Organizzati in 80 classi

  39. IE: Named Entity Rec. 4 • PATTERN MATCHING • L’obiettivo è identificare i NE grazie ad una riconosciuta struttura interna. • Si usano le espressioni regolari che operano sui caratteri (feature ortografiche, quali le maiuscole, la punteggiatura), sulle categorie di PoS, categorie NE riconosciute grazie alle Gazetteers o persino categorie sintattiche. Word + {City, Town}  Word = location:city es: Cape City, Campbell Town, NY City, etc… Word + {Street, Road, Avenue, Boulevard}  Word = location:street es: Portobello Road, Fifth Avenue, etc…

  40. IE: Named Entity Rec. 5 • PATTERN MATCHING • Si considera anche il contesto (shallow parsing): “to the” COMPASS “of” Word  Word=location:city es: to the North of London Word “is a” (ADJ)? GeoWord Word=location es: London is a very cold city • Problemi: • Ambiguità semantiche (John F. Kennedy = luogo/persona, Philip Morris = compagnia/persona) • Ambiguita sintattica (General Motors = titolo militare?) • In mancanza delle feature ortografiche (es: nello speech recognition non si riportano le maiuscole!)

  41. Person Company End Start Not a name IE: Named Entity Rec. 6 • MACHINE TRAINABLE • La tecnologia che ha dato i risultati migliori è quella degli Hidden Markov Models (HMM) • HMM: modello probabilistico a stati nascosti che tratta sequenze di eventi (in questo caso, sequenze di parole nel testo). 0,12 0,19 0,4 0,7 0,81 0,88

  42. IE: Named Entity Rec. 7 • HMM: macchina a stati finiti. • La macchina passa da uno stato all’altro: • In base all’input (es: parola) • In base allo stato precedente • In base a delle probabilità di transizione • A partire da un corpus annotato si estraggono le probabilità di transizione  P(Sj | Sj-1, Wj) • In runtime: viene calcolata la sequenza di stati più probabile (Maximum Likelihood) per una sequenza di parole (Algoritmo di Viterbi). I simboli associati ad ogni parola rappresentano la classe NE.

  43. IE: Named Entity Rec. 8 • Prestazioni: • Metodi Rule-Based: • MUC-6: F=96.4% • MUC-7: F=93.7% • Speech: F=90.3% • Metodi HMM-Based: • MUC-6: F=93% • MUC-7: F=90.4% • Speech: F=90.6% • PROS & CONS: • RULE-BASED: facile da sviluppare, ma lungo trial&error sui corpora. Estremamente veloce per CPU. Prestazioni molto buone su testo “standard”. • HMM: ha bisogno di moltissimi dati (corpus con 1,2 milioni di parole per ottenere il 90%, oltre non va), spesso non disponibili. E’ un algoritmo generale e portabile.

  44. IE: Named Entity Rec. 9 • Un esempio reale: ANNIE (appartiene al GATE project). • http://gate.ac.uk/annie/ • DEMO ONLINE • prova fatta: NYTimes: raccolta firme per salvare Kodachrome

  45. IE: Named Entity Rec. 10 • ANNIE: “A Nearly New Information Extraction system”

  46. IE: Syntactic Analysis • Per poter affrontare gli altri problemi dell’IE • capire le proprietà delle entità riconosciute • mettere in relazione le entità tra loro, etc.. è necessario capire le relazioni sintattiche tra gli elementi del testo. • Il problema può essere affrontato in 2 modi: • FULL SYNTAX PARSING: analisi sintattica completa • SHALLOW PARSING: analisi sintattica superficiale • Il secondo approccio è decisamente migliore, perché: • Il Full Parsing è molto lento (e nell’IE, dovendo estrarre l’informazione da un numero altissimo di documenti, non c’è tempo). • Il Full Parsing fa comunque molti errori • L’informazione essenziale risiede in poche e basilari porzioni dell’albero sintattico.

  47. IE: Syntactic Analysis 2 • FULL PARSING VS. SHALLOW PARSING • ES:“He reckons the current account deficit will narrow to only $ 1.8 billion in September.” • Shallow parsing (text chuncking): [NG He ] [VG reckons ] [NG the current account deficit ] [VG will narrow ] [PP to ] [NG only $ 1.8 billion ] [PP in ] [NG September] • Full Parsing: [NS [N He]] [VS [V reckons] [NS [N the current account deficit]] [VS [V will narrow] [M1 to only $ 1.8 billion] [M2 in September]]]

  48. IE: Syntactic Analysis 3 • Shallow Parsing • Intuizione linguistica: l’uomo legge raggruppando parole • “A typical chunk consists of a content word surrounded by a constellation of function words, matching a fixed template.” By contrast, the relationship between chunks is mediated more by lexical selection than by rigid templates.” (Abney 1991). • Il chunking avviene in 3 fasi: • Word Identification (fatto dal POS-Tagging) • Chunk Identification (rule-based) • Attachment of Chunks (rule-based)

  49. IE: Syntactic Analysis 4 • Shallow Parsing • ES:“The effort to establish such a conclusion of course must have two foci ...” • Word Identification: [D the] [N effort] [P to] [V establish] [P such] [D a] [N conclusion] [Adv of course] [V must] [V have] [Num] [N foci] • Chunk Identification: [NG(D+N) the effort ] [VG(P+V) to establish] [DP(P+D+N) such a conclusion] [VG(ADV+V+V) of course must have] [NG(Num+N) two foci] • Chunk Identification: NG: [the effort] VG: [[to establish] [such a conclusion]] VG: [[of course must have] [two foci]]

  50. IE: Coreference • Task estremamente difficile: coinvolge sintassi e semantica. • Ci sono tipi diversi di coreferenza: pronomi, parafrasi, sigle, etc… • ES: General Motors Corp. announced a major management shakeup. GM said its CEO had resigned. The big automaker is attempting to regain market share. It will announce… • L’algoritmo generalmente adottato per risolvere le anafore segue due step: • Marcamento di ogni espressione candidata • Consistency check all’indietro dell’anafora

More Related