latent semantic indexing. limiti della ricerca per parole chiave i metodi di ranking tradizionali...

Post on 01-May-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LATENT SEMANTIC INDEXING

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

• 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

DominioSemantico k

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

Selezione dei documenti basata sul termine ‘Golf’

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarPetrol

TopgearGTIPolo

Base di documenti (20)

MotorBikeOil

PetrolTourer

BedlacelegalPetrolbutton

softPetrol

catline

yellow

windfullsail

harbourbeach

reportPetrol

TopgearJune

Speed

FishPondgold

PetrolKoi

PCDell

RAMPetrolFloppy

CorePetrolApple

PipTree

PeaPod

FreshGreenFrench

LupinPetrolSeedMay April

OfficePen

DeskPetrol VDU

FriendPal

HelpPetrolCan

PaperPetrolPastePencilRoof

CardStampGlue

HappySend

ToilPetrolWorkTimeCost

con il modello keywordvengono estratti 4

documenti

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

Selezione basata su ‘Golf’

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarPetrol

TopgearGTIPolo

Tutti i 20 documenti

MotorBikeOil

PetrolTourer

BedlacelegalPetrolbutton

softPetrol

catline

yellow

windfullsail

harbourbeach

reportPetrol

TopgearJune

Speed

FishPondgold

PetrolKoi

PCDell

RAMPetrolFloppy

CorePetrolApple

PipTree

PeaPod

FreshGreenFrench

LupinPetrolSeedMay April

OfficePen

DeskPetrol VDU

FriendPal

HelpPetrolCan

PaperPetrolPastePencilRoof

CardStampGlue

HappySend

ToilPetrolWorkTimeCost

vediamo quali sono le parolepiù rilevanti associate a Golf

di questi 4 documenti. Esse sono:Car, Topgear and Petrol

rankdeidoc

selezionati

Car 2 *(20/3) = 13

Topgear 2 *(20/3) = 13

Petrol 3 *(20/16) = 4

wf.idf

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

rankdeidoc

selezionati

Selezione basata su ‘Golf’

Car 2 *(20/3) = 13

Topgear 2 *(20/3) = 13

Petrol 3 *(20/16) = 4

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarPetrol

TopgearGTIPolo

Tutti i 20 documenti

MotorBikeOil

PetrolTourer

BedlacelegalPetrolbutton

softPetrol

catline

yellow

windfullsail

harbourbeach

reportPetrol

TopgearJune

Speed

FishPondgold

PetrolKoi

PCDell

RAMPetrolFloppy

CorePetrolApple

PipTree

PeaPod

FreshGreenFrench

LupinPetrolSeedMay April

OfficePen

DeskPetrol VDU

FriendPal

HelpPetrolCan

PaperPetrolPastePencilRoof

CardStampGlue

HappySend

ToilPetrolWorkTimeCost

poiché le parole sono pesate anche rispetto al loro idf, risulta che :

Car e Topgear sono associate a Golfpiù di Petrol

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarPetrol

TopgearGTIPolo

Tutti i 20 documenti

MotorBikeOil

PetrolTourer

BedlacelegalPetrolbutton

softPetrol

catline

yellow

windfullsail

harbourbeach

reportPetrol

TopgearJune

Speed

FishPondgold

PetrolKoi

PCDell

RAMPetrolFloppy

CorePetrolApple

PipTree

PeaPod

FreshGreenFrench

LupinPetrolSeedMay April

OfficePen

DeskPetrol VDU

FriendPal

HelpPetrolCan

PaperPetrolPastePencilRoof

CardStampGlue

HappySend

ToilPetrolWorkTimeCost

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

rankdeidoc

selezionati

Selezione basata su ‘Golf’

selezione basata sul dominio semantico Car

2 *(20/3) = 13Topgear

2 *(20/3) = 13Petrol

3 *(20/16) = 4

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarWheel

TopgearGTIPolo

Ora cerchiamo ancora nella basedi documenti, usando questo insieme

di parole che rappresentanoil “dominio semantico” di Golf .

La lista ora include un nuovo documento, non catturato sulla base della

semplice ricerca per keywords.

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

rankdeidoc

selezionati

Selezione basata su ‘Golf’

selezione basata sul dominio semanticoCar

2 *(20/3) = 13Topgear

