Issuu on Google+

Introduction to Information Retrieval From Text Classification to Clustering Text Classification, Naive Bayes, Bernoulli Model, Feature Selection, Vector Space Classification, Rocchio Classification, K Nearest Neighbors, Linear and Non-Linear Classificators, Flat Clustering, Purity, NMI, Rand Index, F1, K-means, Model-Based-Clustering, Hierarchical Clustering, Single-Link Clustering, Complete-Link Clustering, Group-Average Clustering, Centroid Clustering, Divisive Clustering, Cluster Labeling. Francesco Pontillo e Ciro Santoro


Sommario 1. Text Classification .............................................................................. 1 1.1 Introduzione ................................................................................................ 1 1.1.1 Regole nella Text Classification ................................................................................... 1 1.1.2 Text Classification: il problema formalizzato ............................................................... 2

1.2. Naive Bayes per la classificazione ............................................................... 2 1.2.1 Complessità dell’algoritmo di Naive Bayes .................................................................. 4 1.2.2 Proprietà del Naive Bayes ........................................................................................... 4

1.3 Il modello di Bernoulli.................................................................................. 5 1.3.1 Proprietà del metodo di Bernoulli ............................................................................... 6

1.4 Feature Selection ......................................................................................... 6 1.4.1 Mutual Information..................................................................................................... 7 1.4.2 χ2 Feature Selection .................................................................................................... 8 1.4.2.1 Problemi nel χ2 Feature Selection .................................................................................................... 8

1.4.3 Frequency-based Feature Selection ............................................................................ 9 1.4.4 Osservazioni sui metodi .............................................................................................. 9 1.4.4.1 Feature Selection per classificatori multipli..................................................................................... 9 1.4.4.2 Paragone fra i metodi di Feature Selection ..................................................................................... 9

1.5 Valutazione della Text Classification ...........................................................10

2. Vector Space Classification .............................................................. 12 2.1 Introduzione ...............................................................................................12 2.1.1 Rappresentazione e similarità di documenti in uno spazio vettoriale ....................... 12

2.2 Rocchio Classification .................................................................................12 2.2.1 Come misurare la distanza fra documenti ................................................................. 13 2.2.2 Problemi di Rocchio .................................................................................................. 13

2.3 K Nearest Neighbor.....................................................................................14 2.4 Classificatori lineari ....................................................................................15 2.4.1 Rocchio è un classificatore lineare ............................................................................ 15 2.4.2 Naive Bayes è un classificatore lineare ...................................................................... 15


2.4.3 Proprietà dei classificatori lineari .............................................................................. 16 2.4.3.1 Linea di classe ................................................................................................................................ 16 2.4.3.2 Noise Document ............................................................................................................................ 16 2.4.3.3 Separabilità lineare........................................................................................................................ 16

2.5 Classificatori non lineari .............................................................................16 2.6 Classificazione con più di due classi ............................................................17 2.6.1 Classificazione con classi non esclusive ..................................................................... 17 2.6.2 Classificazione con classi mutualmente esclusive ...................................................... 17 2.6.3 Matrice di confusione ............................................................................................... 17

3. Flat Clustering .................................................................................. 18 3.1 Introduzione al clustering ...........................................................................18 3.1.1 Tipologie di clustering ............................................................................................... 18 3.1.2 Applicazioni di clustering nell’Information Retrieval ................................................. 18 3.1.3 Clustering: il problema formalizzato.......................................................................... 19 3.1.3.1 Cardinalità: il numero di clusters ................................................................................................... 19

3.2 Valutazione del clustering...........................................................................20 3.2.1 Purity ........................................................................................................................ 20 3.2.2 Normalized Mutual Information ............................................................................... 20 3.2.3 Rand Index ................................................................................................................ 21 3.2.4 F-Measure ................................................................................................................. 22

3.3 K-means ......................................................................................................22 3.4 Model-based clustering ..............................................................................24

4. Hierarchical Clustering ..................................................................... 25 4.1 Introduzione ...............................................................................................25 4.1.1 Tipi di Hierarchical Clustering .................................................................................... 25 4.1.2 Rappresentazione e proprietà del Clustering Bottom-Up .......................................... 25

4.2 Single-Link e Complete-Link Clustering .......................................................26 4.2.1 Single Link Clustering ................................................................................................ 26 4.2.2 Complete Link Clustering .......................................................................................... 27

4.3 Group-average clustering ...........................................................................28


4.4 Centroid Clustering .....................................................................................29 4.5 Divisive Clustering ......................................................................................30 4.6 Cluster labeling ...........................................................................................30


1. Text Classification 1.1 Introduzione Nell’era moderna, la ricerca di informazioni è diventata cruciale. Ancora più importante è la ricerca di informazioni che siano aggiornate e pertinenti all’argomento sottinteso dalla richiesta dell’utente. Come si può realizzare questo bisogno continuo dell’utente di avere risultati aggiornati? Una soluzione è data dalle “standing queries”, che sono query ripetute su un sistema che è via via aggiornato. Però, per ottenere un buon risultato è necessario ridefinire le query nel tempo, il che può essere molto complicato e pesante! La soluzione adottata attualmente si basa sulla classificazione: dato un set di classi (categorie generali), vogliamo determinare a quale classe (o classi) un determinato oggetto appartiene. L’oggetto può essere di qualsiasi tipologia: testo, audio, immagine, … Vi sono due tipi generici di classificazione: - Routing/filtering: è basato sulle standing queries. - Text Classification: utilizzato quando le classi sono argomenti più o meno generici. La classificazione è utile in molti casi comuni; alcuni sono: - Rilevamento automatico di spam. - Rilevamento automatico di contenuti espliciti. - Sentiment detection, un sistema capisce, a partire dai commenti relativi ad un’opera, se gli utenti hanno trovato la stessa utile, divertente, o noiosa e non buona. - Email sorting, un sistema può smistare la posta automaticamente nelle cartelle presenti, a seconda del contenuto o del mittente. - Vertical Search Engine, un sistema può voler cercare, a partire da una richiesta da parte di un utente, in specifiche categorie esistenti. 1.1.1 Regole nella Text Classification Come si può procedere nella text classification? Ci sono tre approcci fondamentali. La classificazione manuale è quella che viene da sempre effettuata, ad esempio nelle biblioteche. La classificazione tramite regole scritte a mano (hand-crafted rules), le standing queries di cui sopra, sono molto simili ad espressioni booleane. Nel machine learning-based text classification l’insieme di regole (o il criterio di decisione da parte del classificatore) viene automaticamente appreso a partire da un insieme di dati già classificati (training data o training set). Questo approccio viene anche chiamato statistical text classification se il metodo di apprendimento è statistico. Per poter utilizzare questo metodo, abbiamo bisogno di un alto numero di documenti appartenenti a determinate classi. Il labeling, ossia l’operazione che consiste nello specificare la classe di appartenenza di un documento, viene eseguita da persone, ma è molto più semplice e veloce rispetto allo scrivere regole!

1


1.1.2 Text Classification: il problema formalizzato Siano: descrizione di un documento spazio dei documenti, di solito è multidimensionale insieme prefissato di classi (anche dette categorie o label) training set documento categorizzato Allora, utilizzando un learning method (o learning algorithm), vogliamo creare un classificatore o una funzione classificatrice che associ i documenti alle classi:

Questo metodo di apprendimento è detto supervised learning, perché c’è un supervisore, cioè la persona che definisce le classi e crea il training set. Il metodo di apprendimento supervisionato è così formalizzato:

