Remove ads
De Wikipédia, l'encyclopédie libre
L’analyse sémantique latente (LSA, de l'anglais : Latent semantic analysis) ou indexation sémantique latente (ou LSI, de l'anglais : Latent semantic indexation) est un procédé de traitement des langues naturelles, dans le cadre de la sémantique vectorielle. La LSA fut brevetée en 1988[1] et publiée en 1990[2].
Elle permet d'établir des relations entre un ensemble de documents et les termes qu'ils contiennent, en construisant des « concepts » liés aux documents et aux termes.
La LSA utilise une matrice qui décrit l'occurrence de certains termes dans les documents. C'est une matrice creuse dont les lignes correspondent aux « termes » et dont les colonnes correspondent aux « documents ».
Les « termes » sont généralement des mots tronqués ou ramenés à leur radical, issus de l'ensemble du corpus. On a donc le nombre d'apparition d'un mot dans chaque document, et pour tous les mots. Ce nombre est normalisé en utilisant la pondération tf-idf où un coefficient de la matrice est d'autant plus grand qu'il apparaît beaucoup dans le document (sa colonne) et qu'il est rare dans l'ensemble des documents (sa ligne).
Cette matrice est courante dans les modèles sémantiques standards, comme le modèle vectoriel, quoique sa forme matricielle ne soit pas systématique, étant donné qu'on ne se sert que rarement des propriétés mathématiques des matrices.
La LSA transforme la matrice des occurrences en une « relation » entre les termes et des « concepts », et une relation entre ces concepts et les documents. On peut donc relier des documents entre eux.
Cette organisation entre termes et concepts est généralement employée pour :
La résolution de la synonymie et de la polysémie est un enjeu majeur en traitement automatique des langues :
Après avoir construit la matrice des occurrences, la LSA permet de trouver une matrice de rang plus faible, qui donne une approximation de cette matrice des occurrences. On peut justifier cette approximation par plusieurs aspects :
Cependant, la réduction du rang de la matrice des occurrences a pour effet la combinaison de certaines dimensions qui peuvent ne pas être pertinentes. On s'arrange en général pour — tant que c'est possible — fusionner les termes de sens proches. Ainsi, une réduction du rang 3 au rang 2 pourra effectuer la transformation :
La synonymie est résolue de cette manière. Mais quelquefois cela n'est pas possible. Dans ces cas, la LSA peut effectuer la transformation suivante :
Ce regroupement est beaucoup plus difficile à interpréter — il est justifié d'un point de vue mathématique, mais n'est pas pertinent pour un locuteur humain —.
Soit X la matrice où l'élément (i, j) décrit les occurrences du terme i dans le document j — par exemple la fréquence. Alors X aura cette allure :
Une ligne de cette matrice est ainsi un vecteur qui correspond à un terme, et dont les composantes donnent sa présence (ou plutôt, son importance) dans chaque document :
De même, une colonne de cette matrice est un vecteur qui correspond à un document, et dont les composantes sont l'importance dans son propre contenu de chaque terme.
Le produit scalaire :
entre deux vecteurs « termes » donne la corrélation entre deux termes sur l'ensemble du corpus. Le produit matriciel contient tous les produits scalaires de cette forme : l'élément (i, p) — qui est le même que l'élément (p, i) car la matrice est symétrique — est ainsi le produit scalaire :
De même, le produit contient tous les produits scalaires entre les vecteurs « documents », qui donnent leurs corrélations sur l'ensemble du lexique :
On effectue alors une décomposition en valeurs singulières sur X, qui donne deux matrices orthonormales U et V et une matrice diagonale Σ. On a alors :
Les produits de matrice qui donnent les corrélations entre les termes d'une part et entre les documents d'autre part s'écrivent alors :
Puisque les matrices et sont diagonales, U est faite des vecteurs propres de , et V est faite des vecteurs propres de . Les deux produits ont alors les mêmes valeurs propres non nulles — qui correspondent aux coefficients diagonaux non nuls de . La décomposition s'écrit alors :
Les valeurs sont les valeurs singulières de X. D'autre part, les vecteurs et sont respectivement singuliers à gauches et à droite.
On remarque également que la seule partie de U qui contribue à est la i ième ligne. On note désormais ce vecteur . De même la seule partie de qui contribue à est la j ième colonne, que l'on note .
Lorsqu'on sélectionne les k plus grandes valeurs singulières, ainsi que les vecteurs singuliers correspondants dans U et V, on obtient une approximation de rang k de la matrice des occurrences[4].
Le point important, c'est qu'en faisant cette approximation, les vecteurs « termes » et « documents » sont traduits dans l'espace des « concepts ».
Le vecteur possède alors k composantes, qui chacune donne l'importance du terme i dans chacun des k différents « concepts ». De même, le vecteur donne l'intensité des relations entre le document j et chaque concept. On écrit cette approximation sous la forme suivante :
On peut alors effectuer les opérations suivantes :
La décomposition en valeurs singulières est généralement calculée par des méthodes optimisées pour les matrices larges — par exemple l'algorithme de Lanczos — par des programmes itératifs, ou encore par des réseaux de neurones, cette dernière approche ne nécessitant pas que l'intégralité de la matrice soit gardée en mémoire[5].
Les limites de LSA incluent :
Le modèle statistique de l'analyse sémantique latente ne correspond pas aux données observées : elle suppose que les mots et documents forment ensemble un modèle gaussien (c'est l'hypothèse ergodique), alors qu'on observe une distribution de Poisson.
Ainsi, une approche plus récente est l'analyse sémantique latente probabiliste, ou PLSA (de l'anglais : Probabilistic latent semantic analysis), basée sur un modèle multinomial.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.