2 *(20/3) = 13Petrol

3 *(20/16) = 4

Rank 2617 17 030

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarPetrol

TopgearGTIPolo

Tutti i 20 documenti

MotorBikeOil

PetrolTourer

BedlacelegalPetrolbutton

softPetrol

catline

yellow

windfullsail

harbourbeach

reportPetrol

TopgearJune

Speed

FishPondgold

PetrolKoi

PCDell

RAMPetrolFloppy

CorePetrolApple

PipTree

PeaPod

FreshGreenFrench

LupinPetrolSeedMay April

OfficePen

DeskPetrol VDU

FriendPal

HelpPetrolCan

PaperPetrolPastePencilRoof

CardStampGlue

HappySend

ToilPetrolWorkTimeCost

GolfCar

TopgearPetrolGTI

GolfCar

ClarksonPetrolBadge

GolfPetrol

TopgearPoloRed

GolfTiger

WoodsBelfry

Tee

CarWheel

TopgearGTIPolo

Usando un rankingbasato sulla co-occorrenza dei termini

possiamo assegnare un miglior ranking ai documenti.

Notate che: il documentopiù rilevante non contiene la parola Golf, e

che uno dei documenti che la contenevascompare (era infatti un senso “spurio”di Golf).

Esempio 2

Matrice termini-documentiL

Co-occorrenze dei termini nei documenti

== LLA TijA = T

ikL kjL

TL L∑∑==

==n

kkjki

n

kkj

Tikij LLLLA

11

Aij è il numero di co-occorrenze nei documenti

fra il termine i ed il termine j

A trees,graph = (000001110)T(000000111)=2

Esempio 2

2 2 0

2 2 0

0 0 1

w1

w2

w3

d1 d2 d3

1 0 1

1 0 1

0 1 0

LLT

1 1 0

0 0 1

1 1 0

=

w11 w12 w13 w21 w22 w23w31 w32 w33

Ma wij=wji quindiw11 w12 w13 w12 w22 w23w13 w23 w33Simmetrica!

Matrici delle co-occorrenze• Se L è una matrice nxm (termini x documenti)• Allora:

– LTL è 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)

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).

LTL

c13 c23

c12

c123

d1 d2

d3

c13

c23

c123

c23

Similarità fra documenticome diagramma di Venn

Similarità fra documenticome sim fra vettori nellospazio delle co-occorrenze

Cosa significa “proiettarein uno spazio di concetti”

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.

Ripasso di algebra

• Autovalori

• Autovettori

• Vettori e valori singolari

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) eigenvectoreigenvalue

Esempio

Eigenvectors o autovettori (di una matrice S)

Quanti autovalori al massimo ha S?

Esempio: calcolo di Eigenvalues and Eigenvectors

• Def: Un vettore v Rn, v ≠ 0, è un autovettore di una matrice nn 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

⎝ ⎜

⎠ ⎟

Esempio di calcolo

053

11

00

0

53

11

010

01

53

11

