GeniMiner, un moteur de recherche génétique

Documents pareils
EXPERIMENTATIONS DE METHODES PARALLELES DE RECHERCHE D INFORMATION SUR INTERNET

Une méthode d apprentissage pour la composition de services web

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Une application des algorithmes génétiques à l ordonnancement d atelier

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Formula Negator, Outil de négation de formule.

Ingénierie et gestion des connaissances

RI sociale : intégration de propriétés sociales dans un modèle de recherche

Principe de symétrisation pour la construction d un test adaptatif

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Recherche d information textuelle

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Application de K-means à la définition du nombre de VM optimal dans un cloud

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Laboratoire 4 Développement d un système intelligent

Évaluation d une architecture de stockage RDF distribuée

Forthcoming Database

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Laboratoire d Automatique et Productique Université de Batna, Algérie

Evaluation et analyse de la fréquentation d un site

ÉVALUATION DE L UTILISABILITÉ D UN SITE WEB : TESTS D UTILISABILITÉ VERSUS ÉVALUATION HEURISTIQUE

VERSION 64 BITS DE SAS ET VOS FICHIERS MICROSOFT OFFICE 32-BITS

Classification Automatique de messages : une approche hybride

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Prototype de canal caché dans le DNS

RAPID Prenez le contrôle sur vos données

Les modes de recherche sur le Web 2.0

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Sécuristation du Cloud

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

La rencontre du Big Data et du Cloud

BIG Data et R: opportunités et perspectives

Improving the breakdown of the Central Credit Register data by category of enterprises

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Recherche d information en langue arabe : influence des paramètres linguistiques et de pondération de LSA

L hypertexte, le multimédia, c est quoi?

Trois méthodes pour la construction de pages WEB personnalisées

Resolution limit in community detection

ETAP Safety Manager Systèmes centraux de contrôle et de gestion

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

CONTEC CO., LTD. Novembre 2010

Principes d AdWords. Quelques mots de présentation. Une audience large : les réseaux de ciblage. Réseau de recherche

WEB page builder and server for SCADA applications usable from a WEB navigator

Modélisation géostatistique des débits le long des cours d eau.

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Once the installation is complete, you can delete the temporary Zip files..

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs


ÉVALUATION PRIMAIRE D UN SYSTÈME D AIDE AU CONTRÔLE AÉRIEN EN ROUTE

AGROBASE : un système de gestion de données expérimentales

Teste et mesure vos réseaux et vos applicatifs en toute indépendance

Vers une Optimisation de l Algorithme AntTreeStoch

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

Traitement et exploration du fichier Log du Serveur Web, pour l extraction des connaissances: Web Usage Mining

Face Recognition Performance: Man vs. Machine

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier.

TRAVAUX DE RECHERCHE DANS LE

SHAREPOINT PORTAL SERVER 2013

Sauvegarde d une base de données

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Enhancing cybersecurity in LDCs thru multi-stakeholder networking and free software

Introduction à la B.I. Avec SQL Server 2008

BIRT (Business Intelligence and Reporting Tools)

Défi Cloud Computing

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Monitor LRD. Table des matières

Bien architecturer une application REST

Modélisation multi-agent d allocation des ressources : application à la maintenance

Projet en nouvelles technologies de l information et de la communication

Un environnement de déploiement automatique pour les applications à base de composants

Peut-on imiter le hasard?

CURRICULUM VITAE. Informations Personnelles

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

L indice de SEN, outil de mesure de l équité des systèmes éducatifs. Une comparaison à l échelle européenne

Fig.1. Structure d un AGQ

intelligence artificielle et cognitique"

COORDINATION NON COOPÉRATIVE: MÉTHODES D ENCHÈRES

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

Dafoe Présentation de la plate-forme UIMA

ParallelKnoppix. Majid Hameed. Copyright 2005 Majid Hameed. Copyright 2005 Gauthier Savart. Copyright 2005 Joëlle Cornavin

Analyses croisées de sites Web pour détecter les sites de contrefaçon. Prof. Dr. Olivier Biberstein

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

Travaux pratiques avec RapidMiner

Entraînement au concours ACM-ICPC

NON-LINEARITE ET RESEAUX NEURONAUX

PREPROCESSING PAR LISSAGE LOESS POUR ACP LISSEE

Propriétés du Document EMA. Résumé

Transcription:

GeniMiner, un moteur de recherche génétique Fabien Picarougne Nicolas Monmarché Antoine Oliver Gilles Venturini Laboratoire d Informatique de l Université de Tours, École Polytechnique de l Université de Tours, Département d Informatique 64, Avenue Jean Portalis, 37200 Tours. fabien.picarougne@etu.univ-tours.fr {monmarche,oliver,venturini}@univ-tours.fr RÉSUMÉ. Nous présentons dans cet article une stratégie de recherche génétique pour un moteur de recherche. Nous commençons par montrer que des relations importantes existent entre les études statistiques des propriétés du Web, les moteurs de recherche fondés sur les approches à base d agents, et les techniques utilisées classiquement en optimisation : le Web est un graphe qui peut être exploré à l aide d une fonction d évaluation et d opérateurs fondés sur la création ou l exploration locale. Il devient alors possible de définir une fonction d évaluation qui est une formulation mathématique de la requête de l utilisateur et de définir un algorithme génétique qui fait évoluer une population de pages avec des opérateurs spécifiques. La création d individu consiste à interroger des moteurs classiques. La mutation consiste à explorer le voisinage d une page grâce à ses hyperliens. Nous présentons des résultats comparatifs obtenus avec un protocole de tests directement calqués sur ceux utilisés en optimisation. ABSTRACT. We present in this paper a genetic search strategy for a search engine. We begin by showing that important relations exist between Web statistical studies, search engines based on agent approach, and standard techniques in optimization: the web is a graph which can be searched for relevant information with an evaluation function and with operators based on creation or local exploration. It is then straightforward to define an evaluation function that is a mathematical formulation of the user request and to define a steady state genetic algorithm that evolves a population of pages with specific operators. The creation of individuals is performed by querying standard search engines. The mutation operator consists in exploring the neighborhood of a page thanks to the hyperlinks. We present a comparative evaluation which is performed with the same protocol as used in optimization. MOTS-CLÉS : moteur de recherche, Internet, algorithmes génétiques, optimisation. KEYWORDS: search engines, Internet, genetic algorithms, optimization. RSTI - RIA 17/2003, pages 319 à 330

320 RSTI - RIA 17/2003. EGC 2003 1. Introduction Les moteurs de recherche classiques sur le web ont des caractéristiques étonnantes : ils possèdent des milliards de documents dans leur index, ils peuvent traiter des millions de requêtes quotidiennement, ils donnent des réponses très volumineuses quasiment en temps réel et ils nécessitent des ressources informatiques et humaines considérables. On peut dire aujourd hui qu il est pratiquement impossible de concevoir une approche alternative pour un moteur de recherche sans passer par l un de ces «géants». Même si les points forts de ces moteurs sont nombreux, il ont aussi des faiblesses, comme des requêtes très simples, une présentation des résultats souvent pauvre en information, ou encore la nécessité pour l utilisateur d explorer un à un les nombreux liens qu ils donnent en sortie. Tout utilisateur régulier d un moteur de recherche a dû souvent passer beaucoup de temps à analyser les résultats donnés. Nous proposons dans cet article un moteur de recherche qui peut être considéré non pas comme concurrent des autres moteurs mais plutôt comme une approche complémentaire. Nous allons considérer que l utilisateur est prêt à attendre son résultat pendant plusieurs heures au profit d un gain dans la qualité. Notre outil va aider l utilisateur dans sa tâche d analyse des résultats et tenter de raccourcir cette tâche. Notre but final est de fournir un outil de veille stratégique fournissant à intervalles réguliers un rapport complet sur la manière dont est traité un sujet sur Internet. Si l on considère que la machine dispose de quelques heures pour donner un résultat, on peut envisager d effectuer des traitements supplémentaires qui font défaut aux moteurs classiques. Il s agit en particulier de formuler une requête plus riche, de télécharger les pages pour obtenir une version actualisée et mieux analysée en terme de contenu (Lawrence and Giles 1999), de proposer une classification des pages trouvées en fonction de leur contenu textuel (Zamir and Etzioni 2000) ou d effectuer une recherche avec une stratégie donnée. Nous nous intéressons dans cet article à ce dernier point en s appuyant notamment sur le principe d optimalité des algorithmes génétiques pour résoudre le dilemme d exploration versus exploitation (EVE) (Holland 1975) pour un nombre d essais donnés (i.e. téléchargements de pages Web), quelle stratégie optimale adopter pour espérer maximiser ses gains (i.e. trouver les pages correspondant le mieux à la requête de l utilisateur)? A partir de cette vue intuitive du problème, nous montrons en fait que les algorithmes génétiques, mais sans doute également d autres méthodes classiques en optimisation, peuvent apporter une contribution intéressante et complémentaire des moteurs classiques dans le domaine de la stratégie utilisée pour la recherche d information sur le Web. La suite de cet article est organisée comme suit la section 2 reformalise le problème traité comme un problème d optimisation avec la notion de paysage adaptatif, d opérateur de recherche et de voisinage en se basant d une part sur les études statistiques portant sur le Web et d autre part sur les moteurs de recherche à base d agents. La section 3 donne les principes de notre algorithme génétique qui manipule une population de pages Web. La section 4 donne des résultats expérimentaux avec notamment une comparaison avec des moteurs classiques. La section 5 conclut sur les nombreuses perspectives qui découlent de ce travail.

