La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)

Presentazioni simili


Presentazione sul tema: "Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)"— Transcript della presentazione:

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

2 Web Usage Minig2 Web Usage Mining Analisi 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

3 Web Usage Minig3 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.

4 Web Usage Minig4 Finalità del WM Capire il comportamento degli utenti Analizzare il comportamente di navigazione degli utenti per capirne le preferenze e quindi massimizzare lattività commerciale. Capire chi compra e che cosa compra Scoprire la % di clienti acquisiti/persi Determinare lefficacia di un sito Web Capire i pattern di navigazione per migliorare la struttura del sito personalizzare la navigazione Misurare il successo dellattività di marketing Capire limpatto sullattività commerciale delle campagne di marketing Classificare gli utenti per personalizzare lofferta Misurare lefficacia di specifici banner pubblicitari.

5 Web Usage Minig5 Tassonomia di WM Web Page Content Mining Search Result Mining General Access Pattern Analisys Customized Usage Analisys Web Mining Web Usage Mining Web Content Mining Web Structure Mining Web Content Mining Processo di scoperta di informazioni utili dallanalisi del contenuto di dati Web. Web Structure Mining Processo di scoperta di informazioni utili dallanalisi 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, 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.

6 Web Usage Minig6 Web Content Mining Il Web Content Mining (WUM) indica il processo di scoperta di informazioni utili dallanalisi 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 luso di agenti che possono operare autonomamente a semiautonomamente (per uno o un calsse di utenti) per scoprire e organizzare informazioni dal Web.

7 Web Usage Minig7 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.

8 Web Usage Minig8 Web Content Mining Personalization Web agents Collaborative filtering. Raccomanda pagine che sono state prima richieste da altri utenti aventi simile caratteristiche User registration preference Raccomandazioni basate sul profilo o informazioni demografiche dellutente. Content-based filtering Raccomanda pagine che risulano, in base a qualche criterio, simili al profilo dellutente. Database Approach Vede i dati Web come memorizzati in un database e quindi interrogabili tramite un linguaggio di query.

9 Web Usage Minig9 Web Structure Mining E il processo di scoperta di informazioni utili dallanalisi della struttura del sito (hyperlink) e/o delle pagine (tags HTML o XML). Linformazione sulla struttura del sito Web può essere usata per classificare le pagine o creare misure di similarità tra documenti. PageRank misura limportanza di un pagina calcolando il numero di pagine che a questa puntano.

10 Web Usage Minig10 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.

11 Web Usage Minig11 Scopi dello WUM Web Usage Mining Personali- zation System Improvement Site Modification Businness Intelligence Usage Charac- terization

12 Web Usage Minig12 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

13 Web Usage Minig13 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.

14 Web Usage Minig14 Scopi dello WUM Site Modification Dettagliato 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.

15 Web Usage Minig15 Scopi dello WUM Web Usage Characterization Consiste nellanalisi 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 luso, 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.

16 Web Usage Minig16 Scopi dello WUM

17 Web Usage Minig17

18 Web Usage Minig18 Sorgenti di dati per WUM

19 Web Usage Minig19 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 –Linformazione è memorizzata livello server proxy.

20 Web Usage Minig20 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 linvio 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 dallutente per fare la richiesta.

21 Web Usage Minig21 Server access log file IP Address indirizzo Internet della macchina da cui proviene la richiesta, può corrispondere allindirizzo di un server proxy. UserId presente quando la richiesta richiede lautenticazione per accedere a determinati file. Se non disponibile compare il segno -. Time tempo al quale il Web server ha ricevuto la richiesta Method/URL/Protocol modalità di accesso al Web server Status codice ritornato dal server in risposta allazione richiesta Size numero di bytes trasmessi Formato CLF SizeStatusMethod/URL/ Protocol TimeUserid IP Address

22 Web Usage Minig22

23 Web Usage Minig23 Server access log file IP Address indirizzo Internet della macchina da cui proviene la richiesta, può corrispondere allindirizzo di un server proxy. UserId presente quando la richiesta richiede lautenticazione per accedere a determinati file. Time momento in cui il Web server ha ricevuto la richiesta Method/URL/Protocol modalità di accesso al Web server Status codice ritornato dal server in risposta allazione richiesta Size numero di bytes trasmessi Referrer URL del documento da cui è stata emessa la richiesta della pagina. Agent sistema operativo e browser utilizzati dal client Formato ECLF AgentReferrerSizeStatusMethod/URL/ Protocol TimeUserid IP Address

