Aller au contenu

Les moteurs de recherche

Ce chapitre s'inspire en partie de la ressource Eduscol correspondante!

Attention

Ce chapitre contient quelques raccourcis et généralisation sur les moteurs de recherches pour plus de concision. Par exemple, quand il est écrit "les moteurs de recherche", il faut comprendre "la plupart des moteurs de recherche".

On accède à un site internets par le biais de son URL, son adresse web. Mais encore faut-il la connaître.

Alors, comment trouver LA page qu'il nous faut dans l'immensité du Web ?

C'est le rôle, entre autres, des moteurs de recherche.

Idée du problème :

Quand on recherche un site, comment savoir si une page est pertinente ou pas par rapport à une recherche donnée ?

Ce problème se découpe en deux aspects :

  • Le classement général des pages.
  • Le classement des pages par rapport à une recherche.

C'est un problème très complexe.

On pourrait par exemple demander à des experts de chaque domaine de classer les pages de leurs domaines, ou aux utilisateurs de voter pour évaluer la pertinence d'une page web.

Malheureusement, le nombre de pages sur le Web est colossal (supérieur à un milliard1), et elles changent régulièrement, demander à des humains de faire le travail de classement est déraisonnable.

On préfère donc confier cette tâche à des programmes, les moteurs de recherche.

PageRank et random surfer

Le premier algorithme que Google a utilisé est PageRank. Il a fait l'objet d'un brevet, expiré depuis 20192.

Il attribue un score, le PageRank (PR), de 0 à 1, à une page en fonction :

  • Du nombre de liens hypertextes qui pointent vers cette page.
  • De la qualité des liens, c'est à dire du PR des pages qui pointent vers cette page.

L'idée est que plus une page est référencée par d'autres pages, plus elle est importante.

Pour calculer ce score, il utilise le random surfer model (modèle du surfeur aléatoire en anglais).

Ce modèle voit le web comme un graphe orienté. Les pages web sont des sommets (des points), et les hyperliens des arcs (des flèches).

web graphe

On simule alors un surfeur, navigateur du Web, qui démarre sa navigation d'une page web, et choisit un lien aléatoirement sur cette page web, puis le suit pour aller vers une autre page web, et encore choisir un lien aléatoirement et ainsi de suite, en comptant pour chaque page web combien de fois il est passé par la page.

Si une page web est souvent surfée par le surfeur, celà veut dire que de nombreuses pages la référencent, ou qu'une page avec un PR élevé la référence. Elle aura donc un PR élevé.

Cette YouTube de Spanning Tree, en anglais sous titrée français montre une petite animation de surf aléatoire.

Le random surfer a quand même un problème : dans le web, il existe des îlots de pages isolés, et des pages "cul de sac" qui ne pointent vers aucune autre page.

web graphe ilots

Pour palier ce problème, Larry Page et Sergey Brin, les concepteurs de PageRank et fondateurs de Google, ont ajouté encore plus d'aléatoire. Quand le surfeur arrive sur une page, effectue deux décisions aléatoires :

  • La première est entre surfer (85% de chances) et sauter (15% de chances).
  • Si le surfer surfe, il choisit aléatoirement un liens sur la page qu'il est en train de surfer.
  • Si le surfer saute, il choisit aléatoirement une page parmi toutes les pages connues.

Le saut assure que, avec une simulation suffisament longue, on n'oublie pas un ilôt isolé.

Pertinence par recherche

PageRank donne un classement général des pages. Mais la plupart du temps, quand on utilise un moteur de recherche, on cherche à avoir un classement qui corresponds à la recherche qu'on effectue.

Si je recherche des informations sur les cordes d'escalade, une page qui parlerai de chatons n'aurai que peu d'intérêt, quand bien même elle aurait un meilleur PR.

Pour proposer un meilleur résultat, Google et les autres moteurs de recherche ne se basent pas uniquement sur le PageRank, mais aussi sur de nombreux autres indicateurs.

Contenu de la page

Tout simplement, le moteur de recherche peut se baser sur le contenu des pages qu'il connaît.

Il parcours les pages et crée un index, une sorte de liste qui associe à chaque mot (ou mot important) les pages qui le mentionnent.

index

Quand on effectue une recherche, le moteur de recherche regarde dans l'index les pages qui correspondent, et combien de mots correspondent à chaque page, pour donner un score de pertinence à chaque page, qui se cumule avec d'autres scores comme le PageRank.

Profils utilisateurs

Une autre manière qu'ont les moteurs de recherche de proposer des recherches pertinentes d'observer les utilisateurs.

Quand un utilisateur effectue des recherches, le moteur de recherche les enregistre, et enregistre aussi quels résultats il a choisi pour chaque recherche, dans un historique. (Attention, ça n'a rien à voir avec l'historique du navigateur !), c'est le profil d'utilisateur.

