La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: Text Processing Information Extraction.

Presentazioni simili


Presentazione sul tema: "Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: Text Processing Information Extraction."— Transcript della presentazione:

1 Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: Text Processing Information Extraction

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

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

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

5 5 Focus: linformazione! Focus: linformazione! INFORMAZIONE DATI + CONOSCENZA INFORMAZIONE DATI + CONOSCENZA Dati: sequenza di fatti (in un qualsiasi formato, foto, video, testo…) di cui un sistema informativo viene in possesso 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. 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. 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 6 Text Processing Il Testo è semanticamente legato al mondo in cui viviamo: veicola un significato. Il Testo è semanticamente legato al mondo in cui viviamo: veicola un significato. Quindi è legato alla conoscenza che abbiamo del mondo. Quindi è legato alla conoscenza che abbiamo del mondo. Quindi è usabile come DATO per produrre informazione. 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). 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. grep e word count non rappresentano vero Text Processing: sono una sorta di STEP 0.

7 7 Text Processing Il modo con cui possiamo ottenere informazione dai dati testuali è vario, si possono distinguere (senza separarli nettamente) vari filoni: Il modo con cui possiamo ottenere informazione dai dati testuali è vario, si possono distinguere (senza separarli nettamente) vari filoni: PASSAGERETRIEVAL INFORMATIONRETRIEVAL INFORMATIONEXTRACTION QUESTIONANSWERING TEXTUNDERSTANDING DOCUMENTSUMMARIZATION

8 8 Text Processing Come viene usato il testo: Come viene usato il testo: grep, word count: i file sono sequenze di caratteri grep, word count: i file sono sequenze di caratteri Information Retrieval: i file (documenti) sono sequenze di unità/parole con un possibile significato 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. 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. Text Understanding: i file (documenti) sono articoli, storie, racconti, etc… con uno o molti significati.

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

10 10 Information Extraction Per information extraction si intende lattività di creare una rappresentazione strutturata della informazione rilevante presente nel testo. Per information extraction si intende lattività 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 linformazione rilevante e desiderata dagli enormi archivi di documenti ministeriali americani. Questo filone di ricerca è stato creato dal DARPA (sigla per Defense Advanced Research Projects Agency), con lo scopo di riuscire a ricavare linformazione rilevante e desiderata dagli enormi archivi di documenti ministeriali americani.

11 11 IE: esempio ANSA 19 Marzo 1997 ANSA 19 Marzo Marzo - Una bomba è esplosa stamani nei pressi di una centrale elettrica di San Salvador. Lordigno, fatto detonare da un commando della guerrilla alle 06:50 (12:50 GMT), non ha causato vittime, ma ha completamente distrutto la centrale. 19 Marzo - Una bomba è esplosa stamani nei pressi di una centrale elettrica di San Salvador. Lordigno, fatto detonare da un commando della guerrilla alle 06:50 (12:50 GMT), non ha causato vittime, ma ha completamente distrutto la centrale. ATTACCO TERRORISTICO 1. Tipo attacco: Esplosione 2. Data: 19 Marzo 3. Luogo: San Salvador 4. Attentatore: commando guerrilla 5. Obiettivo fisico: centrale elettrica 6. Obiettivo umano: - 7. Effetti su 5: distrutta 8. Effetti su 6: nessuna vittima 9. Arma usata: bomba

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