Il metodo produce classificatori, mentre è un classificatore. Una volta ottenuto il classificatore , possiamo applicarlo al test set (o test data), la cui classe è sconosciuta. Se ogni elementi di D può appartenere ad una sola classe, il problema è detto one-of problem. Altrimenti, se il documento può appartenere anche a più di una classe, si parla di any-of problem. Per il momento, prenderemo in considerazione il one-of problem. Il nostro scopo nella costruzione di un classificatore è quello di raggiungere un’elevata accuratezza su dati nuovi: è infatti molto facile essere accurati solo sul training set, i dati sono già classificati! Inoltre, nell’utilizzo di un training set per l’apprendimento di un classificatore, assumiamo che il training data e il test data hanno distribuzione simile.

1.2. Naive Bayes per la classificazione Il multinomial Naive Bayes, anche detto modello multinomiale NB, è un metodo di apprendimento probabilistico. Siano: il documento da testare la classe sulla quale si vuole verificare l’appartenenza il termine in posizione k all’interno di d il numero totale dei termini in d è detta probabilità condizionata che il termine appaia in un documento di classe c. Essa viene interpretata come una misura della contribuzione di ad identificare c come classe corretta.

2


è detta probabilità a priori che un documento si trovi nella classe c. Se un documento non fornisce abbastanza prove di appartenenza ad una classe piuttosto che ad un’altra, scegliamo la classe con probabilità a priori maggiore. probabilità che il documento d si trovi nella classe c. Quindi, la probabilità che un documento d si trovi in una classe c è così calcolata:

Il nostro obiettivo consiste nel trovare la migliore classe per il documento, cioè la classe con il maximum a posteriori:

Abbiamo utilizzato anziché poiché non possiamo conoscerne l’esatto valore, ma possiamo solo stimarlo a partire dal training set! Andando ad osservare la formulazione di , notiamo che il prodotto di termini molto piccoli potrebbe via via portare ad un floating point underflow, quindi ad un numero molto vicino allo 0. Allora effettuiamo il calcolo aggiungendo il logaritmo delle probabilità anziché moltiplicarle fra di loro, secondo l’equazione:

Poiché la funzione logaritmo è monotona, sceglieremo ancora la classe con il calcolo di probabilità logaritmica maggiore:

Il problema che ora si pone è: come stimiamo i parametri

e

?

Per calcolare utilizziamo il metodo della massima verosimiglianza: il numero dei documenti del training set che si trovano nella classe c il numero totale dei documenti nel training set è allora il rapporto tra il numero dei documenti nella classe considerata e il numero totale dei documenti nel training set Calcoliamo la probabilità condizionata

come una frequenza relativa:

3


è il numero di occorrenze di t nei documenti del training set che si trovano nella classe c è il numero di parole nei documenti del training set (inclusi i doppioni!) è quindi la frequenza relativa del termine t nei documenti appartenenti alla classe c Se ci troviamo a calcolare la frequenza relativa di un termine raro, però, il valore di sarebbe 0, andando ad annullare la probabilità condizionata . Questo problema è chiamato spareness: il training set non è mai grande abbastanza per rappresentare adeguatamente la frequenza di eventi rari. Per eliminare gli zeri, quindi, utilizziamo lo smoothing di Laplace, che aggiunge 1 ad ogni calcolo:

1.2.1 Complessità dell’algoritmo di Naive Bayes La complessità di calcolo dei parametri è poiché il set dei parametri consiste di probabilità condizionate e di probabilità a priori. La complessità temporale è , dove è il numero dei documenti e è la loro lunghezza media. 1.2.2 Proprietà del Naive Bayes Per ridurre il numero dei parametri da calcolare, abbiamo fatto due assunzioni. La prima, detta di indipendenza condizionale, afferma che i valori degli attributi sono indipendenti ognuno dall’altro, data la classe: il fatto che un documento contenga una parola, non rende più o meno probabile la presenza di un’altra parola all’interno dello stesso. In realtà, i termini sono dipendenti condizionalmente l’uno dall’altro. La seconda ipotesi è detta di indipendenza posizionale: i termini tra loro vicini in un documento hanno stessa probabilità di appartenere alla classe. Abbiamo ottenuto, quindi, una bag of words. Questo modello è detto naive proprio perché si basa su assunzioni banali e poco realistiche in riferimento al modello del linguaggio naturale. Però, anche se le stime di probabilità di NB ( ) sono di bassa qualità, le sue decisioni di classificazione ( ), sono sorprendentemente buone. In generale: una corretta stima implica una predizione accurata, ma una predizione accurata non implica una stima corretta.

4


I classificatori NB stimano male, ma spesso classificano bene. Il metodo NB eccelle se ci sono molte caratteristiche ugualmente importanti che contribuiscono insieme alla decisione di classificazione. E’ anche abbastanza robusto al fenomeno delle noise features (feature rumore). La forza principale del metodo NB è la sua efficienza: in una singola passata sui dati è possibile addestrare il classificatore e classificare. In generale, possiamo affermare che il Naive Bayes è un classificatore ottimale (cioè ha una minima percentuale di errore sui nuovi dati) per dati che rispettano le assunzioni di indipendenza.

1.3 Il modello di Bernoulli Il modello di Bernoulli, genera un indicatore per ogni termine del vocabolario, che può valere:

Durante la classificazione di un documento, il modello di Bernoulli utilizza informazioni binarie sulla presenza, ignorando il numero di occorrenze (cosa che invece non avviene nel modello NB classico). Inoltre, se un termine del vocabolario è assente nel termine, il modello di Bernoulli ne tiene conto, come vedremo ora. Siano: il vocabolario dei termini che appaiono in D il numero dei documenti del training set che si trovano nella classe c il numero totale dei documenti nel training set è detta probabilità a priori che un documento si trovi nella classe c. Se un documento non fornisce abbastanza prove di appartenenza ad una classe piuttosto che ad un’altra, scegliamo la classe con probabilità a priori maggiore. è allora il rapporto tra il numero dei documenti nella classe considerata e il numero totale dei documenti nel training set, ed è stima di Ricordiamo la formula base per il metodo di Naive Bayes:

Calcoliamo la probabilità condizionata come una frequenza relativa: il numero dei documenti del training set che si trovano nella classe c e che contengono il termine t

5


è quindi il rapporto fra i documenti in c che contengono t e tutti i documenti in c La probabilità che un documento d appartenga alla classe c è quindi data da:

Si moltiplica, quindi, la probabilità a priori, le probabilità che i termini contenuti nel documento d nella classe c con le probabilità inverse che i termini non contenuti in d appaiano nella classe c. Anche per il modello di Bernoulli bisogna utilizzare lo smoothing di Laplace: , poiché E’ possibile anche utilizzare la valutazione del punteggio logaritmico, anziché della probabilità. 1.3.1 Proprietà del metodo di Bernoulli Essendo il metodo di Bernoulli una specializzazione di NB, valgono tutte le proprietà elencate in 1.2.2. Inoltre, il metodo di Bernoulli è molto robusto rispetto al concept drift. Può infatti avere una buona performance anche con meno di una dozzina di termini, poiché tiene in considerazione gli indicatori più importanti; in questa maniera, le classi cambiano meno facilmente e il modello mantiene un certo livello di accuratezza anche in caso di cambiamenti nei dati.

