Web Usage Mining - Tout sur Selain Kasereka

publicité
1 Web Usage Mining : Mise en place d’un outil d'analyse de données pour le
traitement et l'extraction des connaissances à partir des données d'usage du web
pour la compréhension du comportement des internautes et la restructuration
d'un site web
KASORO MULENDA Nathanaël (1), KASEREKA KABUNGA Selain (2), KUYUNSA MAYU Alain (3), BOPE DOMILONGO Christian (4) Université de Kinshasa Faculté des Sciences Département de Mathématiques et Informatique BP. 150 Kin XI E‐mail: {nathanael.kasoro, selain.kasereka, alain.kuyunsa, christian.bope}@unikin.ac.cd Tél : +243 991091634 ‐ +243 998198073 ‐ +243997828219 ‐+243993005258 Kinshasa – RD. Congo (1)
(2)
(3)
(4)
Professeur Associé à la faculté des sciences de l’Université de Kinshasa Assistant à la faculté des sciences de l’Université de Kinshasa Assistant à la faculté des lettres et sciences humaines de l’Université de Kinshasa Assistant à la faculté des sciences de l’Université de Kinshasa Résumé Cet article présente quelques algorithmes et la partie modélisation de l’outil de traitement et l’exploration des données d’usage du web. Exploitant le fichier log du serveur web, l’outil devra permettre de récupérer le log file du serveur, y appliquer les processus de Web Usage Mining en s’appuyant sur la technique des bases de données relationnelles qui se base sur des langage des requêtes déclaratif et de haut niveau qui permet de spécifier les conditions à remplir par les données et restreindre l'analyse sur une partie de la base vérifiant certaines conditions. Ces algorithmes et cette modélisation en UML présente donc, une clé en main pour une implémentation claire, d’un logiciel de web Usage Mining, dans un langage de programmation de haut niveau. Cet outil devra être capable de vous permettre de connaître le comportement de vos internautes pour mieux les satisfaire. Mots clés: Extraction de connaissances, Web Usage Mining, fichier log, UML, Algorithmes Abstract This article presents some algorithms and the modeling part of the tool for treatment and the exploration of the data of use of the Web. Exploiting the file log of the Web server, the tool will have to make it possible to recover the log file from the web server and to apply on the processes of Web Usage Mining while resting to the technique of the relational data bases which is based on declaratory language of the requests and high level which makes it possible to specify the conditions to fill by the data and to restrict the analysis on part of the base checking some conditions. There algorithms and this modeling in UML thus presents, turn‐key for a clear implementation, of software of Web Usage Mining, in a high level programming language. This tool will have to be able to enable you to know the behavior of your Net surfers for better satisfying them. Key words: Extraction of knowledge, Web Usage Mining, log file, UML, Algorithms 2 I. Intrroduction Avec plus de 3 milliards de docum
ments en lignee (cfr. http:///www.googlee.fr) et plus 20 millions de d
nouvelles pages Web publiées ch
haque jour, le Web com
mmence à deevenir la principale source d'information [TB04]. Par conséqu
uent, dans u
un avenir pro
oche, on reccherchera l'in
nformation sur l'Internet plutôt que dans une bibliiothèque. Less créateurs dees sites Internet intéresséés à attirer ett à garder less nouveaux visiteurs v
doivvent savoir q
que leur offrrir plus d'info
ormation ne constitue pas toujours u
une solution. En effet, les u
utilisateurs d''un site Web apprécierontt davantage laa manière dont nt cette info
ormation est présentée au
u sein du sitee. Il en ressorrt donc que l'analyse du comporteme
c
des utilisateurs (enreegistré dans les fichiers de type logg) est une tâche imporrtante dans la des sites Web
b dans le soucci de répondrre aux attentees des visiteu
urs reconcepttion ou la resttructuration d
(internauttes). Le Web Usage U
Miningg (WUM) est défini comm
me l'applicatio
on d'un proceessus d'Extraaction. Bref, le data mining est l’art d’extraire d
des informations (ou même des co
onnaissancess) à partir dees données [GR04]. II. Déffinitions et de
escription du problème 1. Définitions éfinit le conceept de réseau
u d’interconn
nexions, ou plus simplemeent de « réseaau Internet : Ce terme dé
de réseaux ». Nous pré
ésentons ci‐deessous une illlustration sim
mple de l’architecture Interrnet : Figuree 1. L’architeccture simple d
de l’Internet qui normalise et développe les modèles et outils pour World Wide Web Conssortium (w3cc) : instance q
l’utilisation du Web, définit un site web comm
me l’ensemblee des pages interconnecté
ées d’un mêm
me lieu sur le réseau, acce
essibles depuis une page (hôte) Protocole
e http : dévelo
oppé dans le but de servirr les documen
nts hypertexttes sur le Web, ce protoco
ole a été norrmalisé, danss sa version actuelle, parr le w3c. La figure ci‐dessous présentte ce qui nous intéresse dans le cadree de ce travaail : le client eenvoie une reequête au serveur et ce d
dernier répon
nd.
3 Figure 2. Communication entre un client et un serveur via le protocole HTTP Ressource : d'après la spécification de W3C pour URI 2, une ressource R peut être tout objet ayant une identité. Comme exemples de ressources, nous pouvons citer: un fichier html, une image ou un service Web. Ressource Web : une ressource accessible par une version du protocole HTTP ou un protocole similaire (ex. HTTP‐NG). Serveur Web: un serveur qui donne accès à des ressources Web. Requête Web : une requête pour une ressource Web, faite par un client web à un serveur Web. Page Web : ensemble des informations, consistant en une (ou plusieurs) ressource(s) Web, identifiée(s) par un seul URL. Exemple: un fichier HTML, un fichier image et un applet Java accessibles par un seul URL constituent une page Web. Navigateur Web (Browser) : logiciel de type client chargé d'afficher des pages à l'utilisateur et de faire des requêtes HTTP au serveur Web. On l’appel aussi client web. Cache : La mise en cache est définie comme un « mécanisme visant à restreindre le temps de récupération d’une ressource en sauvegardant une copie de celle‐ci localement ». Ainsi, lors de la requête d’un document, si une copie de ce dernier est disponible dans le cache, elle est renvoyée comme réponse sans que le serveur correspondant réponde à une requête, sinon la requête classique est envoyée. Figure 3. Le protocole http avec le serveur proxy pour la mise en cache Proxy : Le terme anglophone proxy fait référence à une machine intermédiaire placée quelque part entre le client et le serveur, qui permet d’acheminer indirectement les requêtes de l’un vers l’autre. 4 La présence de ce type de matériel dans l’architecture réseau dédiée au Web peut s’expliquer suivant deux points de vue : sécurité et performance. Tout d’abord, ce type de machines est généralement placé en sortie d’un réseau d’une grande entité (campus, grande entreprise,…), elles permettent de gérer plus finement la sécurité en n’autorisant les connexions sur le Web que depuis cette unique machine : les requêtes de tous les clients de l’entité sont ainsi relayées par le proxy. Reverse proxy : Le reverse proxy comporte les mêmes fonctionnalités que le proxy vu du côté serveur. Dans la pratique le fonctionnement est similaire. Si le proxy permet une plus grande souplesse dans la gestion de la sécurité pour l’accès à Internet des clients, le reverse proxy fait de même pour les serveurs : par exemple, dans une entité disposant de plusieurs serveurs web, un reverse proxy peut servir à n’autoriser les connexions depuis le Web que sur cette unique machine, les requêtes vers les autres serveurs étant relayées. De même, associé un système de mise en cache global, il permet la réduction du trafic sortant. UML : est le langage de modélisation unifié défini par Grady Booch, Jim Rumbaugh et Ivar Jacobson [Kas12]. Outil de la troisième génération. Le langage UML permet de réaliser un système logiciel en le représentant, en le spécifiant, en le construisant et en le documentant au préalable. Il ne s’agit pas d’un langage de programmation, ni d’un langage strict, il a été conçu pour permettre à la fois la description, l’analyse et la conception d’un système logiciel afin de le réaliser dans les meilleures conditions possibles. Ce langage permet donc de décrire les plans de construction du système logiciel, en y intégrant tous les éléments conceptuels, toutes les fonctions et toutes les bases de données, toutes les classes et tous les composants logiciels. Il permet également de valider ces plans avant de commencer la programmation et de réaliser effectivement le système Données : Les informations les plus simples, les données, sont celles qui sont produites par des capteurs, des caisses de supermarchés,…; elles relèvent de l'observation directe d'un phénomène, sans Interprétation. Les données, exprimées dans le langage du système d'acquisition et se présentant en flux massifs, sont en général difficilement compréhensibles par un être humain. Connaissances : Les connaissances sont issues de l'interprétation des données (modèles des phénomènes météorologiques, profils de clients,…). Elles en forment une synthèse abstraite dans une perspective déterminée. Extraction des connaissances : Longtemps, les connaissances étaient directement fournies à la machine ; l'interprétation des données qui y conduisait était faite par l'homme. Cette approche a connu ses limites avec les systèmes experts, dont on a pu constater la difficulté de conception (parfois plusieurs semestres d'interrogation des experts humains et de synthèse des résultats par des cogniticiens), pour des modèles souvent inadaptés au contexte d'application. Le rôle du data Mining est alors de passer des données aux connaissances, c'est à dire d'assister un opérateur dans l'interprétation, la synthèse, l'exploration, la généralisation des données dont il dispose pour en extraire des connaissances [GR04]. Fichier LOG: Il s'agit du journal des connexions qui conserve une trace des requêtes et des opérations traitées par le serveur. Les LOGS peuvent être enregistrés dans trois types de fichiers •
•
•
fichier de logs de transfert: il enregistre tous les transferts de fichiers résultant d'une requête à un serveur ; fichier de logs d'erreur: il conserve la trace des incidents survenus dans le dialogue avec le serveur (ex : URL erronée, transfert interrompu, ...) ; fichier de logs référentiels: il indique le site et la page de provenance et d'arrivée ; fichier de logs d'agent: il archive les informations sur l'équipement des utilisateurs (ex : caractéristiques du navigateur, ....) ; 5 Ci‐dessous un exemple d’un fichier log venant du serveur web Figure 4. Extrait du fichier log issus d’un serveur web 2. Description du problème et pistes de solution 2.1. Introduction Vu l’apparition de grands supports d’information dans les nouvelles technologies de l’information et de la communication, sont nées de nouvelles approches méthodologiques tentant d’extraire non seulement des informations valides et fiables, mais plus généralement des connaissances qui permettent la prise de décision par les responsables d’un domaine particulier. Dans cet article il s’agit de modéliser un outil de Data Mining en se basant sur l’extraction de connaissances à partir des données pour offrir aux web masters l’ensemble des connaissances y inclut les statistiques sur leurs sites web afin de prendre les bonnes décisions et satisfaire leurs visiteurs (internautes). Cette modélisation permettra aux programmeurs d’avoir une clé en main pour développer un projet capable d’extraire de l’information à partir du fichier log du serveur web d’un site donné et prendre les décisions pour concevoir les besoins des usagé et mieux adapter le contenu et la forme des pages web avec les attentes de clients (visiteurs). Résoudre ce problème nous a demandé de passer par les démarches du processus de Data Mining à savoir : a. le problème • formulation : décomposition d’un problème complexe en sous problèmes, • récupération de données supplémentaires nécessaires s’il y a lieu, • nature du problème : exploration, création de modèles, identification de modèles… Poser • résultats attendus : les connaissances obtenues seront‐elles vraiment exploitables ? Il faut choisir les techniques de data Mining pour que le résultat corresponde aux attentes (cas des réseaux de neurones qui ne sont pas explicatifs). b. Recherche des données • inventaire des sources de données (comment combiner des formats différents ?), • sélection des données pertinentes par un expert (filtrage des attributs). 6 • réduction des dimensions : utilisation de taxonomies pour monter en abstraction et éviter les détails inutiles. c. Enrôlement des données Quel rôle faire jouer aux différentes données dans le processus de data Mining ? • sélection des données du “jeu d’essai” et des données de contrôle. d. Nettoyage des données • suppression ou correction des valeurs aberrantes, • suppression, remplacement, ou contournement des valeurs manquantes (champs non renseignés), • suppression ou mise à l’écart des valeurs nulles (enregistrements uniquement • Renseignés avec les valeurs par défaut). La nullité d’une valeur peut cependant parfois apporter une information. e. Modification des données Homogénéisation et normalisation des représentations • normalisation des attributs (soustraction de la valeur moyenne puis division par l’écart type) tout devient comparable avec tout (bouillie conceptuelle). • lissage des valeurs extrêmes (transformation logarithmique) • remplacement des dates par des durées • remplacement des adresses par des données géographiques normalisées (géocodage) • remplacement de plusieurs attributs pas une combinaison plus significative (ratios, fréquences, tendances +/‐, autres combinaisons linaires ou non). f. Extraction proprement dite • mobilisation des bases de test et d’apprentissage, • choix de l’automatisme (système pauvre) ou de l’interactivité (système itératif avec affinement des résultats, retour de pertinence,…) • choix des techniques, g. Évaluation des résultats • évaluation qualitative : présentation graphique ou textuelle des résultats • évaluation quantitative : les résultats présentés sont affectés d’un “indice de Confiance” • validation par le test : confirmation avec un autre jeu d’essais. h. Intégration de la connaissance • formalisation des connaissances obtenues ou intégration à un modèle préexistant • bilan 2.2. Pourquoi connaitre les statistiques sur un site web ? Actuellement sur Internet il existe des sites web conçu en s’appuyant sur plusieurs méthodes et technologies avancées, mais cela ne garanti pas les concepteurs sur la satisfaction des internautes, alors pour qu’un site puisse satisfaire ses visiteurs, il doit être un site qui prévoit les besoins des 7 visiteurs et qui les oriente et les aide à converger vers leur but. Pour ce faire ces concepteurs ont mis en évidence des fichiers log qui rassemble toutes les informations concernant l’utilisation du site soit sous forme de commandes ou autre .., et pour extraire des connaissances utiles de ces données, l’utilisateur doit posséder d’un outil qui lui permet d’extraire ses connaissances en tenant compte de leur sémantique, pour ce faire on utilise le processus extraction de connaissance à partir des données (ECD). Un web master peut être intéressé par les connaissances : •
•
•
Connaissances sur les visiteurs : o Le pourcentage des visiteurs par semaine par mois et par ans, o Avoir une visibilité internationale : d’où provient nos visiteurs ? Connaissances sur les pages : o Les pages les plus et les moins consultées (pages populaire et pages impopulaire), o Les combinaisons des pages consultées, o Savoir quels sont les liens qui nos référencent le plus mieux. Connaissances sur les navigateurs et les Os o Le pourcentage des navigateurs les plus utilisés, o Le pourcentage des systèmes d’exploitation les plus utilisés. 2.3. Méthode utilisée et algorithmes
2.3.1. Méthode Nous utilisons la méthode de panier qui s’appui sur l’algorithme apriori pour la combinaison des pages les plus utilisées [MF06]. Cet algorithme repose sur le fait que les ensembles fréquents potentiels forment un treillis possédant des propriétés intéressantes permettant d’éviter une énumération exhaustive des ensembles fréquents potentiels. Il exploite les propriétés suivantes : •
•
Tous les sous‐ensembles d’un ensemble fréquent sont fréquents (cette propriété permet à l’algorithme de limiter la construction des ensembles candidats de taille k à partir des ensembles fréquents de taille k‐1). Tous les sur‐ensembles d’un ensemble non fréquent sont non fréquents (cette propriété permet à l’algorithme d’éliminer un ensemble candidat si un seul de ses sous‐ensembles est non fréquent). Les règles d’associations nous seront utiles pour la notion d’extraction de motifs séquentiels fréquents. Dans notre cas, nous considérons que deux requêtes provenant de la même adresse IP mais de deux User‐agents différents, appartiennent à deux sessions différentes donc elles sont effectuées par deux utilisateurs différents. Ainsi, le couple (IP, User‐Agent) représente un identifiant des utilisateurs 2.3.2. Algorithmes Algorithme 1 : Identifier les sessions Tant qu’il y a des enregistrements dans la base de données (log)
faire
Lire l’enregistrement i
Récuperer l’adresse IP (IPi) et le User-Agent (UAi)
8 Si le couple (IPi, UAi) = (IP(i-1), UA(i-1))
Alors ajouter l’enregistrement i à la session S(i-1)
Sinon recommencer une nouvelle session Si
Fin Si
Fin tant Que
Algorithme 2 : identifier les visites [MF06] Soient les variables suivantes :
•
Ri = Requête i
•
N = Nombre de requêtes dans la base de données (log)
•
V [Ri] = Visite à laquelle appartient la requête i
•
S [Ri] = Session à laquelle appartient la requête i
•
T [Ri] = Temps de déclenchement de la requête i
•
NV [Ri] = Nombre de requêtes dans la visite à laquelle appartient la requête i
•
Flag [Ri] = variable binaire
1. Ordonner les requêtes suivant la variable S [Ri] puis la variable T [Ri].
2. Détermination de la durée de chaque requête :
i=1;
Pour i de 1 à N-1
Si S [Ri] =S [Ri+1]
Alors
Durée [Ri] = T [Ri+1] – T [Ri] ;
Flag [Ri] = 1 ;
Sinon
Flag [Ri] = 0 ; (Ri est la dernière requête de la session)
FinSi
i = i+1 ;
FinPour
Flag [RN] = 0 ; (RN est la dernière requête dans la base)
1. Construction des visites :
V [R1] = 1 ;
Pour i de 1 à N
Si Durée [Ri] > 30 minutes ou Flag [Ri] = 0
Alors
V [Ri+1]= V [Ri]+1 ;
Sinon
V [Ri+1]= V [Ri] ;
FinSi
i = i+1 ;
FinPour
2. Détermination de la durée de la dernière requête de chaque visite :
i=1 ;
Pour i de 1 à N-1
Si Flag [Ri] = 0 ou Durée [Ri] > 30 minutes
9 Alors Durée [Ri] = (Durée [Rk])/ NV [Ri] -1
Tel que V [Rk] = V [Ri]
FinSi
i = i+1 ;
FinPour
Algorithme 3 : Filtrer les requêtes Soient les variables suivantes :
•
•
•
•
Ri = Requête i
V[Ri] = Visite à laquelle appartient la requête i
Nv[Ri] = Nombre de requêtes dans la visite à laquelle appartient la requête i
N = Nombre total de requêtes
Quelque soit i, 1≤ i ≤ N,
Si Durée [Ri] < Durée_min ou Nv[Ri] > NbPages_min
Alors Ri est supprimée
Fin Si
Avec: Durée_min est la durée minimale de consultation d'une page par l'utilisateur et
Nbpages_min le nombre minimal de pages que peut contenir une visite.
Algorithme 4 : Faire la combinaison des pages [MF06] Soient les variables :
•
•
Fk : ensemble des itemsets fréquents de taille k
Ck : ensemble des itemsets candidats de taille k
K<-1
C1<- items
Tant que Ck ‡ Ø faire
Fk<- candidats de Ck dont le support >= σ
Ck+1<- candidats sont générés à partir de Fk
K<-k + 1
Fin tant que
Pour chaque X є UkFk
Pour chaque Y С X
Tester la confiance de la règle X\Y->Y
2.4. Résultats attendus par le projet a. Connaissance sur les visiteurs : •
•
Distinguer les visiteurs selon leur fidélité La répartition des internautes selon leurs accès b. Connaissances sur les pages •
•
•
Connaître les pages populaires et impopulaires Définir des nouveaux liens entre les pages Reconstruire la structure du site web (restructurer le site web) 10 c. Connaissance sur les browsers •
Connaître les types des browsers les plus utilisés sur le site web d. Connaissance sur les Système d’exploitation (Agents) •
Connaître les systèmes d’exploitation les plus utilisés e. Connaitre le type du site web •
Savoir si le site est de type POSTING ou GETING 3. Modélisation du projet en UML Dans ce point nous parlons la modélisation en UML de ce projet. Nous présentons les diagrammes de cas d’utilisation et de classe. a) Diagramme de cas d’utilisation 11 b) Diagramme de classe Conclusion et perspectives Dans cet article nous avons présenté quelques algorithmes, les notions de base sur le WUM (Web Usage Mining) et une marche à suivre pour implémenter un outil de WUM passant par une modélisation en UML des étapes nécessaires. L’outil, fruit de ce travail, devra en principe permettre le webmaster de comprendre le comportement de ses internautes pour diagnostiquer et améliorer son site web. Les algorithmes présentés dans ce travail sont directement utilisables sur un projet de WUM. Dans le cadre des perspectives, nous soulevons une des limites de toutes ces techniques de Web Usage Mining qui est qu’elles sont difficilement interprétables du fait qu’elles ne décrivent les parcours qu’en termes de noms de documents HTML principalement connus par les concepteurs du site. Un marquage sémantique des pages faciliterait donc la lecture des résultats obtenus, et pourrait intervenir dans la conception même de ces outils de Data Mining. 12 REFERENCES [Kas10] KASORO MULENDA N., Data mining et classification automatique, cours Inédit, Fac. SC., Dpt. Math‐Info, DEA Informatique, EDULINK, Université de Kinshasa, 2010. [Cha05] CHARRAD M., Techniques d'extraction de connaissances appliquées aux données web, Mémoire de Master, Ecole Nationale des Sciences de l'Informatique, Université de la Manouba, Tunisie 2005. [Mbu10] MBUYI MUKENDI E., Data Mining et Intelligence artificielle, cours Inédit, Fac. SC., Dpt. Math‐
Info, DEA Informatique, EDULINK, Université de Kinshasa, 2010. [Mas2] MASSEGLIA F., Algorithmes et applications pour l'extraction de motifs séquentiels dans le domaine de la fouille de données: de l'incrémental au temps réel, Thèse de doctorat, UNIVERSITE DE VERSAILLE ST QUENTIN EN YVELINE, 2002. [kas09] KASORO MULENDA N., Classification Automatique et Analyse de Données Symboliques : Une Nouvelle Méthode Monothétique de partitionnement basée sur les Processus de Poisson, Thèse de doctorat, UNIVERSITE DE KINSHASA, FAC. SC., DPT MATH‐INFO, 2009. [GR04] GRILLES VENTURI & RENÉ LEFÉBURE, Le Data mining, Gestion de la relation client, Soft Computing, Collection : Eyrolles ‐ 2000 ‐ réédité en 2004. [TB04] Doru Tanasa & Brigitte Trousse, Le prétraitement des fichiers logs Web dans le Web Usage Mining multi‐sites, Équipe AxIS, INRIA Sophia Antipolis, France 2004. [Tuf10] TUFFERY Stéphane, Data Mining et statistique décisionnelle, Ed. Technip, Paris, 2010. [RC01] René Lefébure & Cilles Venturi, Data Mining : Gestion de la rélation client, Personnalisation de sites web, Ed. Eyrolles, Paris, 2001. [Kas12] KASORO MUKENDA N., Programmation orientée Objet, cours Inédit, Fac. SC., Dpt. Math‐Info, G3 info, Université de Kinshasa, 2012. [MF06] Mostafa Hanoune & Faouzia Benabbou, Traitement et exploration du fichier Log du serveur web, pour l’extraction des connaissances : Web usage mining, Article Afrique SCIENCE, 2006. 
Téléchargement