13 13 MUC: i task MUC-1 (1987): tactical naval operations reports (12 messaggi di training, 2 testing) MUC-1 (1987): tactical naval operations reports (12 messaggi di training, 2 testing) MUC-2 (1989): stesso tema (105 training, 25 testing) MUC-2 (1989): stesso tema (105 training, 25 testing) MUC-3 (1991): attacchi terroristici nei paesi latini (1300 training, 3x100 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-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-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-6 (1995): news su assunzioni/licenziamenti di managers (aggiunta task) MUC-7 (1998): lanci di veicoli spaziali (aggiunta task) MUC-7 (1998): lanci di veicoli spaziali (aggiunta task)

14 14 IE vs. IR Hanno diversi obiettivi: 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. Lutente umano navigherà la lista di documenti e cercherà linformazione che più gli interessa. 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. Lutente umano navigherà la lista di documenti e cercherà linformazione che più gli interessa. IE: data una selezione di documenti e dato un formato di risposta, il sistema cerca di estrarre in modo strutturato linformazione rilevante. IE: data una selezione di documenti e dato un formato di risposta, il sistema cerca di estrarre in modo strutturato linformazione rilevante. IE e IR sono tecnologie complementari! IE e IR sono tecnologie complementari!

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

16 16 IE: metriche di valutazione Le risposte corrette sono chiamate chiavi. Sono i Template riempiti a mano correttamente. 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. La valutazione delle risposte viene fatta confrontando le risposte del sistema con le chiavi. Simile allInformation Retrieval: Simile allInformation Retrieval: Risposte Corrette Risposte Fornite Possibili Risposte fornite & corrette Non fornite & corrette fornite & non corrette Non fornite & non corrette ForniteNon fornite corrette Non corrette

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

18 18 IE: metriche di valutazione F-measure: la media armonica tra precision e recall. F-measure: la media armonica tra precision e recall. F = 2PR / P+R F = 2PR / P+R Oppure la media parametrizzata, che permette di scegliere di dare più importanza a P o ad 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 19 IE: applicazioni Supporto per DATABASE: Supporto per DATABASE: Costruzione automatica a partire da testo Costruzione automatica a partire da testo Supporto per INFORMATION RETRIEVAL: Supporto per INFORMATION RETRIEVAL: Post-Filter di alta precisione per sistemi IR Post-Filter di alta precisione per sistemi IR Classificazione testo Classificazione testo Indicizzazione NL Indicizzazione NL Supporto per TEXT SUMMARIZATION: Supporto per TEXT SUMMARIZATION: Highlighting / Clipping Highlighting / Clipping Generazione di testo NL a partire da una rappresentazione formale. Generazione di testo NL a partire da una rappresentazione formale.

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

21 21 IE: diversi subtasks (esempi) Linnovativo 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. Linnovativo 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. NE: missile, Giovedì, Dr. Hoakney, Rockets Inc. CO: missile lo, Big Red Dr. Hoakney John Hoakney CO: missile lo, Big Red Dr. Hoakney John Hoakney TE: missile innovativo, lanciato Giovedì,… TE: missile innovativo, lanciato Giovedì,… TR: Dr. Hoakney LAVORA PER Rockets Inc. TR: Dr. Hoakney LAVORA PER Rockets Inc. ST (aerospazio): missile lanciato Giovedì / progettato da Dr. Hoakney per conto della Rockets Inc. ST (aerospazio): missile lanciato Giovedì / progettato da Dr. Hoakney per conto della Rockets Inc.

22 22 IE: risultati nei subtasks TaskPrecisionRecallFHuman-F NE TE TR ST CO MUC-7 (1998) MUC-7 (1998)

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

24 24 IE: 2 approcci Knowledge Engineering Knowledge Engineering PRO: per un esperto creare un sistema funzionante è rapido / si possono ottenere grandi performance 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 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 Automatically Trainable Systems PRO: alta portabilità tra domini diversi / non richiede la presenza di esperti PRO: alta portabilità tra domini diversi / non richiede la presenza di esperti CON: richiede grandi quantità di dati CON: richiede grandi quantità di dati

25 25 IE: architettura generale Il sistema individua dei fatti nel testo. 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 integra questi fatti con le proprie conoscenze per fare inferenze o mettere in relazione i fatti tra loro Il sistema traduce linformazione generata nel formato di output. Il sistema traduce linformazione generata nel formato di output.

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

27 27 IE: Tokenization E un task facile, ma può creare qualche problema (specie in documenti sporchi, es: web) E un task facile, ma può creare qualche problema (specie in documenti sporchi, es: web) Il punto (the dot problem): Il punto (the dot problem): se interpretiamo un punto come fine di un periodo (full-stop), sbagliamo quasi nel 10% dei casi. 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 lerrore al 6,5% se consideriamo ogni punto non seguito da spazio un non full-stop allora riduciamo lerrore al 6,5% con analisi delle strutture delle abbreviazioni: errore al 2,5% con analisi delle strutture delle abbreviazioni: errore al 2,5% Differente uso della punteggiatura nelle varie lingue. Differente uso della punteggiatura nelle varie lingue. Differente rappresentazione di date Differente rappresentazione di date

28 28 IE: Morphological Analysis Lexical Lookup 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.) 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: > forme general purpouse in italiano: > forme general purpouse Oltre al dizionario generale si usano liste domain specific che però rischiano di creare ambiguità Oltre al dizionario generale si usano liste domain specific che però rischiano di creare ambiguità Linglese ha una morfologia così povera che spesso vengono usate solo le liste. Linglese ha una morfologia così povera che spesso vengono usate solo le liste. Part Of Speech Tagging (PoS Tagging) Part Of Speech Tagging (PoS Tagging) Sistema che associa ad ogni parola di una frase una classe morfologica. Sistema che associa ad ogni parola di una frase una classe morfologica.