1.4 Feature Selection La feature selection altro non è che l’operazione di selezione di un sottoinsieme dei termini presenti nel training set ed il loro esclusivo utilizzo durante la fase di text classification. E’ una fase importante dell’Information Retrieval, poiché rende il classificatore più efficiente diminuendo la cardinalità dell’insieme dei vocaboli. E’ fondamentale soprattutto per i metodi che, a differenza di NB sono molto meno immediati da addestrare. Una funzione importante che la feature selection svolge è la rimozione delle noise features, cioè di quei termini che, aggiunti alla rappresentazione d di un documento, concorrono ad aumentare l’errore di classificazione sui nuovi dati. Incorrette generalizzazioni di un termine che accidentalmente capita più spesso in un certo sottoinsieme del training set portano al fenomeno dell’overfitting.

6


Il metodo della feature selection si basa sul calcolo di una utility measure (misura di utilità) per ogni termine. I termini con la utility measure più alta vengono accettati e resi features, gli altri vengono scartati. Ci sono tre tipi di utility measure che descriveremo: la mutual information, il test frequenza.

e la

1.4.1 Mutual Information Il metodo si basa sul calcolo della mutual information per ogni termine t nella classe c. MI misura l’informazione che la presenza o assenza del termine apporta alla corretta decisione del classificatore. Siano: classe sulla quale si vuole applicare la feature selection i termini che hanno la utility measure più alta il termine in analisi Siano, inoltre, U e C due variabili random:

Allora:

Definiamo come: il numero dei documenti in c che hanno Il pedice * va interpretato come unione dei due possibili valori. Tramite stime ottenute con il metodo di massima verosimiglianza, possiamo approssimare:

Calcoliamo le utility measure e selezioniamo i k termini con i valori più grandi. Se la distribuzione di un termine in una classe è uguale alla sua distribuzione nell’intera collezione, allora . MI raggiunge il suo valore massimo quando il termine è un perfetto indicatore per l’appartenenza alla classe, cioè il termine è presente in un documento se e solo se il documento appartiene a quella classe.

7


1.4.2 χ2 Feature Selection In statistica, il test χ2 viene applicato per provare che due eventi sono indipendenti tra loro. Due eventi sono indipendenti se:

Definiamo come: il numero dei documenti in c che hanno Il pedice * va interpretato come unione dei due possibili valori.

Nella feature selection, i due eventi sono l’occorrenza del termine t e l’occorrenza della classe c. Siano: è la frequenza attesa. Ad esempio,

Dopo aver calcolato tutti gli

, calcoliamo il valore di χ2:

Una forma per ottenere il valore di χ2 più velocemente è:

χ2 è una misura di quanto la somma attesa E e la somma osservata N deviano l’uno dall’altro. Un alto valore di χ2 indica che l’ipotesi di indipendenza non è corretta. Statisticamente, possiamo affermare che il risultato di χ2 è statisticamente rilevante con un certo livello di confidenza. Se i due eventi sono dipendenti, allora il termine è una feature valida per la classe. 1.4.2.1 Problemi nel χ2 Feature Selection

Da un punto di vista statistico, l’utilizzo del χ2 è problematico: si è visto che l’utilizzo continuo di un test statistico aumenta la probabilità di ottenere almeno un errore. Comunque, nella text classification importa poco se qualche termine viene aggiunto o rimosso dall’insieme delle features; ciò che invece conta è l’importanza relative delle feature.

8


1.4.3 Frequency-based Feature Selection Il metodo basato sulle frequenze seleziona i termini più comuni nella classe. Per frequenza si può intendere frequenza dei documenti nella classe c che contengono il termine t oppure frequenza dei termini t che appaiono nei documenti in c. La frequenza dei documenti è utilizzata per il modello di Bernoulli. Questo metodo seleziona alcuni termini molto frequenti che non posseggono nessuna specifica informazione sulla classe. Quando abbiamo molte migliaia di features a disposizione, questo metodo spesso si comporta bene. Quindi, se non desideriamo avere la migliore accuratezza, il modello basato sulle frequenze può essere considerato come alternativa a metodi molto più complessi. 1.4.4 Osservazioni sui metodi 1.4.4.1 Feature Selection per classificatori multipli

In un sistema con un grande numero di classificatori, è desiderabile avere un singolo insieme di features piuttosto che un insieme diverso per ogni classificatore. Un modo per ottenere questo risultato è creare una tabella , le cui colonne sono le occorrenze e non occorrenze dei termini e ogni riga corrisponde ad una delle classi; quindi si utilizzano come features i k termini con il χ2 più alto. L’accuratezza della classificazione spesso diminuisce quando vengono selezionate k features comuni per un sistema di n classificatori, rispetto ad n diversi insiemi di dimensione k. Tuttavia, il guadagno in efficienza può giustificare la perdita di accuratezza. 1.4.4.2 Paragone fra i metodi di Feature Selection

Il metodo χ2 sceglie termini più rari (che spesso sono indicatori meno affidabili) rispetto al metodo basato sulla mutual information. Ma la mutual information non sceglie necessariamente i termini che massimizzano l’accuratezza nella classificazione. Nonostante le loro differenze, i due metodi non sembra che diano sistematicamente risultati diversi. In generale, nei problemi di classificazione testuale, ci sono pochi forti indicatori e molti indicatori deboli. Finché i pochi indicatori forti vengono scelti (anche se vengono selezionati molti indicatori deboli!), ci si aspetta una buona accuratezza. Tutti e tre i metodi studiati sono greedy, e potrebbero selezionare, ad ogni passo, features che non aggiungono alcuna informazioni rispetto a quelle già scelte. Anche se questa ridondanza di informazione potrebbe intaccare l’accuratezza della classificazione, metodi non-greedy sono raramente utilizzati nella text classification a causa del loro elevato costo computazionale.

9


1.5 Valutazione della Text Classification Per ogni classificatore possiamo misurare tre principali parametri: recall, precision e accuracy: L’accuracy si misura come:

Tuttavia, non è un buon parametro per valutar e un classificatore per classi piccole, poiché dire sempre di “no” aumenta l’accuracy di un classificatore, ma non ci fa ottenere l’obiettivo di classificare! Introduciamo le seguenti variabili: sono i falsi positivi (errori di commissione), ossia il numero dei documenti erroneamente classificati sotto sono i falsi negativi (errori di omissione), ossia il numero dei documenti erroneamente non classificati sotto sono i veri positivi (comportamento corretto) sono i veri negativi (comportamento corretto) La precision è la probabilità che se un documento d decisione è corretta:

è classificato sotto ci, questa

Il recall è la probabilità che se un documento d dovrebbe essere classificato sotto ci, questa decisione è effettivamente presa dal classificatore:

La effectiveness è un termine generico che sta ad indicare misure che valutano la qualità delle decisioni di classificazione, ed include precision, recall, F1 e accuracy. La performance si riferisce all’efficienza computazionale della classificazione e dei sistemi di IR in generale. Quando ci troviamo di fronte alla classificazione di una collezione con molti classificatori a due classi, possiamo desiderare di calcolare un valore che combini le misure per i singoli classificatori. Ci sono due metodi per ottenere ciò: microaveraging e macroaveraging. Il microaveraging altro non effettua che la media pesata della correttezza e della completezza, dando peso uguale ad ogni decisione di classificazione per documento:

10


Il macroaveraging valuta correttezza e completezza prima localmente per ogni classe e poi globalmente mediando sui risultati delle diverse categorie (tutte le classi hanno lo stesso peso):

