web usage minig1 web usage mining (analisi dei dati di log)

64
Web Usage Minig 1 Web Usage Mining (Analisi dei dati di log)

Upload: pepe-sarti

Post on 02-May-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 1

Web Usage Mining(Analisi dei dati di log)

Page 2: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 2

Web Usage MiningAnalisi dei dati di log

• Introduzione– Web usage mining– Scopi dello WUM

• Processo di WUM– Fase di preprocessing

• cleaning dei dati• identificazione delle sessioni• identificazione delle page view• completamento dei traversal path • identificazione degli episode

Page 3: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 3

Web Mining (WM)

WM è il processo di scoperta ed analisi di informazioni utili dai documenti e servizi Web, usando tecniche di data mining.

I dati che possono essere usati nel processo di WM: Contenuto delle pagine Web Struttura della pagina (HTML o XML tags) Struttura del sito (hyperlink tra le pagine) Dati di uso (Web log) descriventi come le pagine sono accedute Profili utente includenti informazioni demografiche e di

registrazione.

Page 4: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 4

Finalità del WM

Capire il comportamento degli utenti Analizzare il comportamente di navigazione degli utenti per capirne le

preferenze e quindi massimizzare l’attività commerciale. Capire chi compra e che cosa compra Scoprire la % di clienti acquisiti/persi

Determinare l’efficacia di un sito Web Capire i pattern di navigazione per

migliorare la struttura del sitopersonalizzare la navigazione

Misurare il successo dell’attività di marketing Capire l’impatto sull’attività commerciale delle campagne di marketing Classificare gli utenti per personalizzare l’offerta

Misurare l’efficacia di specifici banner pubblicitari.

Page 5: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 5

Tassonomia di WM

Web PageContent Mining

Search Result Mining

General AccessPattern Analisys

Customized Usage Analisys

Web Mining

Web Usage Mining

Web Content Mining

Web Structure Mining

Web Content Mining

Processo di scoperta di informazioni utili dall’analisi del contenuto di dati Web.

Web Structure Mining

Processo di scoperta di informazioni utili dall’analisi della struttura del sito (hyperlink) e/o delle pagine (tags HTML o XML)

Web Usage Mining

L'insieme dei processi, delle tecniche e delle tecnologie di data analysis, finalizzato alla scoperta di significativi schemi di comportamento (pattern) dai Web server logs descriventi la navigazione degli utenti in uno o più siti Web.

Custumized Access Pattern Analisy

Adaptive sites (Pekwitz &Etzioni, 1997)Analizza i patterns di accesso di ciascun utente, uno per volta.Il sito Web ristruttura se stesso automaticamente imparando dai patterns di accesso Personalization (Suggest, 2004. WebWatcher, 1999)Fornisce raccomandazioni per aiutare la navigazione degli utenti.

General Access Pattern Analisy

Estrazione di conoscenza dai pattern di accesso alle pagine (WebLogMining, 1998, WUM, 1998, WebSIFT,1999)

Può aiutare per migliorare la struttura del sito, migliorare il caching, ecc.

Page 6: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 6

Web Content Mining

Il Web Content Mining (WUM) indica il processo di scoperta di informazioni utili dall’analisi del contenuto del Web.

Tale contenuto può essere non-strutturato, semi-strutturato(documenti HTML o XML) o più strutturato (tabelle, database).

Una tassonomia del Web mining divide il Web content mining in due classi: Agent Based Approach e Database Approach.

Agent Based Approach prevede l’uso di agenti che possono operare autonomamente a semiautonomamente (per uno o un calsse di utenti) per scoprire e organizzare informazioni dal Web.

Page 7: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 7

Web Content Mining

Gli agenti in questa classe si dividono in:

Intelligent search agent

Vanno oltre i semplici search engines, usano, ad esempio, informazioni descriventi il profilo di un

utente o classe di utenti o altre specifiche informazioni per organizzare ed interpretare le informazioni

scoperte.

Information filtering

Utilizzano tecniche di IR, informazioni sui hyperlink in uso ed eventali altri approcci per classificare i documenti.

Page 8: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 8

Web Content Mining

Personalization Web agents

Collaborative filtering. Raccomanda pagine che sono state prima richieste da altri utenti aventi simile caratteristicheUser registration preferenceRaccomandazioni basate sul profilo o informazioni demografiche dell’utente.Content-based filteringRaccomanda pagine che risulano, in base a qualche criterio, simili al profilo dell’utente.