29 29 PoS Tagging 1 Ci si basa su un corpus pre-taggato. Ci si basa su un corpus pre-taggato. Metodo Triviale Tag Frequency: Metodo Triviale Tag Frequency: Calcolare il tag più probabile per ogni parola nel corpus ed usarlo per documenti successivi. 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 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%). 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 volte come V e 46 come N. ES: corpus inglese con 1 milione parole taggate (40 tags), la parola put appare volte come V e 46 come N. P(V | put) = 41145/41199 = P(V | put) = 41145/41199 = P(N | put) = 46/41199 = P(N | put) = 46/41199 = 0.001

30 30 PoS Tagging 2 Metodo Transformation-Based Learning Metodo Transformation-Based Learning Si basa su quattro elementi: Si basa su quattro elementi: Calcolo delle Tag Frequency da corpus annotato Calcolo delle Tag Frequency da corpus annotato Stima della error triple su un altro corpus. Stima della error triple su un altro corpus. Un set di possibili trasformazioni da fare da tag a a tag b per ridurre lerrore Un set di possibili trasformazioni da fare da tag a a tag b per ridurre lerrore Fase di learning hill-climbing. Fase di learning hill-climbing.

31 31 PoS Tagging 3 Metodo Transformation-Based Learning Metodo Transformation-Based Learning Transformations Transformations Cambia il tag a con il tag b quando: Cambia il tag a con il tag b quando: 1.Parola prec. (succ.) ha tag z 2.Parola due passi indietro (avanti) ha tag z 3.Una delle due parole prec (succ.) ha tag z 4.Una delle tre parole prec (succ.) ha tag z 5.Parola prec. ha tag z e succ. ha tag w 6.Parola prec. ha tag z e due passi indietro ha tag w 7.Parola prec (succ.) = Word Learning: Learning: Per ogni coppia di tag prova ogni trasformazione t Per ogni coppia di tag prova ogni trasformazione t Quantifica gli errori Quantifica gli errori Scegli (come nuova regola) la trasformazione che riduce di più lerrore Scegli (come nuova regola) la trasformazione che riduce di più lerrore

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

33 33 PoS Tagging 5 Metodo N-grams Metodo N-grams Sfrutta la teoria della probabilità con lobiettivo di trovare la sequenza di tag t 1,n che massimizza la probabilità P(t 1,n |w 1,n ) Sfrutta la teoria della probabilità con lobiettivo di trovare la sequenza di tag t 1,n che massimizza la probabilità P(t 1,n |w 1,n ) Usa la Bayesian Rule applicata al testo: Usa la Bayesian Rule applicata al testo: Si deve trovare la sequenza di tag che massimizza la posterior probability (data una sequenza di parole). Si deve trovare la sequenza di tag che massimizza la posterior probability (data una sequenza di parole).posterior prior likelihood evidence

34 34 PoS Tagging 6 Metodo N-grams (N-words) Metodo N-grams (N-words) Si considera una finestra di N parole. Tipicamente 3: trigrammi. Si considera una finestra di N parole. Tipicamente 3: trigrammi. La probabilità di un tag dipende solo dai due tag precedenti (indipendenza tra parole!) La probabilità di un tag dipende solo dai due tag precedenti (indipendenza tra parole!) La sequenza t 1 … t n a probabilità massima può essere calcolata usando lalgoritmo di Viterbi. La sequenza t 1 … t n a probabilità massima può essere calcolata usando lalgoritmo di Viterbi.

