Analyse de fichiers logs Web Projet LP STID
Analyse de fichiers logs Web ~ Projet LP STID ~ Encadrants: Sergiu Chelcea, Brigitte Trousse Projet Ax. IS, 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] [rfc 931] [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 Ø rfc 931/login Ø date supposent que l’utilisateur se soit lui-même identifié Ø URL date et heure précises de réception de la requête. adresse de la page visitée sur le site (www. <…>) Ø statut code 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 Ø agent le navigateur et le type de système d’exploitation de l’utilisateur
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: //wwwsop. inria. fr/orion/index. html" "Mozilla/4. 0 (compatible; MSIE 5. 0 b 1; Mac_Power. PC)" /stacs 2002/ lucy. ins. cwi. nl - - [10/Jan/2003: 15: 34: 07 +0200] "GET /stacs 2002/ HTTP/1. 0" 200 1012 "[unknown origin]" "Mozilla/4. 74 194. 78. 232. 8 - - [10/Jan/2003: 15: 33: 43 +0200] "GET /orion/liens. htm HTTP/1. 1" [en] (Win. NT; U)" 200 1893 "http: //www-sop. inria. fr/orion/index. html" lucy. ins. cwi. nl - - [10/Jan/2003: 15: 34: 07 +0200] "GET /stacs 2002/home. html HTTP/1. 0" 200 483 "[unknown origin]" /stacs 2002/home. html "Mozilla/4. 74 [en] (Win. NT; U)" "Mozilla/4. 0 (compatible; MSIE 5. 0 b 1; Mac_Power. PC)" lucy. ins. cwi. nl - - [10/Jan/2003: 15: 34: 09 +0200] "GET /stacs 2002/Images/affiche_vierge. jpg HTTP/1. 0" 200 281281 "http: //www-sop. inria. fr/stacs 2002/home. html" "Mozilla/4. 74 [en] (Win. NT; U)" 194. 78. 232. 8 - - [10/Jan/2003: 15: 34: 09 +0200] "GET /orion/Telescope. html HTTP/1. 1" 200 4433 "http: //www/orion/Telescope. html sop. inria. fr/orion/liens. htm" "Mozilla/4. 0 (compatible; MSIE 5. 0 b 1; Mac_Power. PC)" lucy. ins. cwi. nl - - [10/Jan/2003: 15: 34: 10 +0200] "GET /stacs 2002/cfp. html HTTP/1. 0" 200 10334 "http: //www/stacs 2002/cfp. html sop. inria. fr/stacs 2002/home. html" "Mozilla/4. 74 [en] (Win. NT; U)" 194. 78. 232. 8 - - [10/Jan/2003: 15: 34: 23 +0200] "GET /orion/Telescope/Videosurveillance. html HTTP/1. 1" 200 2979 /orion/Telescope/Videosurveillance. html "http: //www-sop. inria. fr/orion/Telescope. html" "Mozilla/4. 0 (compatible; MSIE 5. 0 b 1; Mac_Power. PC)" 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. 0 b 1; Mac_Power. PC) /orion/liens. htm /orion/Telescope. html /orion/Telescope/Videosurveillance. html L’utilisateur provenant de lucy. ins. cwi. nl avec l’agent Mozilla/4. 74 [en] (Win. NT; U) /stacs 2002/home. html /stacs 2002/cfp. html
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 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. 0 b 1; Mac_Power. PC) " • 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
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 = Nombre des pages visitées Durée de la navigation (sec. )
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) www. inria. fr Site Web d’INRIA Fusionner les fichiers logs Exemple pour l’INRIA Logs Web www-sop. inria. fr Logs Web Serveur Web de l ’INRIA Sophia Antipolis Serveur Web de l’INRIA national 10. 10. 10. 11. 2 - - [16/Jan/200 [16/Jan/2 Fichier contenant toutes les requêtes
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/corrections. OBJ. txt HTTP/1. 1" 200 510 "-" "Mozilla/4. 0 compatible Zy. Borg/1. 0 (Zy. Borg@WISEnutbot. com)" wks 177. 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/corrections. OBJ. txt HTTP/1. 1" 200 510 "-" "Mozilla/4. 0 compatible Zy. Borg/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 • Rubrique 1 : orion • Rubrique 2 : Telescope
Analyse des fichiers log des sites INRIA siège et sophia Base de Données dimension de la Base: 634, 811 requêtes entre le 1 janvier et le 15 janvier 2003. • 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)
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 durée/nombre de requêtes consultées Résultat : Table de 282705? Requêtes et de 9700? Navigations
Structuration des informations
- Slides: 20