Netsources, Numéro de Novembre-Décembre 2003 - n°47


Le principe de "pages similaires" et sa visualisation

Auteur : Serge Courrier

Les fonctions de type “pages similaires” (related pages), présentes dans une poignée de moteurs de recherche, restent méconnues.

Comment fonctionnent-elles ? Comment s’en servir ? Plongez dans un monde ou les mathématiques sont reines et découvrez un outil de visualisation très utile : Touchgraph Google Browser.

Lorsque nous cherchons des informations publiées sur le Web, notre premier réflexe consiste à taper quelques mots dans un moteur de recherche.
Les pages qu’il nous propose alors en réponse ont une seule caractéristique : elles contiennent l’ensemble des mots que nous avons soumis. Altavista, Google, All The Web et tous les autres appliquent ensuite une formule mathématique plus ou moins complexe pour classer ces réponses.

Néanmoins, ce mode opératoire ne répond pas à une stratégie de recherche basée sur la similarité : “J’ai trouvé une page ou un site intéressant, je voudrais bien découvrir des pages similaires”.

Intéressant ? Le problème, c’est que l’appréciation de la similarité est avant tout un jugement humain suffisamment complexe pour ne pas être facilement modélisable.

S’il s’agissait simplement de trouver les textes qui grosso modo utilisent les mêmes mots qu’un texte de base, ce serait (relativement) simple. Mais en appliquant ce type d’algorithme, on se rend rapidement compte de son inefficacité : d’une part parce que l’on trouve principalement des copies des pages soumises ou parce que la similarité, paradigme de la textualité, est rarement au rendez-vous.

Les moteurs de recherche préfèrent exploiter l’architecture hypertextuelle du Web, beaucoup plus à même d’approcher la notion de similarité.
Une première approche consiste à se dire que deux pages qui se citent l’une l’autre (chacune affichant un lien hypertexte pointant vers l’autre) est un bon gage de similarité. Assez efficace, cette méthode est néanmoins  très limitative.

Elle implique en effet que l’auteur de chacune de ces pages connaisse l’existence de son alter ego et prenne la peine d’insérer un lien dans sa direction.
Cette méthode est de plus fortement pratiquée par des webmasters, qui cherchent avant tout à construire un réseau de “copinage” au bon ou au mauvais sens du terme. La méthode manque donc d’une certaine rigueur et risque de prêter à nombre d’abus.

Les chercheurs qui ont abordé la question préfèrent se pencher sur une analyse parfois assez complexe du “voisinage” des pages. Voisinage qui passe par l’étude des documents qui pointent vers la page que nous jugeons intéressante, ainsi que par celle des pages vers lesquelles pointent cette même page.

La première stratégie imaginée consiste simplement à considérer qu’un ensemble des pages similaires (S) à une page de référence (R) est constitué d’un ensemble de pages présentant un fort niveau de “cocitation” avec R. Explication. Si P représente  l‘ensemble des pages “parentes” de R – c‘est-à-dire porteuses d’un lien hypertexte pointant vers R –, ont peut imaginer que les pages les plus fréquemment citées par des pages appartenant à P ont toutes les chances d’être similaires à R, et ce même si les textes qu’elles contiennent ne sont pas proches de celui de R, statistiquement parlant. Ce pari a montré son intérêt à travers notamment les recherches de Jon Kleinberg en 1998 ou de Jeffrey Dean et Monika R. Henzinger en 1999.

Des stratégies beaucoup plus élaborées telles que le “Companion algorithm” de la même Monika R. Henzinger prennent non seulement en compte l’ensemble des pages “parentes” de R et l’ensemble des pages “enfants” de R, mais poussent l’audace jusqu’à s’inquiéter de l’ensemble des pages “enfants” des “parents” de R... et des pages “parentes” des “enfants” de R.

L’intuition qui sous-tend ce genre d’algorithme, c’est d’abord qu’un document qui a de nombreux “enfants” peut être un bon répertoire de pages intéressantes et qu’un document qui a de nombreux “parents” fait certainement autorité.

De manière transitive, un document qui pointe vers beaucoup de bonnes “autorités” à toutes les chances d’être un bon répertoire de pages et un document pointé par de nombreux “bons répertoires de pages” à toute les chances de faire réellement autorité.

Avec ce pari qui semble à première vue se mordre la queue, on parvient néanmoins à construire un algorithme qui produit des pages similaires de très bonne qualité. On ne garde alors que les pages les plus abondamment “cocitées” par des parents faisant autorité.

L’introduction d’éléments textuels dans cette course à la similarité jusqu’à présent très hypertextuelle apporte-t-elle quelque chose à la qualité des résultats ? Quatre chercheurs issus de l’université de Stanford et du Massachusetts Institute of Technology se sont penchés sur la question et suggèrent que lorsqu’un moteur de recherche prend en compte les textes qui entourent les liens hypertextes pointant vers une page, la recherche de la similarité s’en trouve sensiblement améliorée.