35 35 PoS Tagging 7 ES (bigramma): The great put… ES (bigramma): The great put… Nel corpus: Nel corpus: occorrenze di put come V e 46 come N41145 occorrenze di put come V e 46 come N verbi (V), nomi (N), agg. (A) verbi (V), nomi (N), agg. (A) dopo un aggettivo verbi (V), nomi (N)dopo un aggettivo verbi (V), nomi (N) put = Verbo? P(V | put,A) = P(put|V) P(V|A) put = Verbo? P(V | put,A) = P(put|V) P(V|A) = (41145 / ) x (18097 / ) = put = Nome? P(N | put,A) = P(put|N) P(N|A) = (46 / ) x ( / ) = put = Nome? P(N | put,A) = P(put|N) P(N|A) = (46 / ) x ( / ) = Verbo = / ( ) = 91,6% (non 99,9%) Verbo = / ( ) = 91,6% (non 99,9%) Nome = / ( ) = 8,4% Nome = / ( ) = 8,4%

36 36 PoS Tagging 8 Metodo N-grams Metodo N-grams Per migliorare le prestazioni si possono combinare uni-grammi, bi-grammi e tri-grammi: Per migliorare le prestazioni si possono combinare uni-grammi, bi-grammi e tri-grammi: Prior delle parole sconosciute: le frequenze delle lettere nei suffissi e nei prefissi (nel corpus). Prior delle parole sconosciute: le frequenze delle lettere nei suffissi e nei prefissi (nel corpus). Smoothing delle probabilità per evitare i casi con 0 occorrenze (es: P(Art|Art) ) dovuti alla limitatezza del training set Smoothing delle probabilità per evitare i casi con 0 occorrenze (es: P(Art|Art) ) dovuti alla limitatezza del training set Performance: Performance: 96/98 % parole note 96/98 % parole note 62/89% parole sconosciute 62/89% parole sconosciute

37 37 IE: Named Entity Recognition E uno dei problemi più affrontati: 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) 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: Ha già dato risultati accettabili: Gestire i nomi propri solo con liste è impossibile: Gestire i nomi propri solo con liste è impossibile: andrebbero aggiornate continuamente andrebbero aggiornate continuamente appartengono a troppi domini diversi appartengono a troppi domini diversi le ambiguità sarebbero troppe le ambiguità sarebbero troppe

38 38 I nomi propri vanno riconosciuti e inseriti in delle categorie. I nomi propri vanno riconosciuti e inseriti in delle categorie. 3 categorie universalmente richieste: 3 categorie universalmente richieste: Persone, Luoghi, Organizzazioni Persone, Luoghi, Organizzazioni Altre categorie comuni: Altre categorie comuni: Date, Misure (denaro, peso, etc.), Indirizzi Date, Misure (denaro, peso, etc.), Indirizzi Categorie domain-specific: Categorie domain-specific: Nomi farmacologici, Nomi di barche, Citazioni Nomi farmacologici, Nomi di barche, Citazioni Bill Gates è proprietaro della Microsoft. Bill Gates è proprietaro della Microsoft. IE: Named Entity Rec. 2

39 39 IE: Named Entity Rec. 3 3 approcci: 3 approcci: LookUp List (Gazetteers) LookUp List (Gazetteers) RULE-BASED: pattern matching RULE-BASED: pattern matching MACHINE-TRAINABLE: spesso HMM MACHINE-TRAINABLE: spesso HMM Gazetteers Gazetteers Liste di nomi, associati a categorie (organizzate gerarchicamente) + Macchine a Stati Finiti. Liste di nomi, associati a categorie (organizzate gerarchicamente) + Macchine a Stati Finiti. Per esempio: Per esempio: lista_città LuogoCittà Roma, Parigi, etc… lista_valuteMisuraDenaroPost_quantità Euro, Euri, Dollari, Sterline, etc… GATE Possiede oltre ingressi Organizzati in 80 classi