Moteur de recherche génétique 321 2. Un problème d optimisation La modélisation que nous utilisons propose un parallèle entre le problème de la recherche d information sur le Web et le problème général d optimisation d une fonction (voir table 1). Des études statistiques récentes ont modélisé le Web comme un graphe dont les noeuds sont les pages et les arcs les liens qui existent entre les pages (Albert et al. 1999) (Broder et al. 2000). Nous utilisons cette modélisation pour définir notre espace de recherche par l ensemble des pages Web et pour définir grâce aux hyperliens une relation de voisinage entre les points. Cette relation associe à toute page l ensemble des pages (éventuellement vide) vers laquelle elle pointe. Optimisation Espace de recherche Fonction d évaluation Solution optimale Relation de voisinage Opérateur de création Opérateur de recherche locale Internet Ensemble des pages Adéquation de la page à la requête utilisateur Page maximisant l adéquation à la requête Défini par les liens sortant d une page Génération aléatoire d adresses IP Résultats de moteurs classiques Exploration d un lien d une page Tableau 1. Modélisation du problème de la recherche d information sur le Web comme un problème d optimisation À cet espace de recherche nous associons une fonction d évaluation qui peut évaluer numériquement chaque page Web. Dans les moteurs de recherche, résulte à la fois de l adéquation de la page à la requête (présence ou absence de mots clés, etc) mais aussi à d autres critères dépendant de la connectivité du graphe comme le «page rank» (Brin et Page 1998) ou des évaluations par des experts humains (comme dans Yahoo par exemple). Un moteur de recherche tend à donner en sortie des pages qui vont maximiser cette fonction. Pour parcourir l espace de recherche, les algorithmes d optimisation utilisent des opérateurs de recherche. Il en est de même pour les moteurs de recherche, et les opérateurs utilisés dans ces deux cadres sont les suivants 1) les opérateurs de création qui vont créer des points de à partir de «rien». En optimisation, un exemple classique d opérateur de création est la génération aléatoire d un point dans. Pour le Web, générer aléatoirement des adresses IP, par exemple, a déjà été étudié (Lawrence et Giles 1999) (Kishi et al. 2000) mais ne donne une adresse valide qu avec très peu de chance, et une adresse de site Web avec une probabilité encore plus faible. Donc ce type d opérateur aléatoire ne semble pas être utilisable pour explorer efficacement le Web. Un autre exemple d opérateur de création dans les problèmes d optimisation consiste à utiliser une heuristique qui va construire une solution en fonction des données du problème. Dans le cas du Web, de nombreux moteurs de recherche utilisent un tel opérateur qui consiste à interroger l index des moteurs

