ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
ht://Miner
Un sistema open-source di data mining e data warehousing per lo studio dei
comportamenti degli utenti su Internet
Gabriele Bartolini
Comune di Prato – Sistema Informativo
Servizi di E-government e Open-Source
[email protected]
www.htminer.it
PAAL: Pubblica Amministrazione Aperta e Libera
Opportunità, Criticità ed Esperienze nell’Adozione di Standard Aperti
e Software Libero nella Pubblica Amministrazione
Sardegna Ricerche, Pula (Cagliari), 15 e 16 marzo 2007
1
-
Sommario
•
•
•
•
•
•
•
•
•
•
•
•
Prato e la sua rete civica: Po-Net
Comune di Prato e software libero
Web Usage Mining
Strumenti di web log analysis tradizionale
Obiettivi principali di ht://Miner
Architettura di ht://Miner
Pre-Processing
Processing
Data Warehouse
Analisi
Il futuro di ht://Miner
Conclusioni
2
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Prato e la sua rete civica: Po-Net
•
•
•
•
•
•
Popolazione residente nella provincia di Prato al 31/12/2005: 242.497
Progetto Po-Net nasce nel 1995 e vede coinvolti:
– Comuni della Provincia
– Provincia
– Prefettura
– Camera di Commercio
– ASL
– Aziende a partecipazione pubblica
– Biblioteche
– Musei
– Istituzioni culturali
– Scuole
– Associazioni
Fa parte di RTRT (Rete Telematica Regionale Toscana)
E' composto da 140 gruppi di lavoro e redazioni
Il coordinatore è l'ufficio Rete Civica del Comune di Prato
Circa 37 milioni di richieste ai siti web di Po-Net nel corso 2006
3
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Comune di Prato e software libero (soggetto attivo)
•
•
•
Progetti:
– ht://Dig Search Engine (1999 – 2003)
– ht://Check Link Checker (dal 1999)
– ht://Miner Web Usage Mining System (dal 2003)
– OpenCabling (dal 2001)
Vantaggi:
– Crescita professionale del personale interno
– Maggiore stabilità e robustezza del software (testing diffuso)
– Suggerimenti e contribuzioni volontarie (utilizzo diffuso)
Costi:
– Metabolizzare il cambio di portata del progetto
– Gestione di servizi rivolti alla comunità di utilizzatori (attività di supporto)
– Adeguamento a standard per il processo collaborativo di sviluppo software, in
un'ottica globale (e.g. Internazionalizzazione dei sorgenti, siti web, mailing list,
ecc.)
4
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Web Usage Mining
•
•
•
•
•
E' parte integrante delle seguenti discipline di IT:
– Knowledge Discovery from Data (KDD)
– Data mining, in particolare Web mining (data mining applicato al web)
Dall'inglese:
– Web usage: utilizzo del web (riferito agli utenti navigatori di Internet)
– Mining: attività di estrazione di conoscenza nascosta da dati
Processo di scoperta e analisi di modelli (pattern) che concentra l'attenzione
sui dati relativi agli accessi effettuati dagli utenti (Web usage data)
Rientrano in questa categoria i processi di analisi degli accessi collezionati a livello
di:
– HTTP server (server web)
– HTTP proxy server
– ISP
– HTTP client
L'argomento di questa presentazione verterà su accessi a server HTTP
5
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Strumenti di web log analysis tradizionale open-source
•
•
•
Alcuni esempi: AWStats, Webalizer, Analog
PRO:
– Altamente configurabili
– Produzione di report statistici descrittivi molto chiari
– Supporto efficiente
– Stabilità
CONTRO:
– Elaborazione di file di testo (log)
– Staticità dei report prodotti (istantanea)
– Ogni modifica al report richiede una rielaborazione totale
– Mancanza di integrazione con fonti di dati ausiliarie
– Assenza di un database relazionale pluriennale modellato sulle esigenze di
business
6
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Obiettivi principali di ht://Miner
•
•
•
•
•
•
•
•
•
•
Memorizzazione automatica delle informazioni in un RDBMS
Creazione di un data warehouse per il supporto alle decisioni (DSS)
Predisposizione al data mining:
– Association rules (market basket analysis)
– Path analysis
– Clustering
Individuazione automatica dei visitatori unici, delle sessioni, delle transazioni e del
tempo speso
Rilevazione supervisionata e automatica degli spider
Supporto per la localizzazione degli indirizzi IP tramite GeoIP
Classificazione delle URL in strutture gerarchiche organizzate a categorie
Creazione di un framework di astrazione in PHP (libreria middleware) per
l'interrogazione online
Rispetto e garanzia della privacy
...
7
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Architettura di ht://Miner
•
Architettura a stack su 5 livelli:
– Pre-processing
– Processing
– Data warehousing
– Analisi:
• Data mining
• Report
• Interrogazione via Web
– Personalizzazione di massa
8
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Pre-Processing
•
•
•
Punto di partenza: Access Log (file di testo prodotti dal server)
Obiettivi: preparare i dati per la scoperta di conoscenza
Task:
– Leggere file di access log (formati diversi)
– Creare un archivio temporaneo (flat table)
– Filtrare le richieste (esclusioni)
– Importare le richieste nell'archivio temporaneo
– Risolvere gli indirizzi IP in nomi di host
9
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Processing
•
•
•
Punto di partenza: archivio temporaneo
Obiettivi:
– scoprire conoscenza
– organizzare i dati in un DB normalizzato
Task:
– Organizzare i dati provenienti dal DB temporaneo in:
• Visitatori unici
• Sessioni
– Ordinare le richieste per tempo di richiesta
– Trasformare i dati:
• Identificando le transazioni
• Rilevando gli spider
• Classificando gli user agent
• Localizzando le richieste sulla base dell'indirizzo IP
– Memorizzare i dati nell'archivio delle transazioni (OLTP)
10
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Data Warehouse
•
•
•
Punto di partenza: database transazioni
Obiettivi: creare il data warehouse
Task:
– Organizzare il data warehouse di primo livello:
• Secondo lo schema a stella (star schema):
– Fatti
– Dimensioni
• Recupera i dati dal DB delle transazioni
• Memorizza i subject:
– Richieste di pagine
– Richieste di errori
– Modellare il DB sulla base delle esigenze:
• Data warehouse di secondo livello
• Sistema per la classificazione delle URL
• Richieste anonime (esclusi motori di ricerca)
11
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Analisi
•
•
•
Punto di partenza: database transazioni e data warehouse
Obiettivi: scoprire informazioni e/o presentarle al personale di business come
supporto alle decisioni
Task:
– Integrare ht://Miner con applicazioni esterne e/o librerie di data mining
– Presentare informazioni tramite interfaccia web (tramite middleware PHP)
– Produrre report riepilogativi statici (PDF, HTML, RTF, ...) opportunamente
commentati (dossier di business)
– Interfacciare ht://Miner con sistemi OLAP
12
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Il futuro di ht://Miner
•
•
•
•
•
•
ht://Miner attualmente sfrutta una minima parte delle sue potenzialità
I prossimi punti di intervento su ht://Miner riguardano:
– Portabilità e stabilità (e.g.: utilizzo del framework C++ ACE)
– Modulo di data mining
– Ampliamento dei subject memorizzati nel data warehouse (visite, punti di
ingresso, ecc.)
– Analisi (creazione di report statici in modo supervisionato)
Il Comune di Prato cerca partner (imprese, universita') per continuare lo sviluppo:
– Open-source
– Collaborativo (community)
Il Comune di Prato offre la sua assistenza per il riuso del software da parte di altri
enti pubblici all'interno delle reti civiche
Il Comune di Prato propone la fornitura del servizio di analisi in ASP per gli enti
pubblici che non sono in grado di gestirlo in proprio
In senso lato, il Comune di Prato offre la sua esperienza pluriennale nello
sviluppo cooperativo di software open-source sul territorio nazionale
13
ht://Miner - PAAL 2007, Pula (CA) - Gabriele Bartolini - 15/03/2007
Conclusioni
Riferimenti Utili:
• Sito principale di presentazione del progetto
– http://www.htminer.it
•
Sito di sviluppo su Sourceforge.net
– http://www.sourceforge.net/projects/htminer
Prossime iniziative:
• Prima edizione italiana del PostgreSQL Day (PGDay):
– Monash University, Prato, 6-7 luglio 2007
– Interverranno i principali esponenti della comunità mondiale
– Partecipazione gratuita
– Patrocinio: Comune e Provincia di Prato, Regione Toscana
– http://www.pgday.it
Domande?
GRAZIE
14