27
LATENT SEMANTIC INDEXING

LATENT SEMANTIC INDEXING

  • Upload
    keelty

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

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 è - PowerPoint PPT Presentation

Citation preview

Page 1: LATENT SEMANTIC INDEXING

LATENT SEMANTIC INDEXING

Page 2: 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

Page 3: LATENT SEMANTIC INDEXING

• Data una collezione di documenti, LSI è in grado di rilevare che alcune n-uple di termini co-occorrono frequentemente (es: n-dimensional, manifold and topology)

• Se viene fatta una ricerca con n-dimensional, manifold vengono “automaticamente” recuperati documenti che contengono anche (e eventualmente solo!) topology

DominioSemantico k

Page 4: LATENT SEMANTIC INDEXING

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

Page 5: LATENT SEMANTIC INDEXING

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

vediamo quali sono le parolepiù rilevanti associate a Golf

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

Page 6: LATENT SEMANTIC INDEXING

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 rispettoal loro idf, risulta che :

Car e Topgear sono associate a Golfpiù di Petrol

Page 7: LATENT SEMANTIC INDEXING

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.

Page 8: LATENT SEMANTIC INDEXING

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

Page 9: LATENT SEMANTIC INDEXING

Un esempio (fasi di elaborazione di un documento nel Vector Model)

O'Neill Criticizes Europe on GrantsPITTSBURGH (AP)Treasury Secretary Paul O'Neill expressed irritation Wednesday that European countries have refused to go along with a U.S. proposal to boost the amount of direct grants rich nations offer poor countries. The Bush administration is pushing a plan to increase the amount of direct grants the World Bank provides the poorest nations to 50 percent of assistance, reducing use of loans to these nations.

o'neill criticizes europe on grants treasury secretary paul o'neill expressed irritation wednesday that european countries have refused to go along with a us proposal to boost the amount of direct grants rich nations offer poor countries the bush administration is pushing a plan to increase the amount of direct grants the world bank provides the poorest nationsto 50 percent of assistance reducing use of loans to these nations

1. Tokenizzazione

Documento originale

Page 10: LATENT SEMANTIC INDEXING

o'neill criticizes europe on grants treasury secretary paul o'neill expressed irritation wednesday that european countries have refused to go along with a US proposal to boost the amount of direct grants rich nations offer poor countries the bush administration is pushing a plan to increase the amount of direct grants the world bank provides the poorest nations to 50 percent of assistance reducing use of loans to these nations

2. Eliminazione Stop Words

3. Stemming

information -> informpresidency -> presidpresiding -> presidhappiness -> happihappily -> happidiscouragement -> discouragbattles -> battl

Page 11: LATENT SEMANTIC INDEXING

administratamountassist bank boost bushcountri (2)directeuropexpressgrant (2)increasirritatloan nation (3)o'neillpaulplanpoor (2) propospushrefusrichsecretartreasuriUSworld

4. Costruzione del Vettore di termini

Page 12: LATENT SEMANTIC INDEXING

Documenti:a b c d e f g h i j k l m n o p q r { 3000 ulteriori colonne }

aa 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... amotd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... aaliyah 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... aarp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ... ab 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... ...zywicki 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

5. Matrice termini-documenti(per tutti i documenti)

termini

Page 13: LATENT SEMANTIC INDEXING

Documenti:a b c d e f g h i j k l m n o p q r { 3000 ulteriori colonne }

aa 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... amotd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... aaliyah 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... aarp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,321 0 0 0 ... ab 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... ...zywicki 0 0 0 0 0,4 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

6) Pesatura dei termini (es. tf*idf normalizzato)

termini

Page 14: LATENT SEMANTIC INDEXING

Osservazione • La maggioranza delle celle della matrice sono zero• La dimensionalità della matrice è elevata (t)• 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

• Tutte le possibili co-occorrenze sarebbero assai di più dei termini singoli: ma il metodo della singular value decomposition utilizzato da LSI consente di eliminare le co-occorrenze non significative

Page 15: LATENT SEMANTIC INDEXING

Latent Semantic Indexing: concetti

Singular Value Decomposition

Definisci X come la matrice termini-documenti, con t righe (numero delle keywords) e N colonne (numero dei documenti).

Data una qualsiasi matrice txN, esistono 3 matrici T, S e D', tali che:

X = T0S0D0'

T0 e D0 sono le matrici dei vettori singolari (eigenvectors) sinistro e destro i XT0 e D0 le colonne di T0 e le righe di D0 definiscono uno spazio ortonormaleS0 è la matrice diagonale dei valori singolari diX

Page 16: LATENT SEMANTIC INDEXING

