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