La sémantique appliquée et les outils de recherche [2/6]

Les outils de linguistique informatique et de sémantique appliquée ont atteint une certaine maturité depuis plusieurs années maintenant. Pourtant, les moteurs de recherche grand public utilisent à peu près les mêmes techniques depuis des années, et se cantonnent souvent à une recherche booléenne…

Pourquoi ? La sémantique est elle réellement absente des moteurs comme Google ou Yahoo ? Et que nous préparent dans ce domaine les principaux outils de recherche ?

1. Quel rôle joue aujourd’hui la sémantique et la linguistique dans les moteurs de recherche grand public ?

Il suffit de taper quelques requêtes dans un moteur comme Google, Yahoo ou Voila pour se rendre compte que ces moteurs ne comprennent rien à ce que vous leur demandez.
Dans les faits, ils contiennent très peu, voire pas du tout, de fontionnalités issus de la sémantique appliquée.

Par contre, presque tous les moteurs intègrent dans leur algorithme des outils avancés de linguistique statistique.

Tous les moteurs utilisent la linguistique statistique

Pour classer les résultats, la plupart des moteurs utilisent une mesure de similarité entre la requête et les pages contenues dans l’index.

En effet, la simple recherche booléenne de mots clés dans l’index inversé va renvoyer une grande quantité de pages, qu’il va falloir classer en fonction de leur pertinence.

L’un des critères les plus utilisés est une mesure de similarité baptisée « Cosinus de Salton ». Il en existe de nombreuses variantes, mais il y’a aussi d’autres mesures (Dice, Jaccard…) basée sur la théorie des espaces vectoriels de Salton. [1]

D’autres théories de linguistique statistique aboutissent à des méthodes différentes, mais tout aussi efficaces.

La théorie des ensembles flous (c’est l’un des domaines de l’intelligence artificielle) permet d’effectuer des mesures de similarité basées sur la co-occurrence entre N-grammes (des groupes de N-mots imbriqués). [2]

Il est également possible d’utiliser des méthodes probabilistes, parfaitement au point et souvent plus efficaces que Salton. [3]

Enfin, d’autres domaines de l’intelligence artificielle permettent d’envisager d’autres méthodes, mais qui ne sont pas pour l’instant vraiment sorties des laboratoires, et dont on peut douter qu’elles soient réellement utilisées dans des moteurs grand public.

Ces outils de linguistique statistique constituent le véritable « coeur » des algorithmes des moteurs. Les autres critères servent essentiellement à pondérer ces critères de similarité, y compris les critères de « link popularity » comme le Pagerank.

La sémantique appliquée est par contre pratiquement absente

S’il y’a plus de linguistique statistique dans les moteurs que l’on ne le croit souvent, par contre, en dehors de ces mesures de similarité, les moteurs grand public ne contiennent pas beaucoup d’outils de sémantique appliquée…

Dans Google, on ne trouve pas de possibilité de recherche morphologique, approchée, ou phonétique. Juste une suggestion orthographique, mais qui se base uniquement sur des critères de fréquence statistique… Pas d’ontologie sous jacente, pas de recherche de groupes nominaux, pas
de suggestion de mots clés voisins, pas de lemmatisation…

Google a introduit assez discrètement le stemming à l’automne dernier. Mais cette fonctionnalité est très fruste, faute d’analyse syntaxique ou de recherche de groupes nominaux.

Adsense démontre que Google a le savoir faire et la technologie pour intégrer de la sémantique dans son moteur

Néanmoins, on peut remarquer que la sémantique a fait tout de même une apparition spectaculaire sur les pages de Google, non pas au niveau des résultats des moteurs, mais au niveau des liens sponsorisés… C’est même sans doute aujourd’hui l’application la plus connue et la plus spectaculaire de la sémantique appliquée. [4].

Pourquoi n’y a t’il pas plus de linguistique et de sémantique dans Google et Yahoo ?

Je ne suis pas dans le secret des décisions chez Yahoo et Google, mais il est clair que si on se met à la place de leurs équipes, on se rend compte que ces moteurs à vocation « universelle » ne peuvent pas exploiter à plein les apports de la sémantique.

