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.
Download
Report
Transcript 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.
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/login supposent que l’utilisateur se soit lui-même identifié
date
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.0b1; Mac_PowerPC)"
/stacs2002/
194.78.232.8
- - [10/Jan/2003:15:33:43
+0200]
"GET
/orion/liens.htm
HTTP/1.1"
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)"
200lucy.ins.cwi.nl
1893 "http://www-sop.inria.fr/orion/index.html"
- - [10/Jan/2003:15:34:07 +0200] "GET /stacs2002/home.html
/stacs2002/home.html HTTP/1.0" 200 483 "[unknown origin]"
"Mozilla/4.74 [en] (WinNT; U)"
"Mozilla/4.0 (compatible; MSIE 5.0b1; Mac_PowerPC)"
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://wwwsop.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
/stacs2002/cfp.html HTTP/1.0" 200 10334 "http://wwwsop.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
/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)"
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)
/orion/liens.htm
/orion/Telescope/Telescope.html
/orion/Telescope/Videosurveillance.html
L’utilisateur provenant de lucy.ins.cwi.nl avec l’agent Mozilla/4.74 [en] (WinNT; U)
/stacs2002/
/stacs2002/home.html
/stacs2002/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 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 =
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.1
10.10.10.1
10.10.10.1
10.10.10.1
10.10.11.2
10.10.11.2
-------
[16/Jan
[16/Jan/20
[16/Jan/200
[16/Jan/2
[16/Jan/2
[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/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 (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ê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
Résultat :
Table de 282705? Requêtes
et de 9700? Navigations
Structuration des informations