Après avoir levé le voile technique de la similarité, reste à savoir ce que les moteurs de recherche utilisent ! Et là, beaucoup de bouches et de portes restent closes : secret de conception oblige. Cependant, on ne peut négliger quelques gros indices, notamment en ce qui concerne Google.
L’initiatrice de l’algorithme Companion décrit ci-dessus est en effet devenue directrice de la recherche chez Google. Parallèlement, l’université de Stanford a gardé des liens très étroits avec cette même entreprise. Pas étonnant d’ailleurs lorsque l’on sait que les deux créateurs de Google en sont issus. Au vu des résultats de Teoma ou d’Altavista (via son opérateur like:), l’orientation apparait identique avec un travail manifeste sur la découverte des pages faisant “autorité”.

En pratique, ce que nous savons désormais de la recherche en similarité peut aisément nous servir à déterminer les cas de figure où celle-ci sera la plus efficace. Pour donner des résultats nombreux et intéressants, il faut que la page de départ appartienne à un secteur regroupant des sites recourant abondamment aux liens hypertextes et reposant sur une ou des autorités morales. A ce niveau, les univers de la recherche scientifique, du monde associatif et institutionnel sont particulièrement bien lotis. Le business risque en revanche de générer beaucoup de “bruit” et de similarité abusive.

Un problème demeure néanmoins : la lecture des résultats. Sous forme d’une liste de pages, le réseau de similarité n’apparaît pas. C’est là où un outil comme Touchgraph Google Browser (www.touchgraph.com/TGGoogleBrowser.html) peut avoir son intérêt.

Développé par un jeune programmeur américain - Alex Shapiro – ce service gratuit conçu en Java élabore une carte de similarité à partir des résultats fournis par Google. La page source reste au milieu et les pages similaires viennent se greffer en une arborescence plus ou moins fournie.

Les pages directement liées à la page d’origine représentent les résultats d’une recherche dans Google utilisant l’opérateur “related:”. La distance entre la page d’origine et la “page similaire” dépend du classement de cette dernière dans les résultats de Google. Idem pour la couleur du lien. Les cinq premières pages sont ainsi reliées à la page d’origine par un lien gris sombre. Le gris s’éclaircit pour les résultats suivants.

Mais Touchgraph ne s’arrête pas là ! En réutilisant l’adresse Web des premières “pages similaires”, il relance automatiquement une requête en similarité et affiche donc... les pages similaires aux pages similaires. Une opération qui aurait été éprouvante dans Google et qui prend dans Touchgraph une dimension particulièrement intéressante.
Une recherche prenant comme point de départ la page d’accueil du site Intelligence Online (www.intelligenceonline.com) fournit ainsi un ensemble passionnant de sites relatifs à l’intelligence économique et aux services secrets.

On remarque d’ailleurs au passage que Touchgraph ne gère pas les caractères accentués. Dommage ! En revanche il extrait des réponses de Google un ensemble d’informations que l’on affiche en cliquant sur le petit rectangle vert [info], qui apparaît lorsque l’on survole de sa souris une des pages similaires. Sont indiqués dans ce rectangle le titre de la page, l’extrait proposé par Google (Snippet), l’URL et, le cas échéant, la description issue de l’Open Directory (Summary) ainsi que la catégorie dans laquelle le site est indexé dans l’annuaire.
Pour faciliter la visualisation, Touchgraph permet de zoomer, de se déplacer, de faire disparaître certaines pages, de les déplacer sur la carte.

Quelques réglages accessibles en enfonçant le bouton “advanced” (réglages avancés)  permettent de limiter l’affichage aux seuls résultats de premier niveau (radius=1).

Autant de réglages au service de la découverte de ressources inconnues ou méconnues, qui émergent facilement grâce à l’usage d’une représentation graphique certes encore balbutiante, mais diablement efficace (lire mode d’emploi page suivante).

www.touchgraph.com/TGGoogleBrowser.html
info@touchgraph.com

POUR EN SAVOIR PLUS (en anglais)


- Strategies for Similarity Search on the Web http://citeseer.nj.nec.com/haveliwala02evaluating.html
- Finding Related Pages in the World Wide Web : http://citeseer.nj.nec.com/dean99finding.html
- The Cocitation+ Algorithm : http://plg.uwaterloo.ca/~aeehassa/home/papers/cocitation/cocitation+.htm
- Authoritative Sources in a Hyperlinked Environment : http://citeseer.nj.nec.com/kleinberg99authoritative.html
- Theseus: Categorization by Context : http://citeseer.nj.nec.com/attardi99theseus.html

TOUCHGRAPH EN PRATIQUE


