LINUX DAY 2006 I T A L I A ht://Miner a Complete Web Usage Mining System Il primo sistema completo open-source per l'analisi del comportamento degli utenti su Internet a cura di Gabriele Bartolini www.htminer.org © Comune di Prato e per alcune parti G.Bartolini Presentazione rilasciata sotto licenza Creative Commons Attribuzione - Non commerciale 2.5 Requisiti di ht://Miner Sistema Operativo Linux Compilatore GNU GCC e G++ PostgreSQL 8 PCRE (espressioni regolari compatibili Perl) Libreria Expat Zlib OpenSSL (md5) Gettext LINUX DAY 2006 I T A L I A 2 Sommario KDD & Web Usage Mining Log Analysis tradizionale PO-Net e ht://Miner Il valore aggiunto di ht://Miner Architettura di ht://Miner ht://Miner è Open-Source (Licenza GPL) LINUX DAY 2006 I T A L I A 3 PARTE I – KDD e WUM Una piccola introduzione ai concetti di Knowledge Discovery from Data e Web Usage Mining 4 Web Usage Mining ● Mining (dall'inglese “attività di estrazione da una miniera”) ● Web Usage (dall'inglese “utilizzo del Web”) Per chiarire il significato è necessario introdurre 3 concetti: ● KDD (Knowledge Discovery from Data) ● Data Mining ● Web Mining 5 KDD Knowledge Discovery from Data ● Processo di scoperta di conoscenze nascoste in una o più collezioni di dati, tramite l'impiego di strumenti analitici e tecniche: – Selezione dei dati – Filtraggio dei dati – Codifica dei dati – DATA MINING – Analisi – Azione 6 Data Mining ● Tappa fondamentale del procedimento di KDD ● Applicazione di tecniche (diverse a seconda degli scopi) su grosse moli di dati per la scoperta di conoscenza nascosta (nota con il termine pattern): – Classificazione – Stima – Predizione – Affinity Grouping (market basket analysis) – Clustering – Descrizione 7 Web Mining ● Data mining applicato al Web ● Web mining si divide in: ● – Web Structure Mining (si studia la struttura del Web, in termini di relazioni fra pagine) – Web Content Mining (si studia il contenuto del Web) – Web Usage Mining (si studia l'utilizzo che viene fatto del Web da parte degli utenti) Lo sapevate che un motore di ricerca è un'applicazione di Web Content Mining e possibilmente anche di Web Structure Mining? 8 WUM & ht://Miner 9 PARTE II – Log analysis tradizionale LINUX DAY 2006 I T A L I A 10 Statistiche degli accessi a siti web 1/2 I T A L I A Statistiche degli accessi a siti web 2/2 PRO: – Mostrano misure di frequenza interessanti (hits) per diversi fatti come richieste di pagine, visitatori unici, browser, sistemi operativi, etc. – Altamente configurabili CONTRO: – Non creano un database interrogabile – Non rilevano automaticamente gli spider – Non permettono l'integrazione dei dati con altre fonti interne (di struttura, di classificazione, etc.) 12 LINUX DAY 2006 I T A L I A PARTE III – PO-Net e ht://Miner LINUX DAY 2006 I T A L I A 13 PO-Net PO-Net è la rete civica provinciale di Prato Provincia: 242.497 residenti (al 31/12/2005) Partecipano: Comuni della Provincia, Camera di Commercio, ASL, Aziende a partecipazione pubblica, Biblioteche, Musei, Istituzioni Culturali, Scuole, Associazioni 140 gruppi di lavoro e redazioni 30 milioni di accessi alle pagine nel 2005 LINUX DAY 2006 I T A L I A 14 Nasce l'idea di ht://Miner 1/3 Esigenze della Rete Civica di Prato: – Snellire il procedimento di raccolta dei log dai vari server di Po-Net ed ottimizzare il procedimento di risoluzione degli indirizzi IP – Garantire la privacy dell'utente – Rendere immediatamente a disposizione i dati di accesso del giorno precedente – Creare un database relazionale storico degli accessi in grado di permettere il confronto di dati negli anni – Classificare in modo supervisionato le URL ed organizzarle in categorie di varia natura (organizzazione, tema, etc.) – Predisposizione al Data Mining – e.g. Market Basket Analysis (ieri, l'80% dei visitatori del sito x ha anche visitato il sito y) LINUX DAY 2006 I T A L I A 15 Nasce l'idea di ht://Miner 2/3 Analog si dimostrava sempre più inadeguato Costi di manutenzione alti per ottemperare alle inadempienze di Analog Esperienza accademica in Web Usage Mining Assenza di un potenziale competitor Esperienza sviluppo Open-Source = studio di fattibilità per nuovo sistema (2003) LINUX DAY 2006 I T A L I A 16 Nasce l'idea di ht://Miner 3/3 2003: L'analisi ed il progetto pilota di 4 mesi evidenziano le potenzialità dell'applicazione, scritta in C++ per GNU/Linux con database PostgreSQL e sfruttando i thread Sulla scia di ht://Dig e ht://Check il progetto viene nominato ht://Miner Lo sviluppo è ospitato su Sourceforge.net Il codice è distribuito con licenza GNU/GPL LINUX DAY 2006 I T A L I A 17 PARTE IV – Il valore aggiunto => ? LINUX DAY 2006 I T A L I A 18 Il valore aggiunto 1/5 Memorizzazione dei dati in RDBMS: – Disponibilità via rete (online) – Possibilità di interrogazione tramite SQL – Integrazione con altri sistemi, fonti di dati, applicazioni, interfacce (ODBC) Staging a due livelli: – Transazionale (dettaglio, archivio normalizzato) – Data warehouse (storico, denormalizzato) LINUX DAY 2006 I T A L I A 19 Il valore aggiunto 2/5 Creazione di un data warehouse: – Archivio prettamente orientato all'analisi e alla produzione di report – Strumento di supporto alle decisioni – Importanza della prestazione delle query a scapito della ridondanza (denormalizzazione) – Data Webhouse, trattandosi di dati sul Web Predisposizione al data mining Predisposizione a personalizzazione di massa LINUX DAY 2006 I T A L I A 20 Il valore aggiunto 3/5 ● Individuazione automatica delle sessioni (gruppi di richieste da parte di uno stesso utente con periodo di inattività minore di 30 minuti) ● Studio dei percorsi di navigazione ● Individuazione automatica delle transazioni (sottoinsieme delle sessioni) con particolare attenzione alla classificazione tra richieste di navigazione e di contenuto sulla base del tempo speso su una pagina (e.g. di contenuto se tempo > 15 secondi) 21 Il valore aggiunto 4/5 ● Tempo speso su ogni pagina ● Rilevazione supervisionata e automatica degli spider, tramite procedimenti euristici che ne studiano la tipologia delle richieste ● Supporto per localizzazione geografica sulla base dell'indirizzo IP ● Classificazione degli User Agent ● Classificazione dei sistemi operativi 22 Il valore aggiunto 5/5 ● Supporto per la classificazione delle URL in gerarchie organizzate a categorie, per una più organica attività di report ● Infine: – Architettura multi-thread per il processo di ETL (Extraction, Transformation, Load) – Supporto per access log di IIS con rilevazione automatica del formato di log – Risoluzione multi-thread degli indirizzi IP – Autotools e Internazionalizzazione (gettext) 23 Come classificare le URL in ht://Miner LINUX DAY 2006 I T A L I A 24 PARTE V – Architettura =? LINUX DAY 2006 I T A L I A 25 Architettura (a stack su 5 moduli/livelli con 3+ archivi) A) Pre-processing B) Processing C) Data Warehouse D) Analisi E) Mass Customisation 26 Fase 1: Pre-Processing LINUX DAY 2006 I T A L I A 27 Fase 2: Processing (1/3) LINUX DAY 2006 I T A L I A 28 Fase 2: Processing (2/3) ● ● Lettura dei dati di input – identificazione degli utenti (autenticati e anonimi) – identificazione delle sessioni Trasformazione dei dati – identificazione delle transazioni, secondo particolari algoritmi di IA; – [... continua ] LINUX DAY 2006 I T A L I A 29 I T A L I A Fase 3: Data warehousing LINUX DAY 2006 I T A L I A 31 Fase 4: Analisi (1/2) Il modulo di analisi è composto da: – Data mining – Online reporting (Web interface) – Standard reporting: ● ● ● ● Pagine HTML statiche documenti PDF Fogli elettronici Report di Business Object o altri strumenti OLAP LINUX DAY 2006 I T A L I A 32 Fase 4: Analisi (2/2) Al momento è in fase avanzata di sviluppo l'interfaccia Web, con libreria open-source in PHP in grado di fornire API per la produzione di documenti XML, (X)HTML tramite XSL e grafici al volo LINUX DAY 2006 I T A L I A 33 Fase 5: Personalizzazione di massa LINUX DAY 2006 I T A L I A 34 PARTE VI – Open-Source e futuro LINUX DAY 2006 I T A L I A 35 Sviluppo Open-Source 1/2 ● ht://Miner è software open-source in quanto i sorgenti sono rilasciati in GNU/GPL ● ht://Miner utilizza software open-source: – GNU/Linux – PostgreSQL – PHP – GNU C++ compiler e librerie ● Sourceforge.net e PgFoundry ● Forte investimento del Comune di Prato LINUX DAY 2006 I T A L I A 36 Sviluppo Open-Source 2/2 ● Aspettative di ROI per rilascio OS: – Testing diffuso con conseguenti: ● ● – Sviluppo diffuso con conseguenti: ● ● – Bug reporting diffuso Richieste di nuove funzionalità Patch fixing Sviluppo di moduli Partnership con aziende e Università: ● ● Proliferazione data warehouse Sviluppo di moduli di Data mining LINUX DAY 2006 I T A L I A 37 Stato di avanzamento ● Release 1.0: – Entro la fine del 2006 – Moduli di pre-processing, processing, caricamento del warehouse standard – Warehouse custom in grado di permettere: ● ● Classificazione di URL in gerarchie Richieste anonime raggruppate per giorno ● Attivazione su PO-Net prevista: 1.1.2007 ● Attualmente in fase di testing LINUX DAY 2006 I T A L I A 38 Alcuni numeri (dati a disposizione dal 1/10/07) ● 11 milioni di richieste (HTML, immagini, etc.) compresi gli errori (3GB) ● 330 mila host memorizzati ● 1.310.587 sessioni (300MB) ● 3 milioni di transazioni ● 1 milione di URL (630MB) ● 45 mila User Agent ● E ... 34 sistemi operativi :) LINUX DAY 2006 I T A L I A 39 Riepilogo KDD & Web Usage Mining Log Analysis tradizionale PO-Net e ht://Miner Il valore aggiunto di ht://Miner Architettura di ht://Miner ht://Miner è Open-Source (GNU GPL) LINUX DAY 2006 I T A L I A 40 Domande? LINUX DAY 2006 I T A L I A 41 GRAZIE Per informazioni: www.htminer.org LINUX DAY 2006 I T A L I A 42 Licenza di questa presentazione Tu sei libero: di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera ● di modificare quest'opera ● Alle seguenti condizioni: ● Attribuzione. Devi attribuire la paternità dell'opera nei modi indicati dall'autore o da chi ti ha dato l'opera in licenza. ● Non commerciale. Non puoi usare quest'opera per fini commerciali. Ogni volta che usi o distribuisci quest'opera, devi farlo secondo i termini di questa licenza, che va comunicata con chiarezza. ● In ogni caso, puoi concordare col titolare dei diritti d'autore utilizzi di quest'opera non consentiti da questa licenza. ● LINUX DAY 2006 I T A L I A 43