Comment ca marche moteur recherche

publicité
Jean Claude Roques
Comment ça marche un moteur de recherche ?
Les moteurs de recherche sont indispensables sur internet.
Le site web le plus connu d'internet est même probablement un moteur de recherche:
Google.
Mais comment ça fonctionne ?
Il y a (généralement) plusieurs étapes:






la collecte
le stockage
l'extraction
l'indexation
le classement
la recherche elle-même
(Notez que certains moteurs de recherche peuvent avoir des étapes spécifiques
supplémentaires, ou des étapes en moins. Je ne présente ici que le cas général.)
La collecte
Tous les moteurs de recherche possèdent des logiciels qui parcourent sans relâche tout
les sites web de la planète.
Ces programmes se comportent comme un simple internaute: ils téléchargent des pages
html et suivent les liens hypertextes qu'elles contiennent (comme quand vous cliquez sur
un lien dans une page).
La seul différence avec vous, c'est:


Qu'ils ne chargent pas les images ou vidéos qui sont présentes dans les pages (les
robots ne sont intéressés que par les pages html)
Ils parcourent tous les liens qu'ils trouvent sur un site.
On appelle ces logiciels des "robots".
Google, MSN et les autres moteurs de recherche possèdent chacun leur robots.
(Dans la pratique, ce sont de simples ordinateurs reliés à internet et équipés d'un logiciel
spécial.)
Comme ces robots vont très vite, il arrive qu'ils "écroulent" un site web en faisant trop de
requêtes dessus, ou vont chercher des pages qui ne sont pas pertinentes.
Il existe un moyen de les réguler en plaçant un fichier spécial (robot-rules) sur chaque
site. Le fichier robots.txt (placé à la racine du site) contient des règles indiquant aux
robots ce qu'ils peuvent ou ne peuvent pas récupérer.
La plupart des robots (Google, Yahoo, MSN, etc.) respectent ces règles.
Cela vous permet, par exemple, d'interdire à Google d'indexer une partie de votre site
web.
Le stockage
Les robots récupèrent les pages et les stockent sur disque. Sur des centaines de disques
dur.
En général, ils stockent également la date de dernière visite du site, afin d'aller le revisiter cette page quelques temps après.
(Certains robots visitent les sites plus souvent que d'autres.)
L'extraction
Une fois une page html récupérée, un programme en extraît tout le contenu.
Ce qui intéresse les robots est:



tout le texte de la page.
les méta-informations (auteur de la page, mots-clés, URL de la page...)
les liens vers d'autres pages (liens hypertexte)
Et les robots ignorent le reste:


la mise en page (couleurs, police de caractères, taille, emplacement...) est
ignorée.
les images, vidéos, sons et musique sont généralement ignorés.
Il y a donc une grande différence entre ce que vous voyez dans une page, et ce que les
robots voient.
Par exemple, les robots seront bien incapables de lire ceci:
car pour eux, c'est une image. Ils seront donc incapables d'en lire le contenu de
l'indexer.
Conséquence: Cette image sera totalement ignorée par les robots.
L'indexation
Maintenant qu'on a récupéré le texte de toutes ces pages, il faut se donner les moyens
de rechercher dedans de manière efficace.
On effectue une indexation des pages.
Il existe différentes méthodes d'indexation. En voici une simple:
Prenons le texte suivant:
1. Madame rêve d'atomiseurs
2. Et de cylindres si longs
3.
4.
5.
6.
7.
Qu'ils sont les seuls
Qui la remplissent de bonheur
Madame rêve d'artifices
Des formes oblongues
Et de totems qui la punissent
(J'ai numéroté les lignes exprès.)
Pour chaque mot rencontré, on va noter à quelle ligne il apparaît.
Mot
apparaît aux lignes
Madame
1,5
rêve
1,5
atomiseurs 1
bonheur
4
...
...
Ainsi, si je dois retrouver le mot "rêve", je sais immédiatement qu'il se trouve aux lignes
1 et 5.
De la même façon, pour chaque mot rencontré, les moteurs de recherche vont noter
dans quelles pages (quelles URLs) ces mots apparaissent. Cela leur permettra de vous
donner immédiatement la liste des pages contenant un mot donné.
Mot
URL à laquelle apparaît ce mot
comprendre
www.comprendrelabourse.com, www.comprendre.org, www.lirepourcompr
endre.org, sebsauvage.net/comprendre/...
ordinateur
www.01net.com, www.dicofr.com/cgi-bin/n.pl/
dicofr/definition/20010101003926, fr.wikipedia.org/wiki/Ordinateur, www.
commentcamarche.net/pc/pc.php3...
Cependant, dans beaucoup de langues certains mots sont trop courant (le, la, les, des,
etc.). Par exemple rechercher "le" dans une page ne serait pas pertinent.
Cela s'appelle des "stop-words".
Ces "stop-words" sont automatiquement éliminés et ne sont donc pas indexés.
Notez qu'il existe de nombreuses autres méthodes d'indexation.
Le classement
Bien, on a indexé les pages.
Maintenant on a un petit problème: Il y a beaucoup trop de pages !
Par exemple, le mot "ordinateur" ramène plus de 5 millions de pages sur Google.
Un tel moteur de recherche serait parfaitement inutile: Le malheureux internaute devrait
encore parcourir ces 5 millions de pages pour trouver la plus pertinente.
Il est donc indispensable de classer ces pages par pertinence, c'est à dire mettre en
premier les pages qui sont le plus susceptibles d'apporter la bonne réponse au mot
demandé.
Ce n'est pas une mince affaire !
Il existe des tas de méthodes différentes.
En voici deux:
Le classement sémantique.
Le moteur de recherche va essayer de deviner le champ sémantique d'une page pour la
classer:
Si une page contient le mot "quartier", mais également "pomme", "four", "pâte", il y a de
bonnes chances pour que la page parle de pâtisserie.
Si une page contient le mot "quartier", mais aussi "lune","téléscope", "apogée", il y a de
fortes chances que la page parle d'astronomie.
Cela permet de classer les pages, et de renvoyer à l'internaute celles qui ont le plus de
chance d'être pertinentes.
Par exemple, si un internaute recherche "quartier planète":
"Quartier" seul est ambigu, mais "planète" appartient bien au champ sémantique de
l'astronomie. Le moteur de recherche renverra donc en priorité les pages qui sont
classées dans la catégorie "astronomie".
En revanche s'il recherche seulement "quartier", le moteur de recherche n'a aucun
moyen de deviner ce que veut vraiment l'internaute: il lui renverra plein de page
contenant le mot quartier.
C'est pour cela que parfois vous avez l'impression que les moteurs de recherche vous
renvoient plein de résultats sans aucun intérêt.
Pour des résultats plus précis, ajoutez des mots à votre requête. ("quartier patisserie",
"quartier gateaux", "quartier cuisine", etc...).
Plus vous ajoutez de mots à votre recherche, plus la recherche est précise et moins il y
aura de pages renvoyées.
Il peut être utile, lors d'une recherche, d'utiliser des synonymes ou des mots appartenant
au même champ sémantique afin d'obtenir d'autres résultats.
Le classement par liens
A priori, plus il existe de liens vers une page, plus cette page doit faire référence dans un
domaine.
Logique, non ?
C'est ce que fait (entre autres) Google pour classer les pages:
Plus il existe de liens vers une page, plus cette page "remontera" dans les résultats de
Google.
(Exemple: Beaucoup de monde a fait des liens vers mon site. Du coup, sebsauvage.net
apparaît en 4ième position chez Google quand on cherche le mot "Comprendre".).
Dans la théorie, c'est génial et les résultats sont très pertinents !
Mais dans la pratique...
nous verrons plus loin.
Et il existe de nombreuses autres méthodes pour calculer la pertinence des pages, et ce
sont des secrets bien gardés des différents moteurs de recherche.
C'est même surtout sur le classement de pertinence des pages que se battent les
moteurs de recherche, plus que sur le nombre de pages indexées.
Google a réussi à s'en tirer assez bien aussi bien sur le nombre de pages indexées que
sur la pertinence des pages renvoyées (même si ça ne paraît pas formidable au premier
abord).
La recherche
La dernière étape est la recherche.
Le moteur de recherche va vous présenter un formulaire (plus ou moins évolué) qui vous
permettra de trouver ce que vous voulez.
Ils ont en option des critères de recherche supplémentaires pour vous aider à trouver
plus précisément ce vous voulez.
Ces critères de recherche sont alors envoyés au moteur de recherche qui va analyser
votre demande, supprimer les stop-words, sélectionner les pages correspondant à vos
critères (grâce aux indexes), les classer puis vous présenter les résultats.
La manière classique de présenter les résultats est celle de Google, mais il en existe
d'autres.
kartoo.fr essai de vous présenter les pages en relation (plus ou moins proche) avec des
mots-clés.
Exalead vous montre une copie d'écran du site.
etc.
Certains moteurs de recherche essaient également de détecter les fautes de frappe en
vous proposant des pages contenant des mots très proches, ou en vous suggérant une
autre orthographe pour votre mot.
Certains, comme Kartoo, vous proposent d'autres mot ou termes qui sont présents dans
les pages de résultats.
Les particularités
Certains moteurs de recherche offrent des fonctions supplémentaires.
Parfois, les moteurs de recherche vont également indexer d'autres choses que le web.
Par exemple, Google est capable d'indexer les fichiers PDF, Word (.doc) ou PowerPoint
(.ppt/.pps). Cela permet d'étendre les recherche au delà des seules pages html.
Autre exemple: Google Scholar, par exemple, indexe les documents universitaires
(rapports, thèses...).
Ils peuvent également s'alimenter à d'autres sources (agence journalistiques, agences
scientifiques, grandes bibliothèques, entreprises diverses...)
Certains moteurs offrent également des recherches spécialisées (automatiquement
restreintes à un domaine).
Par exemple, Google possède un moteur spécialisé dans tout ce qui est Linux
(http://www.google.com/linux), Microsoft, Apple...
Cela permet d'avoir des résultats de recherche qui ne sont pas parasités par des pages
inutiles.
Autre exemple: le moteur de recherche koders.com permet de recherche exclusivement
dans le code des logiciels opensource.
Certains moteurs sont spécialisés dans certains types de fichiers.
Par exemple findsounds.com est spécialisé dans la recherche de sons.
Certains moteurs ont également la possibilité d'utiliser des mots-clés.
Par exemple Google possède des mots clés pour restreindre la recherche à un seul site,
trouver toutes les pages qui ont un lien vers un site donné, etc.
Les inconvénients
Dans l'idéal, on a tout ce qu'il faut pour obtenir de bon résultats et des pages qui nous
intéressent.
Dans la pratique... et bien c'est loin d'être le cas.
La pollution
Certains parasites gâchent complètement les résultats et trichent pour apparaître en haut
de liste dans les résultats de recherche.
Pourquoi ?
Pour gagner de l'argent, tout simplement (grâce aux bandeaux de pub).
Il y a différentes méthodes de pollution:






Créer des tonnes de pages ne contenant rien à part des tonnes de liens vers
d'autres pages pleines de liens aussi... (Beaucoup de liens vers leurs propres
pages = meilleur classement).
Mettre des tonnes de mots-clés tout les pages.
Piquer le contenu des sites populaire et les montrer aux robots des moteurs de
recherche (comme les pages volées sont déjà populaires, cela les fait remonter).
Bidouiller ses DNS pour inclure les mots du dictionnaire (beaucoup de moteurs de
recherchent donnent en priorité les sites dont l'adresse contient le mot
recherché).
Polluer des forums, des blogs ou des wiki en postant des messages contenant des
centaines de liens.
etc.
Ce sont des nuisibles qui sont là uniquement pour gagner du pognon.
La publicité
Sur certains moteurs de recherche, la publicité est envahissante.
L'objectivité
Certains moteurs de recherche ont tendance à donner en priorité les pages de leurs
partenaires commerciaux dans les résultats, ou sont touchés d'une amnésie subite de
l'existance des pages des concurrents.
On encore censurent carrément des pages, parfois sur ordre d'un gouvernement (C'est le
cas de Google et MSN en Chine, par exemple).
Etant donné que les enjeux financiers sont gigantesques, on peut légitimement douter de
l'objectivité des moteurs de recherche.
Google l'a bien compris, et sa devise annoncée est "Do no evil". Mais ça ne veut pas dire
qu'il faut leur accorder une confiance aveugle.
Confidentialité
Les moteurs de recherche suivent les liens des sites web, tous les liens.
Si par hasard un webmaster a oublié de mettre un mot de passe sur une partie de ton
site, c'est tout ses fichiers privés qui se retrouveront indexé par les moteurs de
recherche.
L'exemple le plus flagrand est Google Dorks ("dorks" signifie "crétin", par référence aux
webmaster assez cons pour laisser traîner des fichiers privés sur le web).
Certains ont fustigé Google pour ça, alors que ces informations sont publiques. C'est
juste que les webmasters en question ont été assez bête pour laisser des fichiers privés
en libre accès, sans mot de passe et sans robot-rules.
Pourquoi Google est-il aussi populaire ?
On peut trouver diverses explications. Voici la mienne:

L'interface reste simple: Google n'a pas cédé au syndrôme "arbre de Noël" tel
qu'on peut le voir sur certains sites (Exemple typique du syndrôme "arbre de
Noël": CDiscount). D'ailleurs on ne s'y trompe pas: les autres moteurs de
recherche sont presque tous revenus à une interface sobre.

Google indexe beaucoup de pages: On présume que c'est Google qui indexe le
plus de pages (mais aucun moyen d'en être vraiement sûr). Il y a donc
potentiellement plus de chances de trouver ce que vous cherchez sur Google.
Sans compter que Google est (à ma connaissance) le seul moteur de recherche à
indexer les fichiers pdf/ps/word/ppt...
Cependant, il peut être pénible de faire le tri dans ce grand nombre de pages.



Les résultats sont pertinents. Si si, je vous assure, même si ça n'a pas l'air
terrible, les résultats sont plus pertinents que la plupart des autres moteurs de
recherche. Google a beaucoup travaillé là dessus.
Google est souple: il est l'un des rares moteurs de recherche à permettre la
recherche sur un domaine seulement, ou la recherche des liens pointants vers une
page donnée.
La publicité sur Google n'est pas envahissante: Pas de gros bandeau
clignotant avec des couleurs à vous faire attraper une crampe de paupière: Les
publicités Google sont discrètes et n'empiètent pas trop sur les résultats. En
prime, la publicité est généralement plus pertinente que sur les autres moteurs
(Qu'est-ce que j'en ai à f*utre de gagner une carte verte pour travailler aux USA
quand je recherche de la documentation sur les API Java ??? 'm'énerve.)
Je comprends le fonctionnement des moteurs de recherche
Collecte des données. Des robots (Web robot, spider, crawler) naviguent en permanence sur le
Web (et souvent dans les forums de discussion) et archivent intégralement les pages qu'ils trouvent
dans des serveurs.
L'indexation est effectuée par un autre moteur qui associe à chaque page :




les mots-clés inscrits dans l'en-tête et dans certaines zones significatives de la page (que
l'internaute de voit pas);
la position des mots dans la page et leur répétition (dans une certaine mesure);
l'indice de popularité (le nombre de liens qui pointent vers la page);
etc.
Moteur d'interrogation. Lorsque tu tapes une requête, celle-ci est envoyée au moteur qui accède à
ses bases de données pour chacun des mots, et restitue les résultats sous forme de liens vers des
pages. Les documents repêchés sont classés selon un ordre de pertinence décroissant.





On trouve généralement deux niveaux de recherche sur la même interface : recherche
simple et recherche avancée (mode expert).
o La recherche simple, très utilisée, se fait avec des opérateurs logiques faciles à
retenir.
o La recherche avancée est accessible grâce à un formulaire qui pose
automatiquement les opérateurs booléens et permet de choisir le type de publication,
date, langue, etc.
La syntaxe d'interrogation varie d'un moteur à un autre, mais présente certains points
communs.
Les moteurs ne cherchent pas de synonymes à ta place. Consulte un dictionnaire de
synonymes.
La plupart des moteurs ne tiennent pas compte du sens des mot et retournent tous les
résultats d'une recherche. Le terme tableau par exemple a plusieurs sens différents : oeuvre
art, données chiffrées, panneau plat sur lequel on écrit dans une classe, tableau de bord dans
un avion, etc.
Les métamoteurs cherchent dans les bases de données de plusieurs moteurs et répertoires.
Résultats différents. La même requête adressée à plusieurs moteurs retourne des pages
différentes : les méthodes (algorithme) employées pour déterminer la pertinence des mots varient d'un
moteur à un autre.
Certains moteurs permettent de rechercher efficacement plusieurs formats de documents : Word,
PowerPoint, Excel, Adobe PDF, HTML, images gif et jpg, mp3, etc.
La mise à jour des bases de données se fait à des intervales réguliers, mais cela peut prendre des
semaines, voire des mois, pour qu'une nouvelle page soit indexée.
Téléchargement