Cependant, dans le cas dinn plus grand moteur de recherche, on a besoin de combiner ta bonne stratégic de crawl ct la conception optimisée de systéme Dans ce travail, nous n'avons pas T
Trang 1‘Table des matiéres
Construction du craw! focalisé
1 Suppositions ct MOtations csccsesssmsenseientnetestannessessese
1.1 Page Web
1.2, Genme de dépatt csnecmiinenenmusnitnnenntieinsie
1.3 Graphs ccsesmnessmeinminineneiaminneiiin seinen
2 Coustitution du germe de départ
it
Trang 24 Frviromement de pmgrammation et dépendances 35
1 Cugils đ'analyse lngvistique
1.3 Analyse syntaxique cũ đếpcndaice 38
1.4 Construction du réseau de synlagmes - - 46
Trang 3Liste des figures
Figure 1: Diagramme des modules du stage
Figure 2: Architecture de 2 modules .neinnnetenineninasnnnineninnenennnese
Figure 7: Liens dans le frameset
Figure 8: Liens dans les images tHappÉes, 22222022211
Figure 9: Exemple du calcul de la profondeur
Tigure 10: Interface d'utilisateur 1
Figure 11: Interface d'utilisateut 2 0.ccccsssesssiensnesanrenreeneninemesasenseneneneeses
Figure 16: Quelques relations principales
Figuie 17: Alporitthme DET, 22 2,20 20012111211 012 eerrei
Figure 18: Algorithme PREP-d
Figure 19: Algocithme OBJ
tipuve 20: Alponthme SÙJ eo
Figure 21: Ambiguité de rattachement des adjectifs
Figure 22: Algorithme ADJ: recherche des candidats ucusninnennnnnee 4 Kiguie 23: Algorithme ALJ: sélection d'un candidat .:smmeninesunneenneee
35
38 3p
39
40
40 41
Trang 4
Figure 26: Exemple dlextraction des syntagmes - 47
Trigure 28: Réseau teeminclogie dans un corpus entier
Viguce 31: xeanple de prox: prox(déiresserespiratoire gndrome} = 110.00
Trang 5construction de crawl du Web, l'étude et l'intégration avec les autils de
traitement automatique linguistique Ce chapitre donneza une vue générale du
LITRTT, eréé cn 1990, toprésente tun des plus forts potenticls de recherchs en informatique ca France, fédérant plus de 190 cherchcurs ct cnscignants chercheuss, relevanl non seulement de ses tulelles mais aussi de !Universilé Toulouse Le Mirail
⁄PLM)
Les objectils que PIRIT sc donne sont a la mesure de sa taille, ant sur le plan de a recherche que sur le plan de ja formation et du transfert technologique La diversité des themes scientifiques couverts hétitée dune Jongue histoire : ‘loulouse a été Tune
des villes pionniéces de Vinformatique frangaise - permet d'élahorer des projets
ambiteux et de répondre a la forte demande du monde socio-économique Cette
Trang 6diversité au sein de 'Tnstitit constine un trés important foyer de multicisciplinarité et
ác complémentarit
1.2 ERSS
T/ERSS est unc unité mixte de recherche (CMR 5610) sous la double mitells du CNRS et du Mimstére de I'Education et de la Recherche Elle est smplantée sur deux sites: 'Unmversiré de ‘loulouse Le Mirail et ]'Université Michel de Montaigne a Bordeaux
Depuis sa fondation en 1981, YERSS se donne pour fin la description scientifique des langues dans leurs différentes composantes ‘phonologie, morphologie, spntaxe,
sémantique, pragmatique, lexique) et la modélisation des descriptions abtesues, cette
aclivilé modélsatace donnant licu 4 des collaborations tant avcc les informaticions
‘spécialistes de Pintelligence artificielle et de Yingénierie Tnguistique) qwavee les
psycholinguistes Les langues étudiées sont multiples » au frangais commun - aucpiel
est consacrée la majorité des travaux de Péqqipe -, au latin, a Fanglais, A Fespagnol, an
coréen cl au japouais, sont venus s’ajoutcr par excmple au cours des quatre demiércs
années arabe et Yambanique, le barasana et le tatuyo, le sarde, Vitahen et le
Sdlon une clude de Lawrence vt Giles Lawrence and Giles, 2000), aucun moteur de
recherche mmdexe plus de 16% du Web Pour la raison de T'explosion de la taille du
Wich, les moteurs de recherche deviennent de plus en plus importants comme un
‘moyens primaircs de localiscr Vinformation sur Web Les moteurs de recherche se
fondent sur les collections massives de pages Web qui sont acquises 4 Taide des crawl
du Web Le crawl parcowt le Web en survant les hyperhens et en stockant une copte des pages visité dans une grande base de données Dans les quelques dernières
années, plusiours tavaux académiques ct industriclles ont été pomés sur la
technologies de recherche dinfonmation sur Web, composaut les stratéyies de crawl,
Trang 7besoin ác télécharger, ct maximiser les béndfiecs obtenus A partir des pages
téléchargées Cette strategie convient bien aux applications qui ont seulement la Jargeur de bande tés imitée Cependant, dans le cas dinn plus grand moteur de
recherche, on a besoin de combiner ta bonne stratégic de crawl ct la conception
optimisée de systéme
Dans ce travail, nous n'avons pas Timtention de développer un crawl de «grand
public », on un crawl exhaustif, comportant un tris grand nombre do pages, mais
é, qui focalise sur quelques type de page, par exemple, les pages d'un domaine pasticulier ou
nous concentrons sur une lechnique de crawl, te crawl focalisé ou crawl cibl
en une langue particul
Tiobjectif de crawl Foca
utiliser une grande largeur de bande Alors, la phapart des tavaux précédents sur le
, les images, les fichier mp3, ou les articles scientifiques
táo chercher un grand nombre de pages intéressées sans
crawl focalisé nutilise pas un crawl 4 haute performance
Le crawl commence son exéculion par une liste des URLs initiaux, ou un germe de départ Le germe de départ est établi selon chaque stratégie de crawl Dans notre travail, nous utilisons les moteurs de recherche générale comme Google, Yahoo, Alta
Vista pour constmirs le germe de départ T.c craw présentt dans ce rapport sera
inlégré avec les outils de traitement de la langue nalurelle afin de construire les corpus
dun domaine particulier L’utiisateur dot Pabord définir les criteres dé recherche qui contiennent fes mots clés du domaine intéressé, la langue utilisée, les moteurs de
recherche générale, la focmulc propositionnelle Puis, le crawl lance la recherche sur
Jes moteuss de recherche choisis pour récupérer la liste des URLs de départ A partir
de la liste des LIRLs de départ, ou le germe de départ, le crawl déclanche en suite les
agents de recherche pour contimes 4 chercher les pages pertinentes sur la toile
Avant Pétre enregistrée dans le disque local, la page est préteaitée Sila page est en HIIML, le crawl est chargé de nettoyer toutes les balises H'I'ML et Pextraize fe texte
clair de 1a page Le texte claie est prét pour les étapes Panalyse linguistique suivantes
Dans le cadre de ce leavail, seulement les fichier HTML et texte sont télécharges
Trang 8sociologique qui détezmine Pévolution du Web,
Dans ce travail, nous nous intéressons a deux types de graphes du Web: graphe des
hhyperliens et graphe de similarité Le graphe des byperliens pcut Être canstruit loute de suile pendant le processus dc crawl Chaque page est un nocud cl ily a un
arc enite deux pages si unes pages coutent le hyperhemn vers Fautre Ce praphe est
simple et le moins coditeuse
Le graphe de similarité ost détenuind par Ja similarité cntze des pages I caiste un
arc entre deux payes si la similarité de deux pages ne dépasse pas un seuil
précéterminé Ce graphe est constmit aprés Vétape danalyse linguistique des pages
Alors, Ja constriction de ce graphe est trés cotiteuse mais utile pour la rocherche
đu fonnation
On peut considérer ces deux graphes comme deux aspect : physique ct logique Le
griphe des hyperlicns cat comme un graphe physique du Web ct le graphe de similarité est le graphe logique du Web En analysant les deux graphes, on trouvera les caracténistiques de la structure du Web Par exemple, on peut compacer le graphe des
thypcrlien: ce Ie graphe de similarite Sa sont similatr‹ en pent cxploiter Ïc graphe
4 partic du Web avec laide de crawl focalisé.
Trang 95
Aprés le nettoyage des balises TTTMI., Jes pages sont traitées par un étiquetenr
morphosyntaxique Nong utilisons létiqueteur TreeTapger développé par TUniversité
de Stattgart Cet éhqueteur supporte plusieurs langue: T'anglais, T'allemand, Yespagnol, et aussi le francais La socte est une hste des mots avec les étiquettes correspondants
Le xésultat obterm par TreeTapger est en suite traité par des outls lngutstiques développés par I'KRSS: Syutex et Upery L'analyseur syntaaque de corpus Syntex effecte Tanalyse en dépendance de chacune des pheases du corpns, puis consteuit un
réseau de mols el synlagmes, dans lequel chaque synlapre est reli¢ d sa (te ef a ses
expansions A partic de ce réseau, le module danalyse distributionnelle Upery
constnut pour chaque terme chi réseau Hensemble de ses contextes syntaxiques T.es
termes ct les contextcs syntaxiques peuvent étre simples ou complexes Te module
approche ensuite les termes, amsi que les contextes syutaxiques, sur la base de mesures de prommnté distributonnelle L'eusemble de ces résultats est utilisé comme
aide Ala construction d'ontologie à pactir de corpus spécialisés
3 Objecuf du stage
Ce stage est une partie dans un grand projet de lTRIT L'objectif principal de ce stage est de développer un crawl focalisé afin de construire les corpus de texte pour la recherche lingnistique D'autee coté, ce stage demande une étude sur les outils
linguistique ct Tintépration de ccs outils dans le systéme
On peut voir dans Ja igure 1 le diagxamme des modules dans le systéme que nous
allons développer dans cc stage Dane la premiére partic du stage, nous construirons
Je "crawl focalisé", Je module principal du stage El puis, les outils dlanalyse
linguistique vont étre dtudiés el iulégrés dans le systéme L'aulomatisation 1 et 2 sont
Syntex el Upery dans Je systéme L'automatisalion 4 est um module qui a deja
développé pax IRI'I' pour constuire le raphe de similarité 4 partir de la matiice de
fréquence des mots, une matrice de deux dimensions M(i,j), anc est les documents
cl lautre cst Ics mols, les valcurs sunt les Géquences des mots 7 dans le document 7
La mission de ce stage est de faire sorlir la matrice de Leéquence des mols a partir des
Trang 11Puis le chapitrs 3 donnera une vue détaillée sur notre approche de crawl focalisé Fn
se basanl sur les analyses dans le chapitce 2, nous proposerons une architecture de notre crawl pour adapter a lobjectif de ce stage ‘I'ous les problémes de Ja conception
ot les problémes techniques sont abordés Nous concentrons sur la conception de
crawl les composants, les mécasismes, la structure de données
Dans le chapitre suivant, le chapitre 4, l'étude des outils linguistiques et les problémes techniques de Tintégration ces outils dans le aystime sont préscmés, On parlera de le
foncticnncment des outils linguistiques: TrceTapger, Syntcx, Upery cl aussi de le
prétrartement de texte, de limtégration
Demiérement, la conchision va faire un résumé des résultats abtenus et donner Tévaluation de notre travail.
Trang 12Les crawls sont utilisés largement aujourd'hui Les crawls pour les moteurs de techerche (pat exemple, AltaVista, INFOSERK, Excite, et Tyeos) casayent de visiter
la plupart des pages Web des textes, afin diétablir des index de contem: D'autres crawls peuvent également visiter beaucoup de pages, mais peuvent regarder seulement
‘pour certains types dnformation ‘par exemple, adresses cmail}, Rit il existe aussi des crawls qui détectont des pages diintérét d'un utilisalcur particulicr, afin detblir une
cache dlaccés rapide (par exemple NetAtche)
Ta conception diun bon crawl présente bemcoup de défis Extéticurement, le crawl doit éviter la surcharge des sites Web ou des liens de réscau pendant som parcours
]12| Inténteurement, le crawl doit traiter les vohimes de données énormes Pour la
raison des ressources informatiques illimitées et le temps illimité, le crawl doit soignensement décider quel URD.s 4 visitor ot dans quel ordre Tl doit également décider comment fréquemment revisiter des pages quill a déja vues, alin Pavertir son client courant des changements sur le Web
2, Définitions
Le Web estun geaphe orienté G = (P, L) oa pe Pestune page Web, (p,q) © Lest
un licn cntre page pet page g
Liasbre visité T= (V; Le) od Vest la collection des pages visité, et Le = fip, )/ 4
partir p}
Trang 13® — E(p)cst[ensemhle de paars ó la pape ø se điợc
® Lẽ scure de l« page Sfp) est Tumportance de page p sur un sujel particulier
J, Architecture générale
Un craw! devrait avo une architecture fortement optimisée Shkapenyuk et Suel
‘Sbkapenyuk ct Sucl, 2002) ont naté que : « Tandis quiil cst assez facile de construire
un craw] lenle qui (élécharge quelques pages par seconde pendant une période courle, établir un systéme a haute performance qui peut télécharger des centaines de millions
de pages adessus de phisienrs semaines présente un certain nombre de difficultés
dans 1a conception de systéme, Tentrce-sortic et lefficacité de téscau, ct la robustesse
et administration, »
Tes crawls dn Web sont une pitce centrale de moteurs de recherche, et des détails sur Jeurs dgorithmes et arclitectuxe sont sonnalement caché comme les secrets diaffaites, Quand des conceptions de ctawl sont publiées, il manque souvent les détails importants afin d'empécher de reproduite le teavail Ly 2 également des soucis concernant le « Search Engine Spamming »!, qui cmpéchent les moteurs de recherche
de publier leurs algorithmes et leurs atchileclures
' Search Engine Spamasing om Spanmdexing est un ensemble de techniques cansiscant & tromper ies moteass de recherche sur ‘a quzlité dune page ou dun site afin #'ebtenir, pour un mot-cle! danné, un ben classement dans les <ésulzacs des motesss (de peéfércnee dans les tous premiers <ésultats, ear Ics utilisatcurs
‘vont racsmens au-dela de la premigre page qui, pour les pancipaus moteurs, ne comprené par défast que dix acces E.arikloedis.ozgy/wrki/'Spacadeaing,
Trang 14
10
3.1 Architecture de 2-modules
L'architecture d'un crawl la plus compact contient deux composants principaux: downloader ct scheduler Le scheduler calcule le score des pages pour déterminer
Yordre de traitement des pages Le downloader télécharge les pages, les analyses,
extrait les nouveaux liens et maintient la structure des liens
Calculer le score des pages, ‘Télécharger les pages,
déterminet Ïordre đe traitement analyser, extraire les liens
Ty a quelques problémes avec architecture de 2-module Premiérement, lorsque le
scheduler travail sur le graphe de Web, le graphe de Web ne peut pas étre changé
Alors, le temps de la modification du graphe de Web doit étre le plus court possible Mais, on constate que la tiche d'analyse de page peut étre longue, Pendant la durée dlanalyse, le graphe de Web est occupé La solution pour ce probléme est dianalyser toutes les pages téléchargées en méme temps, collecter les liens et enfin les ajouter
dans la collection [3]
Un autre probleme se trouve dans l'organisation du module downloader La tiche
danalyse dune page peut étre trés chére tandis que la tiche de téléchargement nécessite seulement une bonne connexion de réseau ct les disques dur rapides
Trang 1511 Diailleurs, les téléchargements des pages sont souvent portés par des processus
paralléle, alors, chaque tiche de téléchargement est tres légére Pour résoudte ces questions nous divisons le module downloader en 2 modules: lune se charger de
téléchargement, l'autre est pour l'analyse des pages
Liarchitecture de 4-modules est proposée par Carlos Castillo pour améliorer la performance des crawls du Web Elle se compose de 4 mochiles suivants:
© Manager: calcule le score des pages et génére la liste de K URLs pour le
téléchargement dans un cycle de traitement
© Harvester: télécharge les pages
© Gather: analyse les pages et extrait les liens
© Seeder: maintien la structure de hens
Figure 3: Architecture de 4-modules
Trang 163.3 Algorithme de crawl
Comme nous abordons au dessus, les algorithmes et les stratégies de crawl sont
toujours gardées comme le secret de chaque moteur de recherche Pourtant, les étapes
principales dans l'algorithme sont similaires Cet algorithme utilise les définitions dans la section au dessus
B ¢B U {a}
vo ev vu tq)
Le © Le U (p¿q]
1 }
}
Be B\(p)
4, Stratégies de crawl
Lors de la constniction un crawl, il est nécessaire de tenir compte la performance car
Ja largeur de bande n'est ni infinie ni gratuit Un crawl doit soigneusement choisiz ả chaque étape quelle page pour visiter a la fois prochaine
Trang 1713
Titant donné la taille courante di Web, méme un grand moteur de recherche peut
convrir seulement une partic de UIntemet disponible Car nin crawl télécharge toujours
juste une fraction des pages Web, c'est fortement souluitable que la fracton téléchargée comtient les pages les pis appropriées, et pas simplement un échantilion
aléatoire du Web
Ceci exige un métrique pour donner la priouité 4 des pages Web Liimportance d'une page est une fonction de sa quahté, de sa populanté en termes de liens ou visites, et méme de son URI (le dernier est ic cas de moteurs de recherche limites 4.un domaine
spécifique, ou des moteuss de recherche limités A un sile Web fixe) Concevoir une bonne stratégie de choix a une difficulté supplémentaize ; i] doit fonctionner avec Tinformation partielle, cac ensemble complet de pages Web n'est pas conn pendant
* BackLink-count ($132): On constate que la page p qui est poité par
piusicurs pages cst plus importants que celles cn ant moins des pagns de
référence La valour de SB2(p) ost le nombre de page dans le Web cnticr qui
ont le lien poinié a p En ellet, on ne peut pas exaclement calculer SB2(p) car cela demande dun parcours di Weh entier Alors, un crawl peut souvent estimer la cette valeur SB2¢p) par le nombre de liens qui ont déji été visite
parle crawl
* PageRank (SR): tous les liens sont considérés également dans la métriqne SB2(p) Done, il n'y a pas de différence entee te lien de ba page daccneil Yahoo et un lien dune page individuelle, Pourtant, le len a partir du site de Yahoo est toujours plus important, il doit avoir une valeus SH2 plus grande
Ta métrique PageRank, SR(p), définit cécursivement Vimportance dine page
étant égale le somme de toutes Vimportances dee pages qui ont Ie "backlink"
Trang 1814
ver ta page p Nous utilisons SR%p) pour estimer SRép) car nous avons seulement un sous-c!
semble des pages ch Web
® KowardLink-Count (SE): Cette métique SF{p) est similaize la ménique
BackLink-Count SB¢p) mais elle se base sur le nombre des ens dans une pages La valeur SFfp) est directement calculé a partir de la page p, alors
SF (p) =SE(p)
® OPIC? (SO): Dans la métriqne OPIC, toutes les pages commencent par la
méme valcur "cash" Chaque fois quiune pages cst récupérde, su valeur "cash"
est divisée parmi les pages qu'elle pointe vers La valeur “cash” dune page, ou
la valeur SO, est le somme des pages qui ont le backlink pointé 4 elle, Cette meétrique est similsire 2 la métrique PageRank mais le calcul est beaucoup phis
rapide
* = Lager-site-first (SL): Le but de cette métrique est d'éviter d'avoir trop de pages en suspens dans n'importe quel site Web Un site quia le nombre de pages en suspens plus yrrand est le site qui a plus de prionté Alors, les pages dans ce site ont Tordre phis haut La valeur SE(p) est égale au nombre des pages en suspens du site que papparuent à
Plusieurs de travaux sont consacrés sur les métriques de lanportance dans les crawls
du Web Les auteurs essayent de tester et de comparer les méthodes traditionnels
comme: Breadth-First, Backlink-Count et PapeRank Ta premiére tude sur les
miétriques đe Nimportance est de Cho et a En utilisant 180.000 pages de teste dans te
domaine de stanford.edss ils trouvent que la métrique de calcul partiel de PageRank
est la meileure, survi de la métique Breadth Fast et BackLank Count Najork et
Wiener (Najork et Wiener, 2001) est teeté son crawl avec 328 millions de pages, en
uulisanl Ja mélrique Breadth-First Is ont consiaté qu'un craw] de Breadth-Furst capturait les plus t6t des pages avec le rang de la page haut L'explication par les auteurs pour ce résultat est que «les pages les phs importantes ont bemtcoup de liens
Trang 1915
5 Respect de la politesse
Lividement, les crawls cecherchent des données beaucoup phis vite et plus détaillé que Thamain, Cela pent influencer a ta performance des sites Web si un crawl effectue plusieurs requétes par second et/ou écharge un pros dichier sur un méme site,
Comme la remareme de Koster ‘Koster, 1995), Lutilication des crawls du Web est utile
pour Tun certain nombre de “ches, mais vient avee un prix de la communauté générale Les cofits de l'utlisaion des crawls du Web incluent
* Les ressources de résesu: comme les ceawls exigent la largeuc de bande
serveur indiqné est trop haute
© Les crawls mal écxits: iu peuvent se baser des secveurs ou des routeuts, ou qui téléchargent des pages quielles ne peuvent pas manipuler,
© Les crawls porsonnellcs: si ils sont déployés par trop dluiilisatcurs, ils pcuveat perturber des réseaux et des serveurs de Web
Une solution particlle 4 ces problémes cst le protacole đexehuion de robofe, également connu sous le nom de protocole de sobuts.txt (Koster, 1996) qui est une homme pour que les admimstrateurs indiquent quelles pigces de leus serveues de Web
ne devraient pas étre accédées par des crawls Cette norme nlinchit pas une suggestion
pour Hintervalle des visites au méme scrveur, quoique ect intervalle suit la maitre la
plus eificace d'éviter la surcharge de serveur Les moteurs de recherche commerciaux récemment comme Ask Jeeves, MSN et Yahoo peuvent employer des frais supplémentaitcs « Crawl-Delayy, une patameétre dans le dossice de robots.txt pour
inđiquer le nombre de secondes pour coturder entee les demandes
Tà première proposition pour Hintervalle entre les connexions a été donnée dedans et tart de 60 sceoncdes Copendant, si des pages étaient téléchargées a ce taux diin site
Web avec plus de 100.000 pages au-dossus d'une connexion parfait avec la latence
sulle et Is largeur de bande infinie, cela prendmit plus de 2 mois pour télécharger
Trang 2016
senlement ce site Web enter ; aussi, seulement une fraction des ressources de ce Web
serveur serait utilisé Coai ne somble pas acceptable
Cho (Cho et Garcia Molina, 2003) utilise 10 secondes comme intervalle pour des
acces , et le crawl WIR, (Baeza-Yates et Castillo, 2002) emploie 15 secondes comme
défant Tc crawl MereatorWeb (Heydon ct Majork, 1999) suitune stratégic adaptative
de politesse ; si cela prenait des secondes de * pour télécharger un document d'un serveur donne, le crawl attend 10t des seconces avant de télécharger la prochaine
conde,
page Dill et af (Dill ¢r a, 2002} utilisent 1
Trang 21
Chapitre 3
CONSTRUCTION DU CRAWL FOCALISE
Ce chapitre présenteza es problémes du crawl focalisé et aussi notre solution pour la
dans ta
constmiction de crawl focalisé On commence par des definitions utilisé
conception de notre crawl [architecture ct tous les problémes du crawl focalisé sont
abordes dans les sections suivantes
Ona donc que :
ad{Page(A)) =A
et
Page(ac{P)) = P
Trang 2218
1.2 Germe de départ
© Soit Run ensemble de moteur de recherche définis par leurs adresses
ex: Siona deux moteurs de recherche Google et Yahoo, on a:
R= {http://www google fr; http://fr:search yahoo.com}
© = Soit Dun domaine du Web
ex : tout oubien francophone oibien fe oubien ca oubien wo oubien insia.fe
© Soit Cun ensemble de chaine lexical
ex: C= {"graphe", "graphes"}
© Soit GOgnc l'ensemble des adresses récupérées sur R oft GOep,c est un ensemble dadresses de pages du domaine D contenant au moins lune des chaines de C G0p,0, doit contenit le plus grande possible d'adresses & ajuster selon les possibilité des moteurs de recherche
€X: GO Google) feancophone, ("geaphe') =
{http: //grapheeasy alr} org /
http://www graphe.org/,
http://chilton.com /paq/archive /PAQ-04-065,html,
2 =f
http://dilan iit-fr/ }
© Soit Fune formule propositionnelle de mots
ex: F=(NON "graffiti’) ET ("graphe" OU "graphes")
* Soit Grane le sous ensemble maximal des adresses de GOeoc tel que Vx€ Gexpcet F(x) = TRUE
2X: GONON gabe’) ET ( graphe” OU "graphes")),( Google) francophone, ("geaphe") =
Trang 23© Soit Z'Tensemble des pages enregistrées sur le disque tel que:
1 E contient toutes les pages dont l'adresse appartient 4 Grroc (Page(Gr.op.c)CE)
2 contient plus grand nombre possible de pages (aspirées à parir du
germe de đépart Gzœ/o,cen temps réaliste)
3 Wxe G§ssey F(x) = TRUE
© Soit Ey l'ensemble des pages de E qui on été nettoyées et mis en formes:
suppression des images, des scripts dans le code HTML de la page Ey doit étre
pret pour passage aux outils de traitement linguistiques
* Soit Ewz est lensemble des pages de EZ qui on été lemmatisées et étiquetées
morpho-syntaxtiquement
1.3 Graphes
© Le graphe des hyperliens Gyr est le graphe dont les arcs sont définis par les hyperliens entre les pages
Trang 2420
Le graphe de similarité sémantiques Gy entre les pages dont les ace sont définis
par: il existe une arréte r <> s enter tes pages ¢ et s si seulement si la distance sémantique entre ¢ ets ne dépasse pas un scnil prédétermine
df,s) <5,
2, Constitution du germe de départ
Le fonctionnement du cml nécessite dabord une liste de URLs initiale Dans ce lvail, nous utilisons les moteur de recherche Yahoo ct Google pour canstruire Je gene de départ car seulement Yahoo et Google foumissent API pour accéder leur
service de recherche sur Web
Liensemble des adresses des pages & partir desqucllos lc crawl va s'cllecuer ost
conslitué par Tmterrogation des moteur de Yahoo et Google, via leur APIs respective,
selon le respect des limites du nombre de requétes imposées in effet pour une
requéte donnée, nous ne pouvens accéder qu’aux 1000 premices résultats sue
Pomumble des pages indexdes par Google ct 3000 résuliats de pages indexces par
Yahoo Google damne la pemnission dlutilisation de son API pac une clé La clé est fournie pour chaque personne qui a un compte dlaccés de Google Yahoo demande
‘unc inscription du nom de crawl avant le tlécharyement son APL Ce nom cst utilisé comme Ja clế pour lutiisauon de 'API de Yahoo Toutes les clés daccés seront foumnies via Tinterface utiisateut ow le fichier de parameétees
Pour aticindre le plus grand nombre dadresscs, Vintesrogation deve jouer sur les
différentes manidres Pexprimer une méme requéte Si nous faisons varier ordre dans Jecuel ces résultats sont affichés, nous pouvons espérer atteindre un nombre de pages
plus important Par exemple, les requétes suivantes provequent un ordonnaneement différent des résultats alors que lcs pages correspondant sont a priori les mémes :
Trang 25® liste_de_mots sitehostmame
® /ư đ øø/ relatediurl
La requéte 1 correspond aux pages correspondant 4 la liste de mots spécifi¢e pour un
site entier La requéte 2 comprend les pages contenant la liste de mots et pointant vers une url donnée Par exemple, si le germe content les tuds
hy an init fr/Projets /Projets phy et hittp:/ rendre-en-
ligne.net/graphes/, on ajoute au germe initial les résultats des requétes
© = liste_de_mots site:Allan init fr
© liste_de_mots celated:dilan init fr /Projets /Projets.php
© liste_de_mots site www apprendre-en-ligne.net
© liste_de_mots related:www apprendre-en-ligne.net/graphes /
3, Architecture
Le but de la conception de ce crawl est de récupérer le plus grand nombre de pages sur le Web qui concement a un sujet déterminant par la chaine lexicale © Nous voulons télécharger tot les pages les plus concemées au sujet Toutes les analyses dans
le chapitre 2 sont utilisées pour la conception de ce crawl
3.1 Composantes
Pour la construction du crawl focalise, nous suivons architecture de 4-modules
Dans cette conception, nous ajoutons un module pour valider la pertinence du
contenu de la page Ce module est correspondant a la formule propositionnelle
3.11 Launcher
Ce module va lire le fichier đes parametres pour établir les méta-données dans le mémoire Ensuite, il vérifie si le germe est constitué ou non Si le germe đe đépart
n'est pas encore existé, le module Launcher va le créer par interroger les moteurs de
recherche Google et Yahoo
Trang 26
Downloader
Liste de URLs a visiter
Figure 4: Architecture dus craw!
Ce module utilise les informations des pages dans la base de données pour générer la
liste des URLs a visiter pour chaque cycle de traitement Cette liste contient A URLs
(K= 1000 par défaut)
Ce crawl vise à rếcupérer le plus grand nombre de pages Web concemées i un sujet particulier On peut le considérer comme un crawl "exhaustif” dans espace de ce
Trang 2723
sujet Mais on veut que le crawl télécharge tat les pages plus importances Alors la métrique de Timportance des pages doit étre simple mais rapide dans le calcul car
Tordre de téléchargement des pages n'est pas trop important
Diailleurs, a partic du graphe des hypesliens, on peut facilement saisir les informations des liens entrés et des liens sortis d'une page Le graphe des hyperliens est construit
pendant le parcours du Web Alots, le calcul des métriques BackLink-Count ($B2) et
ForwardLink-Count (SF) est gratuit C'est la raison que nous choisissons ces deux métriques pour la stratégie de crawl
Pourtant, la valeur de SB2 et SF est calculée pour le graphe courant pas pour le grphe de Web entier, Done, en fait, ce sont les deux valeurs SB2‘et SF"
313 Downloader
Le module downloader regoit la liste de K URLs générée par le mochile Scheduler et
essai de les télécharger Pour chaque cycle de traitement, toutes les pages dans cette liste sont téléchargées
£ Queue des URLs
Figure 5: Queue đe đeuz niyeatc S1, S2, sont les sites Web et Pxy est la y"™ page de site x
La liste des KURLs générée par le module Scheduler est réorpanisée dans une queue
de deux niveaux On groupe tous les URLs appartenis le méme site dans une queue
Trang 2824
qu'on Tappelle 1a queue de nivems 2 on la queue des pages Alors chaque site est
correapondant 4.une quene
La queue de niveau 1 est la queue des sites Les éléments de cette queue sont les sites
Ơn pent consiđérer cette organisatian comme une queue de queue Ce type de queue
semble cfficace pour le paralfélisme ct Ie respect de la politesse du module
Downloader, Le craw! WIRE utilise aussi une queue comme ceci pour h gestion des
URLs dans son module Harvester
i, Paraliélisme
Afin de profiter de la connexion du réseau, ce module est oxganisé en plusieurs
processus léyers (multi-thread), Chaque provessus se change de Wlécharger les pages a parlir les URLs données Les élapes pour iécharger une page sont
1 Résupérer Peo thie LIVER de la page Lien téte LIT'IP contient les métas donnés de
encodage Ox utilise la méthode HEAD dans le protocole
HTTP pour récupérer cet em-téte sans tt
Ja page: Ie type,
hargex le contenu enitier de la page
Vénffer ie nype de la page: Dans limplémentation courant, on nlacceptera que les
pages du type HTML ou texte (ext /htnl, text/plain)
1
w arper et enregi:iver la page Sala page test pas en H''ML on texte, on ne la
télécharge pas et on marque dans la base de page le type de Ja page Sila page
Trang 2925
Hi, Respect de la politesse
Ta politesse dlaceés des sites est trés importante ponr maintenis un vrai crawl Dans
ce crawl, la politesse choisie est de ne pas établir plus dune connexion 4 un site dans
un méme temps, d'attendre pour un nombre de seconds (10 seconds par défaut) parmi les téléchargements
La politesse est mamtemue pat la queue de deux mveaux Chaque fous, les processus demandent un nouveau URLs pour le téléchargement, la queue de deux niverux va
choisir un silc qui nest pas dans Télat “occupe'', un site est "occupe" si le temps
atiente n'est pas sullisant, Parce que les pages dans un site sonl organisées dans une queue de nivemux 2, alors aprés avoir choisi un site, la page dans la queue de ce site est retinée Lialgorithme pour retirerun URL 4 patir de la queue de deux neveanx q est
dessons Dans ect algorithme, q2 est la queue de nivesux 2 qui est correspondant an
site dans lk queue g, wOest le temps diuttente pour chaque téléchargement, La sorlie
de lh fonction get URL () estun URL ou nul s'il n'y a aucun URL dans la queue
Trang 3026
a, Redirections et erreurs fies an réseau
T.araquune page cát reditiage ‘header HTTP 3xx ou méta-balise HTMT équivalente),
on note le statut de cette redirection dans la base de données, Furl de rechrection est uusézee etle en page redirigée 4 adresse de redirection est insézeé
Lorsq'unc page isoléc provoque une crtrenr réscal, en peut la tevisiter
ulléricurcment un nombre donné de fois (aombee À pararnótrcr)
Lorsque c’est un domame entier qui provoque des exreurs réseau, on peut stapper
temporairement son parconss ct y tevenir ultéricurement, puis décider le Pabanđonner
complétumcnt
Lorsqu‘enfin les pages de plusieurs demaines différents provoquent des erteurs
tếscau, on paut supposce qu'il s‘agit Pune panne générale, Dans cc cas, le programme
x c lanporsircment (cg 10 minules, 4 parametccr) cl reprend automaliquement,
On peut s’assurer que le réseau ne dysfonctionne en se connectant d des adresses de référence (supposées toujours valides} et en s’assurant qurelles ne fornctionnent pas
3.4.4 Extractor
Le module Extractor regoit Jee données binaires de la pape Web el Tanalyse Lianalyseuc LIUML utilisé dane ce module est un analyseur DOM, qui va constauice Tarbre DOM A partir de Ìs page TTTMI,
Pendant Vanalyse, les URLs sant déiectés ef ajoutés dans une liste Lanulyseur va aussi extraire le texte clair de la page Il nettoie toutes les balises II'I'ML, les informations concernant les conlents, les images, les fonts, sont supprimées Tl reste seulement le contenu textuel de la page
+ Su de liens
Lots de Panalyse d'une page, tous les hens sont extraits Il agit de liens HTML
classiqnes (<a href ‘ '> </a>) et également des hens contenus dans
© les frames (voine Figure 7);
© les ifvames ;
© Ics images mappées (voira Figure 8);
Trang 3127
® le code javascript
Les URLs dans les liens HTML classique ct dans les frame, iframe, les images
mappées est facile à parser Mais le suivi de liens dans le code javascript est compliqué
A trouver exactement Normalement, les URLs se situe dans deux commandes de
navigation de javascript
windews 99en ("agenda alm‘)
d2cunent.1ocatiea hreZ—'agenea heml *
Cependant, javascript est un morceau de programme, et alos, il peut contenir des variables et des appels de fonction, comme dans les cas suivants
Cas 1; Vappel de la fonction
funetion oavrirFenetye (adresse)
Pour faire émerger tons les hens dans Ie code javascript, on a hesoin une anslysenr
complet de javaseript Nous simplifions ces cas en supposant que Ie code javascript
contient seulement les navigations directes, cela veut dire, d n'y a pas de vaniables ou des appel de fonction Nous ne teattons pas les autres cas
Pour chaque hen extrait, PORT est résoluc dans sa forme canonique T7URT téaultant
sera éventuellement filtrée en tenant compte des différents critéres (domaine, extension de fichier) Si PURL ne répond pas a ces critéres, elle nest pas insérée dans
da base de données Dans Ie cas contrairc, on note Pexttence du lien url source —
url destination dans la hase de donnécs
Pour chaque sommet inséré (Le ne fasant pas partie du germe intial), on note dans la
base Padresse de la page pointant vers le sommet inséré Ce renseignement peut Être
intle aa détection de piéges & robots
Trang 3228
* <frameset cols="210,*">
<frame src="menu.html" />
<area polygon=" " src="se.htm1l"/>
<area pclygon=", " src="so.htm1"/>
it, Du HTML au texte
Avant de commencer Panalyse proprement dite @une page, il est possible de récolter
des méta-données (lorsqu’elles sont présentes) dans les en-tétes HTTP et les méta-
balises HTML de la section head Ces méta-données peuvent éventuellement
renseigner sur le type de page (texte, html ou autre), Pencodage (jeu de caractéres) de
Ja page et la langue du document (frangais ou autre).
Trang 3329
Siune page appasait comme e’étant pas en francais, contenant un média non textuel
on étant encodée dans un jeu de catactEre qui révale un autre alphabet que Te feangais,
elle ne sera pas analysée et la raison de ce rejet sera mentionnée dans la base de
données
Suppressian des balises
Lin extrayant le texte du II'I'ML, il est nécessaire de porter attention au fait que certaines balises segmentent les mots et autres non :
— ta<span>es | {av
= wcdivres | ft et
Une hste de balises qui jouent le rdle de segmenteurs est foumnie
Recodage vers le jeu de caractéres de travail
Le iewle esl, si nécessaire, recodé vers le jeu de caractéres de travail (latin, par exemple) & partic de Pencodage initial de la page (atin1, windows 1252, Unicode)
Résohution des entités HTMI
Les entités IIIML sont ensuite réscues Une méme entité peut étre exprimée de
différentes maniéres Ainsi le caractére & peut étre écrit :
— geucale 5
— é +
— &##xE?
T.cs mots contenant des entités non résolucs sont sup[prtmés Ta lsfc des différentes
entités HTML est fousme
Segmentatian en mots et construction de la matrice de fréquence des mats
Du texte, nous pouvons oblenir une liste de mols en projetanl sur le texte Pexpression réguiliére, non sensible i la casse