I risultati ottenuti con il macroaveraging forniscono una misura dell’effectiveness molto buona su grandi classi di una collezione di test. La regola generale è che l’accuracy sui nuovi dati sarà molto più bassa rispetto all’accuracy sull’insieme che si è utilizzato per testare il classificatore.

11


2. Vector Space Classification 2.1 Introduzione Il modello a spazi vettoriali rappresenta ogni documento come un vettore con una componente reale, cioè il peso tf-idf, per ogni termine. Siano: spazio dei documenti funzione classificatrice con dominio X L’ipotesi sulla quale si basa il modello vector space è detta ipotesi di contiguità: documenti nella stessa classe formano una regione contigua e regioni di classi diverse non si sovrappongono.

La componente reale per ogni termine è solitamente rappresentata come valore tf-idf. Ad esempio, un termine con 5 occorrenze in un documento dovrebbe aver più valore rispetto ad un termine che ha una sola occorrenza, ma un peso 5 volte più grande darebbe troppa enfasi al termine; ecco perché valori non normalizzati e non pesati non dovrebbero essere utilizzati nel modello a spazi vettoriali. 2.1.1 Rappresentazione e similarità di documenti in uno spazio vettoriale Rappresenteremo i documenti come vettori in . Le decisioni di molti classificatori vector space sono basate sulla nozione di distanza fra vettori (che rappresentano i documenti): misurando la similarità tra query ed ogni documento è possibile ordinare i documenti ritrovati in base alla rilevanza ed è possibile applicare una certa soglia in modo che la dimensione dell’insieme dei documenti ritrovati possa essere controllata. La distanza fra due documenti può essere calcolata come distanza euclidea o come similarità del coseno.

2.2 Rocchio Classification A partire dal training set, l’algoritmo di Rocchio pone i documenti nello spazio vettoriale, definendo i confini delle classi e, per ogni classe, calcola il prototipo, anche detto centroide, calcolato come centro di massa di tutti i documenti nella classe. Per classificare un nuovo documento, determiniamo la regione in cui esso si trova e lo assegniamo a quella classe. Il nostro scopo è quello di creare un algoritmo che calcoli dei buoni confini al fine di ottenere un’alta accuratezza di classificazione su nuovi dati. Siano:

l’insieme dei documenti in D la cui classe è c

12


è la normalizzazione del vettore rappresentante d Allora, il centroide di una classe c è così calcolato:

Il confine fra due classi nella classificazione Rocchio è l’insieme dei punti con uguale distanza da due centroidi, che è sempre una linea in due dimensioni, un iperpiano in più dimensioni:

La regola di classificazione in Rocchio consiste nel determinare il centroide più vicino al vettore che rappresenta il documento ed assegnarlo alla classe c identificata. 2.2.1 Come misurare la distanza fra documenti Per calcolare la distanza fra due documenti rappresentati come vettori in uno spazio vettoriale, possiamo utilizzare due metodi. La distanza euclidea è così calcolata:

La similarità del coseno è così calcolata: Il documento d apparterrà alla classe j se la j-esima distanza euclidea è la più piccola o se il j-esimo coseno è il maggiore. 2.2.2 Problemi di Rocchio Rocchio, durante la classificazione, non tiene conto della distribuzione dei documenti nella classe, ma considera soltanto la posizione del centroide; questo modo di operare non funzionerà bene nel caso di classi multimodali, ossia classi che hanno al loro interno più raggruppamenti (o cluster) separati, che sono rappresentate male da un singolo prototipo. Come si vede nell’immagine di esempio, la classe A contiene due clusters separati. Durante la classificazione, “o”, che in base all’effettiva distribuzione dei documenti è più vicino a B, verrà classificato come appartenente ad A, solo perché è più vicino al centroide di A, sbagliando. In caso di classificatori a due classi, queste sono raramente distribuite come sfere con raggio simile; quindi, assumere che abbiano raggio uguale genererà molti falsi positivi. La maggior parte dei problemi di classificazione quindi richiede che la regola di decisione venga così modificata:

13


dato b positivo. In Rocchio, però, il centroide dei documenti appartenenti a utilizzato, semplificando il criterio di decisione a:

non viene quasi mai

2.3 K Nearest Neighbor Il metodo del kNN determina i confini di decisione localmente. Ad esempio, per 1NN assegneremo il documento alla classe del documento più vicino. Per k generico, assegneremo il documento alla classe di maggioranza fra i suoi k documenti più vicini. Siano: l’insieme dei vicini la j-esima classe che si sta considerando la classe finale di appartenenza decisa dal classificatore Allora, la classe di appartenenza di un documento può essere calcolata selezionando la classe con la maggiore proporzione di termini (quindi con il maggior peso):

Alternativamente, possiamo utilizzare la similarità del coseno per dare un voto ad una classe. Siano: il documento in analisi l’insieme dei vicini

Allora:

Assegniamo il documento alla classe con il punteggio più alto. Il peso con la similarità del coseno è spesso più accurato del semplice peso dei documenti. I confini di decisione del kNN sono detti tassellazioni di Voronoi, cioè un insieme di celle i cui punti interni sono più vicini al documento rappresentante la cella che ad altri documenti. La tassellatura di Voronoi partiziona il piano in poligoni convessi, in ognuno dei quali è presente un solo documento. La versione probabilistica del kNN stima la probabilità dell’appartenenza alla classe c come la proporzione dei k documenti più vicini a c.

14


In generale, conviene scegliere , ma comunque dispari, in modo tare da non trovarsi mai in forme di indecisione. Valori di sono molto utilizzati, ma molto spesso troviamo sistemi di classification che usano anche .

2.4 Classificatori lineari Un classificatore lineare è un classificatore a due classi che stabilisce l’appartenenza a una delle due classi paragonando una combinazione lineare delle features entro una certa soglia. In uno spazio bidimensionale, un classificatore lineare è una linea; in un iperspazio, è un iperpiano. Generalizzando:

Il criterio di decisione è il seguente: Se ci troviamo in un piano bidimensionale:

2.4.1 Rocchio è un classificatore lineare Dimostriamo che Rocchio è un classificatore lineare: osserviamo che un vettore su un confine di decisione se ha uguale distanza da due centroidi:

si trova

che corrisponde ad un classificatore lineare se andiamo a sostituire:

2.4.2 Naive Bayes è un classificatore lineare Possiamo dimostrare che Naive Bayes è un classificatore lineare a partire dalla sua regola di decisione, che seleziona la categoria con il valore più grande di :

Se denotiamo con la classe complementare e passiamo al logaritmo, otteniamo:

Sceglieremo la classe se le probabilità sono maggiori di 1 o se, equivalentemente, le probabilità logaritmiche sono maggiori di 0. Notiamo subito che il Naive Bayes è un classificatore lineare:

15


in

2.4.3 Proprietà dei classificatori lineari 2.4.3.1 Linea di classe

Le distribuzioni e , di cui noi andiamo a calcolare le stime, sono separate da una linea; questa linea è detta linea di classe (o confine di classe), e rappresenta il confine reale fra le due classi. Si distingue dal confine di decisione, poiché questo viene calcolato come sua approssimazione dal metodo di apprendimento. 2.4.3.2 Noise Document

Un documento viene detto “rumoroso” (noise document) se non è conforme con la classe dominante nella sua area. E’ quindi un documento che, introdotto nel training set, concorre a sviare il metodo di classificazione, aumentando l’errore di classificazione. Essi rappresentano una delle ragioni che rendono difficile addestrare un classificatore lineare. 2.4.3.3 Separabilità lineare

