You are on page 1of 4

Evaluation de la précision sur un système de recherche d’information

hypertexte
Idir Chibane {Idir.Chibane@supelec.fr}; Bich-Liên Doan {Bich-Lien.Doan@supelec.fr}

Supélec, Plateau de Moulon, 3 rue Joliot Curie, 91 192 Gif/Yvette, France

Résumé : La fonction de correspondance, qui permet de sélectionner et de classer les documents
par rapport à une requête est un composant essentiel dans tout système de recherche d'information.
Nous proposons de modéliser une fonction de correspondance prenant en compte à la fois le
contenu d’une page et le voisinage de cette page. Ce voisinage est calculé dynamiquement en
pondérant les liens entre les pages en fonction du nombre de termes de la requête contenus dans
ces pages. Nous avons expérimenté notre système sur un sous-ensemble significatif de la
collection de test TREC-9, et nous concluons que notre fonction réalise de bons résultats par
rapport à l’algorithme de base reposant sur le contenu seulement de la page et celui de
INDEGREE reposant sur la popularité de la page indépendamment des termes de la requête.

1. Introduction
Les systèmes de recherche d’information (SRI) sont composés essentiellement de deux modules. Un module
d’indexation qui représente les documents, et un module d’interrogation qui représente la requête. La fonction de
correspondance permet de calculer le degré d’appariement entre les termes de la requête et les termes
d’indexation des documents afin d’évaluer la pertinence des documents par rapport à la requête. Avec le succès
grandissant du Web (Google recense plus de 8 milliards de pages Web 1 ) le classement des réponses devient
critique. Aussi des fonctions de correspondance prenant en compte les liens hypertextes ont vu le jour. Ces
dernières années, plusieurs méthodes de recherche d’information employant des informations sur la structure des
liens ont été développées. En réalité, la plupart des fonctions de correspondance utilisées par les systèmes de
recherche hypertextes combinent une mesure de pertinence calculée en fonction du contenu de la page et de la
requête utilisateur avec une mesure de popularité de la page qui elle, est indépendante de la requête. Cette
dernière mesure repose sur la structure du Web, considéré comme un graphe orienté de pages et de liens. Un
certain nombre de systèmes qui tiennent compte de la structure du web dans la fonction de correspondance ont
été développés. Le PageRank (Brin et al., 1998) de Google et le HITS (Kleinberg, 1998) de Clever sont deux
algorithmes fondamentaux utilisant la structure d'hyperlien entre les pages Web. Un certain nombre d’extension
de ces deux algorithmes ont été proposés, comme (Lempel et al., 2000) (Kamvar et al., 2003) (Jeh et al., 2003)
(Deng et al., 2004) et (Xue-Mei et al., 2004). Tous ces algorithmes reposent sur la règle suivante : Si une page
A cite une page B, alors c'est que la page A juge que la page B est suffisamment importante pour mériter d'être
citée et d'être proposée aux visiteurs. L’étude des systèmes existants nous a permis de conclure que toutes les
fonctions de correspondance utilisant les liens hypertextes ne dépendent pas des termes de la requête. Cela a
diminué considérablement la précision des résultats retrouvés. Dans les sections suivantes, nous exposons notre
modèle, nous détaillons la fonction de correspondance reposant sur le voisinage de la page, ainsi que la
méthodologie utilisée lors de nos expérimentations. Nous présentons aussi les expériences effectuées sur la
collection de test TREC-9 et nous terminons par une analyse des résultats obtenus et une conclusion.

2. Notre modèle
Nous proposons un nouveau modèle de calcul de pertinence des documents par rapport à une requête
utilisateur. Notre modèle tient compte à la fois du contenu textuel d’une page et du voisinage de cette page. Le
voisinage d’une page est calculé dynamiquement en pondérant les liens entre les pages voisines en fonction du
nombre de termes de la requête présents dans ces pages.

2.1. Indexation

Notre système procède premièrement par la suppression des balises HTML et des caractères de ponctuation,
puis élimine les termes fréquemment utilisés en utilisant une liste de mots vides. Puis le système remplace
chaque mot (ou terme) par sa classe représentative (la racine) en employant l’algorithme de lemmatisation de
Porter (Porter, 1980).

