L’analyse sémantique latente (LSA) (également appelée « indexation sémantique latente ») déploie une technique connue sous le nom de « décomposition des valeurs singulières » afin de réduire la parcimonie de la matrice terme-document. Cela permet d’atténuer les problèmes liés à la polysémie et à la synonymie, c’est-à-dire les mots qui présentent chacun plusieurs sens, et ceux qui ont le même sens qu’un autre.
On parle de parcimonie des données lorsque la plupart des valeurs dans un jeu de données sont nulles (c’est-à-dire vides). Cela se produit régulièrement lors de la création des matrices terme-document, où chaque mot correspond à une ligne distincte et à une dimension de l’espace vectoriel, car la plupart des mots qui sont fréquents dans un document seront absents dans un autre. Bien entendu, les techniques de prétraitement des données textuelles comme la suppression des mots vides, ou encore la racinisation et la lemmatisation, permettent de réduire la taille de la matrice. La LSA offre une approche plus ciblée pour réduire la parcimonie et la dimensionnalité.
La LSA commence par la matrice terme-document, qui indique le nombre de fois où chaque mot figure dans chaque document. Elle produit ensuite une matrice document-document et une matrice terme-terme. Si les dimensions de la matrice terme-document sont définies comme d documents multipliés par w mots, alors la matrice document-document est d fois d, et la matrice terme-terme w fois w. Chaque valeur de la matrice document-document indique le nombre de mots que chaque document a en commun. Chaque valeur de la matrice terme-terme indique le nombre de documents dans lesquels deux termes coexistent.9
S’appuyant sur ces deux matrices, l’algorithme LSA procède à une décomposition en valeurs singulières de la matrice terme-document initiale, afin de produire des matrices de vecteurs propres. Ces matrices spéciales décomposent les relations terme-document initiales en facteurs linéaires indépendants. Comme bon nombre de ces facteurs sont proches de zéro, ils sont traités comme zéro et éliminés des matrices. Cela permet de réduire les dimensions du modèle.10
Une fois que les dimensions du modèle ont été réduites par la décomposition en valeurs singulières, l’algorithme LSA s’appuie sur la similarité cosinus pour comparer les documents dans l’espace dimensionnel inférieur. La similarité cosinus permet de mesurer l’angle formé par deux vecteurs dans l’espace vectoriel. Cette valeur est comprise entre -1 et 1. Plus le cosinus est élevé, plus les deux documents sont considérés comme similaires. La similarité cosinus est représentée par cette formule, où x et y représentent deux vecteurs d’éléments dans l’espace vectoriel :11