Se esiste un iperpiano che separa perfettamente due classi, allora le due classi si dicono linearmente separabili. Se due classi sono linearmente separabili, allora ci sarà un numero infinito di separatori lineari, ossia un fascio di iperpiani. Quindi, se ci troviamo nel caso di un problema linearmente separabile, abbiamo bisogno di un ben preciso criterio che ci aiuti a scegliere gli iperpiani che separano perfettamente i dati di addestramento. In generale, alcuni iperpiani si comporteranno bene con nuovi dati, altri no.

2.5 Classificatori non lineari Un esempio di classificatore non lineare è il kNN. La non linearità è chiara non appena si nota che i confini di decisione di kNN sono segmenti, e hanno una forma complessa che non corrisponde a quella di una linea in uno spazio bidimensionale o a quella di un iperpiano in più dimensioni. Si è osservato che, se un problema è non lineare, è meglio utilizzare classificatori non lineari, che risultano più accurati, come il kNN (se l’insieme di training è abbastanza grande). Se un problema è lineare, conviene utilizzare un classificatore lineare, che risulta essere anche più semplice.

16


2.6 Classificazione con più di due classi 2.6.1 Classificazione con classi non esclusive La classificazione per classi che non sono mutualmente esclusive è detta any-of, multilabel o multivalue classification (classificazione multivalore). In questo caso, un documento può appartenere a più di una classe simultaneamente. Il metodo consiste nel: 1) Costruire un classificatore per ogni classe; il training set consiste di documenti che appartengono ad una classe o al suo complemento. 2) Dato il documento di test, applicare ogni classificatore separatamente. La decisione di ogni classificatore non influirà su quella degli altri classificatori. 2.6.2 Classificazione con classi mutualmente esclusive La classificazione per classi mutualmente esclusive è detta one-of, multinomial, polytomous, multiclass o single-label classification. In questo caso, un documento può appartenere esclusivamente ad una classe. kNN è un classificatore one-of. Se il numero delle classi è , sappiamo che esistono iperpiani. Questi, però, non dividono lo spazio vettoriale in regioni distinte. Quindi, dobbiamo utilizzare un metodo che combini classificatori a due classi per la classificazione one-of. Il metodo più semplice consiste nell’ordinare le classi e selezionare quelle con il punteggio più alto: 1) Costruire un classificatore per ogni classe; il training set consiste di documenti che appartengono alla classe o al suo complemento. 2) Dato il documento di test, applicare il classificatore separatamente. 3) Assegnare il documento alla classe con: a. Punteggio maggiore b. Massimo valore di confidenza c. Massima probabilità 2.6.3 Matrice di confusione La matrice di confusione è uno strumento importante per analizzare le performance di un classificatore con più di 2 classi. Questa matrice mostra per ogni coppia di classi quanti documenti di sono stati incorrettamente assegnati a .

17


3. Flat Clustering 3.1 Introduzione al clustering Gli algoritmi di clustering raggruppano un insieme di documenti in sottoinsiemi o clusters. Il loro obiettivo è quello di creare clusters internamente coerenti, ma diversi l’uno dall’altro; cioè, i documenti all’interno di un cluster dovrebbero essere il più possibile simili tra loro, mentre quelli in clusters differenti dovrebbero risultare molto diversi. Il clustering è uno dei metodi più diffusi di unsupervised learning, infatti non vi è nessun training set preparato da esseri umani esperti. La differenza fra clustering e classification sta proprio nel metodo di apprendimento. Come nella text classification, per calcolare l’appartenenza o meno di un documento ad un cluster si utilizzano le distanze fra vettori, molto spesso la distanza euclidea. 3.1.1 Tipologie di clustering Vi sono varie tipologie di clustering:  Flat clustering , crea un insieme di clusters senza nessuna struttura che metta in relazione i clusters fra di loro.  Hierarchical clustering, crea invece una gerarchia di clusters. Un’altra importante classificazione viene fatta sull’appartenenza dei documenti ai cluster:  Nell’hard clustering ogni documento è membro di un solo cluster.  Nel soft clustering l’assegnazione di un documento è una distribuzione su tutti i clusters, cioè ogni documento ha un’appartenenza parziale a tutti i clusters. 3.1.2 Applicazioni di clustering nell’Information Retrieval L’ipotesi sul cluster in Information Retrieval fa una ipotesi fondamentale: i documenti nello stesso cluster si comportano similmente in relazione a specifici bisogni di informazione.

Cioè, se c’è un documento nel cluster che è rilevante ai fini di una richiesta di ricerca, allora è probabile che anche gli altri documenti dello stesso cluster siano rilevanti. L’informazione restituita da un sistema di clustering non è organizzata in semplici liste, ma in strutture ad albero, in cui ogni nodo è un topic o una categoria. Questo tipo di rappresentazione è molto utile per discriminare significati diversi di una stessa parola. Un approccio interessante è quello dello Scatter-Gather, che organizza le informazioni della collezione in clusters che l’utente può scegliere o scartare, procedendo per passi successivi finché non viene rilevato un cluster di interesse. Il collection clustering è un sistema che effettua un clustering statistico gerarchico di una collezione di dati non influenzata dalle ricerche dell’utente. Ad esempio, se si vogliono

18


organizzare notizie giornalistiche in clusters, il sistema dovrà ripetutamente cercare nuove notizie e organizzarle in clusters per fare in modo che l’utente possa accedere sempre ai documenti più recenti. Un’ultima applicazione del clustering utilizza direttamente l’ipotesi sul clustering per migliorare i risultati della ricerca a partire dal clustering dell’intera collezione di dati. Viene utilizzato il sistema dell’indice invertito per identificare un insieme di documenti che sono compatibili con la query, ai quali vengono aggiunti altri documenti provenienti dagli stessi clusters, anche se hanno bassa similarità con la query. Questo approccio aumenta il recall, poiché un gruppo di documenti con informazione mutuale molto alta è spesso rilevante ai fini della ricerca. Il clustering, in generale, aiuta moltissimo a velocizzare le operazioni di Information Retrieval, poiché consente di valutare la similarità della query non con ogni singolo documento, ma con ogni cluster; questo è possibile perché viene sfruttata l’ipotesi sul clustering fatta in partenza! 3.1.3 Clustering: il problema formalizzato Definiamo l’obiettivo dell’hard flat clustering come segue. Siano: insieme dei documenti di partenza numero desiderato di clusters funzione obiettivo, valuta la qualità del clustering funzione che minimizzi (o massimizzi) la funzione obiettivo. Molto spesso viene richiesto che sia suriettiva, cioè che nessuno fra i clusters sia vuoto. La funzione obiettivo è spesso definita anche in termini di distanza o similitudine fra documenti nello stesso cluster. La similitudine fra topic viene approssimata con la similità coseno o con la distanza euclidea nel modello vector space. Il clustering può essere:  Esaustivo, se assegna ogni documento ad un cluster.  Non esaustivo, se alcuni documenti non possono essere assegnati a nessun cluster. o Il clustering non esaustivo è detto esclusivo se ogni documento può essere membro di uno o nessun cluster. 3.1.3.1 Cardinalità: il numero di clusters

La cardinalità di un clustering, denotata con K, è spesso una stima basata sull’esperienza e/o sulla conoscenza del dominio. Tuttavia, per il K-means, introdurremo un metodo euristico per scegliere K, e tenteremo di accorpare questa selezione nella funzione obiettivo.

