LATENT SEMANTIC INDEXING
Limiti della ricerca per parole chiave I metodi di ranking tradizionali calcolano lattinenza 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 è lastrazione-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 Dominio Semantico k
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
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 vediamo quali sono le parole più rilevanti associate a Golf di questi 4 documenti. Esse sono: Car, Topgear and Petrol
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
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.
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 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 spuriodi Golf).
Esempio
Matrice termini-documenti
Co-occrrenze dei termini nei documenti A ij è il numero di co-occorrenze nei documenti fra il termine i ed il termine j
A trees,graph = ( ) T ( )=2
Matrici delle co-occorrenze Se A è una matrice TxN (termini documenti) Allora: –A T A è 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. –AA T è 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 AA T potrei espandere ogni termine con quelli aventi il più alto valore di correlazione
Osservazione Tutte le possibili co-occorrenze sarebbero assai di più dei termini singoli (detta A la matrice termini-documenti, dovrei calcolare X=AA T ). Il metodo della singular value decomposition utilizzato da LSI consente di eliminare le co-occorrenze non significative Si parte dallosservazione del fatto che la maggioranza delle celle della matrice X sono zero La dimensionalità della matrice è elevata (TxT) 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 solo strumenti matematici.
Latent Semantic Indexing: concetti Singular Value Decomposition Sia X una matrice nxm Data una qualsiasi matrice nxm, esistono 3 matrici T, S e D', tali che: X = T 0 S 0 D 0 ' T 0 e D 0 sono le matrici dei vettori singolari sinistro e destro i X (cioè gli autovettori o eigenvectors di XX T e X T X, rispettivamente) T 0 e D 0 le colonne di T 0 e le righe di D 0 definiscono uno spazio ortonormale S 0 è la matrice diagonale dei valori singolari diX I valori singolari sono le radici degli autovalori di XX T o X T X (si dimostra che sono uguali)
Eigenvalues and Eigenvectors Un vettore v R n, v 0, è un eigenvector di una matrice n n A con corrispondente eigenvalue, se: –Av = v Nota: –A deve essere nxn –Il corrispondente eigenvalue è uno scalare –Se v is è un eigenvector con eigenvalue, allora lo è ogni scalare non nullo multiplo di v ( v)
Esempio Ricorda il determinante di una matrice M 2x2 2 e 4 sono i due eigenvalues di A Polinomio caratteristico
Approfondimenti ml
Torniamo alla decomposizione SVD documenti termi ni
Riduzione del rango X = t x dt x kk x dk x k k è il numero di valori singolari scelti per rappresentare i concetti nellinsieme dei documenti In genere, k « m. T SD' ^
Riduzione del rango in LSI Gli elementi diagonali in S 0 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 S 0 e le corrispondenti righe e colonne di T 0 e D 0. Si ottiene: X X = TSD' Interpretazione Se il valore k è selezionato opportunamente, laspettativa è che la nuova matrice mantenga linformazione 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. ~ ~ ^
Trasformazioni lineari Una matrice A di tipo m × n con valori reali definisce una trasformazione lineare L A da R n in R m nel modo seguente L A (v) = Av dove Av è il prodotto di A e 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 dai valori singolari della matrice
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) I valori singolari o autovalori descrivono dunque quanto la matrice distorce (riduce e comprime) il vettore originario
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. Tutti i vettori sull'asse verticale sono multipli scalari del vettore rosso, e sono tutti autovettori.
Riduzione della dimensionalità (o approssimazione di rango k di una matrice) Qui invece supponiamo invece di ruotare un vettore, di ruotare un insieme di vettori ortonormali. Se, ad es, di tre autovalori uno lo trascuriamo perché più piccolo, è come se Rimuovessimo una dimensione (se eliminiamo due autovalori, lellissoide si schiaccia su una retta)
Significato I valori singolari possono essere usati per capire quali dimensioni vengono maggiormente modificate dalla moltiplicazione di un vettore per una matrice. Perciò possiamo determinare quali vettori singolari conservare, e quali scartare
SVD nel LSI 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 leffetto di eliminare i concetti poco rilevanti
Procedimento A=USV T dove A nxm 1.Calcola la trasposta A T di A 2.Determina gli autovalori di A T A e ordinali in ordine decrescente. Calcola le radici quadrate, che sono gli autovalori di A 3.Costruisci la matrice S 4.Calcola gli autovettori di A T A. Questi sono le colonne di V. Genera V T 5.Calcola U=AVS -1
Esempio di calcolo della decomposizione SVD
Calcolo degli autovalori di A T A | c1 | > | c2 | > | c3 |... > | cn |
Matrice S s1 = (c1)1/2 = (40)1/2 = s2 = (c2)1/2 = (10)1/2 = Le radici dei c i sono i valori singolari della matrice originaria A
Calcolo degli autovettori destri (A T A sim. fra doc)
V è la matrice degli autovettori destri
Matrice U
Prova: torno alla matrice di partenza
Esempio per una matrice termini documenti
Calcolo USV T
Approssimazione di rango 2
Calcolo similarità query-documento Per N documenti, V contiene N righe, ognuna delle quali rappresenta le coordinate del documento d i proiettato nella dimensione LSI Una query viene trattata come un documento e anchessa proiettata nello spazio LSI
A=USV T Se A=USV T si ha anche che V = A T US -1 d = d T US -1 q = q T US -1 Dopo la riduzione di rango k: –d = d T U k S k -1 –q = q T U k S k -1 –sim(q, d) = sim(q T U k S k -1, q T U k S k -1 )
Calcolo del query vector
Vettori della query e dei documenti nello spazio LSI
Similarità query-docmento
Co-occorrenze: vengono catturate dal LSI d1 contiene k1 e k2. d2 contiene k2 e k4. d3 contiene k2 e k3.