Tout d’abord, un moteur dont l’index est mondial est confronté aux problèmes de la variabilité des règles d’une langue à l’autre. Il n’existe pas d’analyseur syntaxique universel, chaque langue doit donc faire l’objet de développements spécifiques. Quand on connait la difficulté de réaliser des outils linguistiques pour une langue donnée , on se dit que multiplier ce travail pour des dizaines, et même des centaines de langues et dialectes est un travail considérable.

Ensuite, il y’a le problème du temps de calcul… Certaines méthodes sont connues, en sémantique appliquée, pour être de grosses consommatrices dans ce domaine.
Au moment où Google cherche plutôt à développer une indexation permanente (a « rolling update ») et raccourcir le délai entre le « crawl » d’une page et son apparition dans l’index, certains algorithmes obligeraient la société de Moutain View à revenir aux « Google Dance » d’antan, et aux index figés pour un mois !

Néanmoins, cet argument du « temps de calcul » ne tient pas forcément la route pour tous les outils sémantiques et tous les outils linguistiques…

Qui plus est, à chaque fois que des calculs et analyses peuvent être effectués en amont, non pas sur toute la matrice des pages webs, mais sur une seule page ou sur un site donné, et peuvent être stockés sous formes de « notes » ou d’informations associées à la page, à chaque fois, ces méthodes peuvent être utilisées par un moteur de recherche…

Adsense d’Applied Semantics démontre qu’il est possible de déterminer une bonne fois pour toutes quelle est la thématique d’un site pour délivrer des annonces ciblées sur des nouvelles pages de ce site, et quelle est la thématique de chaque page ! Le véritable obstacle du temps de calcul ne porte que sur les calculs qu’il est nécessaire de faire « à la volée » au moment où l’internaute appuie sur le bouton « Go » de son moteur de recherche préféré ! Mais là, on s’aperçoit assez vite qu’une analyse de similarité sur une requête de deux ou trois mots peut se faire dans un temps considéré comme tolérable.

Alors, qu’elle est l’explication ?

L’apport de la sémantique appliquée ne constitue pas encore un enjeu économique suffisant

L’explication, c’est que pour l’instant, ces efforts en matière d’augmentation de pertinence ne paient pas… La technologie des moteurs de recherche stagne. Les moteurs actuels utilisent des techniques inventées dès les prémices du web, au début des années 90, plus des systèmes basés sur la popularité des pages mesurées en fonction des liens pointant vers ces pages (pagerank, webrank, algo de Fast/AlltTheWeb, algo HITS, variante de Téoma).

Cette stagnation a deux explications : économique d’abord, technique ensuite…

La transformation des moteurs de recherche en industrie rentable est un phénomène très récent dans l’économie mondiale. Les moteurs de recherche sont apparus progressivement comme des outils utiles, puis indispensables, mais il a fallu attendre que Google lance ses liens sponsorisés au Printemps 2003 pour que la firme de Page et Brin arrête de perdre de l’argent.

Les utilisateurs ne sont pas assez « mûrs » pour des changements dans leurs habitudes de recherche

Ce « retard à l’allumage » trouve son explication, entre autres choses, dans le délai dont les utilisateurs ont eu besoin pour apprendre à se servir efficacement de ces outils pour chercher des documents sur le web… En effet, la prédominance des moteurs de recherche sur les annuaires est aussi un phénomène récent. L’époque où la plupart des internautes préféraient utiliser un annuaire à la Yahoo qu’un moteur de recherche n’est pas si lointaine…

Aujourd’hui, les enquêtes démontrent que les internautes plébiscitent la simplicité dans les moteurs de recherche… Le modèle qui leur est proposé, qui consiste à taper deux ou trois mots dans un champ de recherche, appuyer sur « go ! » et choisir parmi les résultats qui s’affichent est plébiscité.

Dans une présentation récente de Google à l’université d’Haïfa, Amit Singhal a clairement expliqué que Google avait choisi pour cette raison de privilégier la simplicité.