19


3.2 Valutazione del clustering Lo scopo della funzione obiettivo è quello di ottenere la più alta similarità all’interno di ogni cluster e la più bassa similarità possibile fra clusters diversi. Questo è il criterio interno di qualità di un clustering system. Un buon punteggo relativo al criterio interno non si traduce necessariamente in una buona effectiveness. Si potrebbe, invece, valutare direttamente l’applicazione, ad esempio il tempo che un utente impiega per cercare l’informazione che vuole; ovviamente, questa procedura non è applicabile sempre, poiché potrebbe richiedere un elevato quantitativo di tempo di valutazione, oltre alla partecipazione di un grande numero di utenti. Un’alternativa è quella di utilizzare un insieme di classi, detto gold standard, in un test di valutazione: il gold standard è idealmente prodotto da giudici umani che prendono le decisioni insieme. Allora possiamo calcolare un criterio esterno di qualità che valuta quanto il clustering corrisponda alle classi del gold standard. 3.2.1 Purity Siano: l’insieme dei clusters la cardinalità dei clusters l’insieme delle classi l’insieme di documenti raggruppati in un cluster l’insieme di documenti di una classe il numero dei documenti Per calcolare la purity, la purezza, ogni cluster viene assegnato alla classe che è in esso più frequente, e l’accuratezza di questo assegnamento è misurata contando il numero dei documenti correttamente assegnati, diviso N:

Clusterings non buoni hanno valori di purity vicini allo 0, mentre un clustering perfetto ha purity di 1. Il valore della purezza deve essere paragonato alle altre misure che discuteremo. E’ facile raggiungere un’alta purezza quando il numero dei cluster è grande: se ogni cluster ha un solo documento, purity vale 1. Quindi, non possiamo utilizzare il valore di purity per giustificare un alto numero di clusters, poiché andremmo a perdere in qualità. 3.2.2 Normalized Mutual Information Un’altra misura che ci permette di valutare un sistema di clustering è la Normalized Mutual Information, ossia la misura di informazione mutuale normalizzata.

20


Siano: la probabilità che un documento di trovarsi nel cluster la probabilità che un documento si trovi nel cluster la probabilità che un documento si trovi nella classe

e nella classe

la misura dell’entropia dei clusters la misura dell’entropia delle classi Definiamo l’informazione mutuale, che misura la quantità di informazione secondo la quale la nostra conoscenza sulle classi aumenta se conosciamo quali sono i clusters:

Il minimo di è 0 se la distribuzione del cluster è casuale rispetto a quella della classe: sapere che un documento appartiene ad un preciso cluster non ci fornisce nessuna informazione aggiuntiva sulla classe alla quale potrebbe appartenere. Il valore massimo si ottiene per un clustering che ricrea perfettamente le classi; si ottiene, però, anche quando i clusters creati sono formati da un singolo elemento: abbiamo lo stesso problema della purità, non penalizza grandi i clusters e pertanto non è un buon indicatore di clustering. Ecco perché ridefiniamo l’informazione mutuale, andando a normalizzarla:

La normalizzazione risolve il problema dell’informazione mutuale poiché l’entropia tende ad aumentare con il numero dei clusters. Inoltre, poiché NMI è un valore normalizzato, possiamo utilizzarlo per confrontare clusterings diversi con differenti numeri di clusters. 3.2.3 Rand Index Possiamo guardare al clustering come ad una serie di decisioni. Ricordiamo che si vogliono assegnare due documenti allo stesso cluster se e solo se i documenti sono simili. Quantifichiamo le decisioni di clustering: TP, True Positive, conta gli assegnamenti di due documenti simili allo stesso cluster (decisione corretta) TN, True Negative, conta gli assegnamenti di due documenti diversi a clusters differenti (decisione corretta) FP, False Positive, conta gli assegnamenti di due documenti diversi allo stesso cluster (errore) FN, False Negative, conta gli assegnamenti di due documenti simili a clusters differenti (errore)

21


Il Rand Index misura la percentuale di decisioni corrette sul totale delle scelte effettuate, dando uguale peso ai falsi positivi ed ai falsi negativi:

3.2.4 F-Measure Il Rand Index non è una misura ottimale, poiché non tiene conto della gravità maggiore che si commette separando documenti che dovrebbero appartenere allo stesso cluster (FN è peggiore di FP). Utilizziamo allora la F-measure per penalizzare in maniera più forte i falsi negativi. Siano: arbitrario detta precision (correttezza), è la frazione di documenti ritrovati che sono rilevanti detta recall (completezza), è la frazione di documenti rilevanti che sono stati ritrovati Allora,

è calcolata come:

Alcuni valori di

comunemente utilizzati sono:

La valutazione di F-measure è molto utilizzata nella comunità scientifica.

3.3 K-means Il K-means è il più importante algoritmo di flat clustering. Il suo obiettivo è di minimizzare il quadrato della media della distanza euclidea dei documenti dal centroide del cluster. Il centroide di un cluster è così definito:

Questa definizione si basa sull’ipotesi che i documenti siano rappresentati come vettori normalizzati in uno spazio vettoriale.

22


Il cluster ideale in K-means è una sfera con il centroide come centro di massa; inoltre, i clusters non dovrebbero sovrapporsi. La differenza con il metodo di Rocchio è che qui non abbiamo alcun training set già classificato da cui far apprendere il classificatore. Per misurare quanto bene i centroidi rappresentino i membri dei loro clusters, utilizziamo la devianza residua (RSS, Residual Sum of Squares):

RSS è al funzione obiettivo, e il nostro scopo è quella di minimizzarla. Poiché N è fisso, minimizzare RSS vuol dire minimizzare il quadrato della distanza media, cioè la misura della bontà della rappresentazione dei clusters da parte dei centroidi. Questo è il metodo con cui K-means procede per invididuare K clusters: 1. Vengono scelti K documenti iniziali come centroidi, detti semi (seeds), a caso fra tutti i documenti. 2. Per ogni centroide, assegno i documenti che sono più vicini ad esso che a qualunque altro centroide. 3. Ricalcolo i centroidi, poiché i clusters sono cambiati. 4. Se non ho raggiunto il criterio di stop, ripeto dal punto 2). Il criterio di stop può essere di vario tipo. Questi sono criteri utilizzati in alcune applicazioni del K-means:  Sono state completate J iterazioni.  L’assegnamento di documenti ai clusters non cambia da una iterazione ad un’altra.  I centroidi non cambiano da una iterazione ad un’altra.  RSS è più piccolo di una certa soglia. Ciò assicura che si sia raggiunta una specifica qualità del clustering, ma deve essere combinata con un qualche controllo per evitare un numero di iterazioni potenzialmente enorme.  La differenza fra l’RSS precedente e quello calcolato ad una successiva iterazione è più piccola di un certo valore : se è abbastanza piccolo, vuol dire che siamo vicini alla convergenza. Anche in questo caso è necessario combinare il criterio di stop con un controllo sul numero di iterazioni effettuate. Il metodo K-means è convergente, cioè RSS diminuisce o non cambia ad ogni iterazione: nella fase 2) RSS diminuisce poiché assegno ogni vettore al centroide più vicino, mentre nella fase 3) ricalcolo, per ogni , il centroide per il quale raggiunge il minimo. Il metodo K-means presenta un problema in presenza di outliers, ossia in presenza di documenti che sono lontani da qualsiasi altro documento e pertanto non si inseriscono bene in nessun cluster. Se un outlier viene scelto come seme iniziale per il metodo, nessun altro vettore gli sarà assegnato! Ciò porterà alla creazione di un singleton cluster, cioè un

