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