Come funziona la Latent Semantic Analysis ( LSA ) nei motori di ricerca
La Latent Semantic Analysis (LSA) è un metodo per stimare il significato di un documento, la sua vicinanza a un particolare argomento o materia. Il metodo si basa sul presupposto che ogni parola assume un particolare significato in un determinato concetto. La cosa sarebbe veramente semplice se ogni parola avesse un solo significato, sarebbe sufficiente verificare tutte le parole di una frase per comprendere l'argomento trattato dall'autore.
La realtà è più complessa, nel linguaggio naturale una parola può assumere più significati ( multi significato ) ed essere legata a più concetti, creando delle ambiguità di comprensione. Inoltre, molte parole sono sinonimi ed esprimono il medesimo significato. Il problema sorge nei sistemi IRS, sulla base di una chiave di ricerca ( parole chiave ) l'algoritmo deve selezionare i documenti rilevanti e attinenti per l'utente finale, senza uscire dallo spazio concettuale della domanda dell'utente. L'analisi LSA è finalizzata a individuare gli spazi concettuali, riuscendo così a prevedere il concetto più vicino di ciascun documento.
L'algoritmo LSA estrae un insieme di documenti che contengono una determinata keyword e considera ogni singolo documento come un vettori di occorrenze delle parole, contando quante volte compare una determinata parola in un documento o nel titolo di un documento. Sono escluse dal computo le stop-word ossia le parole comuni nella maggior parte dei documenti. Alcuni esempi di stop-word sono le congiunzioni, gli aggettivi, gli articoli, ecc. Nell'analisi LSA sono prese in considerazione soltanto le index-word, le parole che compiono in almeno due documenti ( occorrenze ). Ad esempio, prendendo in considerazione i titoli di dieci documenti ( frasi ) sulla base di una determinata keyword, l'algoritmo LSA prepara la matrice delle occorrenze ( matrice dei termini ) nel seguente modo:
I testi sono stati trasformati in una matrice dei termini più significativi. Senza aver approfondito il significato semantico delle frasi, l'algoritmo ha scomposto ogni frase in un vettore di parole indice. Ogni vettore è composto dalle variabili { x1, ... , x4 ) e in ogni variabile viene memorizzato il numero di volte che la parola in questione si ripete all'interno della frase. Tutto finito? No... Fin qui l'algoritmo ha semplicemente trasformato un problema semantico in un problema matematico, convertendo le frasi in vettori e matrici. A questo punto, la scienza matematica ci consente di comprendere la vicinanza delle parole. Come? Sto ancora approfondendo questi aspetti, sono abbastanza complessi. A breve continuerò ad aggiornare questa pagina e proseguirò la spiegazione. 11 / 07 / 2014
Singular Value Decomposition (SVD)
A questo punto occorre trasformare la matrice appena individuata in una forma diversa. Sulla base di un teorema di algebra lineare, una matrice A di m righe ed n colonne può essere trasformata in un prodotto di tre matrici, una matrice ortogonle U, un matrice diagonale D e una matrice ortogonale trasposta V.
Amn = Umn Dmn VTnn
L'algoritmo LSA applica lo stesso criterio di normalizzazione alla matrice delle occorrenze.