11
http://www.zorgloob.com/2005/08/8-168-684-336-pages-pour-google.asp
Notre choix du modèle de représentation des documents et requêtes s’est porté sur le modèle vectoriel
(Salton et al, 1975). Ce choix est motivé par le succès du modèle vectoriel dans la communauté Web et les
résultats très satisfaisants qu’il engendre. La dimension de notre espace vectoriel est égale au nombre de termes
distincts dans toute la collection. Chaque document et chaque requête sont représentés par un vecteur de poids
des termes. Pour calculer ces poids, nous avons choisi la combinaison des pondérations locales et globales (TF-
IDF) de la manière suivante
⎛ tf (t ) ⎞ ⎛⎜ ⎛ P ⎞⎞
W t , p = ⎜⎜ 0 .5 + 0 .5 * ⎟⎟ * log ⎜⎜ ⎟⎟ (1)
⎝ Max (tf (t )) ⎠ ⎜⎝ ⎟⎟
⎝ df (t ) ⎠ ⎠
Où tf(t) est la fréquence d’occurrence du terme t dans la page p (term fréquency) et df(t) est le nombre de
pages dans la collection qui contient le terme t (document frequency). |P| représente le nombre total des pages de
la collection.

2.2. Fonction de voisinage
La nouveauté dans notre modèle est l’utilisation d’une fonction de correspondance qui dépend en plus du
contenu textuel des pages, de son voisinage. Cette dépendance permet une meilleure adéquation des résultats
retrouvés par un modèle classique de recherche d’information (RI) avec un besoin utilisateur. Notre fonction de
correspondance repose sur deux mesures : l’une est classique et utilisée dans les systèmes actuels. C’est la
mesure cosinus qui calcule le cosinus de l’angle entrant entre le vecteur représentant la requête et celui
représentant le document. Cette mesure est définie ci-dessous :

Pi ⋅Q
∑w ti , Pi ⋅ wti ,Q
SD ( Pi , Q ) = =
ti ∈Pi ∩ Q
(3)
∑ wt2i ,Pi .∑ wt2i ,Q
2 2
Pi ⋅ Q
ti ∈Pi ti

La deuxième mesure est celle de voisinage de la page qui tient compte de la structure du Web composée des
liens hypertextes. Afin de comprendre notre démarche, nous partons de l’hypothèse suivante : on considère
qu’une page est bien connue pour un terme t de la requête si celle-ci contient beaucoup de liens entrants et/ou
sortants de ou vers des pages qui elles aussi contiennent le terme t de la requête (Doan et al., 2005).
Cette mesure tient compte du nombre de termes de la requête contenus dans les pages Web. Elle est calculée
de la manière suivante :
Supposons une requête Q contenant n termes et supposons Pj une page retournée par un système traditionnel
de recherche d’information. Soit T(Q) et T(Pj) deux ensembles contenant les termes de la requête Q et de la page
Pj respectivement. Notons In(Pj) l’ensemble des pages qui pointe vers la page Pj et |In(Pj)| le nombre des liens
entrants de la page Pj. Notre mesure de voisinage est définie comme suit :

VD (P j , Q ) =
n
1
n −1 ∑ k ∗ ∑[ ( )]
Pi ∈ IN P j ∩ [ T ( Pi )∩ T (Q ) = k ]
SD (Pi ) (4 )
n ∗ 2 * IN ( Pj ) k =1

2.3. Méthodologie
Nos expériences sont conduites selon les étapes suivantes :

Étape 1. Liste initiale (l’ensemble du travail). Une première liste de pages Web répondant partiellement ou
complètement à la requête posée par l’utilisateur est obtenue. Ces pages contiennent au moins un terme de la
requête et elles sont classées selon un score calculé sur la base de TF-IDF expliqué dans la section précédente.
On notera SD le score de la page par rapport à la requête. C’est un score qui repose sur le contenu seul de la
page. Cet ensemble de pages constitue l’ensemble de travail de notre système. Il nous permet de calculer un
score reposant sur le voisinage d’une page calculé dans la section précédente.

Étape 2. Partition des pages. Une méthode de partition est appliquée pour partitionner les pages retrouvées
dans des ensembles. Chaque ensemble se compose des pages qui contiennent exactement k termes de la requête
(k=1...n) où n est le nombre total des termes de la requête. Cette partition nous permet de pondérer les liens entre
les pages selon le nombre de termes de la requête contenus dans chaque page. Nous donnons des poids aux liens
entrants ou sortants des pages en fonction du nombre de termes de la requête contenus dans ces pages. Plus une
page contient de termes de la requête, plus les poids de ces liens entrants et sortants sont élevés.
Étape 3. Liste finale. La liste finale des pages Web classées selon une combinaison d’un score de la page et de
son voisinage est construite à partir des pages qui contiennent tous les termes de la requête. Un score est associé
à chaque page de la liste finale. Ce score est calculé en combinant le contenu textuel de la page et de son
voisinage de la manière suivante :