Database ApproachVede i dati Web come memorizzati in un database e quindi interrogabili tramite un linguaggio di query.

Page 9: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 9

Web Structure Mining

E’ il processo di scoperta di informazioni utili dall’analisi della struttura del sito (hyperlink) e/o delle pagine (tags HTML o XML).

L’informazione sulla struttura del sito Web può essere usata per classificare le pagine o creare misure di similarità tra documenti.

PageRank misura l’importanza di un pagina calcolando il numero di pagine

che a questa puntano.

Page 10: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 10

Web Usage Mining

Il Web Usage Mining (WUM) indica l'insieme complessivo dei processi, delle tecniche e delle tecnologie di data analysis, finalizzato alla scoperta di significativi schemi di comportamento (pattern) dai Web log descriventi la navigazione degli utenti in uno o più siti Web.

I Web log possono essere esaminati dal lato client o dal lato server.

Dal lato server permettono di scoprire informazioni sul sito/siti su cui il servizio risiede, che possono essere usate, ad esempio, per migliorare la struttura del sito

Dal lato client permettono di individuare informazioni su sequenze di click (clickstrem), sul singolo utente o su gruppi di utenti, che possono usate , ad esempio, per la personalizzazione del contenuto delle pagine.

Page 11: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 11

Scopi dello WUM

Web Usage Mining

Personali-zation

SystemImprovement

SiteModification

BusinnessIntelligence

Usage Charac-terization

Page 12: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 12

Scopi dello WUM

Personalization–Dei contenuti (banner, prodotti, campagne

pubblicitarie)–Recommendation systems

• Collaborative filtering– Similarità tra le preferenze di utente e le preferenze

espresse esplicitamente da altri utenti.

• Content-based filtering – Similitudine del contenuto di una pagina con il profilo

dell’utente.

• Usage-based filtering– Basato sulla storia delle visite dell’utente

Page 13: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 13

Scopi dello WUM Business Intelligence

– Customer attraction – Customer retention– Cross sales– Customer departure

System Improvement– Web caching– Network trasmission– Load balancing– Intrusion detection– Fraud, etc.

Page 14: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 14

Scopi dello WUM

Site ModificationDettagliato feedback sul comportamento degli

utenti per: permettere al Web designer di fare scelte di

ridisegno di un sito.costruire modelli adattivi che permettono di

cambiare automaticamente la struttura di un sito in modo da adattarlo meglio alle esigenze degli utenti.

Page 15: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 15

Scopi dello WUM

Web Usage CharacterizationConsiste nell’analisi di dati di log per fornire

informazioni quali: numero di risultati e pagine visitate, numero di visite, browser utilizzato, file salvati, ecc. atte a caratterizzare l’uso, il contenuto e la struttura di un sito Web.

In genere sono usate tecniche adatte ad ottenere informazioni strutturate (es. tecniche statistiche) che non fanno parte delle tecniche di data mining.

Page 16: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 16

Scopi dello WUM

Page 17: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 17

Page 18: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 18

Sorgenti di dati per WUM

Page 19: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 19

Sorgenti di dati per WUM

Server level– Il server Web registra, in uno o più file, i dati

descriventi il comportamento di navigazione degli utenti.

Client level– Il client invia a un repository informazioni concernenti

il proprio comportamento. Proxy level

– L’informazione è memorizzata livello server proxy.

Page 20: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 20

Livello Server Dati collezionati automaticamente nei file:

– Access log file• Dati relativi alle richieste effettuate dagli utenti. Memorizzai in

vari formati, i più comuni CLF (Common Log Format) o ECLF (Extended CLF)

– Error log file• Dati relativi ad errori incorsi durante l’invio delle pagine

richieste.

– Referrer log file• Memorizza lo URL della pagina dalla quale è stata effettuata la

richesta al sito.

– Agent log file• Memorizza il nome ed il numero della versione del browser

usato dall’utente per fare la richiesta.

Page 21: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 21

Server access log file

IP Address indirizzo Internet della macchina da cui proviene la richiesta, può corrispondere all’indirizzo di un server proxy.

UserId presente quando la richiesta richiede l’autenticazione per accedere a determinati file. Se non disponibile compare il segno “-”.

Time tempo al quale il Web server ha ricevuto la richiestaMethod/URL/Protocol modalità di accesso al Web serverStatus codice ritornato dal server in risposta all’azione richiestaSize numero di bytes trasmessi

Formato CLF

SizeStatusMethod/URL/Protocol