0)det(

53

11

=⎟⎟

⎜⎜

−−

=⎟⎟

⎜⎜

⎛−

⎟⎟

⎜⎜

⎛ −

=⎟⎟

⎜⎜

⎛−

⎟⎟

⎜⎜

⎛ −

=−

⎟⎟

⎜⎜

⎛ −=

IA

A

2,4

0)2)(4(

086

0356

03)5)(1(

21

2

2

===−−

=+−

=++−

=+−−

Ricorda il determinante di una matrice M 2x2

bcaddc

baMM −=== ||det

2 e 4 sono i due eigenvalues di A

⎪⎩

⎪⎨⎧

−==+

=−−

⎟⎟

⎜⎜

⎛=

⎟⎟

⎜⎜

⎟⎟

⎜⎜

⎛ −−

⎟⎟

⎜⎜

⎛=

⎟⎟

⎜⎜

⎟⎟

⎜⎜

−−

=−

βαβα

βα

β

α

β

α

033

0

0

0

33

11

0

0

253

121

0)( vIA

(A − λI)v = 0

1− 4 −1

3 5 − 4

⎝ ⎜

⎠ ⎟α

β

⎝ ⎜

⎠ ⎟=

0

0

⎝ ⎜

⎠ ⎟

−3 −1

3 1

⎝ ⎜

⎠ ⎟α

β

⎝ ⎜

⎠ ⎟=

0

0

⎝ ⎜

⎠ ⎟

−3α − β = 0

3α + β = 0 β = −

⎧ ⎨ ⎩

⎟⎟

⎜⎜

−=

=

β

β

v

22

⎟⎟

⎜⎜

−=

=

α

α

3

41

v

Polinomio caratteristico

Approfondimenti

• http://www.sosmath.com/matrix/eigen0/eigen0.html• http://www.cs.ut.ee/~toomas_l/linalg/lin2/

node14.html

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 vettori la cui direzione non cambia per effetto della trasformazione A

Moltiplicare per una matrice è unatrasformazione 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

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:

Ar v = λ1(v1 ⋅v) + λ2(v2 ⋅v) + ...λ k (vk ⋅v)

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)

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

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 treautovalori uno lo trascuriamo perché più piccolo, è come serimuovessimo una dimensione (se invece eliminiamo due autovalori, l’ellissoide si schiaccia su una retta)

Cosa c’entra tutto ciò?

• Riassumiamo:– Se q è il vettore di una query e L è la matrice termini-documenti, il

prodotto LTq fornisce una matrice delle similarità fra q e i documenti della collezione, secondo il modello vettoriale standard

– Ma LTq è 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 LTL e LLT viste prima)

Aq = λ1(v1 ⋅q) + λ2 (v2 ⋅q) +...λk (vk ⋅q)

Valori e vettori singolari

• Data una matrice L nxm, la radice quadrata degli n autovalori di LTL si dicono valori singolari di L

• Gli n autovettori di LTL si dicono vettori singolari destri

• Gli m autovettori di LLT si dicono vettori singolari sinistri

• E finalmente…

Singular Value Decomposition!!

Sia L una matrice nxm

Data una matrice nxn, esistono 3 matrici U, e VT, tali che:

L = UVT

• U e V sono le matrici dei vettori singolari sinistro e destro di L (cioè gli autovettori o eigenvectors di LLT e LTL, 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 LI valori singolari sono le radici degli autovalori di LLT o LTL(si dimostra che sono uguali). Poiché LLT è SIMMETRICA, i suoi

autovalori = saranno reali decrescenti lungo .

Riduzione del rango in LSIGli 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

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

Ma insomma, cosa c’entrano le co-occorrenze????

• Abbiamo detto che U, e V sono matrici degli autovalori e autovettori di LTL e LLT (nonchè valori e vettori singolari di L).

• Ma come calcoliamo, ad es. gli autovalori di LTL?

Ricordate come è fatta la matrice LTL

w11 w12 w13 w12 w22 w23w13 w23 w33

Per trovare gli autovalori, devo calcolareil determinante di:

w11- w12 w13 w12 w22 - w23w13 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

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 w23w13 w23 w33

Calcolando autovalori e autovettori su: http://www.bluebit.gr/matrix-calculator/calculate.aspxsi ottiene il polinomio caratteristico:

Con autovalori 4, 1 e 0.

3 − 5λ2 + 4λ

Matrice LLT

Autovalori e autovettori reali

La matrice L termini-documenti

Autovettori di LLT ovettori singolari sinistri di L

Radici degli autovalori di LLT

o valori singolari di L

Autovettori di LTL o vettorisingolari destri

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

Riassunto del Procedimento

• L=UVT dove L nxm1. Calcola la trasposta LT di L2. 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

Esempio per una matrice termini documenti

query

L

1. Calcolo UVT

2. Approssimazione di rango 2

3a. Calcolo similarità query-documento

• Per N documenti, V contiene N righe, ognuna delle quali rappresenta le coordinate del documento di proiettato nella dimensione LSI

• Una query viene trattata come un documento e anch’essa proiettata nello spazio LSI

3b. L=USVT

• Se L=UVT si ha anche che• V = LTU-1

• d = dTU-1

• q = qTU-1

• Dopo la riduzione di rango k:– d = dTUkk

-1

– q = qTUkk-1

– sim(q, d) = sim(qTUkk-1, dTUkk

-1)

3c. Calcolo del query vectorq = qTUkk

-1

Vettori della query e dei documenti nello spazio LSI

Similarità query-documento

top related