Google et le LSA : démasqué (enfin presque) !
Apr 7th, 2009 by Eric
Ca fait un bout de temps que des curieux (dont je suis), cherchent à vérifier la présence ou non de LSA dans Google. Oups : pardon, c’est un peu du chinois. LSA: Latent semantic Analysis; mise au point par des psychologues statisticiens, cette méthode mathématique de recherche documentaire est très spectaculaire. Elle consiste - selon sa description officielle reprise par Wikipédia, à é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.
En pratique, il n’y a rien de sémantique là dedans mais la modélisation d’un phénomène qui veut que lorsqu’on transforme avec un procédé mathématique (la décomposition en valeurs singulières) un texte représenté par une matrice (en quelque sorte un tableau) en plusieurs autres matrices, il soit possible de retrouver par une mesure de similarité (la similarité cosine) des co-occurences entre des termes ou des documents contenus dans ces matrices. Toujours pas clair ?
Pour schématiser, disons que si dans un ensemble de documents, se trouvent fréquemment associés les termes voiture, et renault ou Mégane, LSA va être en mesure d’identifier cette co-occurence. On perçoit tout de suite l’intérêt pour un moteur de recherche : une requête qui contient le mot “voiture” ne sort selon la théorie que des documents contenant le terme “voiture”. Pourtant, la Mégane est aussi une voiture : avec un système de recherche qui exploiterait LSA, il serait possible d’étendre ou d’enrichir les requêtes, en les complétant. En d’autre terme, si je saisis “Voiture”, le moteur de recherche va aussi chercher “Voiture, Renault, Mégane”. D’où la qualification de “sémantique” (abusive par ce qu’extraite avec un procédé mathématique). Avec LSA, au delà du mot, c’est sa signification symbolique qui est recherchée (au sens Saussurien).
Ca marche plutôt bien mais c’est assez lourd en temps de calcul. Ce n’est par ailleurs pas sans risque : imaginez que la co-occurence identifiée par LSA, soit non plus Voiture et Citroën C5 mais Voiture et Accident mortel. Il est assez probable que celui qui cherche des informations sur les Citroën C5 ne soit guère intéressé par les Accidents mortels (1)…
On se demande donc ici et là depuis plusieurs années si Google aurait réussi ou non à déployer cet algorithme dans son moteur (voir par exemple les commentaires ici et ici (2)).
Et bien figurez vous que j’ai un fort indice qui tendrait à prouver que Google utilise LSA. Il réside dans cette copie d’écran:
Et plus précisément la dernière ligne: elle fait mention d’un document PDF que je connais bien (puisqu’il concerne une campagne d’évaluation à laquelle le laboratoire qui m’emploie vient de participer) .
Le hic (ou la curiosité, au choix) ? ce document ne contient à aucun endroit le terme NLGbAse qui a servi de mot clé dans la recherche Google ! Étonnant non ? Ceci signifie que l’un des termes du document de la campagne ESTER 2, ou le document entier, est associé au terme NLGbAse. Et donc que d’une manière ou d’une autre, une co-occurence est ici utilisée. CQFD !
Passons maintenant au décryptage et à une tentative d’explication de ce phénomène : NLGbAse est un système ontologique que je développe pour explorer Wikipédia. Dans le site NLGbAse.org, une page contient à la fois le terme ESTER 2 et un lien vers le document original référencé par Google (qui décrit les normes d’étiquetages choisies pour la campagne ESTER). En explorant le site NLGbAse, Google a trouvé ce document PDF et a associé le terme NLGbAse avec lui, et ce bien qu’il ne soit nullement fait référence à NLGbAse dans le PDF ! Le fonctionnement intrinsèque de LSA laisse penser que seul cet algorithme pourrait produire de tels résultats.
Certes, ce n’est pas une preuve formelle, car il est possible que d’autres méthodes d’indexation par co-occurrences puissent produire le même résultat. Tout de même, il y a bien là l’observation d’un phénomène remarquable. En tout cas, les chercheurs et ingénieurs de Google (qui garde une bonne part de ses techniques secrètes) n’en finissent pas de me surprendre!
(1) Voilà pourquoi parler d’analyse Sémantique est erroné dans le cas de LSA: une méthode mathématique peut se tromper ainsi, pas une véritable association sémantique.
(2) Notez que LSI est la même chose que LSA, le I signifiant Indexing au lieu de Analysis