Leur stratégie est donc différente de celle d’autres moteurs, qui ont plus clairement choisi de mettre en avant leurs outils sémantiques. Il semble clair que Yahoo a le même parti-pris pour le moment.

2. Les moteurs de recherche actuels utilisant la sémantique

Un certain nombre de sociétés, présentées souvent dans la presse comme des challengers de Google [5], ont quant à elle choisi clairement de mettre en avant les outils sémantiques comme « argument » de différenciation.

Faisons un tour rapide de quelques exemples de moteurs utilisant des outils sémantiques :

Vivisimo


Vivisimo utilise un index conventionnel, mais présente les résultats regroupés en « thèmes » affichés graphiquement en forme d’arborescence (clustering). Cette technique permet d’affiner une recherche sans avoir à lire les résultats.

Teoma

Teoma utilise plusieurs systèmes de suggestion pour affiner une requête : un outil basé sur la sémantique (concepts proches) et un outil basé sur du clustering (mais à base de liens), un outil basé sur les sites choisis par des « experts ».

Teoma utilise un algorithme dérivé de HITS (les Hubs et Authorities), qui lui permet de détecter facilement des sites interconnectés sur la même thématique en analysant la structure des liens. Teoma a baptisé cette technologie « subject-specific popularity » (popularité spécifique à un sujet).

Pour en savoir plus : L’algorithme HITS et le projet CLEVER (deuxième partie)

Mooter

Mooter utilise un concept bien connu en sémantique, qui est le retour de pertinence… Les résultats du moteur sont présentés sous forme de noeuds afin de permettre à l’internaute d’affiner sa requête, sans forcément à avoir à consulter ses résultats.
Pour en savoir plus : Mooter, un moteur de recherche innovant venu d’Australie

Mapstan

Exemple plus proche de nous, le métamoteur Mapstan permet de visualiser sous forme graphique (à la « Kartoo ») les connexions sémantiques entre les termes, ce qui permet de naviguer dans le « réseau » des concepts de manière intuitive.

Webfountain

Webfountain n’est pas à proprement parler un moteur, mais plutôt une architecture proposée par IBM permettant de réaliser de puissants moteur de recherche clés en main (avec les machines, les unités de stockage, et les logiciels de crawl, de data-mining ainsi que le logiciel de l’outil de recherche).

Sur l’aspect sémantique, l’un des apports majeurs d’IBM a été la mise en oeuvre d’un outil très souple de balisage sémantique, baptisé SEMTAG [6], et qui fait des merveilles en data mining (il permet notamment d’identifier ce que l’on appelle dans le jargon les entités nommées, c’est à dire les noms de personne, de marque, de sociétés, les email, code postaux numéros de téléphone etc…)

SEMTAG est bâti à partir de l’ontologie TAP, élaborée à l’Université de Stanford. Il faut noter que TAP peut avoir des applications directes chez Google, à partir du moment ou un travail d’extraction des entités nommées est fait sur les pages de l’index…

Sachant, comme nous allons le voir juste après, que c’est effectivement un projet de Google depuis six mois, on peut se demander si l’écran ci-dessous ne préfigure pas une application du même genre chez Google (la copie d’écran ci-dessous est un exemple d’une implémentation possible de l’outil TAP sur Google)


TAP permet de déterminer que YoYo Ma est un musicien, et d’afficher en face des résultats, des liens commerciaux vers une boutique vendant ses disques, ou des billets pour ses concerts…

Exalead

Le moteur français Exalead, qui fournit les résultats de recherche du portail AOL France, présente quelques fonctionnalités intéressantes de linguistique statistique.


Parmi ces fonctionnalités, on retrouve notamment :
- la lemmatisation automatique
- la recherche des groupes nominaux
- la synthèse thématique automatique
- la synthèse de la taxonomie sous-jacente

Sans compter des fonctionnalités comme la recherche phonétique, approchée et morphologique, ou la suggestion orthographique…

Exalead est certainement l’un des moteurs qui, aujourd’hui, est le plus avancé dans l’utilisation des outils linguistiques dans son interface et son algorithme de recherche.

3. L’instillation progressive de la sémantique chez Google