322 RSTI - RIA 17/2003. EGC 2003 1) Enregistrer la requète de l utilisateur et Définir la fonction d évaluation, 2), 3) Engendrer un descendant : a) Avec une probabilité mut (ou bien si ) Alors création heuristique (page issue des moteurs standards) b) Ou avec une probabilité mut choisir une page parent et engendrer un descendant Mutation (exploration des liens de ) 4) Evaluer 5) Insérer dans si (! #" ) ou si %$&(' )*,+.-0/1*2 3 4, 6) Aller en 3 ou Stop ( est le résultat proposé à l utilisateur). Figure 1. Algorithme génétique «steady state» utilisé dans le moteur de recherche. classiques et à donner en sortie le ou les liens fournis par ces moteurs. C est le cas notamment des méta-moteurs (Sander-Beuermann et Schomburg 1998) qui compilent des résultats ou des agents (Menczer et 1995) (Moukas 1997) qui initialisent leur recherche avec ces résultats, 2) les opérateurs de «transformation» qui vont se servir de points existants pour en générer de nouveaux. Les robots et plus généralement les agents (Menczer et 1995) (Moukas 1997) utilisent ce type de stratégie en explorant les liens trouvés dans les pages. Ainsi, un opérateur classique en optimisation comme l ascension locale peut être directement transposé sur le Web : à partir d une page Web donnée, il est possible d obtenir l ensemble de ses voisins, de les explorer un par un et de choisir le meilleur selon comme nouveau point de départ. Notre modélisation inspirée largement des travaux cités permet ainsi d envisager l utilisation d algorithmes classiques en optimisation l ascension locale, comme cela a été mentionné dans cette section, mais aussi des méthodes plus performantes comme les algorithmes génétiques. 3. Un moteur de recherche génétique 3.1. Algorithme principal L algorithme génétique que nous proposons combine les concepts mentionnés dans la section précédente avec ceux d un algorithme génétique «steady state» (Whitley 1989) comme représenté dans la figure 1. Un individu de la population est une page Web qui peut être évaluée numériquement par la fonction d évaluation. Initialement, la population est vide et va croître en taille jusqu à atteindre une taille maximale 5! #". Les premiers individus de la population sont donc créés par un opérateur de création heuristique d individus. Cet opérateur interroge les moteurs classiques (Google, Altavista, etc, voir section 4.2) pour obtenir des pages. Ensuite, les pages

Moteur de recherche génétique 323 peuvent être sélectionnées suivant leur qualité et peuvent donner des descendants soit par l opérateur de mutation (choisi selon une probabilité mut) soit par l opérateur de création (selon une probabilité mut ). La mutation consiste ici à choisir judicieusement un lien sortant d une page parent et à proposer comme descendant la page indiquée par (voir section 3.3). Les principes de l algorithme génétique «steady state» font qu à chaque génération un seul individu est engendré. Celui-ci est inséré dans la population s il reste de la place, et sinon s il est meilleur que le plus mauvais individu de la population. La qualité moyenne et maximale de la population ne peut donc que croître dès que la population à atteint son nombre maximum d individu. Intuitivement, l algorithme de recherche va avoir un comportement allant du metamoteur classique (avec mut ) à un moteur explorant le plus possible les liens trouvés dans les pages ( mut ). C est la stratégie de sélection de l algorithme génétique qui va décider de la survie d une page dans la population et donc du fait que les liens trouvés dans cette page seront explorés avec plus ou moins d intensité. À notre connaissance, les principales applications des algorithmes génétiques au Web sont en particulier (Sheth 1994) (Menczer et al. 1995) (Morgan et Kilgour 1996) (Moukas 1997) (Fan et al. 1999) (Monmarché et al. 1999) (Vakali et Manolopoulos 1999) mais elles ne concernent pas toutes la stratégie utilisée dans les moteurs de recherche. Dans (Menczer et al. 1995), les paramètres déterminant le comportement d une population d agents évoluent par sélection interactive effectuée par l utilisateur qui récompense les agents ramenant des informations intéressantes. Notre approche se distingue de ce travail dans la mesure où nous nous plaçons à un niveau plus proche du paysage adaptatif puisque nous faisons évoluer directement une population de pages (et non une population d agents recherchant des pages). Notre travail se distingue aussi par le fait que nous souhaitons faire intervenir l utilisateur le moins possible afin de diminuer au maximum le temps requis pour l analyse des résultats. 3.2. Requête utilisateur et fonction d évaluation La fonction d évaluation quantifiant la qualité d une page est une formulation numérique de la requête de l utilisateur. L algorithme génétique permet de définir n importe quelle fonction d évaluation à partir des informations obtenues sur une page. Nous avons défini un grand nombre de critères possible comme par exemple la présence impérative ou non de mots clés, le nombre d occurence de ces mots clés, leur répartition dans le texte, la présence souhaitée de mots, l absence souhaitée de mots, la présence/absence souhaitée ou imposée d expressions régulières, le volume du texte, le nombre d images, le référencement de fichiers de types donnés (PS, PDF, MP3,...), la date de publication, etc. Dans cet article, nous avons testé deux fonctions. La fonction est très proche du type d évaluation que l on trouve dans les méta-moteurs classiques et vaut pour une page :, si 1 sinon

3 3 324 RSTI - RIA 17/2003. EGC 2003 où signifie nombre d occurences du mot dans la page. obtient donc un score de 0 si un seul des mots clés ( ) manque, et plus le nombre de mots clés présents est élevé, plus le score de la page est élevé. La fonction est beaucoup plus complexe et se détache plus nettement de ce que proposent les moteurs classiques. 3 1 1 où. est une fonction qui favorise une représentation équitable des mots-clés et où est une fonction qui évalue l intérêt du -ème lien trouvé dans est fondée simplement sur une notion d entropie et prend une valeur maximale de 1 lorsque les proportions d apparition des mots-clés dans la page sont toutes égales. Les poids,, et servent à doser l importance relative des différent composants de la requête. La fonction "!pour un lien donné est d autant plus élevée que des mots clés de sont présents dans le voisinage textuel du lien. Autrement dit,. sera élevée si contient des mots clés en proportions égales, le plus de mots possible de ( ), le moins de mots possible de ( ) et si elle contient des liens potentiellement reliés au domaine thématique défini par les mots clés. 3.3. Opérateurs génétiques et incrémentalité de la recherche Comme mentionné dans la table 1, au moins deux types d opérateurs (création ou exploration locale) peuvent être définis pour explorer le Web avec un algorithme d optimisation. Nous utilisons ici un opérateur de création heuristique qui va donner une adresse de page Web en fonction des résultats donnés par les moteurs classiques (Altavista, Google, Lycos, Voila, Yahoo). La méthode utilisée consiste simplement à interroger chacun des ces moteurs avec les mots clés et à extraire les adresses données comme résultats. Ces interrogations de moteurs se font de manière incrémentale, au fur et à mesure que l opérateur de création est appelé. Si plus aucun des moteurs ne fournit de réponse, alors l opérateur de création n est plus utilisé dans l algorithme (voir table 1) et on se sert à la place de l opérateur de mutation. Notons qu il existe un très grand nombre de moteurs de recherche (voir www.finderseeker.com) mais nous nous sommes concentrés pour le moment sur les plus généraux et les plus importants. L opérateur de création permet donc de donner des points initiaux de bonne qualité dans la recherche génétique. Comme nous le verrons dans la section résultats, ces individus pourront être largement améliorés par l opérateur de mutation. L opérateur de mutation prend en entrée une page parent et engendre en sortie une page enfant en explorant le voisinage local de. Pour cela, les liens trouvés dans sont triés par ordre décroissant suivant la valeur de la fonction #décrite dans la section précédente. De cette manière, les liens ayant le plus de chance de

Moteur de recherche génétique 325 Num Mots clés Mots souhaités Mots non souhaités ( ) ( ) ( ) 1 telecom crisis analysis mobile future France 2 fiber optic technology network information 3 text poet flower wind Baudelaire Rimbaud 4 wine excellent price good Bourgueil Bordeaux 5 buy cd music michael jackson download mp3 6 mouse disney movie animation DVD 7 artificial ant algorithm 8 genetic algorithm artificial ant experimental comparison 9 javascript window opener tutorial free 10 dll export class template code example Tableau 2. Les 10 requêtes utilisées donner un mutant de bonne (ou de meilleure) qualité sont explorés en premier. Lorsque l on a exploré tout le voisinage d une page, on utilise l opérateur de création à la place de la mutation. Si aucun des deux opérateurs ne peux plus fournir de pages, la recherche s arrête. Notons que le graphe défini par les pages Web et leurs liens ne permet pas de définir facilement certains opérateurs de recherche comme un opérateur de croisement dans les AG. Il serait cependant possible de combiner les liens contenus dans deux pages parents et si ces deux pages ont des liens communs, ou des liens pointant vers le même serveur Web, alors il est peut être souhaitable de combiner ces informations en orientant la recherche vers des liens communs ou des serveurs Web communs. Afin d accéler l évaluation des pages et éviter de télécharger plusieurs fois les même pages, nous ajoutons à ces deux opérateurs une «liste noire» de pages ayant déjà été explorées par l algorithme. Ainsi, lorsque l opérateur de création ou de mutation engendre une page qui a déjà été explorée, celui-ci est relancé à nouveau pour obtenir une autre page. Cela permet de gagner du temps notamment dans les domaines où les liens sont souvent les mêmes. De même, notre outil peut utiliser un cache local des pages chargées de manière à accélérer significativement ses performances de manière incrémentale lorsque deux requêtes thématiquement très proches se succèdent. 4. Résultats 4.1. Méthode d évaluation Nous avons implémenté les algorithmes décrits dans cet article sur une machine de type PC (Celeron 500MHz, 128 Mo, connexion Internet à 64Ko/s). Nous nous

326 RSTI - RIA 17/2003. EGC 2003 Taille pop 30 50 100 150 200 300 30 premiers 398.0 411.5 457.9 429.5 427.1 428.5 50 premiers 337.6 350.4 357.6 354.0 354.1 Tableau 3. Moyenne des premiers éléments de la population après 1000 pages explo- ) rés suivant la taille de la population ( plaçons donc dans le cas où un utilisateur utilise ce moteur sur sa propre machine standard (mais nous disposons d une version sur un serveur Web pour effectuer des tests à distance). Dans toute la suite nous n utilisons pas le cache disque mentionné précédemment car celui-ci améliore significativement les performances pour deux recherches successives avec la même requête. Nous avons défini dix requêtes différentes (voir table 2) pour tester le comportement de notre moteur. Ces dix requêtes portent sur plusieurs domaines thématiques et représentent différents niveaux dans les besoins d information d utilisateurs potentiels. Elles sont certainement plus spécifiques que les requêtes le plus fréquemment utilisées dans les moteurs de recherche (Silverstein et al. 1998) mais elles permettent de définir assez précisément un sujet. Nous avons utilisé un protocole de test et de comparaison similaire à celui utilisé dans la comparaison d algorithmes d optimisation on donne à chaque version de l algorithme le même nombre d évaluations. Dans la suite, chaque algorithme testé peut télécharger et évaluer 1000 pages Web. Cela représente environ 1 à 2 heures de temps de chargement et de calcul pour tester une requête. Dans toute la suite, la population a été limitée à population (voir table 3). individus suite aux tests réalisés sur la taille de la 4.2. Résultats pour une requête donnée Nous effectuons tout d abord une analyse du comportement de notre moteur pour la requête 3 (voir table 2) en faisant varier notamment le paramètre. Rappelons qu avec notre moteur ne fait qu utiliser les résultats fournis par les moteurs classiques. Il se comporte donc comme un méta-moteur. Plus augmente, plus l algorithme met en oeuvre la mutation qui a pour effet d explorer le voisinage local des pages. Sur la figure 2 nous montrons l évolution de la qualité moyenne des individus. Le début de la courbe est bruité du fait que la population initiale ne contient que très peu d individus. A partir de la génération 100, on constate que l amélioration est progressive pour les différentes courbes présentées. On peut remarquer que plus la probabilité d utiliser la mutation augmente, plus les résultats s améliorent en moyenne. Bien sûr, si cette probabilité se rapproche trop de 1, la qualité des résultats chute. Nous rete- comme valeur assurant un compromis entre la recherche heuristique nons

de Moteur de recherche génétique 327 200 180 0.5 0.3 160 140 0 0.7 120 100 80 60 40 20 0 1 51 101 151 201 251 301 351 401 451 501 551 601 651 701 751 801 851 Quality 901 951 Downloaded pages Figure 2. Évolution de la qualité moyenne de la population pour différentes valeurs de pour la fonction effectuée par les moteurs de recherche et la recherche locale guidée par les liens des individus. Les poids,, et servent à décrire l importance relative que nous attribuons au différents champs de la requêtes. Nous avons fixé respectivement des valeurs de, et pour les 3 premiers paramètres et de pour manière à favoriser les pages comportant des liens prometteurs pour l exploration. 4.3. Résultats comparatifs Nous présentons dans les tables 4 et 5 les résultats obtenus pour les 10 requètes et en moyenne pour 4 essais. Pour la fonction, GeniMiner et la méta-recherche (fondée sur les moteurs Altavista, Google, Lycos, Voila, Yahoo) obtiennent des résultats comparables voire meilleurs dans le second cas. On peut donc dire que la recherche génétique n apporte rien de plus qu une méta-recherche lorsque la fonction d évaluation est proche des évaluations utilisées dans les moteurs classiques. Pour la fonction, on constate que l utilisation de l algorithme génétique donne des résultats supérieurs pour 5 requêtes. Pour 4 autres requêtes, les meilleures pages trouvées par la méta-recherche l ont été aussi par GeniMiner. Notre analyse est la suivante les fonctions d évaluation utilisées dans les moteurs classiques sont faites pour donner des réponses très rapides à des requêtes simples. Par exemple, elles ordonnent

328 RSTI - RIA 17/2003. EGC 2003 Requête GeniMiner ( ) Meta-recherche ( ) Min Max Moy Min Max Moy 1 18 177 35.4 20 177 39.5 2 37 856 119.0 42 856 131.0 3 33 922 144.4 46 8011 196.8 4 68 908 163.7 81 908 170.0 5 45 10006 324.8 27 10006 267.6 6 66 819 137.9 90 869 188.9 7 33 317 76.1 32 715 73.5 8 52 932 145.1 55 1017 171.1 9 68 672 132.3 68 672 140.1 10 42 489 94.9 54 2504 156.6 Tableau 4. Résultats obtenus pour la fonction R GeniMiner GeniMiner Meta-recherche ( ) ( ) ( ) Min Max Moy Min Max Moy Min Max Moy 1 37.2 1034 83.2 39.5 1034 88.2 41.2 1034 91.3 2 102.7 810 212.9 109.8 825.5 222.5 99.3 794.5 205.4 3 48.8 1223 195.7 53.4 1839 182.1 54.6 1102 147.4 4 100.6 977.4 234.1 108.2 977.4 204.0 115.4 992.0 243.3 5 277.4 2229 439.6 219.8 2107 418.5 172.3 2107 375.2 6 150.3 841.4 256.7 151.8 1037 284.3 155.2 1037 281.7 7 63.7 575.3 129.3 59.7 575.3 120.3 51.4 575.3 96.6 8 122.7 1462 271.6 107.7 1510 273.5 129.3 1510 310.3 9 87.3 1097 198.2 78.8 1097 177.6 88.5 1097 198.4 10 99.2 2091 258.7 130.4 2091 328.8 141.5 3371 430.3 Tableau 5. Résultats obtenus pour la fonction les pages sans tenir compte des mots clés de la requête car l analyse du contenu du document prendrait beaucoup trop de temps. Ces requêtes sont adaptées aux nombreux utilisateurs «grand public» d Internet mais pas aux problèmes d informations plus spécifiques et complexes comme cela est requis en veille stratégique. Si est la fonction d évaluation des pages que l utilisateur a «en tête», alors il va passer beaucoup de temps à analyser les résultats des moteurs classiques avant de trouver l information pertinente. Par contre, avec GeniMiner l information sera trouvée par l utilisateur beaucoup plus rapidement. Mais pour réaliser cela, GeniMiner requiert un temps de calcul beaucoup plus important que les moteurs standards. C est la raison pour laquelle nous considérons que notre approche est complémentaire des moteurs classiques car elle ne résout pas le même type de problèmes de recherche d information.

Moteur de recherche génétique 329 On peut noter également dans ce tableau que les résultats donnés par l utilisation des deux opérateurs, contrôlés par l algorithme génétique, contiennent dans 9 cas le meilleur élément. L utilisation de l algorithme génétique apporte un réel avantage en concentrant la recherche sur les points du graphe susceptibles de contenir de «bonnes» pages. 5. Conclusion Nous avons décrit dans cet article une partie importante d un moteur de recherche, à savoir la stratégie d exploration des pages. Nous avons montré comment il était possible de mettre en relation des études portant sur le Web avec les concepts utilisés classiquement en optimisation. Cela nous a permis de définir une stratégie de recherche d information qui implémente de la manière la plus directe possible les concepts utilisés dans un algorithme génétique. Nous avons montré que pour une fonction objectif complexe donnée et pour des requêtes portant dans des domaines différents, les résultats obtenus en moyenne sont supérieurs à une simple interrogation des moteurs de recherche classiques. L intérêt de l AG vient 1) de la facilité avec laquelle on peut changer la fonction d évaluation et ainsi placer en premier les pages maximisant l adéquation à la requète, 2) de l efficacité de la recherche par le biais de la sélection et de la mutation qui répartissent bien les ressources de calcul et de connexion. De nombreuses perspectives découlent de ce travail. Nous avons utilisé un algorithme génétique «standard» mais nous envisageons de le compléter par des techniques comme le réglage automatique des paramètres (Julstrom 1995) (Eiben et al. 1999), le redémarrage de la population (Maresky et al. 1995). Toutes ces techniques peuvent être aisément introduites dans ce moteur de recherche. Une perspective importante est la parallélisation de la recherche sur un réseau de machine. Les algorithmes génétiques parallèles existent depuis plusieurs années maintenant (Cantú-paz 2000). Un modèle du type «island model» permettrait de combiner à la fois l efficacité de la recherche génétique avec une accélération de la vitesse de traitements des informations, notamment l évaluation des pages. 6. Bibliographie Albert R., Jeong H. et Barabasi A.-L. (1999), Diameter of the World Wide Web. Nature, 401 :130-131, 1999. Broder A., Kumar R., Maghoul F., Raghavan P., Rajagopalan S., Stata R., Tomkins A. et Wiener J. (2000), Graph structure in the Web, Proceedings of the Ninth International World Wide Web Conference, Elsevier, 2000. Brin S. et Page L. (1998), The anatomy of a large-scale hypertextual Web search engine, Computer Networks and ISDN Systems, 30, 1 7, pp 107 117, 1998. Cantú-Paz, E. (2000). Efficient and Accurate Parallel Genetic Algorithms, Kluwer Academic Publishers. Eiben A.E., Hinterding R. et Michalewicz Z. (1999), Parameter Control in Evolutionary Algorithms, IEEE Transactions on Evolutionary Computation, Vol 3, 2, 1999.