40 40 IE: Named Entity Rec. 4 PATTERN MATCHING PATTERN MATCHING Lobiettivo è identificare i NE grazie ad una riconosciuta struttura interna. Lobiettivo è identificare i NE grazie ad una riconosciuta struttura interna. Si usano le espressioni regolari che operano sui caratteri (features ortografiche quali le maiuscole, la punteggiatura), sulle categorie di PoS, sulle categorie NE riconosciute grazie alle Gazetteers o persino categorie sintattiche. Si usano le espressioni regolari che operano sui caratteri (features ortografiche quali le maiuscole, la punteggiatura), sulle categorie di PoS, sulle 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 Word = location:street es: Portobello Road, Fifth Avenue, etc…

41 41 IE: Named Entity Rec. 5 PATTERN MATCHING PATTERN MATCHING Si considera anche il contesto (shallow parsing): 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: Problemi: Ambiguità semantiche (John F. Kennedy = luogo/persona, Philip Morris = compagnia/persona) Ambiguità semantiche (John F. Kennedy = luogo/persona, Philip Morris = compagnia/persona) Ambiguita sintattica (General Motors = titolo militare?) Ambiguita sintattica (General Motors = titolo militare?) In mancanza delle feature ortografiche (es: nello speech recognition non si riportano le maiuscole!) In mancanza delle feature ortografiche (es: nello speech recognition non si riportano le maiuscole!)

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

43 43 IE: Named Entity Rec. 7 HMM: macchina a stati finiti. HMM: macchina a stati finiti. La macchina passa da uno stato allaltro: La macchina passa da uno stato allaltro: In base allinput (es: parola) In base allinput (es: parola) In base allo stato precedente In base allo stato precedente In base a delle probabilità di transizione In base a delle probabilità di transizione A partire da un corpus annotato si estraggono le probabilità di transizione P(S j | S j-1, W j ) A partire da un corpus annotato si estraggono le probabilità di transizione P(S j | S j-1, W j ) In runtime: viene calcolata la sequenza di stati più probabile per una sequenza di parole (Algoritmo di Viterbi). I simboli associati ad ogni parola rappresentano la classe NE. In runtime: viene calcolata la sequenza di stati più probabile per una sequenza di parole (Algoritmo di Viterbi). I simboli associati ad ogni parola rappresentano la classe NE.

44 44 IE: Named Entity Rec. 8 Prestazioni: Prestazioni: Metodi Rule-Based: Metodi Rule-Based: MUC-6: F=96.4%MUC-6: F=96.4% MUC-7: F=93.7%MUC-7: F=93.7% Speech: F=90.3%Speech: F=90.3% Metodi HMM-Based: Metodi HMM-Based: MUC-6: F=93%MUC-6: F=93% MUC-7: F=90.4%MUC-7: F=90.4% Speech: F=90.6%Speech: F=90.6% PROS & CONS: PROS & CONS: RULE-BASED: facile da sviluppare, ma lungo trial&error sui corpora. Estremamente veloce per CPU. Prestazioni molto buone su testo standard. 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. 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.

45 45 IE: Named Entity Rec. 9 Un esempio reale: ANNIE Un esempio reale: ANNIE (appartiene al GATE project). DEMO ONLINE DEMO ONLINE prova fatta: prova fatta: Articolo del NYTimes: raccolta firme per salvare Kodachrome Articolo del NYTimes: raccolta firme per salvare Kodachrome

46 46 IE: Named Entity Rec. 10 ANNIE: A Nearly New Information Extraction system ANNIE: A Nearly New Information Extraction system

47 47 IE: Syntactic Analysis Per poter affrontare gli altri problemi dellIE Per poter affrontare gli altri problemi dellIE capire le proprietà delle entità riconosciute capire le proprietà delle entità riconosciute mettere in relazione le entità tra loro, etc.. 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: Il problema può essere affrontato in 2 modi: FULL SYNTAX PARSING: analisi sintattica completa FULL SYNTAX PARSING: analisi sintattica completa SHALLOW PARSING: analisi sintattica superficiale SHALLOW PARSING: analisi sintattica superficiale Il secondo approccio è decisamente migliore, perché: Il secondo approccio è decisamente migliore, perché: Il Full Parsing è molto lento (e nellIE, dovendo estrarre linformazione da un numero altissimo di documenti, non cè tempo). Il Full Parsing è molto lento (e nellIE, dovendo estrarre linformazione da un numero altissimo di documenti, non cè tempo). Il Full Parsing fa comunque molti errori Il Full Parsing fa comunque molti errori Linformazione essenziale risiede in poche e basilari porzioni dellalbero sintattico. Linformazione essenziale risiede in poche e basilari porzioni dellalbero sintattico. Format Detection Tokenization Morphological & Lexical Analysis Named Entities Recognition Syntactic Analysis Coreference Analysis Scenario pattern matching Inferenze & Event Merging

