Analyse de fichiers logs Web ~ Projet LP STID ~ Encadrants: Sergiu Chelcea, Brigitte Trousse Projet AxIS, INRIA Sophia Antipolis {Sergiu.Chelcea,
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
Application de lECD aux données du Web Se décline en trois domaines dapplication : - 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 » linternaute Quelques mots sur le Web Mining
Format standard dun fichier log [ip] [rfc931] [login] [date] [url] [statut] [size] [referrer] [agent] ip adresse IP de lordinateur de lutilisateur; cette adresse correspondant souvent au nom de domaine dun serveur si lutilisateur est connecté à Internet via un fournisseur daccès ou une entreprise rfc931/login supposent que lutilisateur se soit lui-même identifié date date et heure précises de réception de la requête. URLadresse de la page visitée sur le site (www. ) statut code retour qui indique si laction sest bien déroulée. size indique la taille du fichier retourné. referrer signale ladresse de laquelle a effectué la requête, la page de provenance agent le navigateur et le type de système dexploitation de lutilisateur
[10/Jan/2003:15:33: ] "GET /orion/liens.htm HTTP/1.1" " sop.inria.fr/orion/index.html" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34: ] "GET /stacs2002/ HTTP/1.0" "[unknown origin]" "Mozilla/4.74 [en] (WinNT; U)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34: ] "GET /stacs2002/home.html HTTP/1.0" "[unknown origin]" "Mozilla/4.74 [en] (WinNT; U)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34: ] "GET /stacs2002/Images/affiche_vierge.jpg HTTP/1.0" " "Mozilla/4.74 [en] (WinNT; U)" [10/Jan/2003:15:34: ] "GET /orion/Telescope/Telescope.html HTTP/1.1" " sop.inria.fr/orion/liens.htm" "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" lucy.ins.cwi.nl - - [10/Jan/2003:15:34: ] "GET /stacs2002/cfp.html HTTP/1.0" " sop.inria.fr/stacs2002/home.html" "Mozilla/4.74 [en] (WinNT; U)" [10/Jan/2003:15:34: ] "GET /orion/Telescope/Videosurveillance.html HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)" Fragment d un fichier log Web contenant 7 requêtes HTTP (unités élémentaires) Exemple de fichier log Web Lutilisateur provenant de avec lagent Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC) Construction de sessions en considérant le même (IP, User Agent) /orion/liens.htm/orion/Telescope/Telescope.html/orion/Telescope/Videosurveillance.html /orion/Telescope/Videosurveillance.html /orion/Telescope/Telescope.html /orion/liens.htm Lutilisateur provenant de lucy.ins.cwi.nl avec lagent Mozilla/4.74 [en] (WinNT; U) /stacs2002/ /stacs2002/home.html /stacs2002/cfp.html /stacs2002/home.html /stacs2002/ /stacs2002/cfp.html [10/Jan/2003:15:33: ] "GET /orion/liens.htm HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)"
Cycle du processus de Web Usage Mining
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 [10/Jan/2003:15:33: ] "GET /orion/liens.htm HTTP/1.1" " "Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC) " Session : toutes les requêtes dun utilisateur, comportement dun utilisateur durant la période analysée (ex. 15 jours) Navigation : les requêtes réalisées durant une connexion, cest une visite du site par lutilisateur Épisode : une phase de navigation, réalisation dun 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
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 : BS = Durée de la navigation (sec.) Nombre des pages visitées
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)
Transformation des données (2/5) Fusionner les fichiers logs Exemple pour lINRIA Site Web dINRIA Logs Web www-sop.inria.fr Logs Web [16/Jan [16/Jan/ [16/Jan/ [16/Jan/ [16/Jan/2 Fichier contenant toutes les requêtes Serveur Web de l INRIA Sophia Antipolis Serveur Web de lINRIA national
Avant : [09/Jan/2002:00:01: ] "GET /mimosa/personnel/Davide.Sangiorgi/correctionsOBJ.txt HTTP/1.1" "-" "Mozilla/4.0 compatible ZyBorg/1.0 wks177.ist.ucf.edu - - [09/Jan/2002:00:01: ] "GET /rodeo/personnel/hoschka/thesis.html HTTP/1.1 » … gentiane.inria.fr - - [09/Jan/2002:11:08: ] "GET /cafe/team-e.html HTTP/1.0"... Après : [09/Jan/2002:00:01: ] "GET /mimosa/personnel/Davide.Sangiorgi/correctionsOBJ.txt HTTP/1.1" "-" "Mozilla/4.0 compatible ZyBorg/ example.com.edu - - [09/Jan/2002:00:01: ] "GET /rodeo/personnel/hoschka/thesis.html HTTP/1.1" example.com.11.projet.sophia.inria.fr - - [09/Jan/2002:11:08: ] "GET /cafe/team-e.html HTTP/1.0"... Transformation des données (3/5) Rendre anonymes les fichiers logs
Transformation des données (4/5) Identification de lutilisateur Nous avons utilisé le couple (IP, Agent) Une tâche compliquée par : Les serveurs proxy Les adresses dynamiques Les cas dutilisateurs utilisant le même ordinateur Les cas des utilisateurs qui utilisent plus dun navigateur Web ou plus dun ordinateur Solutions possibles: Les « cookies » Les pages Web dynamiques (avec un IDSession) Les utilisateurs enregistrés Un navigateur modifié Lutilisation de la carte du site + le référeur dans le prétraitement
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 lURL URL : Site : cest le siège de lINRIA Rubrique1 : orion Rubrique2 : Telescope
Analyse des fichiers log des sites INRIA siège et sophia Base de Données 634,811 requêtesentre le 1 janvier et le 15 janvier dimension de la Base: 634,811 requêtes entre le 1 janvier et le 15 janvier Sélection de 9324? Navigations ayant 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)
Navigations longues Sélection des Navigations longues Dans les 9763? Navigations Sélection des navigations respectant les critères suivants : durée/nombre de requêtesnombre de pages consultées durée/nombre de requêtes > 4 sec ET nombre de pages consultées > 10 Résultat : Table de ? Requêtes et de 9700? Navigations
Structuration des informations