Touchgraph Google Browser(1) ne fonctionne pas avec des mots-clés. Il faut lui soumettre des adresses URL de type www.intelligenceonline.com. L’adresse peut aussi bien concerner une page intérieure, mais attention à ne pas être trop exigeant en lui proposant des adresses de pages trop profondément enfouies dans l’arborescence d’un site. Google risque en effet de ne pas avoir indexé de pages similaires. Bref, les meilleurs résultats proviennent des adresses de page d’accueil.

Touchgraph étant basé sur une application développée en Java, il faut que votre ordinateur soit équipé d’une “machine virtuelle Java”, c’est-à-dire d’une application capable de jouer l’intermédiaire entre votre système d’exploitation quel qu’il soit et Touchgraph. Si vous ne disposez pas de cette appli-cation ou d’une version trop ancienne (inférieure à la 1.3), il vous faudra aller sur le site de Sun(2). L’installation s’effectue très simplement, mais demandera quand même quelques longues minutes si vous ne disposez pas d’un accès à haut débit.

Une fois que votre machine est à jour, elle pourra donc utiliser Touchgraph. A chaque utilisation, le navigateur est obligé de télécharger l’application Java spécifique à Touchgraph, ce qui gèlera l’écran pendant environ 30 secondes. Puis, Touchgraph effectue son calcul à partir des résultats renvoyés par Google. Si le moteur de recherche ne renvoie aucun résultat, l’écran restera désespérément blanc sans aucun message d’erreur malheureusement. Dans le cas favorable où des pages similaires sont fournies par Google, une carte va progressivement se former en laissant apparaître les pages similaires à la page de référence et un deuxième niveau : les pages similaires... aux pages similaires. Le tout relié par des flèches orientées dessinant un réseau de relations.

Chaque page se positionne automatiquement et tente de trouver un point d’équilibre où chacune se positionne le plus loin possible de ses voisines. Cette recherche d’équilibre explique que la carte prend un certain temps à se stabiliser. Libre à nous éventuellement de modifier cette répartition en cliquant sur une page tout en gardant le clic enfoncé puis en déplaçant la page dans une autre direction. Une manipulation rendue indispensable lorsque le réseau de pages est très dense. Mais attention, le graphe reprendra sa position initiale dès que l’on relâchera la pression sur le clic. 

Pour faciliter le repérage dans un réseau complexe, quelques options permettent d’alléger l’affichage. Il est notamment possible de présenter les pages sous forme de points (Nodes labels shows N point).

Chaque page est normalement reconnaissable par une étiquette qui reproduit en fait le contenu de la balise Title. Défaut de la version 1.1 de Touchgraph Google Browser : elle ne gère pas les caractères accentués, ce qui rendra difficile la lecture d’une cartographie de pages françaises par exemple. Alex Shapiro, son concepteur, est conscient du problème, mais ne se donne pas encore pour objectif précis et daté d’y pallier. Dommage ! Pour éviter de surcharger l’écran sans réduire les pages à un point, il est par ailleurs possible de limiter le nombre de lignes affichées dans les étiquettes (Label shows N lines).

La carte une fois constituée, d’autres contrôles sont à notre disposition. Les premiers concernent le zoom et le déplacement horizontal ou vertical de la carte. Le zoom arrière est souvent indispensable dès qu’il s’agit d’obtenir une vision d’ensemble d’une cartographie complexe. Pour réorganiser la carte en plaçant au centre d’une autre page que la page de référence, il suffit de double-cliquer sur celle-ci. Pour accéder aux informations sur une page, il suffit de la survoler puis de cliquer sur l’index vert “Info” qui apparaît alors juste au-dessus de la page. Un clic droit sur la souris permet également de faire disparaître un noeud semblant inapproprié.

Au-delà de ces fonctions de base, Touchgraph autorise quelques fonctions avancées intéressantes auxquelles on accède en cliquant sur le bouton Advanced. Radius est sans doute la plus utile. Lorsque l’on choisit la valeur 1, toutes les pages de second niveau disparaissent pour ne laisser à l’écran que les pages directement considérées comme similaires à la page de référence. La valeur 2 permettra de retrouver la carte d’origine, puisque la version actuelle de Touchgraph se limite à deux niveaux d’analyse. Show first permet de ne laisser apparaître que les n premiers résultats fournis par Google. Malheureusement, les possibilités sont ici limitées aux neuf premiers résultats ou à tous les résultats. Impossible donc d’afficher les 30 premiers par exemple.

Un dernier réglage judicieux permet de faire apparaître les pages similaires qui font autorité. Il consiste à privilégier les pages de premier niveau qui reçoivent n liens hypertextes de la part de pages jugées similaires. Enfin, une fonction plus esthétique située en haut et à droite de la fenêtre permet de choisir la couleur du fond de la carte. Utile si l’on souhaite réaliser une copie d’écran de la carte avant de l’intégrer dans un rapport.

(1) www.touchgraph.com/TGGoogleBrowser.html
(2) http://java.com/fr