Nous avons déjà souligné plus haut que Google avait introduit le stemming dans son moteur, ainsi qu’un outil de suggestion en cas de détection d’une faute de frappe et d’orthographe possible. Nous avons également souligné que la notion de proximité entre les mots était un critère de notation exploité pour renvoyer des résultats plus pertinents…

Maintenant, si on tape la requête « jaguar », le moteur renvoie toujours soit des pages sur les animaux, soit les sites des concessionnaires de la marque Jaguar… Il faut dire que le problème relève ici plus de la compréhension de la demande de l’internaute, que d’un problème de pertinence des réponses…

Google va-t’il introduire sérieusement la sémantique dans son moteur ? Pour l’instant, il semble que ses efforts portent plus sur une amélioration des algorithmes exploitant la structure des liens entrants, et quelques ajustements sur les outils de linguistique statistique…

Mais dans le même temps, Google a fait récemment une annonce surprenante, par la bouche de Peter Norwig au cours de la la Web 2 Conférence en octobre dernier : ils travailleraient sur un projet qu’ils appellent « named entities abstraction »… Mais qu’est-ce que ce truc là ?
Cela mérite que l’on s’y intéresse un peu…

L’abstraction des entités nommées : Google prépare-t’il une « killer application » sémantique ?

JPEG - 21.8 ko
L’affichage en temps réel des requêtes sur un mur du Googleplex

Les « entités nommées » sont une appellation générique pour les noms propres désignant des personnes, des lieux ou des organismes (raisons sociales). Par extension, on y rajoute les adresses mails, les numéros de téléphone, les codes postaux, et toute information de ce genre que l’on peut y relier…

L’extraction des entités nommées est une tâche très classique en KM (Knowledge Management). Elle consiste à « baliser » des documents textes pour identifier quels mots correspondent à de telles entités nommées.

Une tâche plus complexe consiste à « identifier » une entité nommée en cas d’ambiguïté. Si on identifie « Michael Jordan » comme le nom d’une personne, il faut par ailleurs ne pas confondre « Michael Jordan » le basketteur, avec « Michael Jordan » chauffeur de taxi à New York. Pour cela il faut s’aider du contexte, de taxonomies ou d’ontologies, et d’un programme adapté (on procède soit par implication logique, soit par une méthode probabiliste, soit par une technique d’intelligence artifielle).

C’est ce que propose clairement de faire Google avec son « abstraction des entités nommées »… Procéder par « abstraction » au lieu d’effectuer une « extraction » est quelque chose de beaucoup plus difficile… Mais ouvre des possibilités étonnantes.

Apparemment, Google va « abstraire » beaucoup plus de choses que ce que l’on recouvre habituellement sous le terme « entités nommées ». Par exemple, le mot Java sera identifié dans un texte comme étant le nom du langage Java, mais aussi comme un langage informatique (au même titre que PHP, ou le C++).

Si on en croit Peter Norwig, ce système permettra d’accéder à un clustering de mots clés plus évolué que ce l’on trouve déjà dans Google Labs avec Google Sets… On veut bien le croire. Mais cela permettrait surtout de renvoyer à terme uniquement les pages parlant du langage Java, sans celles parlant de danse ou d’Indonésie, sur la requête « langage Java »… Entre autres choses.

4. La sémantique : comment révolutionner demain la recherche d’information sur le web

Les moteurs d’aujourd’hui ne comprennent rien aux requêtes qu’ils reçoivent, et ne comprennent pas non plus les résultats qu’ils renvoient.

La pertinence des réponses peut donc être sérieusement améliorée grâce aux outils sémantiques. Nul doute que ce qui sonnera l’arrivée de ces technologies dans les moteurs grands publics, c’est l’apparition de ces technologies chez les concurrents.

Déjà, le moteur Accoona, qui vient d’être lancé en grandes pompes la semaine dernière aux Etats-Unis, clame haut et fort sa « supériorité technologique » en expliquant que son moteur « comprend le sens des requêtes »…

Même si on peut estimer aujourd’hui que ce moteur à des progrès à faire sur ce plan là, cette stratégie démontre que la sémantique sera bien au coeur des stratégies concurrentielles de demain chez les outils de recherche.