24 Web Usage Minig24 Method/URL/Protocol Method: modalità di accesso al Web server GET GET, 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 allutente. Di solito il file file index.html or home.html. Protocol: nome del protocollo di comunicazione HTTP/1.0

25 Web Usage Minig25 Status Status codes are defined by the HTTP protocol. Common codes include: 200: OK 3xx: Some sort of Redirection 4xx: Some sort of Client Error 5xx: Some sort of Server Error

26 Web Usage Minig26 Server access log file

27 Web Usage Minig27 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 lidentificazione delle sessioni. Linformazione inviata da browser al server tramite il metodo POST non è registrata nei file di log.

28 Web Usage Minig28 Tempi di richiesta/risposta di una pagina

29 Web Usage Minig29 Esempio di access log file nel formato ECLF

30 Web Usage Minig30 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.

31 Web Usage Minig31 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.

32 Web Usage Minig32 Livello Client Dati collezionati tramite un agente software (es. Javascript o Java applets) o con specifiche estensioni al codice sorgente del browser usato. Luso di un browser modificato può permette di collezionare dati descriventi gli accessi a più siti Web. In ambedue i casi è richiesta la collaborazione dellutente. Rispetto al livello server ha il vantaggio di rimuovere problemi dovuti alluso della cache e allidentificazione delle sessioni.

33 Web Usage Minig33 Livello Proxy Un proxy Web opera come un intermediario tra i brower client e i server Web. Linformazione è 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.

34 Web Usage Minig34 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 alluso del Web. Possono essere usate per analizzare luso del Web.

35 Web Usage Minig35 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 allintero dellintero 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.

36 Web Usage Minig36 Definizioni

37 Web Usage Minig37 Fasi del Processo di WUM

38 Web Usage Minig38 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 lanalisi 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.

39 Web Usage Minig39 Fasi del preprocessing

40 Web Usage Minig40 Data cleaning E una fase di pulizia del file di log per eliminare informazioni irrilevanti o outlier, rispetto allanalisi 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.

41 Web Usage Minig41 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, e 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.

42 Web Usage Minig42 Esempio di access log file nel formato CLF IPUser ID TimeMethodURLProtocolStatusSize /Jun/2001:03:04:01GETA.htmlHTTP/ /Jun/2001:03:05:41GETA.htmlHTTP/ /Jun/2001:03:10:00GETS.gifHTTP/ /Jun/2001:03:12:31GETrobots.txtHTTP/ /Jun/2001:03:24:01GETC.htmlHTTP/ /Jun/2001:03:27:00GETA.htmlHTTP/ /Jun/2001:03:30:23GETD.htmlHTTP/ /Jun/2001:03:34:01HEADA.htmlHTTP/ IPUser IDTimeMethodURLProtocolStatusSize /Jun/2001:03:04:01GETA.htmlHTTP/ /Jun/2001:03:05:41GETA.htmlHTTP/ /Jun/2001:03:24:01GETB.htmlHTTP/ /Jun/2001:03:27:00GETC.htmlHTTP/ /Jun/2001:03:30:23GETB.htmlHTTP/ Es. di access log file ( form.CLF) dopo la fase data cleaning

43 Web Usage Minig43 Problemi relativi alla identificazione degli utenti e sessioni Individuazione degli utenti di un sito Ricostruzione del comportamento di navigazione degli utenti (generalmente riferito ad un singolo sito) Uso di Proxy server Uso di connessioni al sito tramite ISP (Information Service Provider) Individuazione dei riferimenti a pagine memorizzate nelle cache Impossibilità dei Web server a distingure tra differenti visite.

44 Web Usage Minig44 Metodi per lidentificazione degli utenti e delle sessioni Software agent Implementati in Java Applet sono caricati nel client-browser una sola volta allesecuzione 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 allintero Web. IPAddress/Agent Assume che ciascuna coppia IP address/Agent identifica un utente. Embedded session ID Alla prima richiesta fatta da un client-browser al server, questultimo ritorna la pagina richiesta modificata tramite linclusione di un ID identificante la sessione. Le richieste a pagine successive sono ricinosciute tramite tale ID.

45 Web Usage Minig45 Metodi per lidentificazione degli utenti e delle sessioni Cookie Un token è memorizzato nel client-browser. Permette di identificare facilmente gli utenti di un sito Web Registration Lutente accede al sito Web tramite le sue informazioni di registrazione al sito stesso.