Quand l'internaute effectue une nouvelle recherche, le moteur de recherche compare son profil avec celui d'autres utilisateurs qui ont déjà effectué une recherche similaire et on un profil similaire. Il attribuera alors un score plus élevé aux pages qui ont étés choisies par ces utilisateurs lors de leurs recherches.

Activité : sur vos smartphones, effectuez les recherches suivantes sur votre navigateur usuel (par exemple Google), et sur le moteur DuckDuckGo, et remplissez, dans l'ordre, le tableau en notant le nom du site du premier et cinquième résultat à chaque fois. NE CLIQUEZ SUR AUCUN LIEN. Ignorez les éventuels résultats d'annonce.

mot à chercher résultat usuel 1 résultat usuel 5 résultat DuckDuckGo 1 résultat DuckDuckGo 5
tutoriel
meme
vêtement
écran
équipement
maquillage
tutoriel

Comparez ces résultats avec le reste de la classe. A votre avis, quel peut-être l'impact de ce genre d'algorithme sur notre accès à l'information ?

Nous rediscuterons dans la partie sur les réseaux sociaux des algorithmes qui proposent du contenu.

Syntaxe de requête d'un moteur de recherche

Supposons que l'on veuille retrouver une chanson, et qu'on en a que quelques paroles. Pour cet exemple, on prendra grind and be patient, de la chanson Ready to Kill du groupe Neffex.

Si on met ces mots dans un moteur de recherche sans plus d'essai : (On ajoute le terme lyrics, paroles en anglais, en espérant tomber sur un site contenant les paroles de la chanson, et donc son nom)

grind and be patient lyrics

On ne trouve pas la musique recherchée.

La raison est très simple : les moteurs de recherche ne sont pas absolument exhaustifs, ils ne cherchent pas tous les mots ni les mots dans le bon ordre. On va donc trouver beaucoup d'autres chansons potentiellement plus populaires.

Pour trouver notre musique, on va devoir utiliser la syntaxe de requête d'un moteur de recherche. Ce sont des symboles qu'on va ajouter à notre recherche pour ajouter des informations comme "je veux TOUS ces mots". On prendra pour exemple la syntaxe Google, mais elle est commune a beaucoup d'autres moteurs.

Google

Par défaut, Google cherche des pages qui contiennent tous les mots de la recherche si possible.

L'odre des mots a son importance : le premier mot est considéré comme plus important

chat ponce canapé

Ne donnera pas forcément les mêmes résultats que

canapé ponce chat

En mettant une expression entre guillements, on précise qu'on veut que la page contienne exactement l'expression.

"chat ponce canapé"

En ajoutant un - avant un mot, on demande à ce qu'il ne soit pas présent sur une page :

-chat ponce

Cherche les pages qui parlent de ponce sans parler de chat

En ajoutant OR (majuscules importantes) entre deux requêtes, on peut demander des pages qui correspondent à une requête OU une autre.

-chat ponce OR "chat ponce canapé"

Renvoie donc les pages qui contiennent "ponce" et pas "chat" OU qui contiennent exactement "chat ponce canapé".

Finalement, site: suivi d'un nom de domaine renvoie uniquement des résultats du site.

site:wikipedia canapé chat ponce

Il existe quelques autres opérateurs, mais on ne les verras pas ici, parce qu'ils sont moins utiles.

Revenons à notre musique. On veut alors chercher les paroles exactes, et pour ça on va utiliser les guillements.

"grind and be patient" lyrics

Ce qui nous emmène sur le bon résultat !

Autre exemple

Certains autres moteurs de recherche, comme DuckDuckGo, proposent des opérateurs un peu différents. Par exemple DuckDuckGo, qui a priori ne base pas les recherches sur les profils utilisateur, donne parfois des recherches peu en rapport avec ce qu'un utilisateur attends. Par exemple, Wikipédia est rarement le premier choix d'une de mes recherches DuckDuckGo, et pourtant, c'est souvent un des sites que je veux voir apparaître en premier quand je fais une recherche.

DuckDuckGo propose donc des raccourcis, appelés les bangs qui permettent en quelques caractères de chercher directement sur un site, en utilisant le moteur de recherche du site. Il en existe plusieurs milliers, ils sont listés ici. Par exemple, le bang de Wikipédia est !w.

Donc si on cherche

!w chat

dans DuckDuckGo, on tombe directement sur la page wikipédia de nos amis félins !


  1. https://www.internetlivestats.com/, consulté le 23 Septembre à 20h32, affichait 1,985,812,376 site webs. 

  2. https://patents.google.com/patent/US7058628B1/en