Text Processing
Information Extraction
Basi di Dati Multimediali - Giugno 2005
Marco Ernandes: [email protected]
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
2
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”.
3
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…
4
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.
5
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.
6
Text Processing
 Il modo con cui possiamo ottenere informazione
dai dati testuali è vario, si possono distinguere
(senza separarli nettamente) vari filoni:
INFORMATION
RETRIEVAL
INFORMATION
EXTRACTION
DOCUMENT
SUMMARIZATION
PASSAGE
RETRIEVAL
QUESTION
ANSWERING
TEXT
UNDERSTANDING
7
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.
8
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.
9
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.
10
IE: esempio

ANSA 19 Marzo 1997
ATTACCO TERRORISTICO

“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.”
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
11
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
12
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)
13
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!
14
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.
15
IE: metriche di valutazione
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:
Possibili
Risposte
Risposte
Risposte
Corrette
Fornite
corrette Non corrette

fornite &
non corrette
Non fornite &
non corrette
fornite &
corrette
Non fornite &
corrette
Fornite
Non fornite
16
IE: metriche di valutazione
 Precision e Recall
Precision = # risposte corrette / # risposte fornite
Recall = # risposte corrette / # possibili risposte corrette
1
Precision


0
Recall
1
17
IE: metriche di valutazione

F-measure: la media armonica tra precision e recall.

F = 2PR / P+R
MA 
N
1
 i 0 x
i
N

2
2 PR
F

1 1 PR

P R
Oppure la media parametrizzata, che permette di
scegliere di dare più importanza a P o ad R:
(  2  1) PR
F
(  2 P  R)
 = 1: P e R pesano in modo uguale.
 > 1: La Recall è più importante.
 < 1: La Precision è più importante.
 = 0: Conta solo la Precision
18
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.
19
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.
20
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”
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.
Dr. Hoakney  “John
21
IE: risultati nei subtasks
MUC-7 (1998)
Task
Precision
Recall
F
Human-F
NE
95
92
93.4
98
TE
87
86
86.8
-
TR
86
67
75.6
-
ST
65
42
50.8
80
CO
69
56
61.8
22
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
23
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
24
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.
25
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
26
IE: Tokenization
 E’ un task “facile”, ma può creare qualche
problema (specie in documenti “sporchi”, es: web)

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
27
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.
28
PoS Tagging 1

Ci si basa su un corpus pre-taggato.

Metodo Triviale  Tag Frequency:






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
29
PoS Tagging 2
 Metodo Transformation-Based Learning
 Si basa su quattro elementi:




Calcolo delle Tag Frequency 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.
30
PoS Tagging 3
 Metodo Transformation-Based Learning
 Transformations

Cambia il tag a con il tag b quando:
1.
2.
3.
4.
5.
6.
7.
Parola prec. (succ.) ha tag z
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 tag z e succ. ha tag w
Parola prec. ha tag z 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 (come nuova regola) la trasformazione che
riduce di più l’errore
31
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 tag b
quando:
1.
2.
3.

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 %
82.2 %
96 %
parole note
parole sconosciute
totale parole
32
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:
posterior

prior
P(ti ,n | w1,n ) 
likelihood
P(t1,n ) P( w1,n | t1,n )
P( w1,n )
evidence
Si deve trovare la sequenza di tag che massimizza la
posterior probability (data una sequenza di parole).
33
PoS Tagging 6

Metodo N-grams (N-words)

Si considera una finestra di N parole. Tipicamente
3: trigrammi.
P(ti | wi , ti 1 , ti 2 )  P(ti | ti 1 , ti 2 ) P(wi | ti )
T
goal  arg max  P(ti | ti 1 , ti  2 ) P( wi | ti )
t1 ...tn
i 1

La probabilità di un tag dipende solo dai due tag
precedenti (indipendenza tra parole!)

La sequenza t1… tn a probabilità massima può
essere calcolata usando l’algoritmo di Viterbi.
34
PoS Tagging 7
 ES (bigramma): “The great put…”





Nel corpus:
• 41145 occorrenze di “put” come V e 46 come N
• 7305323 verbi (V), 4236041 nomi (N), 6189010 agg. (A)
• dopo un aggettivo 18097 verbi (V), 827962 nomi (N)
“put” = Verbo? P(V | “put”,A) = P(“put”|V) P(V|A)
= (41145 / 7305323) x (18097 / 6189010)
= 0.0000164
“put” = Nome? P(N | “put”,A) = P(“put”|N) P(N|A)
= (46 / 4236041) x (827962 / 6189010)
= 0.0000015
Verbo = 0.0000164 / (0.0000164 + 0.0000015) = 91,6% (non 99,9%)
Nome = 0.0000015 / (0.0000164 + 0.0000015) = 8,4%
35
PoS Tagging 8

Metodo N-grams

Per migliorare le prestazioni si possono combinare
uni-grammi, bi-grammi e tri-grammi:
P(t3 | t1 , t2 )  1P '(t3 )  2 P '(t3 | t2 )  3 P '(t3 | t1 , t2 )

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

#ec + 1
P (ec ) 
#E + C
Performance:


96/98 %
62/89%
parole note
parole sconosciute
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
GATE
Possiede oltre
60000 ingressi
Organizzati in 80
classi
 Gazetteers


Liste di nomi, associati a categorie (organizzate
gerarchicamente) + Macchine a Stati Finiti.
Per esempio:
lista_città
Luogo
lista_valute
Città
Roma, Parigi, etc…
Misura
Denaro
Post_quantità
Euro, Euri, Dollari, Sterline, etc…
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 (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
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
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).
Person
0,12
0,19
0,4
Start
0,7
Company
End
0,81
0,88
Not a name
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 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:
Articolo del 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
testo.
Format Detection
Tokenization
Morphological & Lexical Analysis
Named Entities Recognition
Syntactic Analysis
Coreference
Analysis
gli elementi
del
Scenario pattern matching
Inferenze & Event Merging
 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 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
[VS
[N the current account deficit]]
[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 Attachment:
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
51
IE: Coreference 2
 STEP 1: marcamento espressioni candidate

si selezionano le parti nominali del testo (NG)
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 all’indietro




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, interparagrafo, inter-documento)
se x è correlato a y la coreferenza sarà y  x
52
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:
Evento:
Persona:
Posizione:
Compagnia:
leave job
Sam Schwartz
executive vice president
Hupplewhite Inc
Evento:
Persona:
Posizione:
Compagnia:
start job
Harry Himmelfarb
executive vice president
Hupplewhite Inc
 L’informazione necessaria è sparsa su più frasi e quindi deve essere
combinata prima di generare il template degli eventi
 L’informazione è spesso anche implicita.
53
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 dell’esempio si sfrutta:




l’informazione sui Named Entities (i soggetti coinvolti
nell’evento sono NE)
l’analisi morfo-sintattica sul testo (i verbi regolano le relazioni
tra NE all’interno degli eventi)
la risoluzione delle coreferenze
knowledge base di sistemi inferenziali
 In particolare nell’esempio si deve poter determinare
cosa implica il verbo “succeed”.
54
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:


“Sam was president. He was succeeded by Harry”  Harry
will become 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):


leave-job(X-person, Y-job) & succeed(Z-person, X-person)
 start-job(Z-person,Y-job)
start-job(X-person, Y-job) & succeed(X-person, Z-person)
 leave-job(Z-person,Y-job)
55
Scarica

Information Extraction