48 48 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 chunking): [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]]]

49 49 IE: Syntactic Analysis 3 Shallow Parsing Intuizione linguistica: luomo 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)

50 50 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 Attachment: NG: [the effort] VG: [[to establish] [such a conclusion]] VG: [[of course must have] [two foci]]

51 51 IE: Coreference Task estremamente difficile: coinvolge sintassi e semantica. Ci sono tipi diversi di coreferenza: pronomi, parafrasi, sigle, etc… ES: General Motors Corp. 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… Lalgoritmo generalmente adottato per risolvere le anafore segue due step: Marcamento di ogni espressione candidata Consistency check allindietro dellanafora

52 52 IE: Coreference 2 STEP 1: marcamento espressioni candidate si selezionano le parti nominali del testo (NG) General Motors Corp. 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… vengono marcate usando: categoria NE, numero (sing. vs. plu.), genere (masc. vs. fem.), ruolo sintattico. STEP 2: consistency check allindietro determina tutti i possibili antecedenti (fino ad una distanza predefinita, variabile per pronomi, nomi, etc…) elimina gli antecedenti non correlati: semanticamente usando is a hierarchy, categoria NE, etc.. ordina antecedenti per vicinanza (intra-frase, inter-frase, inter- paragrafo, inter-documento) se x è correlato a y la coreferenza sarà y x

53 53 IE: Inference and Event Merging ES: Sam Schwartz retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb. Obiettivo: Obiettivo: Linformazione necessaria è sparsa su più frasi e quindi deve essere combinata prima di generare il template degli eventi Linformazione è spesso anche implicita. Linformazione è spesso anche implicita. Evento: leave job Persona:Sam Schwartz Posizione:executive vice president Compagnia:Hupplewhite Inc Evento: start job Persona:Harry Himmelfarb Posizione:executive vice president Compagnia:Hupplewhite Inc

54 54 IE: Inference & Event Merg. 2 ES: Sam Schwartz retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb. Per ottenere la descrizione ad eventi dellesempio si sfrutta: Per ottenere la descrizione ad eventi dellesempio si sfrutta: linformazione sui Named Entities (i soggetti coinvolti nellevento sono NE) linformazione sui Named Entities (i soggetti coinvolti nellevento sono NE) lanalisi morfo-sintattica sul testo (i verbi regolano le relazioni tra NE allinterno degli eventi) lanalisi morfo-sintattica sul testo (i verbi regolano le relazioni tra NE allinterno degli eventi) la risoluzione delle coreferenze la risoluzione delle coreferenze knowledge base di sistemi inferenziali knowledge base di sistemi inferenziali In particolare nellesempio si deve poter determinare cosa implica il verbo succeed. In particolare nellesempio si deve poter determinare cosa implica il verbo succeed.

55 55 IE: Inference & Event Merg. 3 ES: Sam Schwartz retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb. Inferenze possibili: Inferenze possibili: Sam was president. He was succeeded by Harry Harry will become president Sam was president. He was succeeded by Harry Harry will become president Sam will be president, he succeeds Harry Harry was president. Sam will be president, he succeeds Harry Harry was president. Per codificare le inferenze in un dominio si può usare un sistema di produzioni (es: Prolog): Per codificare le inferenze in un dominio si può usare un sistema di produzioni (es: Prolog): leave-job(X-person, Y-job) & succeed(Z-person, X-person) leave-job(X-person, Y-job) & succeed(Z-person, X-person) start-job(Z-person,Y-job) start-job(Z-person,Y-job) start-job(X-person, Y-job) & succeed(X-person, Z-person) start-job(X-person, Y-job) & succeed(X-person, Z-person) leave-job(Z-person,Y-job) leave-job(Z-person,Y-job)


Scaricare ppt "Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: Text Processing Information Extraction."

Presentazioni simili


Annunci Google