23


cluster singoletto con un unico documento, anche se potrebbe esistere un clustering con un RSS inferiore. Un altro tipo di clustering non ottimale che spesso capita è quello con clusters vuoti. Esistono, pertanto, delle euristiche efficienti che aiutano nella scelta dei seeds:  Esclusione degli outliers dall’insieme dei seeds.  Provare con molti insiemi di seeds contemporaneamente e scegliere il clustering con il costo minore.  Ottenere i seeds da un altro metodo, ad esempio da un clustering gerarchico. Un clustering gerarchico con abbastanza piccolo (da 5 a 10) spesso fornisce dei buoni semi di partenza.  Un altro metodo che funziona bene per distribuzioni di documenti molto diversi tra loro ci suggerisce di selezionare ( , ad esempio) vettori a caso da ogni cluster, ed utilizzare questi come seeds per il cluster corrente. Una variante del K-means, K-medoids, calcola i medoids come centri dei clusters, anziché i centroidi. Un medoid di un cluster è il vettore di documento più vicino al centroide. Kmedoids è più robusto al rumore e agli outliers rispetto al k-means.

3.4 Model-based clustering Esiste anche una generalizzazione del K-means, detto algoritmo EM (ExpectationMaximization). Questo algoritmo può essere applicato ad una tipologia più vasta di rappresentazioni di documenti e di distribuzioni rispetto al K-means. Per questo modello, la generazione di un documento consiste nella scelta di un centroide casuale e della conseguente aggiunta di rumore. Se il rumore ha una distribuzione normale, la procedura restituirà clusters di forma sferica. Il model-based clustering assume che i dati siano stati generati da un modello ben definito, che cerca di recuperare da essi. Il modello che recuperiamo dai dati definirà i clusters e i documenti in essi presenti.

24


4. Hierarchical Clustering 4.1 Introduzione Lo Hierarchical Clustering, o Clustering Gerarchico, fornisce una gerarchia, quindi una struttura molto più carica di informazione, rispetto ai semplici clusters restituiti dal flat clustering. Inoltre, non richiede in ingresso un numero predeterminato di clusters ed è deterministico, cioè ammette una sola soluzione per ogni insieme di dati inseriti in ingresso. Questi vantaggi, tuttavia, si pagano con una efficienza più bassa: gli algoritmi di clustering gerarchico più utilizzati hanno una complessità almeno quadratica rispetto al numero dei documenti; il K-means e l’EM, invece, hanno una complessità lineare. Gli algoritmi di flat clustering vengono utilizzati per problemi in cui l’efficienza è la proprietà più importante. Gli algoritmi di clustering gerarchico, invece, vengono utilizzati quando vogliamo avere più informazioni riguardo alla struttura dei dati, quando vogliamo un determinismo nel risultato e quando non conosciamo a priori il numero di clusters da ottenere. Molti ricercatori, inoltre, sono convinti del fatto che il clustering gerarchico produca migliori clusters. 4.1.1 Tipi di Hierarchical Clustering Gli algoritmi di clustering gerarchico possono essere di due tipi:  Bottom-up: trattano ogni documento come un cluster singoletto e procedono per merging successivi di due clusters alla volta finché tutti clusters sono stati raggruppati in un unico cluster. Questo tipo di approccio è chiamato Hierarchical Agglomerative Clustering (HAC).  Top-down: richiedono un metodo che divida un cluster; procede per divisioni ricorsive finché tutti i documenti compongono un cluster singoletto. 4.1.2 Rappresentazione e proprietà del Clustering Bottom-Up Per rappresentare graficamente tutti i passi che un HAC compie, utilizziamo il dendogramma. Sull’asse delle ascisse posizioniamo tutti i documenti che vogliamo classificare, mentre sulle ordinate definiamo una scala da 1.0 a 0.0. Ogni unione di clusters è rappresentata da una linea orizzontale, che determina il livello di similarità al momento dell’unione. Questa similarità è detta combination similarity, cioè similarità di combinazione.

25


I primi elementi che verranno uniti sono quelli con similarità più alta, cioè più vicina all’1 (se utilizziamo la similarità del coseno); gli ultimi elementi saranno quelli con similarità più bassa, prossima allo 0. Muovendoci dal basso verso l’alto (bottom-up), riusciamo a ricostruire la storia delle unioni dei vari clusters in un unico cluster.

E’ importante specificare che nello hierarchical agglomerative clustering viene fatta una ipotesi, e cioè che l’operazione di unione è monotona. Ciò vuol dire che, se sono le similarità di combinazione delle unioni successive in un HAC, allora:

Un clustering gerarchico non monotono contiene almeno una cosiddetta inversione , contraddicendo l’ipotesi fondamentale che afferma che ad ogni passo successivo deve essere effettuata la migliore unione di clusters. Il clustering gerarchico non richiede che venga specificato in input un determinato numero di clusters. Tuttavia, in alcune implementazioni ci potrebbe essere bisogno di avere una partizione di clusters disgiunti: dobbiamo terminare prima il processo di unioni successive. I criteri di stop per il processo di unione possono essere:  Terminare al raggiungimento di un determinato grado di similarità ritenuto abbastanza basso.  Terminare quando la differenza fra due successive combination similarities è abbastanza grande. Questo tipo di differenze possono indicarci che esiste una divisione naturale, quindi due clusters ben separati e abbastanza ovvi.  Applicare l’equazione dove: si riferisce al taglio della gerarchia risultante in K’ clusters è la varianza residua è la penalità che viene aggiunta per ogni cluster aggiunto  Anziché RSS, è possibile applicare un’altra misura di distorsione.  Specificare il numero di clusters e selezionare il punto di stop che produce clusters, come avviene nel flat clusterings.

4.2 Single-Link e Complete-Link Clustering 4.2.1 Single Link Clustering

26


Nel single-link clustering al fine di unire due clusters, per ogni passo si procede come segue: 1. Si sceglie un cluster. 2. Si trova la similarità del cluster corrente con gli altri, calcolando la similarità fra i loro elementi più simili (cioè quelli più vicini). 3. Si unisce il cluster corrente con quello con la similarità minore. 4. Finché i clusters non sono terminati, ricomincia dal punto 1). 5. Ricomincia dal primo cluster, se ce n’è più di uno. Siano: il passo corrente la combination similarità dei due clusters uniti al passo il grafo che collega tutti i punti con similarità di almeno Allora i clusters dopo il passo sono detti componenti connessi di massimale dei punti connessi coppia a coppia.

, cioè l’insieme

Poiché il criterio di unione fra clusters è strettamente locale, è possibile la comparsa del fenomeno del chaining, ossia la creazione di una catena di punti indesiderata molto lunga, a prescindere dalla forma risultante del cluster di cui fa parte. 4.2.2 Complete Link Clustering Nel complete-link clustering al fine di unire due clusters, per ogni passo si procede come segue: 1. Si sceglie un cluster. 2. Si trova la similarità del cluster corrente con gli altri, calcolando la similarità fra i loro elementi più dissimili (cioè quelli più distanti). 3. Si unisce il cluster corrente con quello con la similarità minore. 4. Finché i clusters non sono terminati, ricomincia dal punto 1). 5. Ricomincia dal primo cluster, se ce n’è più di uno. La scelta effettuata dal complete-link clustering equivale alla selezione della coppia di clusters la cui unione ha il diametro minore. Il criterio di questo metodo è non locale; l’intera struttura del clustering può influenzare le decisioni di unione. Questo comporta una preferenza per clusters compatti con piccoli diametri. Siano: il passo corrente la combination similarità dei due clusters uniti al passo il grafo che collega tutti i punti con similarità di almeno