TimeUserid IP Address

Page 22: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 22

QuickTime™ e undecompressore TIFF (LZW)

sono necessari per visualizzare quest'immagine.

Page 23: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 23

Server access log file

IP Address indirizzo Internet della macchina da cui proviene la richiesta, può corrispondere all’indirizzo di un server proxy.

UserId presente quando la richiesta richiede l’autenticazione per accedere a determinati file.

Time momento in cui il Web server ha ricevuto la richiestaMethod/URL/Protocol modalità di accesso al Web serverStatus codice ritornato dal server in risposta all’azione richiestaSize numero di bytes trasmessiReferrer URL del documento da cui è stata emessa la richiesta della

pagina. Agent sistema operativo e browser utilizzati dal client

Formato ECLF

Agent ReferrerSizeStatusMethod/URL/Protocol

TimeUserid IP Address

Page 24: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 24

Method/URL/Protocol

Method: modalità di accesso al Web server GETGET, POST e HEAD

URL: indirizzo della della risorsa nel Web server Indica il file che è stato acceduto. Quando è specificata

una directory /, è il server a decidere che cosa ritornare all’utente. Di solito il file file “index.html” or “home.html”.

Protocol: nome del protocollo di comunicazioneHTTP/1.0

Page 25: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 25

Status

Status codes are defined by the HTTP

protocol. Common codes include:

200: OK3xx: Some sort of Redirection 4xx: Some sort of Client Error5xx: Some sort of Server Error

Page 26: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 26

Server access log file

Page 27: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 27

Server access log file

Causa la presenza di vari livelli di caching i dati collezionati possono non essere attendibili.

Gli accessi a pagine memorizzate nella cache del client o proxy non sono registrati nei server log.

Il modello stateless del protocollo HTTP non consente l’identificazione delle sessioni.

L’informazione inviata da browser al server tramite il metodo POST non è registrata nei file di log.

Page 28: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 28

Tempi di richiesta/risposta di una pagina

Page 29: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 30

Meccanismo dei Cookie

Un cookie è un identificatore del client generato dal server web e spedito ad un browser, che, se abilitato, lo memorizza per usi successivi.

In genere, è assegnato ad un browser la prima volta che questo si collega ad un server Web.

Il messaggio è poi inviato al server Web ogniqualvolta il browser richiede una pagina a tale server Web.

Principale uso: identificare gli utenti per fornire ad esse contenuti/servizi personalizzati.

Page 30: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 31

Formato del Cookie

In genere costituito da 7 campi:• Dominio identificatore del server che ha creato il cookie

• Metodo specifica il metodo con cui il cookie è inviato= TRUE se inviato usando un HTTP header= FALSE se inviato tramite un Javascript

• Path specifica il sottoinsieme di URL per cui il cookie è valido

• Secure specifica se il cookie è criptato• Expiration time specifica il tempo di vita del cookie• Name identifica il cookie• Value memorizza informazioni (es. pagine visitate, scelte

effettuate, ecc)

Il meccanismo dei cookie deve essere abilitato dal client.

Page 31: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 32

Livello Client

Dati collezionati tramite un agente software (es. Javascript o Java applets) o con specifiche estensioni al codice sorgente del browser usato.

L’uso di un browser modificato può permette di collezionare dati descriventi gli accessi a più siti Web.

In ambedue i casi è richiesta la collaborazione dell’utente.

Rispetto al livello server ha il vantaggio di rimuovere problemi dovuti all’uso della cache e all’identificazione delle sessioni.

Page 32: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 33

Livello Proxy

Un proxy Web opera come un intermediario tra i brower client e i server Web.

L’informazione è memorizzata a livello server proxy.

Può riguardare più siti Web. Sono collezionati i dati dei soli client che

accedono al sito passando per il server proxy.

Page 33: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 34

Data modelling

Le informazioni collezionate ai vari livelli possono essere usate per identificare varie astrazioni di dato.

W3C ha definito le astrazioni di dato:– User, Page view, Click stream, User session, Server

session, Episode

relative all’uso del Web. Possono essere usate per analizzare l’uso del Web.

Page 34: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 35

Data modelling User: un singolo individuo che sta accedendo file da uno o

più server Web tramite un browser. Page view: insieme di file (es. frame, graphic, ecc.) che

contribuisce alla visualizzazione di una singola pagina sul browser utente.

Click-stream: una sequenza di richieste di page view. User session: click-stream di page view per un singolo

