Les moteurs de recherche modernes comme Google ou Bing utilisent une pondération des différents critères de pertinence qu'ils utilisent, en fonction de l'intention de recherche détectée derrière la requête. Et pour tirer les ficelles et gérer ce poids attribué à chaque signal, c'est un algorithme nommé « Learning to Rank » qui va tenir la baguette pour configurer au mieux la balance de la pertinence. Voici comment il fonctionne...

 

La légende (ou le storytelling de la société) dit que Google utilise plus de 200 signaux, voire même beaucoup plus si on en croit l’article [1] de Danny Sullivan qui évoque une conférence de Matt Cutts de novembre 2010 dans laquelle ce dernier évoque plus de 50 variations par signal. Techniquement, cela fait donc plus de 10 000 signaux ! Et on parle de 2010…

Mais si le moteur a autant de signaux, la question que l’on peut légitimement se poser est donc de savoir quels sont les signaux importants. Tout le monde n’en a pas conscience, mais il existe un algorithme dont le seul objectif est de déterminer l’importance des signaux, pour créer une fonction de classement unique en les pondérant. Cet algorithme, dont j’ai déjà parlé à plusieurs occasions (voir l’article [2] par exemple), a un nom générique : le learning-to-rank.

Vous l’avez compris, le learning-to-rank sera le sujet de cet article 😉


Un peu d’histoire

Le principe du learning-to-rank est un principe d’apprentissage automatique (machine learning), mais de manière assez étonnante, il aura fallu pas mal de temps pour que les moteurs de recherche se dotent d’un tel mécanisme. La principale raison est que les chercheurs en machine learning n’étaient pas forcément très intéressés par la recherche d’information pendant une assez longue période.

Les premières approches mises en place au sein d’un moteur se trouvent chez Altavista (voir le brevet de David Cossock, référence [3]). La figure 1, issue de ce brevet, est très explicite quant au principe de l’algorithme.

Un algorithme de learning-to-rank chez Altavista

 

L’idée est la suivante : on détermine tout d'abord les caractéristiques importantes pour le classement, on les pondère, on regarde l’erreur commise en termes de qualité de résultat, puis on modifie les pondérations pour améliorer la qualité, et on recommence…

La suite de cet article est réservée aux abonnés.

Sylvain Peyronnet, concepteur de l'outil d'analyse de backlinks Babbar.