Autovalori e autovettori• http://www.sosmath.com/matrix/eigen0/eigen0.html• http://www.cs.ut.ee/~toomas_l/linalg/lin2/node14.html• Definizione: se A è una matrice nxm un vettore C si chiama un

autovettore di A se e solo se esiste un numero tale cheAC= C ,e è detto autovalore

e

Page 17: LATENT SEMANTIC INDEXING

Vettori singolari• Matrice aggiunta o coniugata trasposta

• aij coniugato complesso di aij• Se aij (i,j) A*=AT

• Valori singolari di S: , radici degli autovalori di XTX• Vettori singolari destri: n autovettori di XT X• Vettori singolari sinistri: m autovettori di XXT

• Dettagli http://www.cs.utk.edu/~dongarra/etemplates/node18.html

A* =AT

A ⏐ → ⏐ (aij )=(aij )

σi

A = 5+i 4+i0+i 3−i⎞

⎠ ⎟ ⎛

⎝ ⎜ ⎜ A* = 3+i 4−i

0−i 5−i⎞ ⎠ ⎟

⎝ ⎜ ⎜

Page 18: LATENT SEMANTIC INDEXING

Esempio (2) Termini e DocumentiTermini Documenti

c1 c2 c3 c4 c5 m1 m2 m3 m4human 1 0 0 1 0 0 0 0 0interface 1 0 1 0 0 0 0 0 0computer 1 1 0 0 0 0 0 0 0user 0 1 1 0 1 0 0 0 0system 0 1 1 2 0 0 0 0 0response 0 1 0 0 1 0 0 0 0time 0 1 0 0 1 0 0 0 0EPS 0 0 1 1 0 0 0 0 0survey 0 1 0 0 0 0 0 0 1trees 0 0 0 0 0 1 1 1 0graph 0 0 0 0 0 0 1 1 1minors 0 0 0 0 0 0 0 1 1

X

Page 19: LATENT SEMANTIC INDEXING

Decomposizione SVDdocumenti

termini

Page 20: LATENT SEMANTIC INDEXING

S0

3.34                  2.54                  2.35                  1.64                  1.50                  1.31                  0.85                  0.56                  0.36

Page 21: LATENT SEMANTIC INDEXING

Riduzione del rangoGli elementi diagonali in S0 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 S0 e le corrispondenti righe e colonne di T0 e D0. Si ottiene:

X X = TSD'

Interpretazione

Se il valore k è selezionato opportunamente, l’aspettativa è che la nuova matrice mantenga l’informazione semantica di X, ma elimini il rumore derivante dalla sinonimia (perché sensi diversi avranno co-occorrenze diverse) e riconosca la dipendenza fra termini co-occorrenti.

~~^

ˆ X

Page 22: LATENT SEMANTIC INDEXING

Selezione dei valori singolari

X =

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 « m.

T

S D'

^

Page 23: LATENT SEMANTIC INDEXING

Confronto fra termini

XXT = TSDT (TSDT) T

= TSDTDSTTT

poichè D è ortonormale

= TS(TS) T

Per calcolare la cella i, j, si fa il prodotto scalare fra le righe i e j di TS

^

^

Il prodotto scalare di due righe di X riflette il fatto che due termini abbiano contesti di occorrenza più o meno simili

^

Page 24: LATENT SEMANTIC INDEXING

Confronto fra documenti

XTX = (TSDT) TTSDT

= DS(DS) T

Per calcolare le celle i, j, si esegue il prodotto scalare fra le colonne i e j di DS.

^^

Il prodotto scalare di due colonne di X ci informa di quanto due colonne abbiano contesti di occorrenza comuni.

^

Page 25: LATENT SEMANTIC INDEXING

Confronto fra termini e documentiIl confronto fra un termine e un documento è rappresenatto dal valore di una cella X.

X = TSD'

= TS(DS)'

dove S è una matrice diagonale i cui valori sono la radice quadrata dei corrispondenti elementi di S.

^

- -

-

Page 26: LATENT SEMANTIC INDEXING

Esempio: QueryTerms Query xq

human 1interface 0computer 0user 0system 1response 0time 0EPS 0survey 0trees 1graph 0minors 0

Query: "human system interactions on trees"

Nello spazio termini-documenti, una query è rappresentata da xq, un vettore t x 1.

Nello spazio dei concetti, una query è rappresentata da dq, un vettore 1 x k.

Page 27: LATENT SEMANTIC INDEXING

QueryPer il ranking dei documenti ripetto alla query, semplicemente si considera la query come uno pseudo-documento, e lo si modella come la la prima colonna della matrice (d0=q) X

Quindi, la prima riga della matrice fornisce il ranking dei documenti ripetto alla query.

XT∧

X∧