27


Allora i clusters dopo il passo sono detti cliques massimali di insieme di punti che sono completamente collegati fra di loro.

; un clique è un

In generale, il complete-link clustering fornisce una struttura dati più utile rispetto a quella del single-link. Tuttavia, neanche il complete-link è esente da problemi, poiché presta troppa attenzione agli outliers, cioè ai punti che non rientrano bene nella struttura globale del cluster: un singolo documento lontano dal centro può aumentare il diametro del cluster candidato all’unione e cambiare completamente il risultato finale del clustering. Come è possibile vedere nell’esempio qui accanto, vi sono casi in cui, a causa degli outliers, il complete-link clustering non riesce a trovare la struttura di cluster più intuitiva.

4.3 Group-average clustering Il Group-average agglomerative clustering, anche detto GAAC, calcola la qualità dei clusters basandosi su tutte le similarità fra i documenti, evitando in questa maniera di commettere gli errori del single-link e complete-link, che calcolano la similarità fra clusters tramite la similarità di una coppia di documenti. Il GAAC calcola la similarità media, SIM-GA, di tutte le coppie di documenti nei due clusters, incluse le coppie dello stesso cluster. Tuttavia, le coppie formate dallo stesso documento non vengono incluse nella media. Siano: vettore rappresentante il documento -esimo cluster -esimo cluster numero di documenti in numero di documenti in Allora, la similarità tra due clusters è:

La somma delle similarità di un singolo vettore è uguale alla similarità della loro somma:

perché andiamo a considerare come vettore parte dell’unione tra i due clusters. Poiché non escludiamo dall’unione le coppie dei vettori identici, dobbiamo sottrarre la somma delle auto-similarità di valore . Quindi la similarità tra due clusters diventa:

28


Per applicare questo metodo di clustering, dobbiamo accertarci che: 1. I documenti siano rappresentati come vettori. 2. I vettori siano normalizzati, in modo tale che l’auto-similarità valga . 3. Il prodotto calcoli la misura di similarità tra vettori e somme di vettori. Si fa molto affidamento su questa proprietà, poiché è cruciale per effettuare un calcolo efficiente. Alternativamente, possiamo definire SIM-GA includendo le auto-similarità:

dove è il centroide dell’unione fra i due clusters. Questo approccio non è ottimale, poiché la proporzione di auto-similarità diventerebbe in un cluster di dimensione , il che risulterebbe in una proporzione di auto-similarità più alta per i clusters più piccoli, a discapito di quelli più grandi. Perciò si preferisce la prima soluzione, che esclude le auto-similarità dalla media.

4.4 Centroid Clustering Nel Centroid Clustering, la similarità di due clusters è definita come la similarità dei loro centroidi:

Dall’ultima equazione deduciamo che la similarità dei centroidi è uguale alla similarità media di tutte le coppie di documenti da clusters differenti. Mentre GAAC calcola tutte le coppie di documenti nel calcolo della similarità di coppia, il Centroid Clustering esclude le coppie dello stesso cluster. Al contrario di altri algoritmi HAC, il centroid clustering non è monotono, quindi può verificarsi il fenomeno dell’inversione. Una similarità che aumenta ad ogni passo contraddice l’ipotesi fondamentale (cfr. 4.1.2), ed apparirà nel dendogramma come una linea orizzontale che si trova più in basso rispetto all’unione precedente. Nonostante la sua non monotonicità, tuttavia, il centroid clustering è usato spesso perché la sua misura di similarità è concettualmente più semplice della media di tutte le coppie di similarità del GAAC.

29


4.5 Divisive Clustering Il Divisive Clustering è un tipo di clustering top-down. Questo il metodo: 1. Si racchiudono tutti i documenti in un cluster. 2. Si divide il clustering utilizzando un algoritmo di flat clustering. 3. Si riapplica la procedura ricorsivamente, finché ogni documento si trova in un singleton cluster. L’algoritmo di clustering top-down è concettualmente più complicato rispetto ai classici algoritmi bottom-up, poiché abbiamo bisogno di un altro algoritmo flat come subroutine. Tuttavia, è più efficiente se non generiamo una gerarchia completa di clusters, ma ci fermiamo ad un certo numero di foglie. L’utilizzo di un algoritmo flat efficiente come il Kmeans rende il divisive clustering lineare nel numero di documenti e clusters. Quindi, vengono eseguiti molto più velocemente degli algoritmi HAC, che sono di ordine quadratico. Si è provato che l’algoritmo divisivo produce gerarchie più precise degli algoritmi bottomup in determinate circostanze, poiché beneficiano di un’informazione completa riguardo alla distribuzione globale dei documenti. Quindi sono più accurati nel prendere decisioni di divisione di un cluster.

4.6 Cluster labeling Ci possono essere dei casi in cui utenti umani interagiscono direttamente con i clusters. In questo modo, si rende utile effettuare un labeling dei clusters, così che un utente possa riconoscere l’argomento del cluster. Il Differential Cluster Labeling seleziona le etichette dei clusters confrontando le distribuzioni dei termini in un cluster con quelli di un altro cluster. I metodi di feature selection più utilizzati per compiere questa operazione sono quelli della Mutual Information, dell’information gain e del test : essi identificano le etichette di un cluster che meglio lo caratterizzano rispetto agli altri clusters. Combinando il test differenziale con l’applicazione di una penalità per la presenza di termini rari spesso riesce a dare i migliori risultati di etichettatura, poiché i termini rari non sono necessariamente rappresentativi per un cluster nella sua interezza. Il Cluster-Internal Labeling calcola un’etichetta che dipende solamente dal cluster in considerazione, e non dagli altri clusters. Una applicazione può essere quella di etichettare un cluster con il titolo del documento più vicino al suo centroide. I titoli sono più facili da leggere che una lista di termini. Un titolo nella sua interezza può a volta contenere un’indicazione del contesto che non sarebbe rientrata nei primi 10 termini selezionati, ad esempio, dalla Mutual Information.

30


Comunque, un documento singolo raramente è davvero rappresentativo di tutti i documenti in un cluster. Si può anche utilizzare una lista di termini con i pesi maggiori del cluster come sua etichetta: questi termini sono molto più probabilmente rappresentativi, molto più di pochi titoli. Uno svantaggio è che una lista di termini impiega un tempo di apprendimento da parte degli utenti superiore rispetto a un titolo ben organizzato. I metodi cluster-internal sono efficienti, ma non riescono a fare una distinzione di peso fra i termini che appaiono più frequentemente nella collezione e quelli che sono frequenti solo nel cluster in considerazione. Per il clustering gerarchico sorgono ulteriori complicazioni nell’etichettatura: non dobbiamo infatti distinguere solo un nodo interno all’albero dai suoi nodi adiacenti, ma anche dal nodo genitore e dai nodi figli. Infatti, i documenti nei nodi figli sono, per definizione, appartenenti anche al nodo genitore, quindi non possiamo utilizzare metodi differenziali che, banalmente, trovano etichette che distinguono un genitore da un figlio.

31


Information Retrieval