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>