46 Web Usage Minig46 Identificazione degli utenti

47 Web Usage Minig47 Identificazione degli utenti e delle sessioni Dati disponobili nei server log per identificare lutente 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

48 Web Usage Minig48 Identificazione degli utenti Singolo ind. IP/molteplici server session Proxy server Web server 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.

49 Web Usage Minig49 Identificazione degli utenti Molteplici indirizzi IP/singola server session Web server Client ISP server 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

50 Web Usage Minig50 Identificazione degli utenti Singolo client/molteplici utenti In 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 lutente accede con lo stesso IP usando lo stesso browser o differenti browser. Molteplici indirizzi IP/singolo utente Si 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 allaltra sessione.

51 Web Usage Minig51 Metodo Embedded Session ID 1)Client-browser emette la richiesta 2)Web server riceve la richiesta e la passa a Web application 3)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 Client browser Web server Web application Web content anchor text anchor text

52 Web Usage Minig52 Identificazione delle sessioni Una volta che lutente è 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 lutente abbia iniziato una nuova sessione.

53 Web Usage Minig53 Identificazione delle sessioni Luso 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.

54 Web Usage Minig54 Metodi per lidentificazione delle sessioni Timeout: se il tempo che intercorre tra due richieste successive supera un certo limite si assume che lutente 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

55 Web Usage Minig55 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 lidentificazione delle sessioni

56 Web Usage Minig56

57 Web Usage Minig57

58 Web Usage Minig58

59 Web Usage Minig59 Using referrer and agent information, 4 sessions are determined

60 Web Usage Minig60 Esempio di euristica per lidentificazione delle sessioni Basata sui metodi: –Timeout, –IP address/agent, –Referred file, –Closest e recent.

61 Web Usage Minig61 Esempio di euristica per lidentificazione delle sessioni Heuristic Session Identify 1. Let H i = {f 1, …….., f n } denote a time ordered session history 2. Let l j, f j, r j, t j denote a log entry (f j request, r j referrer, t j time) 3. Let T denote the session timeout 4. Sort data by IP address, agent, and time 5. for each unique IP/Agent pair do 6. for each l j do 7. if ((t j – t j-1 ) > T) V r j {H 0, …….., H m } then 8. increment i 9. add l j to H i 10. else 11. assign = Distance(H, r j ) 12. add l j to H assign 13. end

62 Web Usage Minig62 Esempio di euristica per lidentificazione delle sessioni Function Distance (H,f) 1.Let H i denote a time ordered session history 2.Let f denote a page file 3.set min = for each H i H do 5. if f H i 6. d i = H i.size() - H i.index(f) 7. t i = H i.t n - H i.t f 8. if (d i < min) then 9. assign = i 10. min = d i 11. else if (d i = min) 12. if (t i < t assign ) 13. assign = i 14. return assign 15.end

63 Web Usage Minig63 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.

64 Web Usage Minig64 Esempio di identificazione delle sessioni #IPIP TimeRequestReferrer 115:04:41index- 215:04:411index 315:04:41Aindex 715:05:18C1 915:05:43index- 1015:05:431index 1115:05:45Aindex 1215:06:01HC 1315:06:06B1 1415:06:182B 1515:06:19FB 1615:06:361C 1715:07:24G2 1815:07:494F 1915:07:49F1F 2015:09:595G 2115:10:02G3G

65 Web Usage Minig65 #IPIP TimeReques t Referre r 115:04:41index- 215:04:411index 315:04:41Aindex 715:05:18C1 915:05:43index- 1015:05:431index 1115:05:45Aindex 1215:06:01HC 1315:06:06B1

66 Web Usage Minig66 H = [H1={index,1,A,C,H}, H2={index,1,A}] f = 1 Step 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 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 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 corrispondente allultimo accesso al page file nella sessione H1 Tempo corrispondente allaccesso del page file nella richiesta trattata Function Distance (H,f) 1.Let H i denote a time ordered 2.session history 3.Let f denote a page file 4.set min = for each H i H do 6. if f H i 7. d i = H i.size() - H i.index(f) 8. t i = H i.t n - H i.t f 9. if (d i < min) then 10. assign = i 11. min = d i 12. else if (d i = min) 13. if (t i < t assign ) 14. assign = i 15. return assign 16.end


Scaricare ppt "Web Usage Minig1 Web Usage Mining (Analisi dei dati di log)"

Presentazioni simili


Annunci Google