Fathya Zemmouri IFT6261 Université de Montréal

Transcription

Fathya Zemmouri IFT6261 Université de Montréal
Fathya Zemmouri
IFT6261
Université de Montréal
Plan présentation
World-Wide-Web
Moteurs de recherche : Défis et
justifications
Architecture générique d’un moteur de
recherche
Évaluation des moteurs de recherche
Conclusion
Références
2
World-Wide-Web
Base de données : textes, images, audio, vidéos,…
Non structurée vs. Base de données relationnelle
Omniprésente
Géante : Téraoctets de données
Taille croissante continuellement
Change de contenu rapidement
Structure interliée : Hyperlink
3
WWW
Nœud de Papillon [2]
4
Étendu du Web
Le 8 juillet 1999, MM. Steve Lawrence et C. Lee
Giles annoncent que le web public a 800 millions
de pages dans la revue Nature[5].
Le 18 janvier 2000, Inktomi et NEC Research
Institute publient une étude selon laquelle le web
compterait 1 milliard de pages web [6].
Le 11 juillet 2000, la société Cyveillance évalue
à plus de 2 milliards de pages web. Pour suivre le
développement du web, elle avait placé sur sa
page d'accueil un compteur donnant au 1er
janvier 2001 plus de 3 milliards de page [7].
5
Moteur de recherche
Défis
Données distribuées : multitude de plateformes,
topologie anarchique de la toile
Données dynamiques : changement ou disparition
Expansion du la toile : exponentielle
Données redondantes (syntaxe et sémantique) et
non structurées
Mauvaise qualité de données : orthographe,
grammaire,…
Hétérogénéité de données : différents alphabets
(chinois, japonais, kanji, …)
6
Moteurs de Recherche
Historique
1990 -> Archie : indexer les sites anonymes FTP
1993 -> Aliweb : moteur HTTP, ne parcourt pas le Web, les
auteurs envoient leurs fichiers
1994 -> WWW Worm : 1er robot qui explore la toile, ne
conserve que le titre des pages
Fin 1994 -> Yahoo : sommaire du Web
Web Crawler : Scanne toute la page
Altavista & Lycos
Problème majeur : absence de pertinence dans le résultat
1998 -> Google : résultat pertinent, interface sobre, vitesse
7
Moteurs de Recherche
Architecture générique [16]
Dépôt de pages
Client
Explorateur(s)
Requêtes
WWW
Module
d’indexation
Analyse de
collection
Moteur
de requêtes
Résultats
Classement
(Ranking)
Control d’exploration
Index : Texte
Structure
Utilité
Rétroaction de l’utilisation
8
Module Exploration
crawler
1- Des robots explorateurs (programmes) :
Explorent la toile
Alimentent le dépôt de pages Web
2- Control d’exploration :
Quelles pages explorer ? Pages « importantes »
Avec quelle priorité ? Ordre de priorité
Avec quelle stratégie ? Méthodes d’explorations
Quelles pages rafraîchir ? Fréquence de
rafraîchissement
9
Module d’Exploration
Sélection de pages à explorer
Pages « importantes » d’abord -> Métriques
d’importance :
Intérêt : IS(P) ou IS’(P) (similarity interest)
Similarité entre une page et une requête Q
Popularité : IB(P) ou IB’(P) (BackLink Interest)
Le nombre de liens pointant vers P
Localisation : IL(P) ou IL’(P) (Location Interest)
Distance entre les pages Web
10
Module d’Exploration
Métrique d’importance : intérêt
P = (w1, w2,…wm) et Q = (w’1,w’2,…,w’m)
Fréquence inverse dans le document :
idf(« mot ») = log(Nombre de pages dans toute la toile / Nombre
de pages contenant « mot »)
exemple : « le » ou « the » ont un idf insignifiant
Avec wi = 0 si le ième mot de l’alphabet n’apparaît pas dans le
document, et
wi = occurrence(i_mot) * idf(i_mot)
IS(P) = P.Q -> la similarité textuelle entre P et Q
11
Module d’Exploration
Métriques d’ordre
Sélection des URLs à explorer dans une queue par
ordre de priorité suivant une métrique d’ordre :
Combinaison de plusieurs métriques d’importance :
IC(P) = k1.IS(P) + k2.IB(P) + k3.IL(P)
ou IC’(P) : calcul sur les pages déjà explorées.
12
Module d’Exploration
Stratégies
Explorer et arrêter : Le robot explore K pages (P0,
P1, …, Pk)
Robot parfait : explore K pages avec importance décroissante
Sont appelées Pages chaudes (hot pages)
Robot réel : explore (m <= K) pages avec importance >= à
celle de Pk
Performance(robot idéal) = 100 %
Performance(robot réel) = M.100/K
13
Module Exploration
Stratégies (suite)
Explorer et arrêter avec seuil d’importance G :
Page avec importance > G -> page chaude
Robot explore K pages et arrête
Si le nombre des pages chaudes est H et le nombre de pages
totale est T alors :
Performance(robot idéal) = (K.100)/H (100 % si k >= H)
Performance(robot aléatoire) =
Nb pages chaudes explorées * 100 / H .
Nb pages chaudes explorées = (H/T) * K
(H/T est la probabilité pour qu’une page explorée soit chaude)
D’où :
Performance(robot aléatoire) = K*100 /T
14
Comparaison entre stratégies d’exploration
Site de l’Université Stanford [16]
15
Module Exploration
Rafraîchissement
Évolution de la toile ->
pages Web obsolètes ->
rafraîchissement de pages déjà chargées ->
Mesurer la fraîcheur d’une page
Métrique fraîcheur
F(p,t) = 1 si p est à jour à l’instant t et 0 sinon
F(S,t) = (1/|S|)*somme(F(pi,t))
Métrique âge
A(p,t) = 0 si p est à jour à l’instant t, et
= t – l’instant de la dernière modification de p
A(S,t) = (1/|S|)*somme(A(pi,t))
16
Module Exploration
Rafraîchissement (suite)
Stratégies de rafraîchissement pour :
Maximiser la métrique fraîcheur, et
Minimiser la métrique âge
1- Uniforme : Rafraîchit toutes les pages de la même
manière
Donne de bons résultats si la différence de fréquence de
changement entre les pages est élevée
2- Proportionnelle : fréquence de rafraîchissement
proportionnelle à la fréquence de changement
17
Module Exploration
Rafraîchissement (suite) [16]
Changement de fréquence vs fréquence de rafraîchissement sur un
scénario de 5 pages et un taux de changement variant ente 1 et 5 fois/jour
18
Moteurs de recherche
Module Stockage
Stocke des collections de pages Web fournit par le module
d’exploration
Fournit deux composantes :
Une interface pour les robots d’exploration pour stocker les pages
chargées
Une API pour le module d’indexation et le module d’analyse de
collection pour la recherche des pages
A besoin de requêtes simples
mais optimisées en vitesse et en espace -> Paralléliser les
calculs et le stockage
Résistant aux pannes ->stockage distribué sur plusieurs
machines -> fonction d’adressage de pages Web
19
Moteurs de recherche
Module Stockage [16]
Séparation de la mise à jour et de la lecture sur les nœuds du dépôt de
pages
20
Moteurs de recherche
Module Indexation
Permet au moteur de construire une structure de
données afin d’accroître sa vitesse de réponse
Construit un index de liens : le graphe inverse du
graphe des hyper-liens :
structure qui associe à chaque mot la liste de ses
occurrences dans les pages explorées.
Mot -> l’identifiant d’une page et l’occurrence du mot dans la
page
Construit un lexique :
Mot -> Des statistiques comme nombre d’occurrence,…
21
Moteurs de recherche
Module Indexation
La construction des listes d’occurrence d’une
page se déroule en trois étapes :
Lecture de la page (utilisation du réseau),
Construction d’une liste d’occurrences pour
chaque mot (utilisation du processeur et de la
RAM)
Sérialisation des listes construites (utilisation du
disque).
Requiert trois ressources indépendantes,
Ordonnancement
22
23
Moteurs de Recherche
Module Classement
Classer le résultat de la recherche par pertinence de
la page par rapport à la requête
Affecter à chaque page un poids en utilisant :
Algorithmes de classement :
HITS (Hypertext Induced Topic Search)
PageRank (créateurs de Google)
D’autres algorithmes secrets …
Se basent sur les hyperliens plus que sur le contenu
de la page (facilement manipulable)
Hypothèse : Un lien dans une page signifie une
recommandation
24
Module Classement
PageRank
L’idée :
Une page importante est celle possédant le plus de liens
entrants
Liens entrants doivent être à leur tour importants
exemple : une page pointée par Yahoo vs Une page pointée
par un site obscur
L’algorithme : R(i) ensemble de pages pointant vers i
S(i) ensemble de pages pointées par i
PR(i) = somme (PR(j) / |S(j)|) avec j parcourant R(i)
25
Module Classement
HITS
Pour chaque requête deux scores sont calculés :
Score d’autorité
Score de concentrateur
Une page qui fait autorité est pointée par beaucoup de
concentrateur
Une page qui joue le rôle de concentrateur pointe vers
beaucoup de pages autoritaires
Exemple : Sites traitant des voitures
Les sites des constructeurs sont des autorités
Les sites des magasines automobiles sont des concentrateurs
Le calcul de l’un des deux scores dépend de l’autre score
Le moteur affiche les pages qui ont le score d’autorité le plus
élevé.
26
Module Classement
Analyse des liens
Problème de classement :
des liens sont des retours vers le sommaire
d’autres sont des publicités
Google utilise une centaine d’algorithmes pour le
classement
Chercher les mots dans l’URL plutôt que dans le titre
Préférer les URLs courtes aux URLs longues
La police du mot trouvé dans la page : un titre est plus
important que le corps de la page
27
Dérivés des Moteurs de recherche
Cercle Web
regroupement de sites partageant le même thème,
reliés par un système de navigation
Exemple : Meta Ring, Ring Surf, Web Ring
Méta Moteur de Recherche : distribue la requête
via plusieurs moteurs de recherche
Exemple : Carmel, Beaucoup, All the Web, Kartoo
Portail : Moteur de recherche + des hyperliens vers
des sites d’actualités, d’informations…
Exemple : Yahoo, Excite, …
28
Classement des moteurs de recherches,
Étude menée par la DSI
Service de recherche documentaire
http://www.dsi-info.ca
29
Classement des moteurs de
recherches
Critères de classement :
Les formulaires : voir www.dsi-info.ca
Les requêtes
1. Personnage publique
2. Informatique / télécommunication (logiciel, matériel, jeux...)
3. Information médicale
4. Education
5. Affaires
6. Science
7. Information politique et gouvernementale
8. Passe-temps
9. Images
10. Divertissement
11. Voyage
12. Arts et humanités
30
Grille d'évaluation des résultats de recherche
Critères
Description
Pointage
Q.A
Q.B
Pertinence des réponses
La réponse est dans
les 5 premières
références
20 points
0
0
La réponse est entre
la 6e et la 10e
références
15 points
0
0
La réponse est entre
la 11e et la 15e
références
10 points
0
0
La réponse est entre
la 16e et la 20e
références
5 points
0
0
Les réponses sont
dans le champ
sémantique de
la question
1 point par référence
0
0
La réponse est à
moins de 19
clics
1 point par référence
0
0
Bruit
La référence n'est
pas dans le
champ
sémantique de
la question
-1 point par référence
0
0
Mise à jour / erreur
Des pages ont des
codes d'erreurs
-1 point
0
0
Des pages ont des
doublons
-1 point par doublon
0
0
Dysfonction d'un
champ de
recherche ou
de fonctions
-1 point par
dysfonction
0
0
Dysfonction
31
Pointage total
Classement des automates de recherche
Rang
Automates
Formulaire
Requêtes
Total
1
HotBot USA
34
17
51
2
MSN France
21
24
45
3
MSN Canada
21
24
45
4
MSN USA
20
24
44
5
Google français
17
24
41
6
HotBot France
29
11
40
7
AllTheWeb
19
20
39
8
Voila
23
14
37
9
Lycos USA
12
22
34
10
Excite
16
17
33
11
Lycos Canada
13
19
32
12
AltaVista France
17
14
31
13
Excite Canada
14
17
31
14
AltaVista Belgique
16
14
30
15
Lycos France
14
16
30
16
Altavista USA
17
12
29
17
Northern Light
12
16
28
18
Excite France
13
15
28
19
AltaVista Canada
11
14
25
32
Conclusion
Futur des moteurs de recherche :
Accès au Web profond
Moteurs de recherche sensible à la
sémantique
Création de moteurs de recherche
thématiques
33
Références
[1] Albert-Laszlo Barabasi and Reka Albert. Emergence of scaling in random networks.
Science, 286(5439):509-512, October 1999.
[2] Andrei Broder, Ravi Kumar, Farzin Maghoul, Prabhakar Raghavan, Sridhar Rajagopalan,
Raymie Stata, Andrew Tomkins, and Janet Wiener.
Graph structure in the web: experiments and models. In Proceedings of the Ninth
International World-Wide Web Conference, 2000.
[3] Reka Albert, Albert-Laszlo Barabasi, and Hawoong Jeong. Diameter
of the World Wide Web. Nature, 401(6749), September 1999.
[4] S. Brin and L. Page. The anatomy of a large-scale hypertextual web search engine. In
Proceedings of 7th World Wide Web Conference, 1998.
[5] S. Chakrabarti and S. Muthukrishnan. Resource scheduling for parallel database and
scientific applications. In 8th ACM Symposium on Parallel Algorithms and Architectures,
pages 329{335, June 1996.
[6] Junghoo Cho and Hector Garcia-Molina. Estimating frequency of change. In Submitted
for publication, 2000.
[7] Junghoo Cho and Hector Garcia-Molina. Synchronizing a database to improve
freshness. In Proceedings of the International Conference on Management of Data, 2000.
Available at http://wwwdiglib.stanford.edu/cgi-bin/get/SIDL-WP-1999-0116. 39
[8] Fred Douglis, Anja Feldmann, and Balachander Krishnamurthy. Rate of change and
other metrics: a live study of the world wide web. In USENIX Symposium on
Internetworking Technologies and Systems, 1999.
[9] Bernardo A. Huberman and Lada A. Adamic. Growth dynamics of the World-Wide Web.
Nature, 401(6749), September 1999.
[10] Jon Kleinberg. Authoritative sources in a hyperlinked environment. Journal of the
ACM, 46(5):604{ 632, November 1999.
34
Références (suite)
[11] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd.
The pagerank citation ranking: Bringing order to the web. Technical report,
Computer Science Department, Stanford University, 1998.
[12] James Pitkow and Peter Pirolli. Life, death, and lawfulness
on the electronic frontier. In Proceedings of the Conference on Human
Factors in Computing Systems CHI'97, 1997.
[13] Gerard Salton. Automatic Text Processing. Addison-Wesley, Reading,
Mass., 1989.
[14] Craig E. Wills and Mikhail Mikhailov. Towards a better understanding
of web resources and server responses for improved caching. In Proceedings
of the Eighth International World-Wide-Web Conference, 1999.
[15] Ian H. Witten. Managing gigabytes : compressing and indexing documents
and images. Van Nostrand Reinhold, New York, 1994. 42
[16] Arasu, Arvind; Cho, Junghoo; Garcia-Molina, Hector; Paepcke, Andreas;
Raghavan, Sriram. Searching the Web, 2000, Stanford University.
[17] Junghoo Cho and Hector Garcia-Molina. Synchronizing a database to improve
freshness. In Proceedings of the International Conference on Management of Data,
2000. Available at http://www.diglib.stanford.edu/cgi-bin/get/SIDL-WP-1999-0116.
35