Università degli Studi di Modena e Reggio Emilia
Facoltà di Ingegneria - Corso di Laurea in Ingegneria Informatica
Risoluzione di ambiguità semantiche per la
ricerca di similarità tra frasi
Erika Stefanini
Relatore:
Correlatori:
Prof. Paolo Tiberio
Dott. Federica Mandreoli
Ing. Riccardo Martoglia
Anno Accademico 2002/2003
Obiettivi della tesi:
• realizzazione di un modulo indipendente per la
risoluzione di ambiguità semantiche (word sense
disambiguation) di termini appartenenti a frasi di
lingua inglese
• questo modulo verrà poi utilizzato all’interno del
progetto EXTRA
Sistema EXTRA:
Ricerca approssimata
di frasi
(Pre-traduzione)
Suggerimenti per la
traduzione
Testo da
tradurre
Frase originale
Frase Tradotta
The white cat is hunting
the mouse
Il gatto bianco sta
cacciando il topo.
The white feline is
catching the rodent.
Il felino bianco sta
catturando il roditore.
The white computer is
detecting a mouse.
Il computer bianco sta
rintracciando un mouse.
Traduttore
professionista
Testo
tradotto
Allineamento
The white cat is hunting the mouse
Edit=1distance
= 3= 0,57
Sim
ed/lung
The
Thewhite
whitecomputer
feline is catching
is detecting
the arodent
mouse
La risoluzione di ambiguità semantiche dei termini
(word sense disambiguation):
• è stata un tema di grande interesse fin dagli anni
’50
• è stata studiata ed utilizzata in diversi settori:
intelligenza
artificiale
(comprensione
del
linguaggio naturale), traduzione automatica,
information retrieval
• consiste nel determinare in modo automatico il
significato più appropriato di una parola in base al
contesto (frase) in cui si trova
• 2 tipi di approccio per il wsd
WordNet
È un sistema
lessicale basato sulle
teorie
psicolinguistiche
della memoria
lessicale umana
Word
Meanings
Word Forms
apricot
apricot tree
Asian tree having clusters
of usually white
blossoms…
X
X
Downy yellow to rosycolored fruit resembling a
small peach
X
A shade of pink tinged
with yellow
X
• La caratteristica principale di WordNet è l’organizzazione delle
informazioni lessicali delle parole in base al loro significato e non alla
loro forma (lemma)
• Ogni parola è l’associazione tra la sua forma (il modo in cui viene
scritta) ed il significato che esprime; questa corrispondenza viene
espressa tramite la matrice lessicale
WordNet è stato realizzato presso il Cognitive Science Laboratory della Princeton
University da un gruppo di psicologi e linguisti coordinati dal prof. George A.
Miller.
WordNet divide l’insieme delle parole in 4 categorie:
•
•
•
•
Nomi
Aggettivi
Avverbi
Verbi
Ogni categoria è organizzata in insiemi di sinonimi
(synset) che rappresentano un concetto.
I synset sono collegati tra loro da diversi tipi di
relazioni semantiche.
Entity, physical thing
Substance, matter
Object, physical object
IPERONIMIA
Solid
Natural object
Un concetto rappresentato dal synset {y, y’,…}
è un iperonimo del
Plant part
Fooddal synset {x, x’,…} se si può costruire una frase
concetto rappresentato
Reproductive structure
del tipo An x is a (kind of) y.
Produce,green goods,…
Fruit
L’iperonimia genera una gerarchia simile alle gerarchie
di specializzazione
presente nei modelli E/R.
Edible fruit
Pome, false fruit
Gli algoritmi implementati tengono conto solo dei nomi e dei verbi.
Apple (significato numero 1)
TRASFORMAZIONE PRELIMINARE DELLA FRASE
frase originale
The white cat is hunting the mouse
stemming
parsing
frase “parserizzata”
frase “stemmizzata”
The/DT white/JJ cat/NN is/VBZ
hunting/VBG the/DT mouse/NN
estrazione di
nomi e verbi
white cat be hunt mouse
nomi = {cat,mouse}
Algoritmo wsd
nomi
lista nomi , lista verbi
nomi = {cat, mouse}, verbi = {be, hunt}
nomi = {cat,mouse}
verbi = {be,hunting}
Algoritmo wsd
verbi
ALGORITMO DI WORD
SENSE
DISAMBIGUATION DEI NOMI
Placental
mammal
Osservazione:
se un insieme
di parole
3
4 polisemiche sono simili, il loro
concetto comune dà informazioni su quale significato di
ognuna delle parole sia quello più adatto.
Carnivore
Rodent
Dato un insieme di nomi W = { w1, w2,…} considero tutte le possibili coppie (wi,
2
5
w j)
Feline, felid
Mouse
Calcolo della SIMILARITÀ SEMANTICA
di due nomi:
(significato 1)
si basa sulla1lunghezza del cammino necessario a percorrere la distanza che
li separa dal loro concetto minimo comune
len(cat#1, mouse#1) = 5
Cat
(significato 1)
sim(w1, w2) = - ln
len(w1, w2)
2*D
sim(cat#1,mouse#1) = 1,856
ALGORITMO DI WORD SENSE DISAMBIGUATION DEI NOMI
Dati:
• un insieme di nomi w1, w2, …, wn
1,2
• sim(wi, wj) per ogni coppia di nomi
1
R(z) = 1 – 0.8 *
z
numsenses - 1
• c[i,j] = concetto minimo comune a wi e wj
R(z)
0,8
0,6
Si vuole
φ(w,k) funzione che indica la confidenza con cui si può
determinare:
dire che la parola w ha il significato k
0,4
0,2
0
0
2
4
6
8
10
12
Il significato migliore di un nome è quello che ha il più alto valore di φ.
z
PASSI
calcolo

coppia
della
di nomi
confidenza
wi e wj si determina v[i,j] = sim(wi, wj) * G(di – dj)
1,2
G(x)
support[i,k]
se
c[i,j]
è
un
iperonimo
di
sense
(wi, , se
k) normalization[i] != 0
1
φ (i,k) = α *
+ β * R(z)
normalization[i]0,8
allora
support[i,k] += 0,6
v[i,j]
 + = 1
oppure
0,4
normalization[i]
+= v[i,j]; normalization[j] += v[i,j];
1
0,2
φ (i,k) = α *
num_senses(w[i])0
-1 -9 -8 -7 -6 -5 -4 -3 -2 -1
0
+ β * R(z) , se normalization[i] = 0
0
1
2
3
4
5
6
7
8
x
9 10
ALGORITMO DI WORD SENSE DISAMBIGUATION DEI VERBI
Per i verbi approccio di tipo diverso:
definizioni dei significati di WordNet
Sense 2
look, appear, seem -- (give a certain impression or have a certain outward
aspect; "She seems to be sleeping"; "This appears to be a very difficult
problem"; "This project looks fishy"; "They appeared like people who
had not eaten or slept for a long time")
Descrizione del significato + frasi di esempio
ALGORITMO DI WORD SENSE DISAMBIGUATION DEI VERBI
Dati:
• N = insieme nomi presenti nella frase in cui compare verbo v
• nomi_es(v, k) = insieme nomi nella definizione del significato k
del verbo v;
1,2
k
numsenses
-1
• sim(nomei, nome_es
j) ,  nomei  N e  nome_esj  nomi_es(v,k)
R(k) = 1 – 0.9 *
1
R(k)
0,8
0,6
Si vuole
φ(v,k) funzione che indica la confidenza con cui si
0,4
determinare:
dire che il verbo v ha il significato k
può
0,2
Il significato
migliore del verbo v è quello con il valore più alto di φ.
0
0
PASSI
2
4
6
8
10
12
k
Calcolo
 nomeidella
 N confidenza
maxi = max{ sim(nomei , nome_esj), con j = 1,2, ..., m}
1,2
G(x)
1
0,8
φ(v, k) = R(k) *  G(d )G*(max
 d)
i
i
i
i
0,6
0,4
i
0,2
0
-1 -9 -8 -7 -6 -5 -4 -3 -2 -1
0
0
1
2
3
4
5
6
7
8
x
9 10
ALGORITMO DI WORD SENSE DISAMBIGUATION DEI VERBI
Poiché WordNet contiene verbi con oltre 30 significati, si è deciso di
sfruttare l’andamento di R(k) per migliore l’efficienza dell’algoritmo.
La retta R(k) è decrescente
R(k) > R(k+1)
Se risulta vera la condizione φ(v,k) > R(k+1)
φ(v,k) = R(k)*T(v,k) > R(k+1) > R(k+1)*T(v,k+1) = φ(v,k+1)
Si può smettere di calcolare φ(v,k) per k > k+1, visto che in questo
intervallo si otterrebbero valori minori di φ(v,k)
GENERAZIONE CODICI
WordNet assegna ad ogni significato un codice numerico univoco.
Dopo aver eseguito gli algoritmi di word sense disambiguation, ad
ogni nome o verbo della frase “stemmizzata” viene sostituito il
codice del significato che è risultato essere migliore.
Frase originale:
Frase originale:
The white cat is hunting the mouse
The white feline
computer
is catching
is detecting
the rodent
a mouse
Frase “stemmizzata”:
Frase “stemmizzata”:
white cat be hunt mouse
white
white
computer
feline bebecatch
detect
rodent
mouse
Frase con codici:
Frase con codici:
white 1788952 2058045 903354 1993014
white
white1788952
78465482058045
2058045837447
6585461993014
85657
RISULTATI ALGORITMO WSD NOMI
Media delle percentuali di successo
caso primaedopo = 0
79,5
70
68,6
80
70
media % successo
Collezioni dati di tipo tecnico e di
tipo generico (da opere letterarie)
60
DPaint
50
elettrodomestici
40
op.letterarie
30
20
10
0
casi primaedopo = 0 e primaedopo > 0 a confronto
100
90,7
90
media % successo
80
70
73,4
77
79,5
68,6
70
60
primaedopo=0
50
primaedopo>0
40
30
1=DPaint
2=elettrodom.
3=op.letterarie
20
10
0
1
2
3
RISULTATI ALGORITMO WSD VERBI
È molto difficile stabilire con certezza il giusto significato di un verbo
Esempio:
Frase originale:
The great musician Mozart composed nine symphonies
and many other musical composition.
The verb compose has 6 senses (first 5 from tagged texts):
1.
(14) compose -- (form the substance of; "Greed and ambition composed
his personality")
2. (5) compose, write -- (write music; "Beethoven composed nine symphonies")
3. (4) write, compose, pen, indite -- (produce a literary work; "She composed a
poem"; "He wrote four novels")
4. (3) compose, compile -- (put together out of existing material; "compile a list")
5. (1) compose -- (calm (someone, esp. oneself); make quiet; "She had to compose
herself before she could reply to this terrible insult")
6. frame, outline, compose, draw up -- (draw up the plans or basic details for;
"frame a policy")
Obiettivi raggiunti :

definizione della funzione di similarità semantica: fornisce una
misura della somiglianza di significato tra due concetti

tramite questa funzione sono stati sviluppati gli algoritmi di
word sense disambiguation: per ogni significato si è
determinata la confidenza con cui poter giudicare quanto fosse
appropriato
si è aumentata l’efficacia dell’algoritmo relativo ai nomi
valutando anche i nomi delle frasi adiacenti

Sviluppi futuri :



Per i nomi: considerare anche altri tipi di relazioni oltre l’iperonimia
Per i verbi: analizzare le frasi in base all’analisi logica per
determinare soggetto ed eventuale complemento oggetto
Approccio di tipo statistico
Scarica

Presentazione - ISGroup - Università degli studi di Modena e