Il faudra sans doute encore plusieurs années pour que la sémantique achève de révolutionner notre manière de chercher. On ne change pas les habitudes de millions d’internaute en quelques mois seulement. Mais je considère cette évolution comme logique : les progrès se feront forcément dans cette direction.

Le Web Sémantique peut transformer demain toute la chaine de recherche

Même chose pour le web sémantique : le W3C n’imposera pas RDF et OWL en quelques mois non plus. Il faudra beaucoup plus de temps pour que tout le monde comprenne le parti que l’on peut tirer d’un système permettant de coder des documents afin qu’ils soient à la fois compréhensibles par un humain, et par les machines. Même s’il s’agit juste de reconnaître les entités nommées, rattacher les mots à une taxonomie, et les informations à une ontologie, le Web Sémantique s’il devient la norme, va totalement transformer toute la chaine de recherche. L’indexation de documents correctement balisés permet en effet d’imaginer des outils de recherche d’une efficacité insoupçonnée aujourd’hui… A tel point que l’on peut rêver de moteurs renvoyant non pas des résultats probables classés par pertinence, mais LES résultats !

Mais nous n’en sommes pas là…

La vérité, c’est que l’apport de la sémantique aux architectures de moteurs actuelles resterait assez marginale…

De la recherche de documents à la recherche d’informations

Sauf que l’on oublie que les moteurs de recherche
que nous connaissons aujourd’hui sont des outils détournés de leur objectif véritable…

Que cherchent la plupart des internautes sur les outils de recherche ? Des documents ? Ou des informations ?

Bien sûr, la plupart recherchent des informations, sur des outils faits pour renvoyer des documents. L’avenir de la recherche réside donc l’élaboration d’outils permettant de trouver des réponses à des questions formulées en langage naturel…

Une utopie de science fiction ? Voire…

Quelques privilégiés ont déjà pu expérimenter des ordinateurs qui comprennent le langage naturel dans les labos du Parc Xerox de Palo Alto, mais aussi dans les labos de Microsoft [7].
Les ordinateurs qui comprennent le langage parlé, à l’image du HAL de « 2001 l’Odyssée de l’Espace », sont presque au point pour des applications spécifiques. Et la compréhension du langage naturel écrit a fait des progrès spectaculaires.

AskMSR prototype de l’outil de recherche du futur ?

Microsoft a également démontré leur intérêt pour les outils de recherche du futur, avec AskMSR de Susan Dumais, une application qui … répond aux questions qu’on lui pose ! Quelle est la date de la bataille de Marignan ? 1515, avec 99,99% de certitude répond AskMSR !

(pour en savoir plus sur AskMSR et les recherches de Microsoft : _ Le futur moteur que prépare Microsoft pour MSN sera-t’il Brilliant ?)

Les outils de recherche du futur ne manqueront pas de nous étonner, et nul doute qu’ils feront une large utilisation de la linguistique statistique, et de la sémantique appliquée…

Poser des questions et obtenir une réponse, ce n’est à prêt tout qu’une histoire de langage, et de compréhension…

Philippe YONNET


[1] Ces méthodes de calcul « classiques » sont surnommées en « sac de mots » : elle ne tiennent pas compte en effet de l’ordre des mots ou du contexte, elles se contentent de mesurer des fréquences d’occurence, comme si on avait jeté tous les mots du document en vrac dans un sac.

[2] Cette méthode est assez peu utilisée seule, elle a le défaut d’être très consommatrice de puissance de calcul. Elle est en général utilisée conjointement avec une mesure de similarité classique – tf*idf et Cosinus.

[3] Elles nécessitent hélas des données pour calibrer les algorithmes, ce qui pose des problèmes sur des index de grandes tailles

[4] On se référera à se sujet à mon article sur la technologie CIRCA

[5] parfois depuis des années comme Teoma…

[6] on reviendra plus loin sur la technologie SEMTAG

[7] Le nombre de chercheurs qui travaillent sur des applications de compréhension du langage naturel chez Microsoft représente cinq fois les effectifs mobilisés pour travailler sur le moteur MSN !