200 likes | 360 Views
Analyse de fichiers logs Web ~ Projet LP STID ~. Encadrants: Sergiu Chelcea, Brigitte Trousse. Projet AxIS, INRIA Sophia Antipolis {Sergiu.Chelcea, Brigitte.Trousse}@sophia.inria.fr. Introduction. Le Web Mining, les fichiers log Web Cycle du processus de Web Usage Mining
E N D
Analyse de fichiers logs Web~Projet LP STID ~ Encadrants: Sergiu Chelcea, Brigitte Trousse Projet AxIS, INRIA Sophia Antipolis {Sergiu.Chelcea, Brigitte.Trousse}@sophia.inria.fr
Introduction • Le Web Mining, les fichiers log Web • Cycle du processus de Web Usage Mining • Le prétraitement des données : • Nettoyage des données • Transformation des données • Objectifs et taches du projet : • Fichier texte Base de données relationnelle • Analyse statistique descriptive • Classification automatique (par exemple CAH) • Interprétation des résultats
Quelques mots sur le Web Mining Application de l’ECD aux données du Web Se décline en trois domaines d’application : • Web Content Mining (contenu des documents) • Web Structure Mining (structure des documents, site Web) • Web Usage Mining (comportement des utilisateurs) Motivations pour le Web Usage Mining : • Cache « intelligent » • Personnalisation des pages • Reconception du site • « Comprendre » l’internaute
Format standard d’un fichier log [ip] [rfc931] [login] [date] [url] [statut] [size] [referrer] [agent] • ip adresse IP de l’ordinateur de l’utilisateur; cette adresse correspondant souvent au nom de domaine d’un serveur si l’utilisateur est connecté à Internet via un fournisseur d’accès ou une entreprise • rfc931/loginsupposent que l’utilisateur se soit lui-même identifié • date date et heure précises de réception de la requête. • URL adresse de la page visitée sur le site (www.<…>) • statutcode retour qui indique si l’action s’est bien déroulée. • size indique la taille du fichier retourné. • referrer signale l’adresse de laquelle a effectué la requête, la page de provenance • agentle navigateur et le type de système d’exploitation de l’utilisateur
/orion/liens.htm /stacs2002/ /stacs2002/home.html /orion/Telescope/Telescope.html /stacs2002/cfp.html /orion/Telescope/Videosurveillance.html /orion/liens.htm /orion/Telescope/Telescope.html /orion/Telescope/Videosurveillance.html /stacs2002/ /stacs2002/home.html /stacs2002/cfp.html Exemple de fichier log Web Fragment d ’un fichier log Web contenant 7 requêtes HTTP (unités élémentaires) 194.78.232.8 - - [10/Jan/2003:15:33:43 +0200] "GET /orion/liens.htm HTTP/1.1" 200 1893 "http://www-sop.inria.fr/orion/index.html" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34:07 +0200] "GET /stacs2002/ HTTP/1.0" 200 1012 "[unknown origin]" "Mozilla/4.74 [en] (WinNT; U)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34:07 +0200] "GET /stacs2002/home.html HTTP/1.0" 200 483 "[unknown origin]" "Mozilla/4.74 [en] (WinNT; U)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34:09 +0200] "GET /stacs2002/Images/affiche_vierge.jpg HTTP/1.0" 200 281281 "http://www-sop.inria.fr/stacs2002/home.html" "Mozilla/4.74 [en] (WinNT; U)" 194.78.232.8 - - [10/Jan/2003:15:34:09 +0200] "GET /orion/Telescope/Telescope.html HTTP/1.1" 200 4433 "http://www-sop.inria.fr/orion/liens.htm" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34:10 +0200] "GET /stacs2002/cfp.html HTTP/1.0" 200 10334 "http://www-sop.inria.fr/stacs2002/home.html" "Mozilla/4.74 [en] (WinNT; U)" 194.78.232.8 - - [10/Jan/2003:15:34:23 +0200] "GET /orion/Telescope/Videosurveillance.html HTTP/1.1" 200 2979 "http://www-sop.inria.fr/orion/Telescope/Telescope.html" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" 194.78.232.8 - - [10/Jan/2003:15:33:43 +0200] "GET /orion/liens.htm HTTP/1.1" 200 1893 "http://www-sop.inria.fr/orion/index.html" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" Construction de sessions en considérant le même (IP, User Agent) L’utilisateur provenant de 194.78.232.8 avec l’agent Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC) L’utilisateur provenant de lucy.ins.cwi.nl avec l’agent Mozilla/4.74 [en] (WinNT; U)
Le prétraitement des données • Nettoyage des données : • Supprimer des requêtes pour les ressources Web non-analysées • Suppression des requêtes/navigations provenant des robots Web • Transformation des données : • Fusionner les fichiers log ensemble • Rendre anonymes les IP des utilisateurs • Identifier les utilisateurs • Identifier les navigations • Identifier les épisodes
Les objets analysés • Unité élémentaire : la requête une ligne particulière du fichier log . 194.78.232.8 - - [10/Jan/2003:15:33:43 +0200] "GET /orion/liens.htm HTTP/1.1" 200 1893 "http://www-sop.inria.fr/orion/index.html" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC) " • Session : toutes les requêtes d’un utilisateur, comportement d’un utilisateur durant la période analysée (ex. 15 jours) • Navigation : les requêtes réalisées durant une connexion, c’est une visite du site par l’utilisateur • Épisode : une phase de navigation, réalisation d’un objectif
Nettoyage des données (1/2)Suppression des requêtes pour les ressources Web non-analysées • Les ressources Web (RW) non-analysées, par exemple: • Les fichiers images: “*.gif”, “*.jpg”, etc. • Autres fichiers qui «composent» une page (fichiers de style, applets Java, etc.) • Toutefois, il existe des images qu'on peut “cliquer” • Utiliser la carte du site pour décider si on doit considérer ou non la RW
Nombre des pages visitées BS = Durée de la navigation (sec.) Nettoyage des données (2/2)Suppression des requêtes/navigations provenant des robots Web • Les requêtes des robots Web représentent du «bruit» • On réduit la dimension du fichier log de 50% • Trois méthodes pour détecter les robots Web (WR): • Identifier les couples (IP, Agent) depuis lesquels il y a eu une requête pour “robots.txt” • Utiliser une liste des agents connus comme WR pour identifier les couples (IP, Agent) dont l ’agent fait partie de la liste • Utiliser un seuil pour la vitesse de navigation (BS - « Browsing Speed »), qui est égale :
Transformation des données (1/5)Fusionner les fichiers logs • Les fichiers logs (ordonnées par la date de la requête) sont mises ensemble • Chaque requête est modifiée pour: • synchroniser les temps des requêtes (si besoin) • inclure le “ID” du serveur Web dans la requête (“ID” = nom du serveur Web)
www-sop.inria.fr www.inria.fr Site Web d’INRIA Logs Web Logs Web Serveur Web de l ’INRIA Sophia Antipolis Serveur Web de l’INRIA national 10.10.10.1 - - [16/Jan 10.10.10.1 - - [16/Jan/20 10.10.10.1 - - [16/Jan/200 10.10.10.1 - - [16/Jan/2 10.10.11.2 - - [16/Jan/2 10.10.11.2 - - [16/Jan/2 Fichier contenant toutes les requêtes Transformation des données (2/5)Fusionner les fichiers logsExemple pour l’INRIA
Transformation des données (3/5)Rendre anonymes les fichiers logs • Avant : 65.116.145.131 - - [09/Jan/2002:00:01:52 +0100] "GET /mimosa/personnel/Davide.Sangiorgi/correctionsOBJ.txt HTTP/1.1" 200 510 "-" "Mozilla/4.0 compatible ZyBorg/1.0 (ZyBorg@WISEnutbot.com)" wks177.ist.ucf.edu - - [09/Jan/2002:00:01:52 +0100] "GET /rodeo/personnel/hoschka/thesis.html HTTP/1.1 » … gentiane.inria.fr - - [09/Jan/2002:11:08:25 +0100] "GET /cafe/team-e.html HTTP/1.0" ... • Après : 10.0.0.1 - - [09/Jan/2002:00:01:52 +0100] "GET /mimosa/personnel/Davide.Sangiorgi/correctionsOBJ.txt HTTP/1.1" 200 510 "-" "Mozilla/4.0 compatible ZyBorg/1.0 (joe.doe.1@example.com)" 123.example.com.edu - - [09/Jan/2002:00:01:52 +0100] "GET /rodeo/personnel/hoschka/thesis.html HTTP/1.1" ... 456.example.com.11.projet.sophia.inria.fr - - [09/Jan/2002:11:08:25 +0100] "GET /cafe/team-e.html HTTP/1.0" ...
Transformation des données (4/5)Identification de l’utilisateur • Une tâche compliquée par : • Les serveurs proxy • Les adresses dynamiques • Les cas d’utilisateurs utilisant le même ordinateur • Les cas des utilisateurs qui utilisent plus d’un navigateur Web ou plus d’un ordinateur • Solutions possibles: • Les « cookies » • Les pages Web dynamiques (avec un IDSession) • Les utilisateurs enregistrés • Un navigateur modifié • L’utilisation de la carte du site + le référeur dans le prétraitement • Nous avons utilisé le couple (IP, Agent)
Transformation des données (5/5)Identification des navigations et épisodes • Identification des navigations : • Couper la session utilisateur si la distance entre 2 clics > 30 minutes (standard) • Couper la session utilisateur si sa longueur dépasse 100 clics (un robot Web?) • Un processus direct • Identification des épisodes : • Diviser la navigation en épisodes sémantiques • On peut utiliser une carte du site Web amélioré qui contient une description sémantique des pages Web • Un autre chantier en cours pour nous …
Description du site par l’URL • URL : http://www.inria.fr/orion/Telescope/ra/index.html • Site : www.inria.fr c’est le siège de l’INRIA • Rubrique1 : orion • Rubrique2 : Telescope
Analyse des fichiers log des sites INRIA siège et sophia Base de Données dimension de la Base: 634,811 requêtesentre le 1 janvier et le 15 janvier 2003. • Sélection de 9324? Navigationsayant une durée supérieure de 60 sec. • Élimination des erreurs dans le fichier : Code status entre 200 et 400 Sélection par la Rubrique 1 > 100 résultat: 125? thèmes consultés dans le fichier LOG (sur 634,811 requêtes) Sélection par la Rubrique 2 > 100 résultat: 432? thèmes consultés dans le fichier LOG (sur 634,811 requêtes)
Sélection des Navigations longues Dans les 9763? Navigations Sélection des navigations respectant les critères suivants : durée/nombre de requêtes> 4 sec ET nombre de pages consultées> 10 Résultat : Table de 282705? Requêtes et de 9700? Navigations