Analyse de fichiers logs Web ~ Projet LP STID ~
description
Transcript of Analyse de fichiers logs Web ~ Projet LP STID ~
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
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
Quelques mots sur le Web Mining
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/login supposent 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.<…>)
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
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)"
Fragment d ’un fichier log Web contenant 7 requêtes HTTP (unités élémentaires)
Exemple de fichier log Web
L’utilisateur provenant de 194.78.232.8 avec l’agent 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
L’utilisateur provenant de lucy.ins.cwi.nl avec l’agent Mozilla/4.74 [en] (WinNT; U)
/stacs2002/ /stacs2002/home.html /stacs2002/cfp.html
/stacs2002/home.html
/stacs2002/
/stacs2002/cfp.html
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)"
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 .
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
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 logsExemple pour l’INRIA
Site Webd’INRIA
www.inria.fr
LogsWeb
www-sop.inria.fr
LogsWeb
10.10.10.1 - - [16/Jan10.10.10.1 - - [16/Jan/2010.10.10.1 - - [16/Jan/20010.10.10.1 - - [16/Jan/210.10.11.2 - - [16/Jan/210.10.11.2 - - [16/Jan/2
Fichier contenant toutes les requêtes
Serveur Web de l ’INRIA
Sophia Antipolis
Serveur Web de l’INRIA national
•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 ([email protected])"
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 ([email protected])"
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 (3/5)
Rendre anonymes les fichiers logs
Transformation des données (4/5)
Identification de l’utilisateur
• Nous avons utilisé le couple (IP, Agent)
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
Transformation des données (5/5)
Identification des navigations et épisodesIdentification 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,811634,811 requ requêêtestes entre le 1 entre le 1
janvier et le 15 janvier 2003.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 400Code status entre 200 et 400Sé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 Navigations longueslongues
Dans les 9763? Navigations
Sélection des navigations respectant les critères suivants :
durée/nombre de requêtesdurée/nombre de requêtes > 4 sec ET nombre de pages nombre de pages consultéesconsultées > 10
Résultat :
Table de 282705? Requêtes et de 9700? Navigations
Structuration des informations