2. Limiti della ricerca per parole chiave
• I metodi di ranking tradizionali calcolano l’attinenza di
un documento ad una query sulla base della presenza o
meno di parole contenute nella query: un termine o è
presente o non lo è
• Nel LSI la ricerca avviene per concetti: ma un concetto
non è l’astrazione-generalizazzione di un termine (es:
golf vestiario) bensì un insieme di termini
correlati (golf, maglia, vestito) detti co-occorrenze o
dominio semantico
3. • Data una collezione di documenti, LSI è in grado di rilevare che
alcune n-uple di termini co-occorrono frequentemente (es:
gerarchia, ordinamento e classificazione)
• Se viene fatta una ricerca con gerarchia, ordinamento
vengono “automaticamente” recuperati documenti che
contengono anche (e eventualmente solo!)
classificazione
Dominio
Semantico k
4. Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Selezione dei documenti basata sul termine ‘Golf’
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Petrol
Topgear
GTI
Polo
Base di documenti (20)
Motor
Bike
Oil
Petrol
Tourer
Bed
lace
legal
Petrol
button
soft
Petrol
cat
line
yellow
wind
full
sail
harbour
beach
report
Petrol
Topgear
June
Speed
Fish
Pond
gold
Petrol
Koi
PC
Dell
RAM
Petrol
Floppy
Core
Petrol
Apple
Pip
Tree
Pea
Pod
Fresh
Green
French
Lupin
Petrol
Seed
May
April
Office
Pen
Desk
Petrol
VDU
Friend
Pal
Help
Petrol
Can
Paper
Petrol
Paste
Pencil
Roof
Card
Stamp
Glue
Happy
Send
Toil
Petrol
Work
Time
Cost
con il modello keyword
vengono estratti 4
documenti
5. Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Selezione basata su ‘Golf’
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Petrol
Topgear
GTI
Polo
Tutti i 20 documenti
Motor
Bike
Oil
Petrol
Tourer
Bed
lace
legal
Petrol
button
soft
Petrol
cat
line
yellow
wind
full
sail
harbour
beach
report
Petrol
Topgear
June
Speed
Fish
Pond
gold
Petrol
Koi
PC
Dell
RAM
Petrol
Floppy
Core
Petrol
Apple
Pip
Tree
Pea
Pod
Fresh
Green
French
Lupin
Petrol
Seed
May
April
Office
Pen
Desk
Petrol
VDU
Friend
Pal
Help
Petrol
Can
Paper
Petrol
Paste
Pencil
Roof
Card
Stamp
Glue
Happy
Send
Toil
Petrol
Work
Time
Cost
vediamo quali sono le parole
più rilevanti associate a Golf
di questi 4 documenti. Esse sono:
Car, Topgear and Petrol
rank
dei
doc
selezionati
Car
2 *(20/3) = 13
Topgear
2 *(20/3) = 13
Petrol
3 *(20/16) = 4
wf.idf
6. Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
rank
dei
doc
selezionati
Selezione basata su ‘Golf’
Car
2 *(20/3) = 13
Topgear
2 *(20/3) = 13
Petrol
3 *(20/16) = 4
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Petrol
Topgear
GTI
Polo
Tutti i 20 documenti
Motor
Bike
Oil
Petrol
Tourer
Bed
lace
legal
Petrol
button
soft
Petrol
cat
line
yellow
wind
full
sail
harbour
beach
report
Petrol
Topgear
June
Speed
Fish
Pond
gold
Petrol
Koi
PC
Dell
RAM
Petrol
Floppy
Core
Petrol
Apple
Pip
Tree
Pea
Pod
Fresh
Green
French
Lupin
Petrol
Seed
May
April
Office
Pen
Desk
Petrol
VDU
Friend
Pal
Help
Petrol
Can
Paper
Petrol
Paste
Pencil
Roof
Card
Stamp
Glue
Happy
Send
Toil
Petrol
Work
Time
Cost
poiché le parole sono pesate anche
rispetto al loro idf, risulta che :
Car e Topgear sono associate a Golf
più di Petrol
7. Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Petrol
Topgear
GTI
Polo
Tutti i 20 documenti
Motor
Bike
Oil
Petrol
Tourer
Bed
lace
legal
Petrol
button
soft
Petrol
cat
line
yellow
wind
full
sail
harbour
beach
report
Petrol
Topgear
June
Speed
Fish
Pond
gold
Petrol
Koi
PC
Dell
RAM
Petrol
Floppy
Core
Petrol
Apple
Pip
Tree
Pea
Pod
Fresh
Green
French
Lupin
Petrol
Seed
May
April
Office
Pen
Desk
Petrol
VDU
Friend
Pal
Help
Petrol
Can
Paper
Petrol
Paste
Pencil
Roof
Card
Stamp
Glue
Happy
Send
Toil
Petrol
Work
Time
Cost
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
rank
dei
doc
selezionati
Selezione basata su ‘Golf’
selezione basata sul dominio semantico
Car
2 *(20/3) = 13
Topgear
2 *(20/3) = 13
Petrol
3 *(20/16) = 4
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Wheel
Topgear
GTI
Polo
Ora cerchiamo ancora nella base
di documenti, usando questo insieme
di parole che rappresentano
il “dominio semantico” di Golf .
La lista ora include un nuovo documento,
non catturato sulla base della
semplice ricerca per keywords.
8. Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
rank
dei
doc
selezionati
Selezione basata su ‘Golf’
selezione basata sul dominio semantico
Car
2 *(20/3) = 13
Topgear
2 *(20/3) = 13
Petrol
3 *(20/16) = 4
Rank 2617 17 030
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Petrol
Topgear
GTI
Polo
Tutti i 20 documenti
Motor
Bike
Oil
Petrol
Tourer
Bed
lace
legal
Petrol
button
soft
Petrol
cat
line
yellow
wind
full
sail
harbour
beach
report
Petrol
Topgear
June
Speed
Fish
Pond
gold
Petrol
Koi
PC
Dell
RAM
Petrol
Floppy
Core
Petrol
Apple
Pip
Tree
Pea
Pod
Fresh
Green
French
Lupin
Petrol
Seed
May
April
Office
Pen
Desk
Petrol
VDU
Friend
Pal
Help
Petrol
Can
Paper
Petrol
Paste
Pencil
Roof
Card
Stamp
Glue
Happy
Send
Toil
Petrol
Work
Time
Cost
Golf
Car
Topgear
Petrol
GTI
Golf
Car
Clarkson
Petrol
Badge
Golf
Petrol
Topgear
Polo
Red
Golf
Tiger
Woods
Belfry
Tee
Car
Wheel
Topgear
GTI
Polo
Usando un ranking
basato sulla co-occorrenza dei termini
possiamo assegnare
un miglior ranking ai documenti.
Notate che: il documento
più rilevante non contiene la parola Golf, e
che uno dei documenti che la conteneva
scompare (era infatti un senso “spurio”di Golf).
11. Co-occorrenze dei termini nei
documenti
== ΛΛΑ Τ
ijA = T
ikL kjL
T
L L
∑∑ ==
==
n
k
kjki
n
k
kj
T
ikij LLLLA
11
Aij è il numero di co-occorrenze nei documenti
fra il termine i ed il termine j
14. Matrici delle co-occorrenze
• Se L è una matrice nxm (termini x documenti)
• Allora:
– LT
L è la matrice le cui righe ai rappresentano le co-
occorrenze di termini fra di e dj, per ogni dj. Dato un
documento, indica quali sono i documenti più simili.
– LLT
è la matrice le cui righe ai rappresentano le co-
occorrenze nei documenti fra ti e tj per ogni tj. Dato un
termine, indica quali sono i termini più correlati.
– Usando, ad esempio, la matrice LLT
potrei “espandere” ogni
termine con quelli aventi il più alto valore di correlazione
(cioè, aggiungere alla query in cui compare la parola w anche
quelle che co-occorrono con w più frequentemente)
15. Osservazione
• Tutte le possibili co-occorrenze sarebbero assai di più dei
termini singoli (detta L la matrice termini-documenti, dovrei
calcolare A=LLT
).
• Tuttavia, sebbene la matrice A ha dimensionalità elevata la
maggioranza delle celle hanno valore zero
• Con i metodi classici ogni documento o query è un vettore in
uno spazio t-dimensionale
• LSI tenta di proiettare questo spazio in uno spazio di
dimensione ridotta, in cui, anziché termini, le dimensioni
rappresentano co-occorrenze o dominii semantici, ma solo quelli
preponderanti
• Tuttavia LSI utilizza per questa riduzione di rango solo
strumenti matematici (singular value decomposition, SVD).
17. Singual value decomposition
• Come detto, LSI proietta la matrice L termini-
documenti in uno spazio concettuale di dimensioni
ridotte, dove le dimensioni sono gruppi di concetti che
co-occorrono, definendo un “dominio semantico”
• Il metodo utilizzato per effettuare questa proiezione è
la singular value decomposition, un metodo algebrico.
• Ci occorre un piccolo ripasso di algebra per capire
questo metodo.
19. Autovalori & Autovettori
Ha soluzioni non nulle se
Se S mxm, questa è un’equazione di grado m in λ che ha al
più m soluzioni distinte (le radici del polinomio
caratteristico) – possono essere complesse anche se S è
reale.
(right) eigenvector eigenvalue
Esempio
Eigenvectors o autovettori (di una matrice S)
Quanti autovalori al massimo ha S?
20. Esempio: calcolo di Eigenvalues and
Eigenvectors
• Def: Un vettore v ∈ Rn
, v ≠ 0, è un
autovettore di una matrice n×n A con
corrispondente autovalore λ, se:
Av = λv
A =
1 −1
3 5
⎛
⎝
⎜
⎞
⎠
⎟⋅v =
1
−3
⎛
⎝
⎜
⎞
⎠
⎟⋅λ = 4
Av = λv
1 −1
3 5
⎛
⎝
⎜
⎞
⎠
⎟
1
−3
⎛
⎝
⎜
⎞
⎠
⎟= 4
1
−3
⎛
⎝
⎜
⎞
⎠
⎟
1+−3(−1)
3 +5(−3)
⎛
⎝
⎜
⎞
⎠
⎟=
4
−12
⎛
⎝
⎜
⎞
⎠
⎟
4
−12
⎛
⎝
⎜
⎞
⎠
⎟=
4
−12
⎛
⎝
⎜
⎞
⎠
⎟
23. Significato geometrico di autovalori
e autovettori
• La moltiplicazione di una matrice A mxn per un
vettore v è una trasformazione lineare che
trasferisce il vettore v dallo spazio Rn
a Rm
• Gli autovettori sono quei vettorila cui direzione
non cambia per effetto della trasformazione A
24. Moltiplicare per una matrice è una
trasformazione lineare
In questa trasformazione lineare della
Gioconda, l'immagine è
modificata ma l'asse centrale verticale
rimane fisso.
Il vettore blu ha cambiato direzione,
mentre quello rosso no.
Quindi il vettore rosso è un
autovettore della trasformazione e
quello blu no. Inoltre, poiché il vettore
rosso non è stato né allungato, né
compresso, né ribaltato, il suo
autovalore è 1 (quindi l’autovalore
indica una costante di traslazione dei
punti dell’immagine nella direzione
blu) . Tutti i vettori sull'asse verticale
sono multipli scalari del vettore rosso,
e sono tutti autovettori.
Av=λv
25. Trasformazioni lineari
• Se v è un vettore qualsiasi, A una matrice nxm
(trasformazione lineare), vi gli autovettori di A e
λi gli autovalori, la trasformazione del vettore è
completamente definita da autovalori e
autovettori di A:
A
r
v = λ1(v1⋅ v) + λ2(v2 ⋅ v) + ...λk(vk ⋅ v)
26. Riduzione della dimensionalità (o
approssimazione di rango k di una matrice)
Moltiplicare una matrice per un vettore ha due effetti sul vettore:
rotazione (il vettore cambia coordinate) e scalatura (la lunghezza
del vettore cambia). La massima compressione e rotazione
dipendono dagli autovalori della matrice (vedi formula precedente)
27. Riduzione della dimensionalità (o approssimazione
di rango k di una matrice)
Nello schiacciamento e compressione il ruolo principale lo giocano
i valori singolari più grandi della matrice (s1 e s2 in figura)
Gli autovalori descrivono dunque quanto la matrice
distorce (riduce e comprime) il vettore originario
28. Riduzione della dimensionalità (o approssimazione
di rango k di una matrice)
Qui invece supponiamo che, invece di ruotare un vettore,
ruotiamo un insieme di vettori ortonormali. Se, ad es, di tre
autovalori uno lo trascuriamo perché più piccolo, è come se
rimuovessimo una dimensione (se invece eliminiamo due
autovalori, l’ellissoide si schiaccia su una retta)
29. Cosa c’entra tutto ciò?
• Riassumiamo:
– Se q è il vettore di una query e L è la matrice termini-
documenti, il prodotto LT
q fornisce una matrice delle
similarità fra q e i documenti della collezione, secondo il
modello vettoriale standard
– Ma LT
q è una trasformazione lineare, e, se λi e vi sono
autovalori e autovettori di LT
=A, allora
– Se posso trascurare alcuni autovalori, allora è come se
proiettassi q in uno spazio a dimensioni ridotte: ma
come?
– Servono altre definizioni .. ( e ci resta da capire cosa
c’entrano le matrici delle co-occorrenze LT
L e LLT
viste
Aq = λ1(v1 ⋅q) + λ2(v2 ⋅q) +...λk (vk ⋅q)
30. Valori e vettori singolari
• Data una matrice L nxm, la radice quadrata degli n
autovalori di LT
L si dicono valori singolari di L
• Gli n autovettori di LT
L si dicono vettori singolari
destri
• Gli m autovettori di LLT
si dicono vettori singolari
sinistri
• E finalmente…
31. Singular Value Decomposition!!
Sia L una matrice nxm
Data una matrice nxn, esistono 3 matrici U, Σ e VT
, tali che:
L = UΣVT
• U e V sono le matrici dei vettori singolari sinistro e destro di
L (cioè gli autovettori o eigenvectors di LLT
e LT
L,
rispettivamente)
• Le colonne di U e le righe di V definiscono uno spazio
ortonormale, cioè: U-1
=VT
• Σ è la matrice diagonale dei valori singolari σ di L
I valori singolari sono le radici degli autovalori di LLT
o LT
L
(si dimostra che sono uguali). Poiché LLT
è SIMMETRICA,i suoi
autovalori √σ= λ saranno reali decrescenti lungo Σ.
32. Riduzione del rango in LSI
Gli elementi diagonali in Σ sono positivi e decrescenti in
grandezza. Si prendono i primi k e gli altri vengono posti a zero.
Si cancellano le righe e le colonne zero di Σ e le corrispondenti
righe e colonne di U e V. Si ottiene:
L ≈ U’Σ’VT’
Interpretazione
Se il valore k è selezionato opportunamente, l’aspettativa è che la
nuova matrice mantenga l’informazione semantica di L, ma
elimini il rumore derivante dalla sinonimia (perché sensi diversi
avranno co-occorrenze diverse) e riconosca la dipendenza fra
termini co-occorrenti.
^
ˆL
33. Riduzione del rango
L =
t x d t x k k x dk x k
k è il numero di valori singolari scelti per rappresentare i
concetti nell’insieme dei documenti
In genere, k « d.
U’
Σ’ V’T
34. Ma insomma, cosa c’entrano le
co-occorrenze????
• Abbiamo detto che U, Σ e V sono matrici degli
autovalori e autovettori di LT
L e LLT
(nonchè
valori e vettori singolari di L).
• Ma come calcoliamo, ad es. gli autovalori di
LT
L?
35. Ricordate come è fatta la matrice
LT
L
w11 w12 w13
w12 w22 w23
w13 w23 w33
Per trovare gli autovalori, devo calcolare
il determinante di:
w11-λ w12 w13
w12 w22 -λ w23
w13 w23 w33 -λ
L’equazione caratteristica di terzo grado è data, in questo esempio, da:
(w11 −λ) (w22 −λ)(w33 −λ)−2w23[ ] −w12 w12(w23 −λ)−w23w13[ ] +w13(w12w23 −w22w13)
Che come si vede, contiene prodotti di co-occorrenze: gli
autovalori di grandezza maggiore (o vettori singolari di L)
saranno determinati dai prodotti di co-occorrenze tutte non nulle
36. Esempio LLT
(ricordate?)
2 2 0
2 2 0
0 0 1
Si vede chiaramente che esistono
due dimensioni: quella di w1 e w2
(w12), e quella di w3
w11 w12 w13
w12 w22 w23
w13 w23 w33
Calcolando autovalori e autovettori su:
http://www.bluebit.gr/matrix-calculator/calculate.aspx
si ottiene il polinomio caratteristico:
Con autovalori 4, 1 e 0.
λ3 −5λ2 + 4λ
38. La matrice L termini-documenti
Autovettori di LLT
o
vettori singolari sinistri di L
Radici degli autovalori di LLT
o valori singolari di L
Autovettori di LTL o vettori
singolari destri
39. SVD nel LSI: conclusioni
• Nel modello vettoriale, queries e documenti sono
vettori in uno spazio le cui dimensioni sono i termini,
considerati fra loro ortonormali, cioè indipendenti fra
loro
• LSI trasferisce questi vettori in uno spazio le cui
dimensioni sono concetti, cioè co-occorrenze fra
termini
• La riduzione di rango ha l’effetto di eliminare i concetti
poco rilevanti
40. Riassunto del Procedimento
• L=UΣVT
dove L nxm
1. Calcola la trasposta LT
di L
2. Determina gli autovalori di LT
L e ordinali in ordine
decrescente. Calcola le radici quadrate.
3. Costruisci la matrice Σ
4. Calcola gli autovettori di LT
L. Questi sono le colonne
di V. Genera VT
5. Calcola U=AVΣ-1
44. 3a. Calcolo similarità query-
documento
• Per N documenti, V contiene N righe, ognuna
delle quali rappresenta le coordinate del
documento diproiettato nella dimensione LSI
• Una query viene trattata come un documento e
anch’essa proiettata nello spazio LSI
45. 3b. L=USVT
• Se L=UΣVT
si ha anche che
• V = LT
UΣ-1
• d = dT
UΣ-1
• q = qT
UΣ-1
• Dopo la riduzione di rango k:
– d = dT
UkΣk
-1
– q = qT
UkΣk
-1
– sim(q, d) = sim(qT
UkΣk
-1
, dT
UkΣk
-1
)