utente all’intero dell’intero Web. Server session: insieme di page view relativo ad uno

specifico sito Web (comunemente detta visita o sessione). Episode: qualsiasi sottoinsieme semanticamente

significativo di un server o user session.

Page 35: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 37

Fasi del Processo di WUM

Page 36: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 38

WUM - Preprocessing

Consiste nel convertire i dati usage, content e strucure, collezionati ad i vari livelli, nelle astrazioni di dato adatte per la fase di pattern discovery.

Informazioni sul contenuto e struttura di un sito possono essere usate per, ad esempio, limitare l’analisi a pagine che si riferiscono ad un argomento, o ad una data struttura (es. pagine tra loro collegate).

Dipende dal tipo di studio che si intende effettuare. In generale può essere vista strutturata secondo tre fasi

principali: data cleaning, user/session identification, page view identification e un fase opzionale: path completion.

Page 37: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 39

Fasi del preprocessing

Page 38: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 40

Data cleaning

E’ una fase di “pulizia” del file di log per eliminare informazioni irrilevanti o outlier, rispetto all’analisi condotta.

La richiesta di una pagina comporta il download automatico di tutti i file che la costituiscono.

Ciò comportare la registrazione di più entry nei file di log.

Un approccio comune consiste nel mantenere solo la registrazione relativa alla pagina effettivamente richiesta.

Page 39: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 41

Data cleaning Tipicamente sono:

cancellate registrazioni relative a: file grafici (es. .gif o .jpg), agent o spider,

normalizzate le URL ad un formato comune,Es. sample.edu, www.sample.edu, www.sample.edu/ e www.sample.edu/index.html riferiscono tutte la stessa pagina.

cancellate le registrazioni relative a agent e spider (robots.txt),

cancellate le registrazioni il cui status code è diverso da 200. cancellate le richieste effettuate con i metodi POST e

HEAD. POST di solito si riferisce a richieste CGI, HEAD è normalmente usato dai robot. Richieste che di solito non si riferiscono a richieste fatte dagli utenti.

Page 40: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 42

Esempio di access log file nel formato CLF IP User

IDTime Method URL Protocol Status Size

128.456.78.9 ---- 15/Jun/2001:03:04:01 GET A.html HTTP/1.0 200 3290

128.456.80.5 ---- 15/Jun/2001:03:05:41 GET A.html HTTP/1.0 200 3290

128.456.78.9 ---- 15/Jun/2001:03:10:00 GET S.gif HTTP/1.0 200 590

128.462.03.5 ---- 15/Jun/2001:03:12:31 GET robots.txt HTTP/1.0 200 1120

128.456.05.3 ---- 15/Jun/2001:03:24:01 GET C.html HTTP/1.0 200 5590

128.456.80.5 ---- 15/Jun/2001:03:27:00 GET A.html HTTP/1.0 200 3290

128.462.03.5 ---- 15/Jun/2001:03:30:23 GET D.html HTTP/1.0 200 2270

128.456.90.5 ---- 15/Jun/2001:03:34:01 HEAD A.html HTTP/1.0 200 190

IP User ID Time Method URL Protocol Status Size

128.456.78.9 ---- 15/Jun/2001:03:04:01 GET A.html HTTP/1.0 200 3290

128.456.80.5 ---- 15/Jun/2001:03:05:41 GET A.html HTTP/1.0 200 3290

128.259.28.8 ---- 15/Jun/2001:03:24:01 GET B.html HTTP/1.0 200 3000

128.456.80.5 ---- 15/Jun/2001:03:27:00 GET C.html HTTP/1.0 200 5590

128.456.78.9 ---- 15/Jun/2001:03:30:23 GET B.html HTTP/1.0 200 3000

Es. di access log file ( form.CLF) dopo la fase data cleaning

Page 41: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 43

Problemi relativi alla identificazione degli utenti e sessioni

Individuazione degli utenti di un sitoRicostruzione del comportamento di navigazione

degli utenti (generalmente riferito ad un singolo sito)

Uso di Proxy serverUso di connessioni al sito tramite ISP (Information

Service Provider)Individuazione dei riferimenti a pagine

memorizzate nelle cacheImpossibilità dei Web server a distingure tra

differenti visite.

Page 42: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 44

Metodi per l’identificazione degli utenti e delle sessioni

Software agentImplementati in Java Applet sono caricati nel client-browser una sola volta all’esecuzione della prima richiesta. Pemettono di collezionare dati relativi alle richieste successive che sono inviati al server Web.

