SL0720X - Moteurs de recherche

Consultez les pages suivantes :

Recherche avancée

Observez la page "recherche avancée" de Google.
Quelles sont les principales options proposées ? Comment restreindre la recherche à un site web particulier ?
Effectuez la recherche suivante :
Mirail
Donnez plusieurs requêtes susceptibles de retourner des pages qui parlent du Mirail mais pas de l'Université.

Un autre moteur : Exalead

Consultez la page Syntaxe de recherche web d'Exalead. Quelles fonctionnalités ce moteur de recherche propose-t-il en plus/en moins par rapport à Google ?

Pages de résultats

Effectuez une recherche sur Google avec les mots-clés suivants : sciences du langage toulouse
Ouvrez dans une nouvelle fenêtre la première page trouvée (clic-droit et "ouvrir le lien dans une nouvelle fenêtre").
Visualisez le code source HTML de la page : clic droit sur l'arrière-plan de la page (en dehors des liens et des images) et "code source de la page".
Observez les champs contenus dans l'entête de la page (balises <head></head>).
Quelles rapport y a-t-il entre la présentation des résultats dans Google et l'entête HTML d'une page ?

Mots indexés, casse, diacritiques, stopwords, pluriels et recherches avancées


Effectuez la recherche suivante :
casse noisettes
Un des premiers résultats (il est possible que cette affirmation varie entre le moment d'écriture de cet énoncé et le moment où vous effectuerez la manipulation) est l'article de Wikipédia consacré au ballet. Cliquez sur ce résultat.
Affichez le code source HTML de la page et recherchez (menu édition/recherchez dans la page ou Ctrl+F) une occurrence de noisettes au pluriel, comme saisi dans la requête. Qu'observe-t-on ?
Effectuez la recherche suivante :
"casse noisettes"
(i.e. la même recherche avec des guillements).
En quoi, dans ce cas, le fait de retrouver la page Wikipédia dans les résultats est contradictoire avec ce qui est annoncé dans la page "Aide supplémentaire pour la recherche" ?

Effectuez les requêtes suivantes et commentez le nombre de résultats annoncé par Google (ligne "résultats 1-10 sur un total d'environ NNN").
Effectuez de même les requêtes suivantes et commentez le nombre de résultats annoncé.
Comparez à chaque fois la requête et le texte des pages proposées (on peut se limiter au titre affiché dans la page de résultats) : En quoi les traitements effectués lors de l'indexation sont-ils importants ?

Cherchez un cours de français sur les prépositions telles qu'elles sont présentées dans les classes primaires :
a de par pour sans

Qu'observe-t-on ? Comment l'expliquer ?
Comment peut-on améliorer cette requête ?

Comment trouver à quoi correspond le symbole chimique au ? ne ?
Quel problème complique la requête ?

Effectuez et commentez la série de requêtes suivante :

Il y a quelques années, les moteurs de recherche ignoraient les caractères non alpha-numériques. Quels problèmes cela pouvait-il poser ?

Effectuez les requêtes suivantes (note : C++ et C# sont des langages de programmation) :
Quelles conclusions peut-on tirer ?
Cherchez, pour le langage Perl, à quoi correspond >>>.
Testez : En C++, à quoi correspond -- ? Testez :

À quoi correspond la formule chimique CnH2n+2 ? CnH2n-2 ?

Que se passe-t-il lorsque l'on soumet cette formule comme requête ? Quel processus du moteur interfère ?

En lisant le passage hors-contexte "A* est plus adapté que Dijkstra", vous voulez savoir ce que signifie A* et effectuez la requête suivante : A*
Que se passe-t-il ? Y a-t-il un moyen d'obtenir une réponse lorsque l'on ignore totalement de quoi il s'agit ?
Effectuez la requête suivante :
algorithme A*

Cherchez la signification de l'étiquette @card@

Fonctionnalités exotiques

Testez et commentez sur le moteur Exalead les requêtes suivantes :


Quelle application pour la linguistique peut-on faire de cette fonctionnalité ?
Testez les requêtes suivantes et consultez les pages correspondantes : Commentez.

Moteurs de recherche/Recherche d'information

Les moteurs de recherche les plus connus (Google, Yahoo, Exalead et autres) représentent la partie la plus connue du domaine plus général appelé recherche d'information (RI), ou Information Retrieval (IR).
Le but de ces moteurs est de définir, en fonction d'une requête, un sous-ensemble de documents jugés pertinents parmi une collection donnée.

Les moteurs généraux sont dits plein texte, i.e. la requête est exprimée par une liste de mots (termes de la recherche) et le moteur recherche les documents contenant si possible tous ces termes.

Le fonctionnement d'un moteur se décompose en plusieurs étapes :
  1. L'indexation des documents de la collection : le moteur construit un index permettant de retrouver "quelles pages contiennent tels mots".
  2. L'appariement entre les requêtes et les documents : recherche dans l'index des pages qui contiennent la liste des mots de la requête.
  3. Ordonnancement des résultats par pertinence estimée.

Lors de la phase 1, plusieurs traitements peuvent différer selon les moteurs : suppression des mots vides (stopwords), lemmatisation, racinisation (stemming), prise en compte des diacritiques, des caractères non alpha-numériques, etc.
Note : on trouve dans des forums concernant le référencement les termes lemmatisation et stemming employés comme synonymes. Il s'agit bien de deux choses différentes : le stemming, ou racinisation, est la troncature des mots (on ne conserve que les n premières lettres du mot -et encore, la troncature n'est que le procédé de racinisation le plus simple, il en existe d'autres-) et la lemmatisation est le remplacement d'un mot par sa forme canonique.

Le but de la phase 2 est de sélectionner tous les documents pertinents parmi la collection et rien que ceux-là (en fonction de la présence ou non des termes de la requête dans les documents). La réalité est en fait la suivante :

RI : bruit et silence

Recherche d'information : bruit et silence

Le moteur sélectionne des documents effectivement pertinents, mais :

Le but à atteindre est de réduire bruit et silence de manière à faire se chevaucher les deux ensembles "documents sélectionnés" et "documents pertinents".

La phase 3, le classement des résultats trouvés par ordre de pertinence, est cruciale et spécifique à chaque moteur. Les statistiques varient, mais la majorité des internautes, dans la plupart de leurs recherches, ne regardent jamais au-delà de la première page de résultats d'un moteur, c'est-à-dire au-delà des 10 premiers documents. Une page peut être beaucoup plus pertinente que les autres par rapport à une requête donnée, mais si elle est classée 100ème, elle a peu de chances d'être visitée.

Classement par pertinence des résultats (ranking)

Un des critères de pertinence majeur, et partagé par tous les moteurs plein texte, est la pondération des termes. En simplifiant, on peut dire que tous les moteurs appliquent une version du "tf*idf" (term frequency * inverted document frequency). Cette mesure est calculée pour chaque terme de la requête et chaque document. Le principe est d'établir la notion de spécificité dans un document d'un terme de la requête par rapport à l'ensemble de la collection.
Pour un mot et un document donnés, tf est le nombre d'occurrences du mot dans le document. idf est inversement proportionnel au nombre de documents contenant le mot.

Un mot intervient de manière importante dans l'appariement entre une requête et un document si :

En plus de ce système de pondération, Google a développé un modèle, appelé PageRank, qui donne plus de poids aux pages "populaires" : plus une page a de liens qui pointent vers elle, plus elle a un PageRank fort. Formulée telle quelle, cette explication n'est pas totalement exacte : il s'agit d'un modèle probabiliste plus sophistiqué mais nous nous limiterons à cette simplification comme première approche.

On peut néanmoins retenir qu'un grand nombre de liens pointant vers une page contribue à donner un fort PageRank à cette page. De plus, un lien intervient d'autant plus dans le calcul du PageRank d'une page qu'il provient d'une autre page ayant déjà un PageRank élevé. Ce principe est illustré dans la figure ci-dessous : la page (rouge) en haut à droite n'a qu'un seul lien qui pointe vers elle, mais ce lien provient d'une page ayant un PageRank très élevé. La page vers laquelle pointe le lien obtient ainsi un PageRank élevé.

PageRank
(image de Felipe Micaroni Lalli sous licence CC-By-SA)

Ainsi, si vous créez une page web personnelle qui parle de TreeTagger, il y a fort à parier qu'elle aura un PageRank moindre que la page sur TreeTagger de l'Université de Stuttgart vers laquelle toutes les pages qui parlent de l'étiqueteur renvoient.
Si un internaute soumet le seul terme TreeTagger comme requête et si votre page contient plus d'occurrences de ce terme que la page "officielle" (donc ayant un tf*idf supérieur), il est possible (probable) que votre page apparaisse après celle de l'Université de Stuttgart.

D'autres critères viennent s'ajouter à la pondération des termes et au PageRank, comme la présence d'un mot dans le titre d'une page, dans son adresse, ou le fait qu'un mot apparaisse en début de page.

L'étude des mécanismes des moteurs de recherche se heurte à l'opacité volontaire quant à leur fonctionnement. Il est difficile de déterminer l'importance relative de la pondération des termes et du PageRank ainsi que les différents traitements opérés entre l'indexation et la présentation des résultats à l'utilisateur. Une des raisons de cette opacité est l'effet "recette Cola" : volonté de ne pas divulguer ses méthodes à la concurrence. D'autre part, les webmasters essaient d'obtenir artificiellement des bons classements en trompant les moteurs de recherche. Référenceur est même devenu un métier à part entière ; on parle même de référenceur Google, référenceur Yahoo, etc. Il s'agit de modifier le contenu, visible ou invisible, des pages de manière à ce qu'elles "remontent" dans le classement des résultats.

Pour finir...


[ correction] [ page principale]

Mention légale ]