330 RSTI - RIA 17/2003. EGC 2003 Fan W., Gordon M.D., Pathak P. (1999), Automatic generation of a matching function by genetic programming for effective information retrieval, Proceedings of the 1999 Americas Conference on Information Systems, pp 49-51. Holland J.H. (1975). Adaptation in natural and artificial systems. Ann Arbor : University of Michigan Press. Julstrom B.A. (1995), What have you done for me lately? Adapting operator probabilities in a steady-state genetic algorithm, Proceedings of the sixth International Conference on Genetic Algorithms, 1995, L. Eshelman (Ed.), Morgan Kaufmann, pp 81-87. Lawrence S. et Giles C.L. (1999), Accessibility of information of the Web, Nature 400, pp 107-109. Lawrence S. et Giles C.L. (1999), Text and image meta-search on the web, International Confrence on Parallel and Distributed Processing Techniques and Application, 1999. Maresky J., Davidor Y., Gitler D., Aharoni G. et Barak A. (1995), Selectively destructive restart, Proceedings of the sixth International Conference on Genetic Algorithms, 1995, L. Eshelman (Ed.), Morgan Kaufmann, pp 144-150. Menczer F., Belew R.K., Willuhn W. (1995), Artificial life applied to adaptive information agents, Spring Symposium on Information Gathering from distributed, Heterogeneous Databases, AAAI Press, 1995. Monmarché N., Nocent G., Slimane M. et Venturini G. (1999), Imagine : a tool for generating HTML style sheets with an interactive genetic algorithm based on genes frequencies. 1999 IEEE International Conference on Systems, Man, and Cybernetics (SMC 99), Interactive Evolutionary Computation session, October 12-15, 1999, Tokyo, Japan. Morgan J.J. et Kilgour A.C. (1996), Personalising information retrieval using evolutionary modelling, Proceedings of PolyModel 16 : Applications of Artificial Intelligence, ed by A.O. Moscardini and P. Smith, 142-149, 1996. Moukas A. (1997), Amalthea : information discovery and filtering using a multiagent evolving ecosystem, Applied Artificial Intelligence, 11(5) :437-457, 1997 Picarougne F., Fruchet C., Monmarché N., Oliver A. et Venturini G. (2002), Web searching considered as a genetic optimization problem. In Local Search Two Day Workshop, London, UK, 16-17 April 2002. Picarougne F., Monmarché N., Oliver A. et Venturini G. (2002), Web mining with a genetic algorithm. In Eleventh International World Wide Web Conference, Honolulu, Hawaii, 7-11 May 2002 Sheth B.D. (1994), A learning approach to personalized information filtering, Master s thesis, Department of Electrical Engineering and Computer Science, MIT, 1994. Silverstein C., Henzinger M., Marais H. et Moricz M. (1998), Analysis of a Very Large Alta- Vista Query Log, Digital SRC Technical note 1998-14. Vakali A. et Manolopoulos Y. (1999), Caching objects from heterogeneous information sources, Technical report TR99-03, Data Engineering Lab, Department of Informatics, Aristotle University, Greece. Whitley D. (1989), The Genitor algorithm and selective ressure : why rank-based allocation of reproductive trials is best, Proceedings of the third International Conference on Genetic Algorithms, 1989, J.D. Schaffer (Ed), Morgan Kaufmann, pp 116-124. Zamir O. et Etzioni O. (2000), Grouper : a dynamic clustering interface to web search results, Proceedings of the Ninth International World Wide Web Conference, Elsevier, 2000.