Modified browser Il codice sorgente del browser usato può essere modificato per collezionare dati relativi alle richieste fatte all’intero Web.

IPAddress/AgentAssume che ciascuna coppia IP address/Agent identifica un utente.

Embedded session IDAlla prima richiesta fatta da un client-browser al server, quest’ultimo ritorna la pagina richiesta modificata tramite l’inclusione di un ID identificante la sessione. Le richieste a pagine successive sono ricinosciute tramite tale ID.

Page 43: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 45

Metodi per l’identificazione degli utenti e delle sessioni

CookieUn token è memorizzato nel client-browser. Permette di identificare facilmente gli utenti di un sito Web

Registration L’utente accede al sito Web tramite le sue informazioni di registrazione al sito stesso.

Page 44: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 46

Identificazione degli utenti

Page 45: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 47

Identificazione degli utenti e delle sessioni

Dati disponobili nei server log per identificare l’utente e le sessioni: indirizzo IP, agent e click-stream dal lato server.

Alcuni tipici problemi che si incontrano in questo caso sono:– Singolo indirizzo IP/molteplici visite– Molteplici indirizzi IP/singola visita– Molteplici indirizzi IP/singolo utente– Molteplici visite/singolo utente– Singolo client/molteplici utenti

Page 46: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 48

Identificazione degli utentiSingolo ind. IP/molteplici server session

Proxyserver

Webserver

Client

Client

Singolo indirizzo IP usato da più utenti

Metodo IP address & Agent non applicabile

Molteplici client-browser accedono al Web passando

per un server proxy.

Page 47: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 49

Identificazione degli utenti Molteplici indirizzi IP/singola server session

Webserver

Client

ISPserver

Più indirizzi IP in una server session

Metodo IP address & Agent non applicabile

Ciascuna richiesta del client-browser puòessere evasa usando un differente indirizzo IP

Page 48: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 50

Identificazione degli utenti

Singolo client/molteplici utentiIn questo caso abbiamo lo stesso IP usato da più utenti che in

genere usano anche lo stesso browser. Molteplici sessioni server/singolo utente

Si verifica quando un utente apre più di un browser e accede simultaneamente parti differenti di un sito Web.

In questo caso l’utente accede con lo stesso IP usando lo stesso browser o differenti browser.

Molteplici indirizzi IP/singolo utenteSi verifica quando un pool di utenti condivide la stesso insieme

di elaboratori.Un utente che accede il Web da elaboratori differenti avrà un

IP differente da una sessione all’altra sessione.

Page 49: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 51

Metodo Embedded Session ID

1) Client-browser emette la richiesta2) Web server riceve la richiesta

e la passa a Web application3) Recupero del contenuto (pagina)4) Web application genera lo ID e

cambia ogni href (link ad altrer pagine) nella pagina agiungendoci lo ID

5) La pagina modificata è restituita dal web server al client-browser

Le richieste a pagine successive sono riconosciute tramite lo ID

Clientbrowser

Web server

Web application

Web content

<a href =“link.htm?ID> anchor text</a>

<a href =“link.htm> anchor text</a>

1

2

3 4

5

5

Page 50: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 52

Identificazione delle sessioni

Una volta che l’utente è stato individuato, il click-stream (la sequenza di richieste) di ciascun utente deve essere diviso in sezioni.

La non disponibilità delle richieste fatte ad altri siti Web rende difficile conoscere quando un utente ha lasciato un sito Web.

Un timeout di 30 minuti è comunemente usato per individuare la fine di una sessione.

Se il tempo che intercorre tra due richieste successive supera il timeout si assume che l’utente abbia iniziato una nuova sessione.

Page 51: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 53

Identificazione delle sessioni

L’uso di tecniche quali: cookie, registration, software agent, embedded session ID e modified browser, permettono una facile individuazione delle sessioni.

Nel caso peggiore in cui si hanno solo informazioni dai logs, gli utenti e le sessioni sono considerati essere la stessa cosa.

Non c’è modo di conoscere se sessioni identificate dalla stessa coppia IP/Agent sono dello stesso utente.

Page 52: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 54

Metodi per l’identificazione delle sessioni

Timeout: se il tempo che intercorre tra due richieste successive supera un certo limite si assume che l’utente abbia iniziato una nuova

sessione.Referring page file: se lo referring page file per

una richiesta non fa parte della sessione corrrente si assume che la richiesta viene da una sessione differente.