Intéressant, ils ont pu extraire les mots-clé et descriptions des balises “meta” de ton site (si tu en a) et les exploiter à cette fin…
Comme ça l’auteur du site fait 90% du boulot du tri des données ;0)
Très intéressant comme découverte…
Je me questionne sur la manière la plus efficace d’utiliser ce principe de co-occurence. Je vois mal l’utilité à cela si c’est plus ou moins bien implémenté… J’imagine dès le départ, en reprenant ton exemple, que les documents contenant le terme “Voiture” sont priorisés face à ceux ne contenant que le terme “Renault”. Maintenant, de quelle façon cette priorisation est-elle réalisée ? Si c’est de façon hétérogène, je veux dire par là que tous les documents ne contenant pas le véritable terme recherché seraient placés en fin de résultats, ça ne donnerait pas grand chose à mon avis.
Bien entendu, Google le sait bien et leur concept est probablement bien plus complexe que ça, mais je suis intrigué de savoir comment ils comptent implémenter ça. À suivre…
@J-F je suis entièrement d’accord avec ce que vous dites: le réglage d’un système de co-occurence automatisé est extrêmement complexe. Ceci dit, Google a depuis longtemps les moyens de mettre de nombreuses ressources sur ce type de fonctionnalité pour la rendre fonctionnelle. On voit bien dans l’exemple que j’ai trouvé que s’il est spectaculaire, son sens pratique n’est guère évident à déterminer. Il faudra je pense se lancer à la chasse d’autres exemples de termes ou documents co-occurents appliqués dans une recherche pour voir le potentiel de cette méthode dans un méta chercheur tel que Google.
@Christophe, effectivement, je ne comprend pas pour le moment comment ils ont conçu et extrait l’association présentée dans mon post.
A suivre et je vais suivre ! Merci pour ces interventions.
E.
Bonjour,
l’indice n’en est pas un : vous avez peut-etre déjà entendu parler du Google Bombing. Pour faire court, beaucoup de gens lient une page (par exemple la biographie de Bush) en utilisant un mot-clé spécifique (par exemple ‘Idiot’). Ensuite, on cherche ‘Idiot’ et on tombe sur… la biographie de Bush…
Alors y a t’il du LSA ? Peut-être. Mais êtes vous certain qu’aucun lien sur internet ne pointe vers le document PDF avec un mot clé ‘NLGbAse’ dans son texte ?
Paul.
Bonjour Paul,
Remarques pertinentes ! Je reprend vos arguments un à un:
- De manière absolument certaine - c’est pour ce motif que j’ai publié cette nouvelle après maintes vérifications - il n’y a en aucun cas le mot clé NLGbAse dans le le document PDF qui sort sur les listes de google. Il y a donc bien une association entre un terme et un document qui va au delà des possibilités d’un algorithme de RI classique (basé sur la similarité cosine, ou une probabilité bayésienne naïve par exemple).
- Par ailleurs, vous pouvez encore vérifier en ligne qu’aucun lien ne relie le mot clé et le PDF tel qu’il sort en dernière position de la liste de résultat de recherche.
- On peut effectivement se poser la question du rapport entre le phénomène observé et le Google Bombing: le seul lien vers le document PDF qui soit intégré à une page contenant le terme NLGbAse est à cette adressesur NlgBase
. Une seule citation du terme, un seul lien : on est très éloigné du principe de la technique de bombardement qui implique l’action concertée de nombreux internautes sur de nombreuses pages. Mais on peut néanmoins imaginer un “bug” des algos de google sur les pages de faible notoriété. Ceci irait dans votre sens
Il faut donc effectivement d’autres exemples pour pouvoir aller plus loin.
Effectivement, je confirme avoir déjà vu des pages référencées grâce à des éléments extérieurs (liens entrants avec titre).
De plus Google n’affiche pas forcément l’ensemble des résultats qui ont servi à son analyse, cela permet sans doute de brouiller les pistes sur le comportement réel du moteur.
Enfin les documents de type PDF comportent des traces qui ne sautent pas aux yeux des éditeurs mais qui sont parfois mis en évidence par des robots très simples.
Précisions intéressantes merci. La chasse aux exemples continue !
E.
Je suis convaincu que google utilise LSA je viens d’implémenter un programme qui fait l’analyse d’un document par la méthode LSA et je confirme que les résultats sont assez spectaculaires au niveau de a co-occurrence !