L'analisi semantica latente (Latent semantic analysis, LSA), nota anche come "indicizzazione semantica latente" utilizza una tecnica nota come "decomposizione ai valori singolari" al fine di ridurre la sparsità nella matrice documento-termine. Questo allevia i problemi derivanti dalla polisemia e dalla sinonimia, ovvero dalla presenza di singole parole con più significati o di più parole con un unico significato condiviso.
Il termine "sparsità dei dati" indica essenzialmente che la maggior parte dei valori dei dati in un determinato set di dati è nullo (ovvero vuoto). Ciò accade regolarmente quando si costruiscono matrici documento-termine, per le quali ogni singola parola è costituita da una riga e da una dimensione dello spazio vettoriale separate, poiché i documenti solitamente non contengono la maggior parte delle parole che potrebbero essere più frequenti in altri documenti. Naturalmente, le tecniche di pre-elaborazione dei dati di testo, come la rimozione delle stopword o lo stemming e la lemmatizzazione, possono aiutare a ridurre le dimensioni della matrice. L'LSA offre un approccio più mirato per ridurre sparsità e dimensionalità.
L'LSA inizia con la matrice dei termini del documento, che mostra il numero di volte in cui ogni parola appare in ogni documento. Da qui, l'LSA produce una matrice documento-documento e una matrice termine-termine. Se le dimensioni della matrice documento-termine sono definite come d documenti per w parole, allora la matrice documento-documento è d volte d e la matrice termine-termine è w volte w. Ogni valore nella matrice documento-documento indica il numero di parole che ogni documento ha in comune. Ogni valore nella matrice termine-termine indica il numero di documenti in cui coesistono due termini.9
Utilizzando queste due matrici aggiuntive, l'algoritmo LSA effettua la decomposizione ai singoli valori sulla matrice iniziale dei termini del documento, producendo nuove matrici speciali di autovettori. Queste matrici speciali suddividono le relazioni originali tra i termini del documento in fattori linearmente indipendenti. Poiché molti di questi fattori sono prossimi allo zero, essi vengono trattati come zero ed eliminati dalle matrici, riducendo le dimensioni del modello.10
Una volta che le dimensioni del modello sono state ridotte attraverso la decomposizione, l'algoritmo LSA confronta i documenti nello spazio dimensionale inferiore utilizzando la similarità del coseno. La similarità del coseno indica la misura dell'angolo tra due vettori nello spazio vettoriale. Esso può assumere qualsiasi valore compreso tra -1 e 1. Più alto è il valore del coseno, più due documenti sono considerati simili. La similarità del coseno è rappresentata da questa formula, in cui x e y indicano due vettori-elemento nello spazio vettoriale:11