latent semantic indexing
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 PresentationTRANSCRIPT
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: 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
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
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
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
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).
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
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
administratamountassist bank boost bushcountri (2)directeuropexpressgrant (2)increasirritatloan nation (3)o'neillpaulplanpoor (2) propospushrefusrichsecretartreasuriUSworld
4. Costruzione del Vettore di termini
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
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
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
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
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
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⎞ ⎠ ⎟
⎛
⎝ ⎜ ⎜
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
Decomposizione SVDdocumenti
termini
S0
3.34 2.54 2.35 1.64 1.50 1.31 0.85 0.56 0.36
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
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'
^
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
^
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.
^
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.
^
- -
-
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.
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∧