a di Scienze Matematiche, Fisiche e Naturali ANALISI TESTUALE DI
Transcript
a di Scienze Matematiche, Fisiche e Naturali ANALISI TESTUALE DI
UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Tesi di laurea ANALISI TESTUALE DI IMMAGINI DI PAGINE DI QUOTIDIANI: UNA SPERIMENTAZIONE Relatore: Prof. Ing. Marco Aiello Anno Accademico 2004-2005 Laureando: Silvano Riz Ringraziamenti Desidero ringraziare il Prof Marco Aiello per avermi dato la possibilità di svolgere questo lavoro ed avermi sostenuto durante questo lungo periodo. Ringrazio inoltre Emanuele Pianta: una persona gentile e disponibile che non ha esitato ad aiutarmi fornendomi il supporto dell’IRST senza il quale non sarebbe stato possibile realizzare la tesi. Un grazie alla mia famiglia poiché non è facile sostenere un figlio (o un fratello) fuori di casa fin dalle superiori. Un grazie di cuore a tutti i miei amici: Luca Lorenz che mi ha aiutato nella stesura fornendomi validissimi consigli. Luca Nardin e Osmic Mirnes, i miei compagni d’avventura fin dalle superiori che mi hanno aiutato durante tutto il percorso scolastico. I miei, ormai ex, compagni d’appartamento Thomas Amplatz per i consigli di (LATEX) e Alessandro Rizzi per l’immancabile supporto psicologico. Inoltre ringrazio tutti i miei amici Ciccio, Plank, Felix, che sebbene non abbiano partecipato attivamente al lavoro mi sono sempre molto vicini. I Indice Ringraziamenti I 1 INTRODUZIONE 1.1 Algoritmi di clustering sui blocchi testo dei quotidiani . . . . 1.2 Il problema del clustering . . . . . . . . . . . . . . . . . . . . 1.3 Organizzazione della tesi . . . . . . . . . . . . . . . . . . . . . 1 2 2 3 2 GLI ALGORITMI DI CLUSTERING 2.1 L’input . . . . . . . . . . . . . . . . . 2.2 Estrazione delle caratteristiche . . . . 2.3 Similarity . . . . . . . . . . . . . . . . 2.4 Clustering . . . . . . . . . . . . . . . . 2.4.1 Simple clustering . . . . . . . . 2.4.2 Comparative clustering . . . . 2.4.3 Agglomerative clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 7 8 8 9 9 9 3 SETUP SPERIMENTALE 3.1 Blocchi e running text . . . . . . . . . . . . . . 3.2 Misure di valutazione . . . . . . . . . . . . . . . 3.3 Step degli algoritmi NLP . . . . . . . . . . . . 3.4 OmniPage . . . . . . . . . . . . . . . . . . . . . 3.4.1 Fusione di un titolo con il running text . 3.4.2 Fusione di più blocchi in uno . . . . . . 3.4.3 Separazione di un blocco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12 14 16 16 19 20 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 SPERIMENTAZIONE 23 4.1 La prima fase di test . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 La seconda fase di test . . . . . . . . . . . . . . . . . . . . . . 25 4.3 Discussione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5 CONCLUSIONI 31 III BIBLIOGRAFIA 33 A I GRAFI A.1 Cronaca . A.2 Attualità A.3 Lettere . . A.4 Spettacolo A.5 Economia A.6 Sport . . . . . . . . . 35 36 37 38 39 40 41 . . . . . 43 44 45 51 55 63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B I FILE B.1 Il file pdf . . . . . . . . B.2 La groung truth . . . . . B.3 Il testo dei blocchi . . . B.4 I vettori delle keyword . B.5 Il risultato del clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capitolo 1 INTRODUZIONE Document Image Analysis (DIA) [Nagy, 2000, Aiello et al., 2002] si occupa del recupero di informazioni da immagini di documenti stampati. Questa disciplina racchiude un vasto numero di studi, dalla digitalizzazione di materiale cartaceo o riconoscimento automatico della modulistica per arrivare a sistemi più recenti di text-to-speech. La necessità dello sviluppo di tali tecniche è dovuta non solo all’imponente evoluzione dell’universo elettronico-informatico abbinata all’esigenza di salvaguardare l’intero patrimonio rappresentato dai documenti stampati, ma anche dai benefici offerti nel trattare documentazione in formato elettronico. La potenzialità della rete, in particolare di Internet, mette a disposizione un’infinità di documenti: libri, articoli, riviste, perfino intere biblioteche senza alcun rischio di deterioramento e con la possibilità di una simultaneità nell’accesso alla risorsa, peraltro reperibile comodamente da casa tramite il semplice doppino telefonico. Ogni documento contiene molte più informazioni del semplice testo, infatti una pagina porta con se anche un messaggio artistico dato ad esempio dal layout o dalla dimensione e stile del carattere. Da questo punto di vista un’importante informazione contenuta in una stampa con una struttura complessa, come può essere una pagina di giornale, è l’ordine di lettura. Ne consegue la necessità di riunire le varie entità che compongono la pagina in gruppi d’appartenenza, che nel caso particolare del giornale rappresentano gli articoli. Ricostruire l’ordine di lettura riveste un ruolo di notevole importanza, non solo per il mero compito della digitalizzazione, ma anche nella costruzione di applicazioni per non vedenti o disabili che siano in grado di leggere un intero documento. Per estrarre tali dati esistono varie tecniche che s’appoggiano a due principi e meccanismi differenti, basati uno sull’analisi della struttura geometrico-spaziale della pagina, mentre l’altro 1 2 Capitolo 1. INTRODUZIONE sullo studio del suo contenuto argomentativo. 1.1 ALGORITMI DI CLUSTERING SUI BLOCCHI DI TESTO DEI QUOTIDIANI Lo studio svolto consiste nell’analisi accurata delle potenzialità degli algoritmi di clustering sviluppati nell’elaborato [Aiello and Pegoretti, 2006] ponendo particolare attenzione ai casi critici e alle possibili soluzioni. Per valutarne la bontà l’approccio viene confrontato con il risultato ottimo (ground truth) e con un prodotto commerciale OmniPage Pro v.14 della Scansoft [Scansoft, 2005]. OmniPage è in grado di ricostruire l’ordine di lettura di un documento ed è basato su tecniche di ragionamento spaziale anziché di tipo natural language process (a cui d’ora in poi ci riferiremo con NLP) utilizzato negli algoritmi di clustering. Tale approfondimento è necessario per un ulteriore sviluppo e miglioramento di anzidetti algoritmi, che tuttavia non è oggetto della tesi. L’orientamento del lavoro è soprattutto volto al testing effettuato su una collezione di immagini di pagine del quotidiano L’Adige (www.ladige.it) elaborate sia utilizzando OmniPage che gli algoritmi di clustering. Per determinare le performance vengono confrontati i risultati dei due sistemi con la ground truth, ovvero l’esatta clusterizzazione degli articoli. Durante tale confronto saranno ricavati alcuni indici in grado di riassumere le prestazioni e su cui saranno basati i ragionamenti necessari a comprendere i lati positivi e quelli negativi dell’approccio NLP. 1.2 IL PROBLEMA DEL CLUSTERING Il Clustering [Jain et al., 1999] è la classificazione, in base ad un indice di similarità, di oggetti all’interno di gruppi chiamati cluster. Il problema del raggruppamento è una parte fondamentale di molti data analysis systems; basti pensare ad applicazioni che si occupano di document retrieval o image segmentation. La varietà di tecniche disponibili per la rappresentazione dei dati e per l’implementazione delle funzioni di confronto determinano l’esistenza di un ricco assortimento di algoritmi di clustering da poter scegliere in funzione della problematica da affrontare. Le fasi principali di un sistema di clustering rimangono comunque inalterate: Le singole unità da raggruppare costituiscono l’input del sistema, che in una prima fase ne estrae gli elementi caratterizzanti per poi costruire una rappresentazione interna di ogni entità. Per un buon funzionamento, durante questa fase è doveroso 1.3. Organizzazione della tesi 3 rivolgere molta attenzione alle peculiarità che meglio rappresentano l’input cercando di scovare anche eventuali caratteristiche nascoste o frutto della combinazione di quelle già esistenti. Successivamente i pattern interni possono quindi essere confrontati per ricavarne l’indice di similarità sul quale sarà basato il successivo raggruppamento. La determinazione della soglia con la quale si decide se due unità appartengono allo stesso cluster rappresenta un’altro passo delicato nell’implementazione di un sistema, infatti un analisi trascurata di quest’ultima può indurre ad errori di sovra o sotto clusterizzazione. Nel primo caso vengono raggruppati unità tra loro differenti a causa di una soglia troppo bassa mentre nel secondo i blocchi rimangono separati poiché la soglia risulta eccessiva. La figura 1.1 schematizza il flusso tipico di un generico processo di clustering: inizialmente gli elementi caratteristici sono indipendenti l’uno dall’altro e costituiscono l’input del processo. Durante la fase successiva, denominata selezione ed estrazione delle caratteristiche, gli elementi in ingresso vengono accuratamente elaborati al fine di estrarre le caratteristiche adatte alla loro miglior rappresentazione. In base alle caratteristiche estratte verrà quindi effettuato il calcolo della similarità che rappresenta il grado di relazione tra gli elementi. Il successivo raggruppamento è l’ultimo passo che mette in relazione i vari oggetti generando cosı̀ i differenti cluster. Figura 1.1: Flusso di un generico processo di clustering 1.3 ORGANIZZAZIONE DELLA TESI Nel prossimo capitolo vengono ripresi i concetti fondamentali dei tre algoritmi di clustering ad approccio NLP [Aiello and Pegoretti, 2006] denominati 4 Capitolo 1. INTRODUZIONE simple, comparative ed agglomerative, e riassunte le tecniche utilizzate per il loro sviluppo. Il capitolo 3 illustra le tecniche e le misure considerate nei confronti tra i due sistemi giustificandone l’utilizzo. Vengono successivamente descritti i flussi di lavoro e discusse alcune problematiche presentatesi durante l’elaborazione delle immagini con OmniPage. Il cuore della tesi, rappresentato dal quarto capitolo, riassume ed interpreta i dati ottenuti da due differenti fasi di test: una su 60 nuove immagini, utilizzando gli algoritmi di clustering con le soglie vecchie trovate in [Aiello and Pegoretti, 2006], mentre nella seconda, vengono ricalcolate le soglie su 30 delle nuove immagini ed effettuati i test sulle restanti 30. In ognuna delle due fasi vengono anche raccolti i dati dell’elaborazione con OmniPage delle stesse pagine. L’obiettivo è quello di trovare la soluzione NLP migliore, e per questo vengono richiamati anche i risultati trovati in [Aiello and Pegoretti, 2006]. Nelle conclusioni vengono riassunti i risultati e discussi alcuni metodi per il miglioramento dell’approccio NLP considerando i test effettuati. Le appendici completano l’elaborato fornendo al lettore un confronto grafico fra l’algoritmo NLP migliore e OmniPage e mostrando il formato e lo schema dei file utilizzati durante lo studio. Capitolo 2 GLI ALGORITMI DI CLUSTERING La peculiarità fondamentale dei tre algoritmi di clustering sta nel considerare solamente le singole parole che costituiscono i blocchi dell’articolo, tralasciando informazioni sintattiche e geometriche. Ogni articolo è quindi descritto solo ed esclusivamente dal set di termini che lo compongono e si differenzia dagli altri in base ai vocaboli che non condivide. Confrontando le parole contenute nei singoli blocchi è quindi possibile riunirli a seconda dell’articolo di appartenenza. Tale processo è probabilistico, ovvero i blocchi contenenti vocaboli simili sono presumibilmente dello stesso articolo, ma ovviamente non è certo. Tuttavia la considerazione delle sole parole caratterizzanti servirà a diminuire il tasso d’errore. Non tutti i vocaboli, infatti, forniscono un uguale informazione sul testo: uno presente più volte può essere considerato più importante, mentre quelli funzionali o semanticamente non significativi non forniscono alcuna conoscenza. Inoltre unità lessicali che esprimono il medesimo concetto possono essere considerate uguali. Sulle basi di quanto scritto sopra ed entrando un po’ più nei particolari, ogni blocco viene rappresentato attraverso un vettore contenente tutte le parole significative presenti nella pagina con il relativo peso; i pesi dei vocaboli che non sono presenti nel blocco specifico sono posti a 0. I procedimenti per estrarre le keyword e calcolarne il peso verrà descritto in seguito. Considerando i vettori di tutti i blocchi in uno spazio ad N dimensioni (con N numero di parole chiave della pagina), la concordanza fra due di essi viene calcolata in base all’angolo fra loro. Riagganciandosi all’introduzione sugli algoritmi di clustering, dallo schema generale descritto in figura 1.1 è possibile estrapolarne uno caratteristico del sistema NLP. Come si può vedere in figura 2.1 l’input è rappresentato dai blocchi di testo della pagina. L’estrazione delle 5 6 Capitolo 2. GLI ALGORITMI DI CLUSTERING caratteristiche di ogni entità e l’indicizzazione è fatta con uno speciale tool denominato Keyword extractor e la successiva rappresentazione interna di ogni blocco è sotto forma di vettore. L’angolo che si forma tra i vettori esprime il loro grado di similarità ed in base ad una soglia accuratamente calcolata è possibile riunire in cluster i blocchi. In questo caso i cluster rappresentano la suddivisione in articoli della pagina. Vediamo ora più in Figura 2.1: Il processo di clustering ad approccio NLP nell’analisi di pagine di giornale dettaglio le varie fasi. 2.1 L’INPUT L’input è formato dal semplice testo detto anche running text presente nella facciata del quotidiano. Con semplice si intende che non vengono considerati i titoli, i sottotitoli, le didascalie e le classifiche. Inoltre le entità che costituiscono l’input sono le sezioni di testo atomiche; ovvero che non è 2.2. Estrazione delle caratteristiche 7 possibile suddividere in base alla collocazione nello spazio. La discussione della selezione delle entità, che chiameremo anche blocchi, verrà affrontata nel capitolo setup sperimentale. Questa è l’unica operazione fatta manualmente poiché l’obbiettivo principale del progetto è la clusterizzazione e non l’analisi spaziale per l’estrazione dei blocchi. 2.2 ESTRAZIONE DELLE CARATTERISTICHE Il primo passo compiuto nell’elaborazione di una pagina è l’indicizzazione del running text, ovvero trasformare il testo dei blocchi in un formato che sia consono all’elaborazione elettronica. Durante tale processo tutte le parole vengono filtrate affinché siano considerate solamente quelle che esprimono i concetti più importanti e successivamente memorizzate in un vettore. In particolare è stata utilizzata l’utility Keyword Extractor v0.8 (KWE) [Tonella et al., 2004a], [Tonella et al., 2004b] sviluppata nel centro per la ricerca scientifica tecnologica (ITC-irst) in grado di estrarre parole chiave da un file contenente del testo. La figura 2.2 illustra il passaggio dal testo al vettore contenente le parole filtrate abbinate alla relativa frequenza. Dal vettore verrà poi ottenuta la rappresentazione interna della pagina. Figura 2.2: Processo di trasformazione con Keyword extractor Ogni pagina e stata indicizzata considerando tre opzioni differenti al fine di comprendere qule può essere quella da considerare in un eventuale soft- 8 Capitolo 2. GLI ALGORITMI DI CLUSTERING ware che implementi tali tecniche. Le opzioni riguardano la fese di filtraggio delle parole e sono: • Simple: è il metodo più semplice perché si limita ad elencare tutte le parole nel testo applicando qualche semplice regola come la riduzione dei plurali ed alcuni sinonimi. • Stop: le stop words sono delle parole molto frequenti nei testi che però non contengono alcun significato semantico e pertanto non adatte al nostro scopo. Basti pensare a parole come articoli, congiunzioni o verbi ausiliari. Tale opzione forza il tool ad eliminare tali locuzioni. • Bigram: tale opzione è la più complessa perché, oltre ad eliminare le stop words, riconosce anche le collocazioni. Con collocazione si intende un concetto chiave formato da più parole, ad esempio ’casa madre’, ’porta USB’ ecc... Un’altro passo importante, necessario per dare un’importanza più o meno significativa al vocabolo è quello di weighting. In questo processo la metrica considerata è più sofisticata del semplice conteggio delle occorrenze, infatti tiene conto sia dell’intra-cluster similarity che del inter-cluster dissimilarity. Il primo indica la frequenza dei termini all’interno di un singolo blocco, mentre il secondo misura la rarità della parola nell’intera pagina. La formula dettagliata riferita ad un singolo blocco b è: W [k] = f req[k] N • log M axF req n[k] (2.1) dove freq[k] è la frequenza della k-esima locuzione del blocco b, MaxFreq è la massima frequenza del blocco b, N è il numero totale di blocchi e n[k] è il numero di blocchi che contengono la k-esima parola. 2.3 SIMILARITY Una volta terminati i processi di indicizzazione e weighting è possibile determinare il grado di similarità dei blocchi analizzando l’angolo formato tra i vettori, più esso è stretto e più i blocchi sono simili. Per ottenere un indice maggiormente comprensibile si considera il coseno dell’angolo; infatti esso è compreso fra 0 ed 1 ed è maggiore se l’angolo è stretto. 2.4 CLUSTERING La fase finale consiste nel raggruppamento dei blocchi in base all’articolo d’appartenenza. Durante l’esecuzione degli algoritmi i blocchi vengono 2.4. Clustering 9 considerati come nodi di un grafo e viene tracciato un arco fra quelli appartenenti allo stesso articolo. Due blocchi vengono collegati se l’indice di similarità è maggiore di una soglia trovata empiricamente e denominata threshold. E’ questa la fase, che per complessità e velocità, caratterizza e differenzia i tre algoritmi utilizzati nel testing. 2.4.1 Simple clustering É il più semplice dei tre algoritmi, infatti considerando i blocchi due a due si limita a collegarli se l’indice di similarità è maggiore della threshold considerata. Data la sua semplicità l’unico vantaggio è rappresentato dalla velocità di computazione. 2.4.2 Comparative clustering É la prima evoluzione del simple clustering ed è caratterizzato da una fase di confronto dei blocchi più articolata, infatti, oltre a considerare i blocchi due a due pone attenzione al grado di similarità tra i blocchi ad essi collegati. La figura 2.3 esprime il concetto del confronto graficamente: i blocchi b1 e b2 sono quelli che hanno il maggior grado di similarità tra quelli non ancora collegati. Se tale grado è maggiore della threshold l’algoritmo si ferma, altrimenti confronta ogni blocco collegato a b1 con ogni blocco collegato a b2 (come rappresentato dalle frecce tratteggiate) assicurandosi che l’indice di similarità sia maggiore di 0. In tal caso i due blocchi vengono collegati. Tale procedimento viene ripetuto finché il grado di similarità massimo trovato è minore della threshold impostata. 2.4.3 Agglomerative clustering L’ultima evoluzione si basa sul fatto che se due blocchi fanno parte dello stesso articolo, allora possono essere uniti al fine di avere una maggiore informazione. Si ricorda che gli algoritmi considerano esclusivamente il running text e quindi l’operazione di unione è assai semplice. In figura 2.4 viene rappresentata un possibile passo di computazione con la relativa unione di due blocchi. I blocchi b1 e b2 sono caratterizzati dall’indice di similarità maggiore e se esso risulta essere più grande della threshold allora i due blocchi verranno considerati dello stesso articolo. Nei confronti successivi verrà considerato il blocco risultante dall’unione dei due. Il procedimento termina quando la similarità massima trovata risulta minore dell threshld. Le uniche note dolenti sono l’incremento significativo dei confronti da effettuare che lo può rendere si più efficace, ma anche più lento e la pos- 10 Capitolo 2. GLI ALGORITMI DI CLUSTERING Figura 2.3: Funzionamento del comparative clustering Figura 2.4: Un passo di computazione dell’agglomerative clustering sibilità della propagazione di errori. Con propagazione di errori si intende che un eventuale sbaglio nel collegamento di due blocchi ne può generare altri, infatti il macro blocco formato dalla fusione di due blocchi conterrà l’essenza dei due articoli differenti guastando cosı̀ i confronti successivi. Capitolo 3 SETUP SPERIMENTALE I due sistemi messi a confronto sono OmniPage pro 14 e gli algoritmi di clustering descritti nel capitolo 1. I raffronti sono stati effettuati su 60 pagine del quotidiano L’Adige [L’adige, ]. La scelta di tale giornale è derivata da più fattori. In primis l’elevata complessità del layout di una pagina e la presenza di numerosi articoli. Anche la varietà di argomenti trattati, e quindi la possibilità di valutare l’approccio NLP su temi differenti è un aspetto importante al fine della ricerca. Il fatto di poter scaricare le pagine direttamente da internet non rappresenta una peculiarità utile al confronto in sè, ma permette di accelerare i tempi di elaborazione, infatti non è necessario eseguire funzioni di optical character recognition (OCR) per l’estrazione del testo dal supporto cartaceo per la generazione della ground truth. La preferenza del programma commerciale è il frutto della ricerca di un software all’avanguardia e con la possibilità di ricostruire facilmente la clusterizzazione partendo dall’output generato. Le 60 immagini che compongono il data base sono il risultato dell’aggregazione di pagine trattanti 6 argomenti differenti; ovvero cronaca, attualità, economia, sport, lettere e spettacolo. I vari test effettuati possono essere schematizzati in due punti salienti: • elaborazione con gli algoritmi di clustering su tutte le 60 pagine considerando le threshold ricavate nell’elaborato [Pegoretti, 2004] con il successivo confronto sull’output ottenuto da OmniPage. Tale test ha come obiettivo la valutazione della bontà delle soglie trovate sul database ridotto, di sole 12 pagine. • estrazione delle soglie migliori basandosi su metà del database di 60 pagine e successiva elaborazione delle restanti 30 pagine con le nuove soglie. Anche in questo caso i risultati verranno comparati con i dati ottenuti da OmniPage sulle stesse pagine. 11 12 3.1 Capitolo 3. SETUP SPERIMENTALE BLOCCHI E RUNNING TEXT Come già spiegato gli algoritmi di clustering elaborano i singoli blocchi di testo presenti nella facciata del giornale. É quindi opportuno spiegare i criteri con i quali sono stati discriminati i blocchi specialmente in casi particolari ove la divisione può non essere cosı̀ scontata. Una prima assunzione abbastanza ovvia riguarda la differenziazione fra gli articoli, che è effettuata in base al titolo. Il numero di articoli infatti corrisponde al numero di titoli presenti nell’immagine. Nel caso semplice la suddivisione in blocchi è abbastanza naturale; infatti si tratta di sezioni di testo che nella suddivisione spaziale sono indipendenti, pertanto ogni blocco corrisponde ad una delle sezioni spaziali. La figura 3.1 illustra un caso dove la distinzione fra i tre blocchi individuati è ovvia. Infatti l’indipendenza fra i tre risulta essere ovvia a prima vista. Figura 3.1: Identificazione dei blocchi nel caso più semplice Come noto però, una pagina di giornale può contenere elementi che non sono testo, utilizzati per dare una maggior leggibilità alla pagina. Spesso nel quotidiano L’Adige il testo viene racchiuso da cornici ed è quindi necessario decidere se il blocco è rappresentato dal contenuto della cornice o se al suo interno ci possono essere più blocchi. Il caso più semplice si verifica quando 3.1. Blocchi e running text 13 tutto l’articolo è delimitato da un bordo. In questa circostanza, come in quella precedente, per la suddivisione si osserva l’indipendenza spaziale. In figura 3.2 l’intero articolo è racchiuso da un bordo, ma l’identificazione dei blocchi risulta essere nuovamente ovvia valutando l’indipendenza spaziale all’interno del contorno. In questo caso non si presenta quindi il dubbio di considerare il contenuto dell’intera cornice come unica unità. Figura 3.2: Identificazione dei blocchi in presenza di una cornice che racchiude un unico articolo Il caso più incerto è riferito alla situazione dove in una cornice sono racchiusi dei mini articoli ; ovvero articoli molto brevi con dei titoli meno marcati e dove l’indipendenza spaziale non è nettissima. Basandosi sull’assunzione di discriminazione degli articoli in base al titolo fatta prima, e considerando la differenza argomentativa dei mini articoli la decisione è propesa verso la loro separazione e quindi indipendenza. La figura 3.3 ne rappresenta un tipico caso. A prima vista si potrebbe essere tentati a considerare l’intero contenuto del bordo come un singolo blocco, ma focalizzando maggiormente il suo contenuto, si nota che i due titoletti introducono articoli con argomenti totalmente differenti. Per questo motivo la soluzione considerata migliore è quella della separazione. Alcuni blocchi come classifiche o didascalie non sono stati presi in considerazione anche se in realtà sono anch’essi formati da testo. Il motivo di tale decisione è dovuto alla volontà di non dover effettuare scelte soggettive che potrebbero discostarsi da quelle fatte da OmniPage, e quindi guastare i confronti. L’esclusione dei particolari blocchi sopracitati non influenza comunque il confronto poiché è sufficiente garantire un’equivalenza fra la pagina ,e quindi i blocchi, elaborata con gli articoli NLP e OmniPage. 14 Capitolo 3. SETUP SPERIMENTALE Figura 3.3: Identificazione dei blocchi in presenza di una cornice che racchiude più articoli 3.2 MISURE DI VALUTAZIONE I risultati ottenuti dai due sistemi, NLP e OmniPage, vengono in una prima fase comparati con la ground truth al fine di estrarre alcuni indici utili al raffronto, e poi confrontati tra loro per evidenziarne le differenze. Come già accennato nel capitolo precedente la pagina viene rappresentata attraverso un grafo, pertanto dall’elaborazione tramite i due sistemi possono verificarsi due differenti tipi di errore: vengono collegati erroneamente due blocchi o viene tralasciato il legame tra due in realtà connessi. In figura 3.4 si vede sulla destra il collegamento reale dei blocchi, mentre al centro, evidenziato con gli archi in grassetto, è presentato un errore di sovra collegamento: infatti i collegamenti non combaciano con la ground truth. Sulla sinistra invece c’è l’errore di sotto collegamento e gli archi tratteggiati rappresentano i collegamenti mancati. Le due misure tratte da [Baeza-Yates and Ribeiro-Neto, 1999] che tengono conto di tali parametri sono chiamate recall e precision e vengono calcolate secondo le seguenti formule: precision = archi corretti archi calcolati (3.1) 3.2. Misure di valutazione 15 Figura 3.4: errori nell’esecuzione del processo di clustering recall = archi corretti archi nella truth (3.2) Si può facilmente notare che il numero elevato di archi comporta una recall migliore in contrasto ad una minor precision. Al contrario un numero contenuto di collegamenti porta ad una buona precision contrapposta ad una recall ridotta. In aggiunta ai due criteri di valutazione viene considerata una terza grandezza che incorpora informazioni sul numero di articoli correttamente individuati dal sistema. Essa è definita come distribution e la sua espressione è: ( truth articles output articles se truth articles ≤ output articles (3.3) distribution = output articles se truth articles > output articles truth articles Tale misura sebbene utile è abbastanza imprecisa, infatti è possibile ottenere un’ottima distribuion anche con un clustering totalmente sbagliato, ma che genera un numero di cluster vicino a quello reale dato dalla ground truth. Per ottenere una dimensione che riassuma tutte e tre le misure, assegnandone un’opportuna importanza a ciascuna, è stata definita la wheighted armonic mean (WHM) W HM = 5 2 precision + 2 recall + 1 distribution (3.4) che tiene maggior conto della precision e recall a discapito della distribution. Oltre a sintetizzare le tre misure caratterizzanti la pagina è necessario calcolare dei valori che determinino l’efficacia dell’intero sistema. Per questo si considerano due diverse medie sui valori precedenti: una semplice e più approssimativa ed una complicata che esibisce una maggior precisione. Le due medie sono denominate Macro e Micro mean. La Macro mean e la semplice 16 Capitolo 3. SETUP SPERIMENTALE media aritmetica mentre la Micro mean e basata su tali formule: Pn correct edgesi precision M icro mean = Pi=1 n i=1 output edgesi Pn correct edgesi recall M icro mean = Pi=1 n i=1 truth edgesi (3.5) (3.6) distribution M icro mean = n i=1 truth articlesi n i=1 output articlesi n i=1 output articlesi n i=1 truth articlesi 3.3 se se Pn i=1 truth Pn i=1 truth articlesi ≤ articlesi > Pn i=1 output Pn i=1 output articlesi (3.7) articlesi STEP DEGLI ALGORITMI NLP La trasformazione tipica che, partendo dall’immagine della facciata, porta alle misure caratteristiche finali è rappresenta in figura 3.5. L’immagine iniziale è informato PDF e da essa vengono ricavati la groud truth formattata seguendo lo standard XML e l’insieme dei file di testo con il contenuto di ogni blocco. Come già detto tramite il Keyword extractor vengono generati i vettori; anch’essi in formato testo. il risultato finale del clustering, per permettere un agevole confronto, viene salvato in formato XML mantenendo la stessa struttura della ground truth. Avendo i due file XML è infine possibile calcolare i valori specifici per la valutazione delle performance. Un esempio completo di ogni file è consultabile nell’appendice b. 3.4 OMNIPAGE OmniPage 14 oltre a funzionalità di OCR offre la possibilità di individuare l’ordine di lettura di una pagina testuale. É proprio questa la funzione che deve eseguire un clustering sui blocchi e che verrà confrontata con il sistema NLP. I quattro momenti che caratterizzano il processo di elaborazione eseguito da OmniPage sono: • caricamento dell’immagine • selezione automatica dei blocchi • eliminazione manuale delle unità non necessarie • computazione dell’ordine di lettura 3.4. OmniPage 17 Figura 3.5: Step della tecnica NLP su di una pagina La figura 3.6 presenta i quattro differenti stati. Il primo rappresenta il semplice caricamento della pagina dell’Adige. Successivamente, il secondo passo, rappresenta l’elaborazione automatica dell’immagine; in particolare vengono individuati gli oggetti che compongono la facciata del quotidiano e il running text è identificato da una T in alto a destra del blocco. Tuttavia OmniPage individua anche oggetti che non sono strettamente necessari al confronto con il metodo NLP e perciò nel terzo stadio vengono deselezionate le entità superflue. L’ultimo passo riguarda la computazione dell’ordine di lettura. OmniPage traccia una freccia dal centro di un articolo all’altro per indicare tale ordine, ed è proprio osservando tale schema che e possibile risalire a come sono stati clusterizzati i blocchi. Nell’immagine, osservando l’ultimo stato, si può osservare come i quattro blocchi in alto siano considerati un cluster: infatti esiste la freccia che parte esattamente al centro della zona occupata dai suddetti blocchi. Ciò vale anche per gli altri cluster identificabili seguendo il flusso delle frecce. La figura 3.7 rende ancora più chiaro il processo di identificazione dei cluster partendo dall’ordine di lettura calcolato da OmniPage. Ogni sezione di colore differente è un cluster contenente uno o più blocchi e l’ordine di lettura, rappresentato dalle frecce, punta al centro di ogni cluster. I due cluster posizionati in basso hanno il 18 Capitolo 3. SETUP SPERIMENTALE centro quasi sovrapposto e quindi anche le frecce tendono ad accavallarsi. Identificando i vari cluster e costruendo un file XML simile a quelli discussi nella sezione precedente si è in grado di calcolare le misure necessarie al raffronto. Figura 3.6: Passi intermedi del processo di OmniPage Tuttavia dato il principio diverso delle due tecniche si sono verificate delle difformità che si possono catalogare come fusione di due oggetti e scissione di un blocco. 3.4. OmniPage 19 Figura 3.7: Identificazione dei cluster in OmniPage 3.4.1 FUSIONE DI UN TITOLO CON IL RUNNING TEXT Talvolta un titolo o un’altro oggetto viene unito al running text comportando la creazione di un blocco unico. L’errore si può attribuire ad un imprecisione di calcolo spaziale da parte di OmniPage, ciò nonostante ci si è limitati ad ignorare l’oggetto incorporato considerando il solo blocco di testo. La figura 3.8 presenta due casi in cui si è verificata tale imprecisione con la relativa soluzione. Come si può notare ci si è limitati ad eliminare la parte non necessaria. L’aggregazione infatti non influenza il risultato finale del raggruppamento poiché, come spiegato in precedenza, i blocchi che non sono 20 Capitolo 3. SETUP SPERIMENTALE Figura 3.8: Unione di un titolo e di una didascalia al testo di un blocco running text vengono trascurati. 3.4.2 FUSIONE DI PIU’ BLOCCHI IN UNO Spesso blocchi posti ad una distanza ridotta e con caratteristiche simili, come può essere la formattazione del carattere e la larghezza del blocco, vengono considerati un blocco unico. Anche la presenza di cornici attorno a più blocchi può dar luogo allo stesso fenomeno. Come nel caso precedente l’imprecisione è da attribuire al calcolo di OmniPage e il provvedimento adottato prevede la separazione dei blocchi uniti erroneamente abbinata al collegamento degli stessi nel grafo figurante la clusterizzazione. Infatti l’unione di Figura 3.9: Unione di più blocchi in uno più blocchi comporta una lettura sequenziale e la collocazione nello stesso cluster degli stessi. La (figura 3.9) presenta due casi di anomalia riscontrati 3.4. OmniPage 21 durante i test con la relativa soluzione indicata dalla freccia. osservando le T identificatrici del blocco di testo si può vedere come i blocchi sono stati separati, inoltre, nella soluzione si nota il grafo costruito collegando i blocchi. 3.4.3 SEPARAZIONE DI UN BLOCCO L’errore più difficile da gestire, che tuttavia si è verificato solamente una volta, consta nella scissione di un blocco in più parti. Data la rarità del problema nella valutazione complessiva viene considerato come blocco intero. La figura 3.10 evidenzia come il sistema geometrico in questo caso si lascia ingannare dalla strana forma della parte superiore del trafiletto; infatti a causa di una figura, essa non è rettangolare. OmniPage quindi separa la parte irregolare da quella regolare sottostante. Figura 3.10: Separazione di un blocco in due parti 22 Capitolo 3. SETUP SPERIMENTALE Capitolo 4 SPERIMENTAZIONE 4.1 LA PRIMA FASE DI TEST I primi test sono stati effettuati sull’intero database costituito da 60 immagini considerando le threshold trovate in [Pegoretti, 2004]. Obiettivo di questa elaborazione è di osservare il comportamento degli algoritmi di clustering NLP su un gruppo di dati consistente, verificandone prima la corrispondenza con i risultati trovati in [Pegoretti, 2004] e poi le performance rispetto ad OmniPage. Il riepilogo dei risultati è schematizzato in figura 4.1. La tabella riassume per ogni algoritmo NLP ed ogni metodo di indicizzazione i valori massimi e minimi e le macro e micro mean per ogni grandezza calcolata. I valori sottolineati in grigio si riferiscono al massimo valore assoluto delle mean di ogni misura ricavata durante l’elaborazione. Figura 4.1: risultati prima fase di test Gli algoritmi migliori, che offrono valori molto ravvicinati della weighted armonic mean, che come già detto è la grandezza che riassume le restanti tre, risultano essere: • il comparative clustering - stop indexing 23 24 Capitolo 4. SPERIMENTAZIONE • il comparative clustering - colloc indexing • l’ agglomerative clustering - colloc indexing Se invece si analizzano le medie delle grandezze che compongono la WHM si trova che: • comparative clustering - colloc indexing –> migliori precision • agglomerative clustering - colloc indexing –> migliori recall • simple clustering - base indexing –> miglior micro mean della distribution • agglomerative clustering - base indexing –> miglior macro mean della distribution I valori ottenuti in [Pegoretti, 2004] sono invece riassunti in figura 4.2 e considerando come prima il solo valore della WHM si ricavano i seguenti algoritmi aventi performance simili: • il simple clustering - stop indexing • il comparative clustering - stop indexing • il comparative clustering - colloc indexing Per quanto riguarda la macro e micro mean massime calcolate sulle recall, precision e distribution, i risultati sono i seguenti: • simple clustering - stop indexing –> miglior macro mean della precision • comparative clustering - colloc indexing –> miglior micro mean della precision • agglomerative clustering - stop indexing –> migliori recall e miglior macro mean della distribution • agglomerative clustering - colloc indexing –> miglior micro mean della distribution OmniPage elaborando le stesse 60 facciate del data base ha generato i valori raccolti in figura 4.3. Ovviamente in questo caso non è necessario distinguere le varie alternative essendocene soltanto una. Come per gli algoritmi NLP sono state estratte i quattro indici delle prestazioni, cosı̀ da poter confrontare le due differenti tipologie di ragionamento. 4.2. La seconda fase di test 25 Figura 4.2: risultati dell’elaborato [Pegoretti, 2004] Figura 4.3: risultati ottenuti con OmniPage su tutte 60 le facciate 4.2 LA SECONDA FASE DI TEST Il secondo passo, oggetto dello studio, propone il ricalcolo delle soglie migliori utilizzando la metà del data base a disposizione e la successiva elaborazione con gli algoritmi NLP. Essendo il data base costituito da 60 immagini, frutto dell’unione di 10 pagine di 6 argomentazioni differenti, le nuove soglie sono state calcolate sulle prime 5 facciate di ogni gruppo argomentativo. La tabella rappresentata in figura 4.4 elenca le nuove threshold calcolate per ogni combinazione di algoritmo NLP e indexing. Figura 4.4: soglie ricalcolate La successiva esecuzione degli algoritmi NLP sulla seconda metà del database ha generato i risultati elencati in figura 4.5. La tabella è identica 26 Capitolo 4. SPERIMENTAZIONE alle precedenti e i valori massimi delle mean sono sempre evidenziati in grigio. Figura 4.5: risultati ottenuti utilizzando le nuove soglie Procedendo nello stesso modo di prima, gli algoritmi che offrono prestazioni simili in base alla WHM sono: • il comparative clustering - stop indexing • il comparative clustering - colloc indexing • l’ agglomerative clustering - colloc indexing Per quanto riguarda i valori massimi delle medie calcolate sulle restanti tre grandezze si ottengono i risultati seguenti: • comparative clustering - stop indexing –> miglior macro mean della precision • comparative clustering - colloc indexing –> miglior micro mean della precision • agglomerative clustering - colloc indexing –> miglior macro mean della distribution • simple clustering - colloc indexing –> miglior micro mean della distribution • agglomerative clustering - base indexing –> migliori recall Anche in questa fase di test le stesse pagine sono state elaborate anche con il software ad approccio spaziale e i risultati sono riassunti in figura 4.6 4.3. Discussione 27 Figura 4.6: risultati ottenuti con OmniPage su meta database 4.3 DISCUSSIONE Osservando tutti e tre i risultati delle sperimentazioni sugli algoritmi NLP, raccolti nelle figure 4.1, 4.2 e 4.5, ci si accorge che l’indicizzazione semplice, ovvero la base indexing, è abbastanza carente. Infatti per tutte e tre le soluzioni di clustering offre prestazioni che sono minori a quelle offerte dalle restanti due indicizzazioni e ciò porta sicuramente ad escluderla. Il motivo è di certo dato dalla semplicità del metodo che estrae tutte le parole senza alcuna tecnica di filtraggio per escludere vocaboli che non rappresentano una caratteristica importante per il testo. In particolare tutti i blocchi risultano essere molto simili in quanto condividono vocaboli generici che sono presenti in ogni scritto. Ciò si deduce dalla pessima precision, in quanto gli archi calcolati sono molti di più di quelli corretti e dalla recall accettabile poiché collegando tra loro molti blocchi vi è maggior possibilità di indovinare gli archi della ground truth. Osservando invece i valori della WHM, ed analizzando sempre le tre tabelle assieme, si può notare che i valori maggiori appartengono al comparative clustering con colloc e stop indexing. In aggiunta vi sono altri due algoritmi che esibiscono WHM simili a quelle dei precedenti, che però non si riconfermano in tutti i test. In particolare nella sperimentazione effettuata in [Pegoretti, 2004] e riassunta in figura 4.2, emerge anche il simple clustering - stop indexing, mentre negli altri due casi ricapitolati nelle figure 4.1 e 4.5, l’algoritmo è l’agglomerative clustering - colloc indexing. Si può quindi notare come cambiando il data base le prestazioni delle due alternative del comaprative clustering rimangano costanti, mentre possono sorgere delle differenze di performance per qunto riguarda gli altri. Facendo quindi un ragionamento di selezione e filtraggio degli algoritmi più stabili, ovvero che offrono prestazioni buone in tutti i casi analizzati, possiamo convincerci che il comparative - stop e il comparative - colloc risultano essere le soluzioni migliori. Entrando più nel dettaglio delle singole misure, e tralasciando la distribution che come già detto è poco significativa, si ricava che il comparative 28 Capitolo 4. SPERIMENTAZIONE clustering offre buoni valori della precision, ma per quanto riguarda la recall l’agglomerative è migliore. Ciò significa che il numero di archi corretti in rapporto al numero di archi calcolati è maggiore nei due comparative clustering, ma il numero di archi corretti rispetto agli archi nella truth è a favore dell’agglomerative. In altre parole i due comparative mostrano una maggior tendenza al collegamento dei soli blocchi simili, ma allo stesso tempo non computano alcuni archi che in realtà fanno parte della ground truth. L’agglomerative facendo più errori riesce ad indovinare un numero maggiore di collegamenti. Consideriamo ora il confronto con il tool a ragionamento spaziale iniziando ad analizzare le differenze ottenute elaborando tutte le 60 pagine con le soglie trovate in [Pegoretti, 2004]. Considerando i dati ottenuti da OmniPage, riassunti in figura 4.3, si può osservare che il valore della WHM è migliore di circa l’8% rispetto ai migliori valori ottenuti con l’approccio NLP, consultabili in figura 4.1. Se si vanno ad analizzare i motivi, verificando quindi i valori della precision, recall e distribution, si conclude con certezza che le migliori parformance di OmniPagesono sono dovute ad una maggior recall. Infatti i valori della precision sono molto simili a quelli dei migliori algoritmi NLP e la distribution, anche se poco significativa è a favore dell’approccio NLP. Il valore della recall, invece, è pari a circa l’89% in OmniPage che risulta essere nettamente maggiore del 60% circa dei comparative clustering - stop e colloc indexing, ritenuti le soluzioni migliori. Anche se la differenza media fra le vecchie e le nuove soglie è solo del 0,31%, le nuove versioni producono un buon miglioramento rispetto alle precedenti, ed in particolare si riesce a colmare l’ 8% di divario con OmniPage che si presentava fra le WHM in precedenza. Infatti il miglioramento si nota in tutte le combinazioni algoritmo NLP - indexing, ma in particolare i maggiori progresi riguardano proprio il comparative clustering applicato allo stop e colloc indexing che, sulla base di quanto detto prima, rappresentano le alternative migliori. Il miglioramento può derivare dall’incremento del numero di pagine su cui sono state calcolate le nuove soglie (30 anzichè 12) e dall’inclusione di tutte le varianti argomentative su cui sono stati effettuati i test. Le soglie vecchie infatti sono basate solamente su 4 argomentazioni ed in particolare non sono state incluse pagine di sport ed economia presenti però nel database utilizzato nei test. Osservando i risultati in figura 4.5, relativi agli algoritmi NLP, e quelli in figura B.1 relativi ad OmniPage, si vede che il comparative clustering - stop indexing per valore della WHM fornisce prestazioni pressochè identiche a quelle dell’approccio spaziale. Analizzando le grandezze che determinano la WHM si può riosservare la miglior recall di OmniPage contrapposta, questa 4.3. Discussione 29 volta ad una miglior precision del comparative - stop. Il motivo è che il tool ad approccio geometrico computa più collegamenti, riuscendo quindi ad indovinarne di più, ma allo stesso tempo calcola più archi sbagliati. I motivi del maggior numero di collegamenti effettuati dal programma ad analisi spaziale possono essere ricercati in tre direzioni differenti. Il primo motivo si può dedurre analizzando la struttura geometrica delle pagine dell’Adige; si può infatti notare che nella maggior parte dei casi lo schema adottato consta nella suddivisione del foglio in tre macro sezioni. In figura 4.7 vengono evidenziate le tre distinte sezioni: una in alto, una centrale e l’ultima in basso. Ad eccezione dei trafiletti racchiusi da cornici Figura 4.7: Macrosezioni delle pagine dell’Adige OmniPage tende a collegare assieme tutti i blocchi facenti parte della macro sezione, unendo quindi anche gli eventuali blocchi di piccola dimensione. Tale scelta risulta spesso appropriata anche perché un blocco molto piccolo, contenendo troppe poche informazioni, è collegato quasi sicuramente agli altri. Le poche informazioni tematiche di tali blocchi risulta però essere un limite per l’analisi NLP che è portata a non effettuare alcun collegamento. La figura 4.8 fornisce un caso ove le due tecniche si comportano in modo identico, ma il blocco evidenziato in rosso non viene collegato dall’algoritmo NLP. I nodi rappresentati con un quadrato appartengono al grafo generato dall’analisi NLP, mentre quelli disegnati a forma di cerchio appartengono all’elaborazione geometrica. Le altre due ragioni, che in realtà si rivelano simili, riguardano il caso specifico delle lettere e delle cornici che racchiudono più articoli. In entrambi i casi, essendo i titoli molto meno risaltanti, e la separazione tra articoli meno marcata, l’approccio geometrico propende per il collegamento di tutti i blocchi, commettendo cosı̀ degli errori. In questo caso l’analisi NLP si di- 30 Capitolo 4. SPERIMENTAZIONE Figura 4.8: Mancato collegamento di piccoli blocchi da parte della tecnica NLP mostra migliore in quanto la maggior parte delle volte la clusterizzazione si avvicina di più alla realtà della ground truth. Nella figure 4.9 viene evidenziato il fenomeno in modo grafico. Nel primo caso si nota come la tecnica geometrica colleghi tutti i blocchi della metà superiore della facciata anche se le lettere presenti, e quindi gli articoli, sono diversi. Il metodo basato sulle tecniche NLP invece tende a disambiguare le varie lettere generando cosı̀ una soluzione più accurata e corretta. Il socondo caso fornisce un esempio del collegamento errato degli articoli racchiusi da un bordo effettuato da OmniPage, contrapposto alla giusta suddivisione generata dall’algoritmo NLP comparative-stop, che durante i test si è rivelata la migliore soluzione. Come in precedenza il il grafo costituito dai nodi tondi e dagli archi tratteggiati si riferisce al metodo spaziale, mentre quello composto dai nodi quadrati e dai lati continui alla tecnica NLP. Figura 4.9: Errori del metodo geometrico che collega blocchi indipendenti Capitolo 5 CONCLUSIONI Abbiamo testato un sistema per raggruppare i blocchi di testo di un’immagine di pagina di giornale nei relativi articoli basato sulla tecnica NLP. Solamente i vocaboli infatti rappresentano un fattore di conoscenza per l’assemblamento degli articoli. Le due fasi di test aggiunte ai risultati ottenuti in [Pegoretti, 2004] e al confronto con l’applicativo OmniPage permettono di capire meglio le potenzialità della tecnica. Dai risultati ottenuti nei test si possono trarre alcune conclusioni importanti per la determinazione dell’algoritmo di clustering che esibisce le migliori performance. In particolare attraverso le due differenti fasi di test si riescono a scremare tutte le alternative, giungendo a quella migliore rappresentata dall’algoritmo comparative-clustering abbinato all’utilizzo dei vettori generati togliendo le stop words. Inoltre tale algoritmo offre delle prestazioni che, per quanto riguarda il valore della whm, sono molto simili a quelle di OmniPage. Questo risultato è confortante se si pensa agli ampi margini di miglioramento che può avere la tecnica NLP. L’efficacia del clustering, e non solo quello basato su tecniche NLP, dipende sostanzialmente dalla bontà della soglia di similarità, dalla tecnica di clustering, e dalla qualità delle informazioni estratte dalle entità da raggruppare. Per quanto riguarda la threshold i dati ottenuti confermano quelle trovare in [Pegoretti, 2004], in aggiunta il ricalcolo su una popolazione maggiore di pagine di giornale offre una maggiore precisione. Probabilmente tali soglie risultano valide solamente per pagine dell’Adige o con layout ed argomentazioni simili. Per ottenere un sistema più globale, adatto all’elaborazione della maggior parte delle pagine, si dovrebbero classificare in base alla loro struttura abbinando ad ogni gruppo le rispettive threshold. L’indicizzazione rappresenta un’altro ramo dove possono venir fatti ulteriori miglioramenti, soprattutto poiché il tool KWE risulta molto flessibile 31 32 Capitolo 5. CONCLUSIONI sulle opzioni di estrazione dei concetti chiave. In pagine di giornale molto articolate, come quelle considerate nel nostro studio, alla fine dei trafiletti vi sono spesso parole che devono essere scisse, e quindi la seconda parte sarà l’inizio del trafiletto successivo. Questo fatto da il via ad una serie di ragionamenti sul possibile utilizzo dell’ultima e della prima parola di ogni blocco [Aiello et al., 2002]. Basti pensare ad unire i due frammenti della parola verificando se il risultato ottenuto ha un senso. Con questa tecnica si riesce ad escludere a priori alcuni blocchi. Ovviamente tale processo è da considerarsi solamente un’aggiunta all’algoritmo comaparative, ma potrebbe sicuramente incrementare l’efficacia del clustering, soprattutto nell’elaborazione di pagine contenenti articoli aventi un’argomentazione comune. Siccome l’obbiettivo generale è lo sviluppo di un sistema generico, adatto all’elaborazione di un ampia varietà di immagini, rimane da dimostrare l’efficacia della tecnica su pagine differenti tratte da fonti diverse. Tuttavia l’Adige offre già due tipi di pagine profondamente differenti: quelle che accolgono le lettere dei lettori e le altre. In particolare gli articoli di cronaca vengono separati in maniera più marcata con cornici e titoli di grande dimensione, mentre la pagine contenenti le lettere hanno un layout più semplice, e la differenza tra i vari blocchi è meno visibile. Osservando le immagini raccolte nell’appendice A si può notare come la semplicità del layout delle pagine contenenti le lettere metta in maggior difficoltà l’elaborazione spaziale. Infatti OmniPage tende a collegare tutti i blocchi assieme, anche se in realtà si riferiscono a lettere differenti. Questo poiché l’insieme di dati su cui lavora la logica geometrica e più povero. Osservando invece i collegamenti effettuati dal clustering NLP si nota il tentativo talvolta più efficace e talvolta meno di separare le lettere differenti. Bibliografia [Aiello et al., 2002] Aiello, M., Monz, C., Todoran, L., and Worring, M. (2002). Document Understanding for a Broad Class of Documents. International Journal of Document Analysis and Recognition IJDAR, 5(1):1–16. [Aiello and Pegoretti, 2006] Aiello, M. and Pegoretti, A. (2006). Text article clustering in newspaper pages. Applied Artificial Intelligence. To appear Nov 2006. [Baeza-Yates and Ribeiro-Neto, 1999] Baeza-Yates, R. and Ribeiro-Neto, B. (1999). Modern Information Retrieval. Addison Wesley. [Jain et al., 1999] Jain, A., Murty, M., and Flynn, P. (1999). clustering: A review. ACM Computing Surveys, 31(3):264–323. Data [L’adige, ] L’adige. The Official site is http://www.ladige.it. [Nagy, 2000] Nagy, G. (2000). Twenty years of document image analysis in PAMI. IEEE Trans. Pattern Analysis and Machine Intelligence, 22(1):38– 62. [Pegoretti, 2004] Pegoretti, A. (2004). newspaper pages. Clustering of article blocks in [Scansoft, 2005] Scansoft (2005). Omnipage pro v.14. The Official site is http://www.scansoft.com. A trial copy is available at http://www.xeroxsupplies.com.au/scansoft/omnipage.html. [Tonella et al., 2004a] Tonella, P., Ricca, F., Pianta, E., and Girardi, C. (2004a). An empirical study on keyword-based web site clustering. Technical report. [Tonella et al., 2004b] Tonella, P., Ricca, F., Pianta, E., and Girardi, C. (2004b). Using keyword extraction for web site clustering. In Proc. of WSE 2003, 5th International Workshop on Web Site Evolution. 33 34 BIBLIOGRAFIA Appendice A I GRAFI Illustriamo di seguito in modo grafico il clustering effettuato da OmniPage (nodi tondi) e con l’algoritmo che dai test è risultato migliore; ovvero il comparative-stop (nodi quadrati). L’insieme di pagine considerate si riferisce all’ultimo test, ovvero alla seconda metà delle 60 facciate che compongono l’intera base di dati. L’intenzione è quella di far comprendere meglio le differenze tra le due tecniche attraverso un riscontro visivo che spesso risulta essere più chiaro. 35 36 A.1 Appendice A. I GRAFI Cronaca A.2. Attualità A.2 Attualità 37 38 A.3 Appendice A. I GRAFI Lettere A.4. Spettacolo A.4 Spettacolo 39 40 A.5 Appendice A. I GRAFI Economia A.6. Sport A.6 Sport 41 42 Appendice A. I GRAFI Appendice B I FILE Presentiamo di seguito i formati di tutti i file utilizzati durante il processo NLP. Partendo dall’immagine della facciata in formato PDF fino ad arrivare al file XML contenente il clustering risultante. Nella sezione B1 viene raffigurata l’immagine della facciata d’esempio che come già visto è in formato PDF poiché viene direttamente scaricata da internet. La sezione successiva mostra il file della ground truth che ha il formato XML e oltre al contenuto di tutti i blocchi, nella parte finale descrive l’esatta suddivisione degli articoli. La sezione B3 riguarda l’insieme dei file di testo contenenti il testo di ogni blocco. Tali file sono necessari per rispettare la compatibilità con il keyword extractor; il tool che indicizza estraendo le parole significative. La separazione tra i file viene sottolineata dalla linea trasversale. Nella sezione B4, quindi, viene esposto il file singolo, contenente il risultato dell’elaborazione con il KWE. Per necessità il file viene visualizzato in due colonne, ma in realtà si tratta solamente di una. Infine l’ultima sezione mostra il file XML che contiene la clusterizzazione effettuata da un’algoritmo NLP. 43 44 B.1 Appendice B. I FILE Il file pdf Figura B.1: immagine pdf B.2. La groung truth B.2 45 La groung truth <PAGE number of articles=00 400 > <DOCOBJECT id=00 Cro60100 type=00 body00 > <TEXT> <![CDATA[ È stato arrestato nei giorni scorsi con l’accusa di aver molestato pesantemente una minorenne. Un cittadino marocchino residente in val di Sole ora è ricoverato nel reparto psichiatrico dell’ospedale Santa Chiara. Su di lui pende l’accusa di violenza sessuale. Nei giorni scorsi i carabinieri lo avevano posto agli arresti domiciliari dopo che il giudice Marco La Ganga aveva firma ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60200 type=00 body00 > <TEXT> <![CDATA[ to un’ordinanza di custodia cautelare su richiesta del pubblico ministero Alessandra Liverani. L’uomo, poi, è stato trasferito in ospedale perché soffre di turbe psichiche. Adesso i giudici dovranno accertare le sue condizioni di salute e la sua capacità di intendere e di volere. I fatti di cui è accusato si sono svolti nei giorni scorsi. Secondo quanto ricostruito ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60300 type=00 body00 > <TEXT> <![CDATA[ dagli inquirenti, l’uomo avrebbe molestato pesantemente una minorenne alla stazione del bus. L’uomo avrebbe allungato le mani toccando nelle parti intime la ragazzina. Alla scena, però, avrebbero assistito delle persone che sono state in grado di fornire gli elementi sufficienti per individuare il marocchino. L’immigrato è stato rintracciato nei giorni scorsi e messo ai do ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60400 type=00 body00 > 46 Appendice B. I FILE <TEXT> <![CDATA[ miciliari. Adesso le sue condizioni di salute dovranno essere accertate per verificare se era in grado di controllarsi o no. Le condizioni dell’uomo sono subito sembrate critiche. Per questo è stato disposto il suo trasferimento al reparto di psichiatria. Adesso i medici dovranno curarlo e accertare le sue reali condizioni di salute. ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60500 type=00 body00 > <TEXT> <![CDATA[ Per non fumare aveva deciso di mettersi in bocca un chewing gum, ma quando ha iniziato a masticare il confetto bianco ha pensato che forse una boccata di fumo sarebbe stata meglio. Sotto il guscio di zucchero, nascosto tra la gomma arabica, c’era un dente. Non un dente vero, bensı̀ uno di quelli impiantati, di porcellana, con tanto di vite in titanio che spuntava. Questa la disavventura capitata sabato sera a un pensionato di 63 anni della Valsugana. Non riusciva a prendere sonno, cosı̀ si è alzato dal letto ed è andato alla finestra, a guardare i giovani nella piazza del paese. Ha avuto la tentazione di portarsi una sigaretta alla bocca, ma si è immediatamente pentito. Cosı̀ è andato a prendere quel pacchetto di gomme da masticare che aveva comprato giusto quel pomeriggio in un supermercato di un paese vicino. Il chewing gum era di marca Daygum protex. Una scritta sulla confezione garantisce più igiene orale e meno carie. Insomma denti sani. Nello slogan, però, si allude ai denti dei consumatori, non a molari altrui finiti chissà come nell’impasto della gomma da masticare. E dire che l’anziano quel chewing gum se lo voleva proprio gustare. Dapprima ha fatto sciogliere il guscio bianco fatto di zucchero e poi ha iniziato a masticare con voluttà la gomma. Non ha fatto in tempo ad assaporare il fresco della menta che la sensazione piacevole si è trasformata in una fitta. Qualcosa si era infilato nel suo palato. Stupito e dolorante, l’uomo ha subito sputato la gomma e ha notato che dal grumo molliccio spuntava una specie di vite. Allora ha guardato meglio e quello che poteva sembrare un pezzo di gomma si è rivelato essere un dente in porcellana. Uno ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60600 type=00 body00 > B.2. La groung truth 47 <TEXT> <![CDATA[ di quei denti da implantologia che hanno sostituito i vecchi ponti. Si trattava di un dente rotto alla base con una vite in titanio che spuntava da sotto, lunga poco più di un centimetro. Il poveretto è stato subito assalito da sensazioni differenti e tutte fortissime. Innanzitutto lo schifo. La repulsione per quell’oggetto cosı̀ intimo finito nella propria bocca. Ma poi al ribrezzo si è sostituita ben presto la paura, come racconta il figlio del malcapitato: Il timore che quel dente appartenesse a una persona malata non lo ha fatto dormire per un paio di notti. L’altro ieri è andato dal medico per farsi prescrivere tutte le analisi necessarie per verificare di non aver contratto malattie infettive. Il dente era scheggiato e mio padre è stato ferito. Per questo ha paura. Non è un dente nuovo. Chissà a chi apparteneva. Magari era di una persona in perfetta forma, ma forse no. In questo caso c’è il rischio concreto di contrarre malattie. Il figlio del pensionato è subito andato a protestare al supermercato, ma gli hanno risposto che a loro il pacchetto è arrivato confezionato e quindi non potevano immaginare in nessun modo che dentro uno dei confetti contenesse un dente. Cosı̀ l’uomo si è rivolto al produttore: Ho chiamato la Perfetti- Van Melle di Milano. Mi ha risposto il direttore vendite. Prima mi ha fatto un paio di domande a trabocchetto mettendo in dubbio che un confetto di gomma da masticare potesse contenere un dente. Io, però, gli ho dimostrato che le dimensioni erano perfettamente compatibili. Allora lui è diventato più ragionevole. Ha chiesto di avere il dente e il pacchetto in questione e comunque mi ha detto di stare tranquillo perché loro sono assicurati. Io, per non sbagliare, mi sono rivolto a un avvocato . ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60700 type=00 body00 > <TEXT> <![CDATA[ Sulla catena di montaggio ci sono tre metal detector molto sensibili. Possono captare la presenza di frammenti estranei anche molto piccoli. Il direttore vendite della Perfetti- Van Melle era molto sorpreso quando è stato contattato telefonicamente dal trentino che ha trovato un dente dentro un chewin gum: Mi ha detto - ha raccontato il figlio dell’uomo che ha avuto la disavventura - che è molto difficile che qualcosa di estraneo possa finire nell’impasto della gomma arabica. Ha parlato di un impianto di controllo molto rigido e poi mi ha chiesto il numero di codice del pacchetto. Ha detto 48 Appendice B. I FILE che da quello è in grado di risalire al lotto cui appartiene il pacchetto. In questo modo può scoprire se quando è stato inscatolato il prodotto c’è stata un’interruzione dei controlli. Su come possa ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60800 type=00 body00 > <TEXT> <![CDATA[ essere accaduta una cosa del genere non ha fatto ipotesi. Mi ha fatto capire che il dente può essere stato messo nell’impasto da qualcuno oppure che può essere semplicemente caduto a un dipendente. Le due ipotesi, in effetti, sono quelle più credibili. Si va dal sabotaggio all’incidente. Nel primo caso il responsabile potrebbe essere solo una persona che ha accesso alla catena di montaggio. Infatti il dente era all’interno del confetto di gomma da masticare che all’esterno non presentava lacerazioni. Il dente, quindi, deve essere stato inserito nell’impasto durante la lavorazione e non dopo. L’aspetto esterno era perfetto e non ha fatto dubitare il poveretto che ha iniziato a masticare la gomma. L’altra ipotesi possibile è che il dente sia caduto a un addetto del tutto in buona fede. ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro60900 type=00 body00 > <TEXT> <![CDATA[ Probabilmente tenevano d’occhio la loro vittima da qualche ora. Poi, al momento opportuno hanno suonato il campanello fingendosi venditori di biancheria per la casa. Due malviventi, distinti e chiacchieroni, erano riusciti a circuire un’anziana signora che vive da sola in San Bartolomeo, ma grazie alla prontezza di spirito di una dipendente di banca, la truffa è stata sventata. È accaduto ieri mattina a Trento. La donna, una signora di 84 anni che vive sola, era appena tornata a casa dopo aver svolto alcune commissioni. Verso le 11 è suonato il campanello: due uomini, uno sui 40-45 anni ed una sulla trentina, le proponevano via citofono l’acquisto di biancheria per la casa. La signora, non dubitando di nulla, ha aperto il portone facendo accomodare in casa i due. Si era anche lasciata convincere che quella merce era un affare, 600 euro per asciugamani, lenzuola, tovaglie, copriletto e una parure. Per pagare il tutto, un uomo l’ha accompagnata in auto in un filiale B.2. La groung truth 49 ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro601000 type=00 body00 > <TEXT> <![CDATA[ della banca, nel centro della città, per poter effettuare un prelievo, mentre un complice è rimasto nei pressi dell’abitazione. È stato proprio all’interno dell’istituto che un’impiegata si è insospettita e ha chiesto spiegazioni. Forse la lunga perma ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro601100 type=00 body00 > <TEXT> <![CDATA[ nenza all’interno della banca dell’anziana donna ha fatto capire ad uno dei malviventi che le cose non stavano andando per il verso giusto. Quando gli agenti della polizia municipale sono arrivati sul posto, grazie alla segnalazione della dipendente del ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro601200 type=00 body00 > <TEXT> <![CDATA[ la banca, il malvivente si era già dileguato. Nessuna traccia nemmeno del complice, nella zona di San Bartolomeo. Il personale del Nucleo operativo della polizia municipale, assieme agli uomini della squadra mobile della Questura di ]]> </TEXT> </DOCOBJECT> <DOCOBJECT id=00 Cro601300 type=00 body00 > <TEXT> <![CDATA[ Trento, sono alla ricerca dei due truffatori. L’anziana donna è stata sentita a lungo, ma dell’accaduto ha un ricordo sbiadito. Ha detto agli agenti che a casa sua erano entrati due distinti signori, che parlavano correttamente in 50 Appendice B. I FILE italiano. Non avrebbe avuto nessun dubbio sull’onestà dei due e si è anche stupita dell’arrivo della polizia fuori dalla banca. La merce, lasciata dai truffatori a casa della donna, è stata sequestrata. Si tratta di biancheria di cattiva qualità e di un valore che non raggiungerebbe nemmeno i 100 euro. E purtroppo non si tratta dell’unica truffa avvenuta in città negli ultimi giorni. Un pensionato infatti è stato circuito da un uomo che si fingeva un vecchio conoscente e ha acquistato un capo in finta pelle per 460 euro. Contro i raggiri la polizia municipale ha stampato un opuscolo, distribuito gratuitamente presso il Comando e negli incontri in programma nei circoli anziani. Oggi alle 16 l’appuntamento è a Piedicastello. ]]> </TEXT> </DOCOBJECT> <ARTICLE id=00 100 > <REFERENCE <REFERENCE <REFERENCE <REFERENCE </ARTICLE> id=00 Cro60100 /> id=00 Cro60200 /> id=00 Cro60300 /> id=00 Cro60400 /> <ARTICLE id=00 200 > <REFERENCE id=00 Cro60500 /> <REFERENCE id=00 Cro60600 /> </ARTICLE> <ARTICLE id=00 300 > <REFERENCE <REFERENCE </ARTICLE> <ARTICLE id=00 400 > <REFERENCE <REFERENCE <REFERENCE <REFERENCE <REFERENCE </ARTICLE> <PAGE> id=00 Cro60700 /> id=00 Cro60800 /> id=00 Cro60900 /> id=00 Cro601000 /> id=00 Cro601100 /> id=00 Cro601200 /> id=00 Cro601300 /> B.3. Il testo dei blocchi B.3 51 Il testo dei blocchi È stato arrestato nei giorni scorsi con l’accusa di aver molestato pesantemente una minorenne. Un cittadino marocchino residente in val di Sole ora è ricoverato nel reparto psichiatrico dell’ospedale Santa Chiara. Su di lui pende l’accusa di violenza sessuale. Nei giorni scorsi i carabinieri lo avevano posto agli arresti domiciliari dopo che il giudice Marco La Ganga aveva firma to un’ordinanza di custodia cautelare su richiesta del pubblico ministero Alessandra Liverani. L’uomo, poi, è stato trasferito in ospedale perché soffre di turbe psichiche. Adesso i giudici dovranno accertare le sue condizioni di salute e la sua capacità di intendere e di volere. I fatti di cui è accusato si sono svolti nei giorni scorsi. Secondo quanto ricostruito dagli inquirenti, l’uomo avrebbe molestato pesantemente una minorenne alla stazione del bus. L’uomo avrebbe allungato le mani toccando nelle parti intime la ragazzina. Alla scena, però, avrebbero assistito delle persone che sono state in grado di fornire gli elementi sufficienti per individuare il marocchino. L’immigrato è stato rintracciato nei giorni scorsi e messo ai do miciliari. Adesso le sue condizioni di salute dovranno essere accertate per verificare se era in grado di controllarsi o no. Le condizioni dell’uomo sono subito sembrate critiche. Per questo è stato disposto il suo trasferimento al reparto di psichiatria. Adesso i medici dovranno curarlo e accertare le sue reali condizioni di salute. Per non fumare aveva deciso di mettersi in bocca un chewing gum, ma quando ha iniziato a masticare il confetto bianco ha pensato che forse una boccata di fumo sarebbe stata meglio. Sotto il guscio di zucchero, nascosto tra la gomma arabica, c’era un dente. Non un dente vero, bensı̀ uno di quelli impiantati, di porcellana, con tanto di vite in titanio che spuntava. Questa la disavventura capitata sabato sera a un pensionato di 63 anni della Valsugana. Non riusciva a prendere sonno, cosı̀ si è alzato dal letto ed è andato alla finestra, a guardare i giovani nella piazza del paese. Ha avuto la tentazione di portarsi una sigaretta alla bocca, ma si è immediatamente pentito. Cosı̀ è andato a prendere quel pacchetto di gomme da masticare che aveva comprato giusto quel pomeriggio in un supermercato di un paese vicino. Il chewing gum era di marca Daygum protex. Una scritta sulla con- 52 Appendice B. I FILE fezione garantisce più igiene orale e meno carie. Insomma denti sani. Nello slogan, però, si allude ai denti dei consumatori, non a molari altrui finiti chissà come nell’impasto della gomma da masticare. E dire che l’anziano quel chewing gum se lo voleva proprio gustare. Dapprima ha fatto sciogliere il guscio bianco fatto di zucchero e poi ha iniziato a masticare con voluttà la gomma. Non ha fatto in tempo ad assaporare il fresco della menta che la sensazione piacevole si è trasformata in una fitta. Qualcosa si era infilato nel suo palato. Stupito e dolorante, l’uomo ha subito sputato la gomma e ha notato che dal grumo molliccio spuntava una specie di vite. Allora ha guardato meglio e quello che poteva sembrare un pezzo di gomma si è rivelato essere un dente in porcellana. Uno di quei denti da implantologia che hanno sostituito i vecchi ponti. Si trattava di un dente rotto alla base con una vite in titanio che spuntava da sotto, lunga poco più di un centimetro. Il poveretto è stato subito assalito da sensazioni differenti e tutte fortissime. Innanzitutto lo schifo. La repulsione per quell’oggetto cosı̀ intimo finito nella propria bocca. Ma poi al ribrezzo si è sostituita ben presto la paura, come racconta il figlio del malcapitato: Il timore che quel dente appartenesse a una persona malata non lo ha fatto dormire per un paio di notti. L’altro ieri è andato dal medico per farsi prescrivere tutte le analisi necessarie per verificare di non aver contratto malattie infettive. Il dente era scheggiato e mio padre è stato ferito. Per questo ha paura. Non è un dente nuovo. Chissà a chi apparteneva. Magari era di una persona in perfetta forma, ma forse no. In questo caso c’è il rischio concreto di contrarre malattie. Il figlio del pensionato è subito andato a protestare al supermercato, ma gli hanno risposto che a loro il pacchetto è arrivato confezionato e quindi non potevano immaginare in nessun modo che dentro uno dei confetti contenesse un dente. Cosı̀ l’uomo si è rivolto al produttore: Ho chiamato la Perfetti- Van Melle di Milano. Mi ha risposto il direttore vendite. Prima mi ha fatto un paio di domande a trabocchetto mettendo in dubbio che un confetto di gomma da masticare potesse contenere un dente. Io, però, gli ho dimostrato che le dimensioni erano perfettamente compatibili. Allora lui è diventato più ragionevole. Ha chiesto di avere il dente e il pacchetto in questione e comunque mi ha detto di stare tranquillo perché loro sono assicurati. Io, per non sbagliare, mi sono rivolto a un avvocato . Sulla catena di montaggio ci sono tre metal detector molto sensibili. Possono captare la presenza di frammenti estranei anche molto piccoli. Il B.3. Il testo dei blocchi 53 direttore vendite della Perfetti- Van Melle era molto sorpreso quando è stato contattato telefonicamente dal trentino che ha trovato un dente dentro un chewin gum: Mi ha detto - ha raccontato il figlio dell’uomo che ha avuto la disavventura - che è molto difficile che qualcosa di estraneo possa finire nell’impasto della gomma arabica. Ha parlato di un impianto di controllo molto rigido e poi mi ha chiesto il numero di codice del pacchetto. Ha detto che da quello è in grado di risalire al lotto cui appartiene il pacchetto. In questo modo può scoprire se quando è stato inscatolato il prodotto c’è stata un’interruzione dei controlli. Su come possa essere accaduta una cosa del genere non ha fatto ipotesi. Mi ha fatto capire che il dente può essere stato messo nell’impasto da qualcuno oppure che può essere semplicemente caduto a un dipendente. Le due ipotesi, in effetti, sono quelle più credibili. Si va dal sabotaggio all’incidente. Nel primo caso il responsabile potrebbe essere solo una persona che ha accesso alla catena di montaggio. Infatti il dente era all’interno del confetto di gomma da masticare che all’esterno non presentava lacerazioni. Il dente, quindi, deve essere stato inserito nell’impasto durante la lavorazione e non dopo. L’aspetto esterno era perfetto e non ha fatto dubitare il poveretto che ha iniziato a masticare la gomma. L’altra ipotesi possibile è che il dente sia caduto a un addetto del tutto in buona fede. Probabilmente tenevano d’occhio la loro vittima da qualche ora. Poi, al momento opportuno hanno suonato il campanello fingendosi venditori di biancheria per la casa. Due malviventi, distinti e chiacchieroni, erano riusciti a circuire un’anziana signora che vive da sola in San Bartolomeo, ma grazie alla prontezza di spirito di una dipendente di banca, la truffa è stata sventata. È accaduto ieri mattina a Trento. La donna, una signora di 84 anni che vive sola, era appena tornata a casa dopo aver svolto alcune commissioni. Verso le 11 è suonato il campanello: due uomini, uno sui 40-45 anni ed una sulla trentina, le proponevano via citofono l’acquisto di biancheria per la casa. La signora, non dubitando di nulla, ha aperto il portone facendo accomodare in casa i due. Si era anche lasciata convincere che quella merce era un affare, 600 euro per asciugamani, lenzuola, tovaglie, copriletto e una parure. Per pagare il tutto, un uomo l’ha accompagnata in auto in un filiale della banca, nel centro della città, per poter effettuare un prelievo, mentre un complice è rimasto nei pressi dell’abitazione. È stato proprio all’interno dell’istituto che un’impiegata si è insospettita e ha chiesto spiegazioni. Forse 54 Appendice B. I FILE la lunga perma nenza all’interno della banca dell’anziana donna ha fatto capire ad uno dei malviventi che le cose non stavano andando per il verso giusto. Quando gli agenti della polizia municipale sono arrivati sul posto, grazie alla segnalazione della dipendente del la banca, il malvivente si era già dileguato. Nessuna traccia nemmeno del complice, nella zona di San Bartolomeo. Il personale del Nucleo operativo della polizia municipale, assieme agli uomini della squadra mobile della Questura di Trento, sono alla ricerca dei due truffatori. L’anziana donna è stata sentita a lungo, ma dell’accaduto ha un ricordo sbiadito. Ha detto agli agenti che a casa sua erano entrati due distinti signori, che parlavano correttamente in italiano. Non avrebbe avuto nessun dubbio sull’onestà dei due e si è anche stupita dell’arrivo della polizia fuori dalla banca. La merce, lasciata dai truffatori a casa della donna, è stata sequestrata. Si tratta di biancheria di cattiva qualità e di un valore che non raggiungerebbe nemmeno i 100 euro. E purtroppo non si tratta dell’unica truffa avvenuta in città negli ultimi giorni. Un pensionato infatti è stato circuito da un uomo che si fingeva un vecchio conoscente e ha acquistato un capo in finta pelle per 460 euro. Contro i raggiri la polizia municipale ha stampato un opuscolo, distribuito gratuitamente presso il Comando e negli incontri in programma nei circoli anziani. Oggi alle 16 l’appuntamento è a Piedicastello. B.4. I vettori delle keyword B.4 I vettori delle keyword 55 <ordinanza> = 1 <pubblico ministero> = 1 <accertare> = 1 ===================== <secondo> = 1 <uomo> <uomini> = 1 <giorni> = 2 <giorni> = 1 <accusa> = 2 <ospedale> = 1 <ospedale santa> = 1 <salute> =1 <violenza sessuale> = 1 <turbe psichiche> = 1 <firma> = 1 <accusato> = 1 <marco> = 1 <capacità> = 1 <sole> = 1 <fatti> =1 <posto> = 1 <richiesta> = 1 <molestato> = 1 <alessandra> = 1 <giudice> = 1 ===================== <ricoverato> = 1 <uomo> <uomini> = 2 <reparto psichiatrico> = 1 <giorni> = 1 <cittadino> = 1 <inquirenti> = 1 <marocchino> = 1 <immigrato> =1 <residente> = 1 <toccando> = 1 <val> = 1 <elementi sufficienti> = 1 <chiara> = 1 <grado> = 1 <pesantemente> = 1 <stazione> =1 <minorenne> = 1 <do> = 1 <pende> = 1 <fornire> = 1 <arresti domiciliari> = 1 <avrebbero> = 1 <arrestato> = 1 <molestato> =1 <carabinieri> = 1 <marocchino> = 1 <ganga> = 1 ===================== <assistito> = 1 <parti intime> = 1 <volere> = 1 <messo> = 1 <custodia cautelare> = 1 <pesantemente> = 1 <condizioni> = 1 <bus> = 1 <liverani> = 1 <scena> =1 <intendere> = 1 <minorenne> = 1 <svolti> = 1 <rintracciato> = 1 <to> = 1 <mani> =1 <trasferito> = 1 <individuare> = 1 <soffre> = 1 <ragazzina> = 1 <ricostruito> = 1 <allungato> = 1 <giudici dovranno> = 1 56 ===================== <condizioni> = 2 <salute> = 2 <dovranno> = 1 <grado> = 1 <psichiatria> = 1 <sembrate> = 1 <miciliari> = 1 <accertare> = 1 <uomo> <uomini> = 1 <critiche> = 1 <accertate> = 1 <verificare> = 1 <reali condizioni> = 1 <trasferimento> = 1 <medici dovranno> = 1 <disposto> = 1 <curarlo> = 1 <controllarsi> = 1 <reparto> = 1 ===================== <gomma> = 5 <masticare> = 4 <chewing gum> = 3 <dente> = 3 <guscio> = 2 <vite> = 2 <porcellana> = 2 <zucchero> = 2 <meglio> = 2 <spuntava> = 2 <iniziato> = 2 <denti> = 2 <bianco> = 2 <andato> = 2 <bocca> = 2 <anno> <anni> = 1 <dapprima> = 1 <piazza> = 1 <portarsi> = 1 Appendice B. I FILE <deciso> = 1 <piacevole> = 1 <palato> = 1 <fresco> = 1 <tempo> = 1 <daygum> = 1 <grumo> = 1 <voleva> = 1 <confezione> = 1 <bensı̀> = 1 <paese vicino> = 1 <allude> = 1 <chissà> = 1 <confetto> = 1 <prendere sonno> = 1 <pentito> = 1 <immediatamente> = 1 <rivelato> = 1 <capitata> = 1 <assaporare> = 1 <insomma> = 1 <menta> = 1 <paese> <paesi> = 1 <vero> = 1 <impasto> = 1 <tentazione> = 1 <carie> = 1 <letto> = 1 <giovani> = 1 <trasformata> = 1 <pomeriggio> = 1 <titanio> = 1 <giusto> = 1 <sensazione> = 1 <poteva sembrare> = 1 <valsugana> = 1 <arabica> = 1 <riusciva> = 1 <dolorante> = 1 <nascosto> = 1 B.4. I vettori delle keyword <uomo> <uomini> = 1 <sabato sera> = 1 <alzato> = 1 <avuto> = 1 <boccata> = 1 <era infilato> = 1 <sputato> = 1 <garantisce> = 1 <finiti> = 1 <marca> = 1 <orale> = 1 <guardare> = 1 <sani> = 1 <mettersi> = 1 <voluttà> = 1 <anziano> = 1 <altrui> = 1 <notato> = 1 <consumatori> = 1 <fumo> = 1 <pezzo> = 1 <molliccio> = 1 <gustare> = 1 <gomme> = 1 <pensionato> = 1 <guardato> = 1 <protex> = 1 <sigaretta> = 1 <slogan> = 1 <comprato> = 1 <sciogliere> = 1 <stupito> = 1 <impiantati> = 1 <specie> = 1 <pacchetto> = 1 <igiene> = 1 <disavventura> = 1 <fumare> = 1 <prendere> = 1 <molari> = 1 57 <fitta> = 1 <pensato> = 1 <supermercato> = 1 <scritta> = 1 <finestra> = 1 ===================== <dente> = 7 <figlio> = 2 <paio> = 2 <risposto> = 2 <andato> = 2 <pacchetto> = 2 <rivolto> = 2 <paura> = 2 <infettive> = 1 <medico> = 1 <scheggiato> = 1 <verificare> = 1 <contrarre malattie> = 1 <ferito> = 1 <prescrivere> = 1 <appartenesse> = 1 <notti> = 1 <farsi> = 1 <lunga> = 1 <rotto> = 1 <chissà> = 1 <confetti> = 1 <differenti> = 1 <confetto> = 1 <potesse> = 1 <caso> = 1 <sbagliare> = 1 <timore> = 1 <implantologia> = 1 <apparteneva> = 1 <masticare> = 1 <oggetto> = 1 <detto> = 1 <potevano immaginare> = 1 58 <trattava> = 1 <arrivato> = 1 <ieri> = 1 <magari era> = 1 <stare tranquillo> = 1 <diventato> = 1 <intimo> = 1 <vecchi> = 1 <ben presto> = 1 <analisi> = 1 <innanzitutto> = 1 <assicurati> = 1 <titanio> = 1 <sostituita> = 1 <milano> = 1 <perfettamente compatibili> = 1 <necessarie> = 1 <sensazioni> = 1 <chiamato> = 1 <sostituito> = 1 <uomo> <uomini> = 1 <poveretto> = 1 <protestare> = 1 <padre> = 1 <confezionato> = 1 <spuntava> = 1 <van melle> = 1 <vite> = 1 <bocca> = 1 <dentro> = 1 <questione> = 1 <trabocchetto> = 1 <perfetti> = 1 <dimostrato> = 1 <finito> = 1 <rischio concreto> = 1 <ponti> = 1 <racconta> = 1 <chiesto> = 1 <vendite> = 1 Appendice B. I FILE <modo> = 1 <fatto dormire> = 1 <direttore> = 1 <dubbio> = 1 <malcapitato> = 1 <gomma> = 1 <ribrezzo> = 1 <schifo> = 1 <contratto> = 1 <mettendo> = 1 <pensionato> = 1 <malattie> = 1 <avvocato> = 1 <fortissime> = 1 <domande> = 1 <produttore> = 1 <centimetro> = 1 <ragionevole> = 1 <dimensioni> = 1 <assalito> = 1 <contenere> = 1 <perfetta forma> = 1 <denti> = 1 <repulsione> = 1 <contenesse> = 1 <persona malata> = 1 <supermercato> = 1 <base> = 1 ===================== <detto> = 2 <pacchetto> = 2 <controllo> = 1 <disavventura> = 1 <rigido> = 1 <chewin> = 1 <difficile> = 1 <arabica> = 1 <presenza> = 1 <appartiene> = 1 <gum> = 1 B.4. I vettori delle keyword <uomo> <uomini> = 1 <metal detector> = 1 <avuto> = 1 <telefonicamente> = 1 <van melle> = 1 <numero> = 1 <risalire> = 1 <captare> = 1 <inscatolato> = 1 <contattato> = 1 <frammenti> = 1 <perfetti> = 1 <estraneo> = 1 <catena> = 1 <sensibili> = 1 <interruzione> = 1 <modo> = 1 <chiesto> = 1 <vendite> = 1 <trovato> = 1 <lotto> = 1 <direttore> = 1 <parlato> = 1 <impianto> = 1 <piccoli> = 1 <montaggio> = 1 <dentro> = 1 <scoprire> = 1 <codice> = 1 <grado> = 1 <gomma> = 1 <raccontato> = 1 <dente> = 1 <trentino> = 1 <controlli> = 1 <figlio> = 1 <prodotto> = 1 <estranei> = 1 <sorpreso> = 1 <finire> = 1 59 <impasto> = 1 ===================== <dente> = 4 <ipotesi> = 3 <caduto> = 2 <gomma> = 2 <masticare> = 2 <impasto> = 2 <era perfetto> = 1 <credibili> = 1 <messo> = 1 <semplicemente> = 1 <inserito> = 1 <primo caso> = 1 <fatto capire> = 1 <potrebbe> = 1 <incidente> = 1 <esterno> = 1 <effetti> = 1 <buona fede> = 1 <sabotaggio> = 1 <catena> = 1 <dipendente> = 1 <addetto> = 1 <dubitare> = 1 <iniziato> = 1 <poveretto> = 1 <aspetto esterno> = 1 <confetto> = 1 <montaggio> = 1 <responsabile> = 1 <lavorazione> = 1 <lacerazioni> = 1 <accesso> <accessi> = 1 <durante> = 1 <genere> = 1 <accaduta> = 1 <va> = 1 <presentava> = 1 <interno> = 1 60 ===================== <casa> = 4 <campanello> = 2 <biancheria> = 2 <signora> = 2 <anno> <anni> = 2 <suonato> = 2 <uomo> <uomini> = 2 <occhio> = 1 <filiale> = 1 <san bartolomeo> = 1 <dubitando> = 1 <tovaglie> = 1 <tenevano> = 1 <copriletto> = 1 <fingendosi> = 1 <svolto> = 1 <truffa> = 1 <chiacchieroni> = 1 <commissioni> = 1 <accaduto ieri> = 1 <accomodare> = 1 <venditori> = 1 <banca> = 1 <momento opportuno> = 1 <proponevano> = 1 <donna> <donne> = 1 <affare> = 1 <dipendente> = 1 <citofono> = 1 <acquisto> = 1 <spirito> = 1 <merce> = 1 <asciugamani> = 1 <prontezza> = 1 <mattina> = 1 <parure> = 1 <facendo> = 1 <circuire> = 1 <auto> = 1 Appendice B. I FILE <tornata> = 1 <probabilmente> = 1 <accompagnata> = 1 <malviventi> = 1 <via> = 1 <trentina> = 1 <lenzuola> = 1 <sventata> = 1 <portone> = 1 <distinti> = 1 <aperto> = 1 <vive sola> = 1 <riusciti> = 1 <lasciata convincere> = 1 <sola> = 1 <anziana signora> = 1 <pagare> = 1 <vive> = 1 <nulla> = 1 <trento> = 1 <vittima> = 1 ===================== <impiegata> = 1 <perma> = 1 <pressi> = 1 <lunga> = 1 <interno> = 1 <istituto> = 1 <prelievo> = 1 <abitazione> = 1 <insospettita> = 1 <effettuare> = 1 <centro> = 1 <complice> = 1 <chiesto spiegazioni> = 1 <città> = 1 <banca> = 1 <rimasto> = 1 ===================== <dipendente> = 1 B.4. I vettori delle keyword <arrivati> = 1 <stavano andando> = 1 <anziana donna> = 1 <posto> = 1 <giusto> = 1 <polizia municipale> = 1 <interno> = 1 <malviventi> = 1 <segnalazione> = 1 <fatto capire> = 1 <banca> = 1 <agenti> = 1 <nenza> = 1 ===================== <personale> = 1 <uomo> <uomini> = 1 <complice> = 1 <nemmeno> = 1 <nessuna traccia> = 1 <banca> = 1 <assieme> = 1 <squadra mobile> = 1 <san bartolomeo> = 1 <zona> = 1 <questura> = 1 <malvivente> = 1 <dileguato> = 1 <polizia municipale> = 1 <nucleo operativo> = 1 ===================== <truffatori> = 2 <tratta> = 2 <casa> = 2 <sentita> = 1 <fingeva> = 1 <piedicastello> = 1 <circuito> = 1 <distinti signori> = 1 <circoli> = 1 <raggiri> = 1 61 <incontri> = 1 <truffa> = 1 <uomo> <uomini> = 1 <avuto> = 1 <italiano> = 1 <ricordo> = 1 <banca> = 1 <raggiungerebbe> = 1 <ricerca> = 1 <appuntamento> = 1 <donna> <donne> = 1 <vecchio> = 1 <giorni> = 1 <valore> = 1 <anziani> = 1 <merce> = 1 <sbiadito> = 1 <conoscente> = 1 <anziana donna> = 1 <detto> = 1 <dubbio> = 1 <lasciata> = 1 <polizia> = 1 <capo> = 1 <correttamente> = 1 <acquistato> = 1 <accaduto> = 1 <polizia municipale> = 1 <pensionato> = 1 <comando> = 1 <fuori> = 1 <biancheria> = 1 <parlavano> = 1 <lungo> = 1 <oggi> = 1 <programma> = 1 <onestà> = 1 <avvenuta> = 1 <stampato> = 1 <stupita> = 1 62 <nemmeno> = 1 <unica> = 1 <distribuito gratuitamente> = 1 <sequestrata> = 1 <pelle> = 1 <finta> = 1 <arrivo> = 1 <città> = 1 <opuscolo> = 1 <entrati> = 1 <agenti> = 1 <purtroppo> = 1 <trento> = 1 <cattiva qualità> = 1 Appendice B. I FILE B.5. Il risultato del clustering B.5 63 Il risultato del clustering <?xml version=00 1.000 encoding=00 UTF-800 standalone=00 no00 ?> <!DOCTYPE PAGE SYSTEM 00 ..\docdef.dtd00 > <PAGE number of articles=00 400 > <ARTICLE id=00 100 > hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050600 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050800 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050700 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050500 /> </ARTICLE> <ARTICLE id=00 200 > hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-200501100 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-200501000 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050900 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-200501300 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-200501200 /> </ARTICLE> <ARTICLE id=00 300 > hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050300 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050100 /> </ARTICLE> <ARTICLE id=00 400 > hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050200 /> hspace*1cm<REFERENCE id=00 vectors\vectors-Cro6-stop-8-june-20050400 /> </ARTICLE> </PAGE>