S (Pi , Q ) = α ∗ SD (Pi , Q ) + (1 − α ) ∗ SV (Pi , Q ) ( 2)
Avec α un paramètre compris entre 0 et 1. Il nous permet de voir l'impact de notre fonction de voisinage sur
celle reposant sur le contenu seul de la page. On note SV(Pi,Q) le score de voisinage de la page Pi reposant sur
la propagation des scores des pages du voisinage de Pi à travers les liens. On note SD(Pi,Q) le score associé à la
page Pi reposant sur le contenu textuel de cette page par rapport à la requête.

3. Expérimentations sur la collection TREC-9 (WT10g)
Dans le cadre de nos expérimentations, nous avons choisi comme collection de test la collection WT10g
issue du corpus de la conférence TREC-9 ayant eu lieu en 2000. Nous l’avons choisie en raison de la notoriété
des collections issues de TREC et par conséquent, leur statut de collections standard dans le domaine de la
recherche d’information. La collection est composée de 1.692.096 documents (page Web) totalisant environ 11
gigaoctets de données. Pour ce qui est de la structure du graphe sous-jacent à ces données, il existe 1.532.012
pages avec des liens entrants et 1.295.841 pages avec des liens sortant. L’idée de départ consistait à tester toute
la collection TREC. Cependant, pour une question d’espace mémoire et de calcul, nous avons sélectionné pour
les tests les sites contenant au moins deux pages pertinentes à l’une des requêtes exécutées sur notre système.
Avec cette limite, nous sommes passés de 870 sites à 490 sites. Notre collection de tests contient 546.423 pages
dont 477.064 pages avec des liens entrants et 410.378 pages avec des liens sortants. Nous avons exécuté 50
requêtes sur trois systèmes différents selon la fonction de correspondance utilisée et nous avons comparé trois
catégories d’algorithmes (le contenu seulement, la popularité et notre algorithme reposant sur le voisinage d’une
page). L’évaluation expérimentale de l'algorithme que nous avons proposé, ainsi que certains des algorithmes
existants est présentée dans la figure ci-dessous. La mesure principale d’évaluation de nos expériences est la
précision moyenne aux 11 niveaux standard du rappel qui sont 0%, 10%, 20%,…,100% du rappel. Nous avons
aussi évalué la précision obtenue à k documents retrouvés avec k0{5, 10} (P@5 et P@10).

4. Analyse des résultats :
0,6 Contenu + voisinage
0,55 0% rappel 10% rappel 20% rappel
Contenu seulement (Baseline)
INDEGRE
0,5 0,5

0,4 0,45
Precision

Précision

0,4
0,3
0,35
0,2
0,3
0,1
0,25

0 0,2
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0,45
0,5
0,55
0,6
0,65
0,7
0,75
0,8
0,85
0,9
0,95
1

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
11 niveaux standards du rappel Parametre α

Fig 1. La précision moyenne aux 11 niveaux standard Figure2. La précision moyenne aux niveaux 0%, 10% et 20%
du rappel pour les 50 requêtes exécutées du rappel en fonction du paramètre α

La figure Fig-1 montre les résultants expérimentaux obtenus en utilisant trois fonctions de correspondance
différentes. La première fonction repose sur le contenu seulement de la page. Elle représente l’algorithme de
base de nos évaluations. La deuxième fonction repose sur la popularité d’une page indépendamment des termes
de la requête. Pour cela, nous avons utilisé l’algorithme INDEGREE. C’est une simple heuristique qui peut être
vue comme le prédécesseur de tous les algorithmes d'analyse des liens. Cet algorithme classe les pages
retrouvées par un moteur de recherche par leurs popularités où la popularité d’une page est calculée
indépendamment des termes de la requête et correspond à la fraction du nombre de liens entrants de la page sur
le nombre des liens existants dans toute la collection. La dernière fonction concerne la fonction que nous avons
proposée. C’est une combinaison d’une mesure reposant sur le contenu textuel d’une page et une autre mesure
reposant sur le voisinage de cette page avec α optimal (α=0,15). La dépendance entre la précision moyenne aux
niveaux 0%, 10%, 20% du rappel et α est illustré dans la Fig 2. Toute les courbes convergent vers la
l’algorithme de base quand α=1. D’après la figure Fig 1, On peut constater que l’algorithme INDEGREE réalise
de mauvais résultats par rapport aux deux autres algorithmes. Avec cet algorithme qui est INDEGREE, une page
a le même score (un indice de popularité indépendant de la requête) pour chaque requête exécutée sur le système.
C’est pour cette raison que les résultats obtenus sont mauvais. La combinaison entre une mesure reposant sur le
contenu d’une page et son voisinage montre de meilleurs résultats par rapport à l’algorithme de base qui n’est
autre que la fonction basée sur le contenu seul de la page. Ceci signifie que le voisinage d’une page peut apporter
plus de précision dans les résultats retournés par un moteur de recherche classique. Nous remarquons aussi,
d’après la figure Fig 2, que les performances de notre système augmentent quand α diminue. Ça veut dire que
plus on donne de l’importance au voisinage de la page, meilleur est le résultat. La valeur optimale de α pour
avoir plus de documents pertinents au top de classement est de 0.15.
Tab-1. P@5 et P@10
Précision InDegree Baseline 0.15*SD+0.85*VD
P@5 0,077 0,216 0,306
P@10 0,072 0,163 0,208