IP address/agent: un agent differente per un IP identifica una sessione differente

Page 53: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 55

Stesso IP-Agent/Differenti sessioni (Closest)Caso in cui la coppia IP/Agent potrebbe appartenere a più di una sessione.

La richiesta è assegnata alla sessione che è più vicina alla referrer page al momento della richiesta.

Stesso IP-Agent/Differenti sessioni (Recent) Nel caso in cui si abbiamo più sessioni con la stessa

distanza dalla pagina richiesta, la richiesta è assegnata alla sessione che ha acceduto la referrer page più di recente.

Metodi per l’identificazione delle sessioni

Page 54: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 56

Page 55: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 57

Page 56: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 58

Page 57: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 59

Using referrer and agent information, 4 sessions are determined

Page 58: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 60

Esempio di euristica per l’identificazione delle sessioni

• Basata sui metodi: – Timeout,– IP address/agent,– Referred file,– Closest e recent.

Page 59: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 61

Esempio di euristica per l’identificazione delle sessioni

Heuristic Session Identify1. Let Hi = {f1, …….., fn} denote a time ordered session history2. Let lj, fj, rj, tj denote a log entry (fj request, rj referrer, tj time)3. Let T denote the session timeout4. Sort data by IP address, agent, and time 5. for each unique IP/Agent pair do 6. for each lj do 7. if ((tj – tj-1) > T) V rj {H0, …….., Hm} then8. increment i 9. add lj to Hi 10. else11. assign = Distance(H, rj)12. add lj to Hassign 13. end

Page 60: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 62

Esempio di euristica per l’identificazione delle sessioni

Function Distance (H,f)1. Let Hi denote a time ordered session history2. Let f denote a page file3. set min = 99994. for each Hi H do5. if f Hi

6. d i = Hi.size() - Hi.index(f)7. t i = Hi.tn - Hi.tf

8. if (d i < min) then9. assign = i 10. min = d i

11. else if (d i = min)12. if (t i < tassign)13. assign = i 14. return assign15. end

Page 61: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 63

Esempio di identificazione delle sessioni

Le richieste alle linee 4,5,6 e 8 sono identificate come facenti di una sessione poiché hanno un agent differente dalle altre richieste.

Le altre possono fare parte o no di una stessa sessione.

Page 62: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 64

Esempio di identificazione delle sessioni

# IP

Time Request Referrer

1 15:04:41 index -

2 15:04:41 1 index

3 15:04:41 A index

7 15:05:18 C 1

9 15:05:43 index -

10 15:05:43 1 index

11 15:05:45 A index

12 15:06:01 H C

13 15:06:06 B 1

14 15:06:18 2 B

15 15:06:19 F B

16 15:06:36 1 C

17 15:07:24 G 2

18 15:07:49 4 F

19 15:07:49 F1 F

20 15:09:59 5 G

21 15:10:02 G3 G

Page 63: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 65

# IP

Time Request

Referrer

1 15:04:41 index -

2 15:04:41 1 index

3 15:04:41 A index

7 15:05:18 C 1

9 15:05:43 index -

10 15:05:43 1 index

11 15:05:45 A index

12 15:06:01 H C

13 15:06:06 B 1

Page 64: Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Web Usage Minig 66

H = [H1={index,1,A,C,H}, H2={index,1,A}]f = 1Step 1

H1 H e 1 H1 H1.size() = 5, H1.index(1) = 2, d1= 3, H1.tn = 15:06:06, H1.t1 = 15:04:41, t1 = 85, d1 < 9999 ==> assign = 1, min = 3.

Step 2 H2 H e 1 H2 H2.size() = 3, H2.index(1) = 2, d2= 1, H2.tn = 15:06:06, H2.t1 = 15:05:43, t2 = 23, d2 < min ==> assign = 2, min = 3.

E’ ritornato il valore 2, quindi la richiesta è associata alla sessione 2

Identificazione della sessione per la richiesta di linea 13

Tempo corrispondenteall’ultimo accesso al page file nella sessione H1

Tempo corrispondente all’accesso del page file nella richiesta trattata

Function Distance (H,f)1. Let Hi denote a time ordered 2. session history3. Let f denote a page file4. set min = 99995. for each Hi H do6. if f Hi

7. d i = Hi.size() - Hi.index(f)8. t i = Hi.tn - Hi.tf

9. if (d i < min) then10. assign = i 11. min = d i

12. else if (d i = min)13. if (t i < tassign)14. assign = i 15. return assign16. end