All. 1 RELAZIONE FINALE CONSUNTIVA PROGRAMMA DI RICERCA SETTORE SOCIETÀ DELL’INFORMAZIONE Progetto SP2 Tecnologie per arricchire e fornire accesso a contenuti Responsabile U.O. Domenico Talia Linea e Tema di appartenenza: Azione 2 - Mine the Web Titolo della ricerca: Web mining, data mining, parallel algorithms, distributed knowledge discovery Obiettivo/i previsto/i: Gli obiettivi delle attività di ricerca dell’unità ICAR-CNR (già unità ISI nella proposta di progetto) erano: La progettazione di tecniche di Web usage mining per il caching intelligente tramite algoritmi di Web caching che impiegano modelli predittivi degli accessi al Web. La progettazione, realizzazione e valutazione di algoritmi paralleli di data/web mining. Lo scopo è quello di costruire sistemi di data mining scalabili e paralleli per dati Web a larga scala in grado di manipolare sorgenti di dati di dimensioni fino ai Tera Byte. Il Web usage mining ha applicazioni significative nell’ambito della gestione dei siti Web, che variano dalla ristrutturazione adattiva fino all’ottimizzazione del traffico. Un obiettivo di questa attività di ricerca è lo sviluppo di algoritmi di Web caching che impiegano modelli predittivi degli accessi al Web; l’idea è quella di estendere la politica LRU (last recently used) dei Web e Proxy servers rendendola sensibile ai modelli di accesso ai Web estratti dai dati di log mediante tecniche di analisi di data mining. Si studiano due approcci: uno basato su regole di associazione e l’altro su alberi di decisione. I risultati sperimentali dei nuovi algoritmi mostrano miglioramenti sostanziali rispetto alle tecniche tradizionali di caching, in termini di documenti Web direttamente rinvenuti nella cache (hit rate). Inoltre nell’ambito del progetto l’unità ISI intendeva occuparsi della progettazione di algoritmi paralleli di data/web mining. La crescita esponenziale dei documenti presenti nel Web comporta la necessità di individuare soluzioni altamente scalabili ed efficienti per la realizzazione delle Web Search Engine (WSE). Questo è particolarmente vero se viene adottato un modello di IR che prevede la raccolta centralizzata delle informazioni per l’indicizzazione e la ricerca. Oltre alla riduzione della latenza delle fasi di recupero ed indicizzazione dei documenti tramite parallelizzazione e distribuzione, il sistema di gestione delle interrogazioni deve essere altamente distribuito in modo da garantire espandibilità, affidabilità e soprattutto throughput elevato. Le esigenze di parallelizzare gli algoritmi di DM per diminuirne i tempi di risposta sono ben noti. L’approccio che si intendeva perseguire in questa ricerca riguardava lo studio di nuovi algoritmi di DM che sfruttassero tecniche implementative efficienti per ridurre l'impatto dell'I/O sulle prestazioni, e che tenessero conto delle nuove problematiche introdotte dallo sfruttamento di testbed paralleli commodity. Lo scopo finale era quello di costruire dimostratori di DM per dati Web a larga scala e paralleli in grado di manipolare sorgenti di dati di dimensioni fino ai Tera Byte. PAAS Schema consuntiva U.O. RG All. 1 Riassunto dei risultati L’unità ICAR-CNR (ex ISI-CNR) si è concentrata principalmente in tre contesti applicativi: Web Usage Mining, Web Content/Structure mining e tecniche per la definizione e/o la valutazione di algoritmi paralleli di data/web mining. Di seguito sono descritti i risultati principali conseguiti dall’ICAR-CNR in seno al progetto. Web Usage Mining. Il punto di partenza della ricerca dell’ICAR è stato la progettazione di tecniche di Web usage mining per il caching intelligente. A questo proposito, l’ICAR si è concentrato sull’utilizzo di tecniche di clustering per la descrizione di modelli comportamentali da poter utilizzare per la definizione di modelli predittivi per il caching. L’analisi in quest’ambito si è concentrata essenzialmente sul clustering di dati ad altissima dimensionalità. I dati ad altissima dimensionalità hanno una connessione diretta con i dati Web. Ad esempio, le sessioni di utilizzo di un servizio Web possono essere rappresentati come una tupla in uno spazio n-dimensionale dove la dimensione n è altissima (tipicamente, dell’ordine di 106). Ogni dimensione rappresenta una risorsa Web che può essere acceduta: se effettivamente un utente la accede, una tupla che descrive la sessione dell’utente conterrà il valore booleano true in corrispondenza di quella colonna. Viceversa, se la risorsa non viene acceduta, allora la tupla conterrà il valore false. Partendo dallo studio preliminare fatto in [1], in cui vengono analizzate le caratteristiche dei dati ad altissima dimensionalità e si studia l’estensione del k-Means a tale tipo di dati, l’attività di ricerca dell’ICAR procede in due direzioni direzioni principali. Una direzione deriva dall’osservazione che le tecniche in letteratura non prendono in considerazione la similarità di pagine web, sia dal punto di vista dei contenuti e della struttura, sia dal punto di vista comportamentale. Due pagine simili dal punto di vista comportamentale (ovvero, che puntano allo stesso insieme di pagine, o che vengono puntate dallo stesso insieme di pagine), è probabile che siano visitate collegialmente. Da questo punto di vista, si è studiato in [2,3] un approccio differente: di considerare un sottoinsieme di interesse del Web come un grafo ``alla Kleinberg'' (ma senza considerare la struttura a link risultante dalla pagine stesse, quanto piuttosto quella risultante dall'analisi dei logs). Tale approaccio permette di individuare velocemente tali similarità dall'analisi, appunto, del grafo, e consequentemente di tarare le tecniche di caching tradizionali (come LRU, LFU o anche le tecniche di LRU intelligente) affinché prendano in considerazione tali similarità. Il contributo dato in quest’ambito è stato: Un nuovo schema di clustering per partizionare le sessioni di navigazione degli utenti in gruppi di transazioni simili, che permettano di scoprire e modellare il comportamento navigazionale di un insieme di utenti in termini di medoidi generalizzati (ovvero, patterns sequenziali che occorrono frequentemente nei clusters). Un nuovo approccio al calcolo della similarità tra transazioni. Tale approccio, originariamente concepito nell’ambito applicativo del Web Caching (e dimostratosi efficace anche in ambito di personalizzazione), prevede di considerare i contesti delle pagine per definire la topologia delle sequenze navigazionali. PAAS Schema consuntiva U.O. RG All. 1 Una nozione originale di similarità tra pagine Web, che consideri la prossimità di pagine come il risultato sia di similarità di contenuti che di similarità d’uso. Una ulteriore direzione studiata [4] è stato lo sviluppo di un approccio completamente automatico al clustering di dati ad altissima dimensionalità. La tecnica è basata su una procedura iterativa in due fasi, ed ha un decorso molto simile a quello dello sviluppo degli alberi di decisione. Il vantaggio principale dell’algoritmo, chiamato AT-DC, è la sua totale automaticità: l’algoritmo non richiede parametri, e dato un database di input restituisce la migliore partizione ottenibile. Si è infine investigata l’estensione degli approcci descritti a problemi di streaming. Si tratta cioè di problemi in cui i dati disponibili vengono aggiornati di continuo, per cui ci si può aspettare che i modelli estratti abbiano una intrinseca dinamicità. A questo proposito, si è sviluppato un algoritmo incrementale è stato proposto in [16]. L’algoritmo fa uso di unta tecnica di indicizzazione basata su tecniche hash, che di fatto rende il processo di clusterizzazione lineare nella dimensione dei dati: in pratica, per ogni nuova tupla che arriva, si riesce a decidere in tempo costante se esiste un cluster a cui associarla, o se viceversa si deve creare un nuovo cluster. Un aspetto interessante è che le tecniche investigate si prestino non solo al loro utilizzo nell’ambito del Web Caching, ma in generale permettano di approcciare proficuamente il problema della personalizzazione. A questo proposito, si è studiato come la combinazione di informazioni di Content, Usage e Structure permettano la definizione di tecniche estremamente efficaci nel campo della personalizzazione [3,5]. Più in generale, la combinazione di tecniche di analisi di content, usage e structure è stata studiata estensivamente in un caso applicativo: l’erogazione personalizzata di Usenet news [3,6]. Il focus in quest’ambito applicativo è stato in una prospettiva di ottimizzazione: l’adattamento della conoscenza estratta alle richieste, gli interessi e le aspettative degli utenti del servizio, con l’obiettivo di ampliare la loro esperienza navigazionale. L’analisi a portato a nuove tecniche per la gestione di news articles, la ristrutturazione di threads di Usenet in comunità di articoli correlati, tale da favorire un reperimento più efficace da parte dell’utente dell’informazione desiderata, il miglioramento dell’accessibilità agli articoli. Web Content/Structure Mining In quest’ambito, i contributi principali del gruppo di ricerca dell’ICAR sono essenzialmente due. Il primo riguarda l’analisi dei dati testuali. A questo proposito l’obiettivo principale è stato quello di sfruttare tecniche di Content Mining per la definizione di un sistema di classificazione di messaggi di posta elettronica capace di organizzare automaticamente i messaggi memorizzati nella mailbox di un utente. La classificazione dei messaggi può essere vista essenzialmente come un problema di Content Mining: dato un insieme di documenti testuali (i.e., i contenuti dei messaggi), l'obiettivo principale è la loro classificazione in base al contenuto. Lo studio si è concentrato prevalentemente sulla possibilità di sfruttare le tecniche di clustering per organizzare in gruppi omogenei i messaggi di posta elettronica rappresentati dalle informazioni strutturate e non strutturate adeguatamente estratte. I contributo principale in quest’ambito è stato il sistema AMCo [8,9], che permette di affrontare l’aggiornamento incrementale dell'organizzazione della mailbox all'arrivo di nuovi messaggi, nonché l’adattamento dell'organizzazione in base al comportamento mostrato dall'utente di fronte alla classificazione dei messaggi, in modo tale che le successive assegnazioni tengano conto anche dell'esigenze e delle preferenze dell'utente. PAAS Schema consuntiva U.O. RG All. 1 Un ulteriore contributo nell’ambito del content mining è stata la definizione ed implementazione di un tool di clustering per dati multidimensionali [7]. Il tool implementa una tecnica di clustering visuale particolarmente adatta a dati testuali/web, che permette l’esplorazione dello spazio delle features in maniera guidata e interattiva. Infatti, la tecnica permette di individuare clusters di forma differente o che fanno riferimento a nozioni di similarità variegate. La tecnica effettua una decomposizione SVD (singular value decomposition) di un insieme di dati, per fornire una rappresentazione bidimensionale dei dati particolarmente adatta per essere analizzata in maniera visuale. Un ulteriore aspetto che si è investigato riguarda lo sviluppo di una tecnica di Named Entity Recognition, basata su un algoritmo di classificazione a regole che ricorsivamente migliora la confidenza nella classificazione arricchendo il dominio in considerazione con la conoscenza che progressivamente scopre. La tecnica è introdotta in [15], ed è basata sul paradigma della progressive classification (ovvero, una classificazione a stadi multipli dove, ad ogni stato intermedio, un classificatore è appreso a analizza i frammenti testuali non riconciliati sinora). Il secondo filone di investigazione riguarda l’analisi dei dati XML. In quest’ambito, si volevano definire tecniche di data mining per il delivery di informazione sintetizzata da documenti HTML/XML. Si sa che i dati XML/HTML oggi giorno sono ritenuti la sorgente di informazione più ricca sul Web. A questo proposito, l’attività dell’ICAR si è concentrata nel definire tecniche per l’analisi di tali dati. Un primo contributo significativo è stato l’analisi della similarità strutturale di documenti XML [13]. La tecnica sviluppata fa uso di una rappresentazione di un documento XML come serie temporale. L’analisi delle frequenze della serie permette di stabilire, in maniera estremamente efficace, le similarità e differenze tra segnali che rappresentano differenti documenti. Inoltre, è stata studiata l’applicabilità della tecnica al caso di documenti HTML per l’analisi della loro struttura [14]. In quest’ambito, è stata proposta un’architettura che combina crawling e information extraction di pagine Web. In tale architettura, il ruolo principale è ricoperto da un classificatore distance-based che accomuna pagine con struttura simile da cui quindi è più facile estrarre informazioni. Il classificatore fa uso di una rappresentazione di un documento XML/HTML come serie temporale. L’analisi delle frequenze della serie permette di stabilire, in maniera estremamente efficace, le similarità e differenze tra segnali che rappresentano differenti documenti. Il concetto di similarità investigato può essere usato proficuamente anche in congiunzione ad algoritmi di clustering di dati XML, che possono essere utilizzati per l’organizzazione e l’indicizzazione delle grandi repositories di dati. A questo proposito, si è studiato il problema del clustering con rappresentanti, fornendo una caratterizzazione teorica e un’implementazione pratica [14]. L’intuizione principale, sulla quale si fonda l’approccio, risiede nella constatazione che un adeguato “rappresentante” possa essere ottenuto come il risultato di un’opportuna sovrapposizione di tutti i documenti contenuti all’interno del cluster, in modo tale che il rappresentante conservi le caratteristiche strutturali comuni ed, allo stesso tempo, sia una rappresentazione compatta. La nozione di “rappresentante” così proposta risulta molto utile nel contesto applicativo preso in considerazione: la valutazione efficiente di espressioni XPath su una repository di documenti. Un prototipo preliminare è stato sviluppato e presentato all’Industrial Day tenutosi a Roma nel giugno 2004. Studio, definizione ed implementazione di tecniche di data mining parallele Per ciò che riguarda la parallelizzare di algoritmi di DM è stata studiata l'esplicitazione di diverse forme di parallelismo nelle tecniche di data mining e knowledge discovery. Lo scopo è stato quello di PAAS Schema consuntiva U.O. RG All. 1 analizzare tecniche di data mining su architetture parallele e di mostrare come le applicazioni di data mining e knowledge discovery su grandi moli di dati possono beneficiare delle funzionalità, degli strumenti e delle elevate prestazioni offerte dai sistemi di elaborazione paralleli. Sono state esaminate le problematiche e le tecniche di analisi dei dati e i diversi modi possibili per esplicitare il parallelismo presente in esse. Inoltre sono stati effettuati esperimenti di parallelizzazione di un algoritmo di clustering su macchine parallele di tipo MIMD a memoria distribuita. La disponibilità di grosse moli di dati ha portato negli ultimi anni ad un crescente interesse nell’ analisi e realizzazione di tecniche di data mining su architetture parallele e nel cercare proprietà in un ambiente con dati e computazione distribuite. Tipicamente gli algoritmi di data mining distribuito fanno una analisi locale dei dati, a cui segue la generazione di un modello globale attraverso la aggregazione dei risultati locali. Esistono varie tecniche per combinare modelli multipli dei dati generati con lo stesso o differenti metodi. Una prima proposta, nota col nome di bagging (bootstrap aggregating) viene dalla statistica e si basa sulla costruzione di bags di dati della stessa grandezza del training set applicando campionamento random con sostituzione. Ogni bag è creato campionando uniformemente le istanze del training set. Questo significa che ogni tupla potrebbe comparire più di una volta in ogni bag mentre altre potrebbero essere assenti. A questo punto un certo numero k di classificatori è generato utilizzando come istanze su cui addestrarsi i vari bag, ed un classificatore finale viene ottenuto combinando i k classificatori applicando una regola di voto per la predizione delle nuove tuple. Breiman stesso ha suggerito che, quando il data set è troppo grande da essere memorizzato in memoria centrale, si potrebbero partizionare i dati in piccoli pezzi e costruire un predittore su ogni pezzo, quindi fondere i vari predittori insieme. Sono state studiate altre tecniche più complesse, quali il boosting che cambia adattativamente la distribuzione del campione in base alla difficoltà di classificare una tupla. Bagging, boosting e varianti sono state studiate e confrontate ed è stato mostrato che esse migliorano l’accuratezza di classificazione. In questo ambito l’unità ICAR-CNR ha realizzato una implementazione parallela della tecnica di bagging in cui, supponendo di avere a disposizione un certo numero p di processori, una certa frazione del data set viene distribuita sui p processori e, su ognuno viene addestrato un classificatore considerando solo i dati locali a disposizione. Quindi i vari classificatori sono scambiati tra i nodi in modo che ognuno abbia a disposizione un ensemble di classificatori. Infine viene applicata un semplice politica di voting a maggioranza per classificare le tuple del test set. Sono stati fatti una serie di esperimenti su alcuni data set ben noti in letteratura supponendo di utilizzare un numero variabile di processori, in particolare 5, 10 15 e considerando su ogni nodo il 5, 10 20 e 50% di tutto il data set. Gli esperimenti hanno mostrato che utilizzando solo un sottoinsieme del data set è possibile ottenere un’accuratezza comparabile con quella che si ha usando l’intero data set. Una descrizione dell’implementazione dell’algoritmo e dei risultati sperimentali si trova in [12] PAAS Schema consuntiva U.O. RG All. 1 Pubblicazioni: [1] Fosca Giannotti, Cristian Gozzi, Giuseppe Manco: Clustering Transactional Data. PKDD 2002: 175-187 [2] Giuseppe Manco, Riccardo Ortale, Domenico Saccà: Similarity-Based Clustering of Web Transactions. SAC 2003: 1212-1216 [3] Riccardo Ortale, Web Mining for Personalization, Ph.D. Thesis, Università della Calabria, 2004. [4] Eugenio Cesario, Giuseppe Manco, Riccardo Ortale: Top-Down Parameter-Free Clustering of highdimensional categorical data: RT 2005/02 ICAR-CNR. Submitted to ACM Trans. On Knowledge Discovery in Databases. [5] Eugenio Cesario, Francesco Folino, Riccardo Ortale: Putting Enhanced Hypermedia Personalization into Practice via Web Mining. DEXA 2004: 947-956 [6] Giuseppe Manco, Riccardo Ortale, Andrea Tagarelli, Providing Personalized Access to Usenet Sites through Web Mining, in A. Scime, editor, “Web Mining: Applications and Techniques”, 2004. [7] Giuseppe Manco, Clara Pizzuti, Domenico Talia: Eureka!: an interactive and visual knowledge discovery tool. J. Vis. Lang. Comput. 15(1): 1-35 (2004) [8] Giuseppe Manco, Elio Masciari, Andrea Tagarelli: A Framework for Adaptive Mail Classification. ICTAI 2002: 387[9] Giuseppe Manco, Elio Masciari, Andrea Tagarelli: Mining Categories for Emails via Clustering and Pattern Discovery.Submitted to Kluwer Journal of Intelligent Information Systems [10] Sergio Flesca, Giuseppe Manco, Elio Masciari: Web wrapper induction: a brief survey. AI Commun. 17(2): 57-61 (2004) [11] Sergio Flesca, Giuseppe Manco, Elio Masciari, Luigi Pontieri, Andrea Pugliese: Fast Detection of XML Structural Similarity. IEEE Trans. Knowl. Data Eng. 17(2): 160-175 (2005) [12] S. Flesca, G. Manco, E. Masciari, L. Pontieri, A. Pugliese.Exploiting Structural Similarity for Effective Web Information Extraction, Procs. of Dagsthul seminar 2005-06, Foundations of Semi Structured Data. An extended version has been accepted for publication by Elsevier Journal on Data and Knowledge Engineering. [13] Gianni Costa, Giuseppe Manco, Riccardo Ortale, Andrea Tagarelli: A Tree-Based Approach to Clustering XML Documents by Structure. PKDD 2004: 137-148 [14] Eugenio Cesario, Francesco Folino, Giuseppe Manco, Luigi Pontieri, An Incremental Clustering Scheme for Duplicate Detection in Large Databases, IDEAS 2005: 89-95. [15] Eugenio Cesario, Francesco Folino, Antonio Locane, Giuseppe Manco, Riccardo Ortale: RecBoost: A supervised approach to text segmentation, Proc. SEBD 2005: 220-231: An extended version submitted to International Journal of Knowledge and Information Systems. PAAS Schema consuntiva U.O. RG