Le tableau Tab-1 montre les résultats obtenus en comparant les différents algorithmes testés par rapport à la
précision moyenne à 5 et 10 documents retrouvés (P@5, P@10). Les performances de notre algorithme restent
toujours au-dessus de l’algorithme de base. Cela signifie qu’il y a trop de document pertinent au top de
classement. Par exemple, P@5 et le P@10 de notre algorithme ont les valeurs de 0.306 et 0.208 respectivement.
Ces résultats montrent une amélioration de 42% et de 28% par rapport à l'algorithme de base sur la précision
moyenne P@5 et P@10 (0.216 et 0.163 respectivement pour l’algorithme de base). Les résultats obtenus par
INDEGREE reste toujours au-dessous des deux autres algorithmes.

5. Conclusion et des perspectives
Plusieurs travaux ont été menés sur l’utilisation des liens dans la recherche d’information sur le WEB mais,
jusqu’à maintenant de nombreuses expériences ont montré qu’il n’y a pas de gain significatif par rapport aux
méthodes de recherche reposant seulement sur le contenu. Ce que nous avons proposé dans ce papier est un
moteur de recherche utilisant à la fois le modèle vectoriel et les liens hypertextes. La nouveauté dans notre
système est l’utilisation d’une fonction de correspondance qui tient compte du contenu de la page et de son
voisinage. Les résultats obtenus montrent qu’ils sont meilleurs par rapport à ceux qui reposent sur le contenu
seul ou sur les liens indépendamment de la requête. Les expérimentations que nous avons menées avec la
collection TREC-9 montrent que notre modèle pourrait s’avérer utile pour la recherche d’information sur le
Web. Nous poursuivons actuellement un travail pour intégrer une mesure sur la propagation des scores à travers
le graphe des liens d’un site pour améliorer les performances de notre système. Nous allons estimer l’importance
d’un site calculée dynamiquement par rapport à la requête utilisateur. De plus, nous allons évaluer l’impact d’un
tel procédé sur les résultats pour les collections de test TREC et GOV.

6. Bibliographie
Doan B. L., Chibane I., Expérimentations sur un modèle de recherche d’information utilisant les liens
hypertextes des pages Web, cinquième journées francophones d’Extraction et de Gestion des Connaissances
( EGC’05), Paris, 2005.
Brin S., Page L., The anatomy of a large-scale hypertextual Web search engine, In Proceeding of WWW7, 1998.
Kleinberg J., Authoritative sources in a hyperlinked environment, In Proceeding of 9th ACM-SIAM Symposium
on Discrete Algorithms, 1998.
Lempel R., Moran S., The stochastic approach for link-structure analysis (SALSA) and the TKC Effect, In
Proceeding of 9th International World Wide Web Conference, 2000.
Kamvar S., Haveliwala T., Manning C., Golub G., Exploiting the Block Structure of the Web for Computing
PageRank, 2003.
Deng C., Shipeng Y., Ji-Rong W., Wei-Ying M., Block-based Web Search, Microsoft research ASIA, 2004.
Xue-Mei J., Gui-Rong X., Wen G.S., Hua-Jun Z., Zheng C., Wei-Ying M., Exploiting PageRank at Different
Block Level - International Conference on Web Information Systems Engineering, 2004.
Jeh G., Widom J., Scaling personalized web search, In Proceedings of the Twelfth International World Wide
Web Conference, 2003.
Salton G., Yang C.S., Yu C.T., A theory of term importance in automatic text analysis, Journal of the American
Society for Information Science and Technology, 1975.
Porter M.F., An algorithm for suffix stripping, 1980.