Infografica: i sistemi di visualizzazione delle informazioni bibliografiche i...
Survey On Text Mining
1. Survey on
Text Mining
Clustering
Classification
Retrieval
Antonello Caggiano – a.caggiano@email.it
Università di Bologna, sede di Cesena.
2. Intro
Migliaia di documenti vengono prodotti ogni
giorno:
Brevetti, Pubblicazioni scientifiche, E-Mail,
Telefonate, Stampa.
Internet, CD-Rom, DB;
Word, HTML, XML, PDF, TXT;
Inglese, Cinese, Russo, Italiano.
Antonello Caggiano - Survey on 2
Text Mining
3. Intro
• Più dell'80% della conoscenza non è
strutturata.
• Avere una tale ricchezza di materiale
senza conoscerlo equivale a non avere
informazioni disponibili.
L'informazione è nulla, se non è gestita.
Antonello Caggiano - Survey on 3
Text Mining
4. Text Mining: definizione
Insieme di tecniche per:
• Analizzare archivi testuali e non;
• Strutturare e classificare il contenuto;
• Trovare l’informazione nascosta.
Attraverso il text mining si possono analizzare volumi
immensi d’informazione e si possono identificare relazioni e
strutture che altrimenti sfuggirebbero alla capacità
analitica dell’essere umano.
Antonello Caggiano - Survey on 4
Text Mining
5. Text Mining: cosa fa?
Permette di trattare i documenti con strumenti di analisi automatica che:
- riassumono e categorizzano i documenti,
- identificano la lingua in cui sono scritti;
- estraggono concetti chiave, nomi propri e frasi con più parole, ne riportano
frequenze,
- classificano un documento in funzione della rilevanza rispetto a uno specifico
argomento.
Alcuni incorporano capacità di recupero automatico di documenti sulla rete internet
(Web-crawling):
crawling
- estraggono dati in vari formati;
- collegano le informazioni tra di loro in relazioni spaziali o temporali;
- scoprono legami o catene di informazioni legate fra di loro;
- raggruppano documenti in funzione del loro contenuto;
- effettuano analisi incrociate e permettono l’utilizzo congiunto di package statistici.
Antonello Caggiano - Survey on 5
Text Mining
6. Text Mining: cosa utilizza?
• È un campo multidisciplinare, che impiega:
– l’Information Retrieval (la raccolta di informazioni),
– l’analisi testuale,
– l’Information Extraction (l’estrazione di informazioni),
– il clustering,
– le tecniche di visualizzazione,
– le tecniche di trattamento dei database,
– l’apprendimento artificiale,
– il Data Mining (l’accoppiamento della tecnologia della
lingua con gli algoritmi del data mining)
Antonello Caggiano - Survey on 6
Text Mining
7. Text Mining: vantaggi
• I vantaggi:
∼ Pianificare decisioni e implementazione di attività strategiche;
∼ Prevenire situazioni future di rischio;
∼ Conoscere meglio clienti, competitor, fornitori, partners;
∼ Captare segnali deboli (annuncio di possibili cambiamenti);
∼ Identificare nuovi potenziali clienti;
∼ Valutare la posizione competitiva;
∼ Identificare i Trend del settore o di mercato;
∼ Identificare tematiche riguardanti i prodotti evidenziando
possibili problemi e cambi di tendenze.
Antonello Caggiano - Survey on 7
Text Mining
8. Applicazioni
• Segmentazione della clientela (Database Marketing)
– individuazione delle diverse tipologie di clienti per campagne di
marketing diretto, valutazione effetti, ottenere indicazioni su come
modificare la propria offerta, monitorare nel tempo l'evoluzione
della propria clientela e l'emergere di nuove tipologie.
• Analisi delle associazioni (Basket Analysis)
– individuazione di associazioni a dati di vendita per conoscere
quali prodotti sono acquistati congiuntamente; ciò consente di
migliorare l'offerta dei prodotti (disposizione sugli scaffali) e di
incrementare le vendite di alcuni prodotti tramite offerte sui prodotti
ad essi associati
Antonello Caggiano - Survey on 8
Text Mining
9. Applicazioni
• Page Rank di Google
– Ordina il risultato delle ricerche rispetto alla prioritá. L’importanza di
un risultato dipende (in parte) dalle pagine che vi puntano
(Backlinks). Il peso dei Backlinks dipende dalla pagina da cui
proviene il link.
• ECHELON
– Rete informatica, segreta fino al 1997, capace di controllare l’intero
informatica
globo e di intercettare, selezionare e registrare ogni forma di
comunicazione elettronica. Ogni stazione raccoglie informazioni in
modo automatico. Le stazioni utilizzano tecniche avanzate di
intelligenza artificiale per riconoscere ed estrarre le informazioni
interessanti
Antonello Caggiano - Survey on 9
Text Mining
10. Processo di Mining
INFORMATION INFORMATION INFORMATION
RETRIEVAL MINING INTERPRETAZIONE
EXTRACTION
Antonello Caggiano - Survey on 10
Text Mining
11. Information Retrieval
Localizzare e recuperare documenti che possono essere
considerati rilevanti alla luce degli obiettivi prefissati.
• Ha come obiettivo la selezione di un sottoinsieme
rilevante di documenti da un insieme più grande e la
rappresentazione di tutto il contenuto informativo di una
forte parte delle informazioni contenute nel testo.
• IR fa riferimento all’attività di ricerca di documenti
attraverso parole chiavi o composizioni logiche delle
stesse (query), le quali a loro volta sono utilizzate
per indicizzare i documenti.
Antonello Caggiano - Survey on 11
Text Mining
12. Information extraction
Estrazione di informazioni dai documenti selezionati.
• Può essere considerata come un’attività di supporto
all’IR.
IR fa riferimento ad attività di ricerca di documenti
attraverso parole chiavi: spesso però non porta al
recupero di documenti realmente interessanti per il
nostro scopo perché le chiavi sono scelte da terzi
(generalmente dall’autore del testo).
IE cerca di superare questa differenza tra le due logiche
in modo da avere un meccanismo di ricerca che sia
basato su una rappresentazione oggettiva della
conoscenza. Antonello Caggiano - Survey on
Text Mining
12
13. Processo di IE
• Due parti principali:
estrazione di fatti individuali dal documento
attraverso analisi locale del testo;
integrazione dei fatti estratti con analisi di
co-referenza e di inferenza.
Infine: traduzione dei fatti pertinenti nel
formato output richiesto.
Antonello Caggiano - Survey on 13
Text Mining
14. Fasi del processo
• Analisi lessicale
– Assegnazione di part-of-speech alle singole parole attraverso l’analisi
morfologica.
• Riconoscimento di nomi
– Identificazione di nomi ed altre speciali strutture lessicali (date,
locuzioni, cifre, ecc.).
• Analisi sintattica
– individuazione di gruppi nominali, gruppi verbali, strutture sintattiche
di interesse.
• Individuazione fatti di interesse
– fatti integrati e combinati con altri presenti nel documento attraverso
l’analisi del discorso. Analisi di coreferenza e inferenza.
• Generazione di template
– dati ordinati e rappresentati sotto forma di tabella di output.
Antonello Caggiano - Survey on 14
Text Mining
15. IE: Analisi lessicale
Distinguere “ciò che è detto” da
“come viene detto”.
Il testo viene prima diviso in frasi e token.
token
Ciascun token viene ricercato all’interno di
un dizionario per determinarne i possibili
part-of-speech ed altre caratteristiche.
Antonello Caggiano - Survey on 15
Text Mining
16. IE: Riconoscimento di nomi
I nomi vengono identificati tramite un set di
pattern (espressioni regolari) espresse nei
termini del part-of-speech, delle
caratteristiche sintattiche e delle
caratteristiche ortografiche (ad es. l’iniziale
maiuscola).
Antonello Caggiano - Survey on 16
Text Mining
17. IE: Analisi sintattica
• Consiste nell’identificazione di legami
sintattici elementari fra i diversi elementi
della frase.
• Gli argomenti da estrarre spesso
corrispondono a frasi di nomi nel testo,
mentre le relazioni di solito corrispondono a
relazioni grammaticali.
Antonello Caggiano - Survey on 17
Text Mining
18. IE: Pattern maching
• Il pattern matching consiste nell’estrazione
di eventi o relazioni rilevanti per lo
scenario di interesse.
Antonello Caggiano - Survey on 18
Text Mining
19. IE: analisi di coreferenza
• L’analisi di coreferenza si pone come
obiettivo la risoluzione dei riferimenti dei
pronomi ed anche di frasi di nomi che
esprimono cose già dette nel testo.
Antonello Caggiano - Survey on 19
Text Mining
20. IE: inferenze
• Informazioni relative ad uno stesso evento
posso essere sparse in diverse frasi:
– necessario riunire tali informazioni prima della
generazione dei template o degli output.
• Quando invece sono presenti delle
informazioni non esplicitamente indicate nel
testo si fa uso del meccanismo
dell’inferenza per renderle esplicite.
Antonello Caggiano - Survey on 20
Text Mining
21. IE: generazione dei template
• Tutte le informazioni finora ricavate dal
testo sono sufficienti per l’estrazione dei
template, un particolare tipo di output.
template
frame (tabelle) con slot da riempire con
le informazioni richieste.
Antonello Caggiano - Survey on 21
Text Mining
22. Information Mining
• Una volta compilato un template per ogni
documento analizzato, abbiamo, di fatto, un
database che è compatibile con le tecniche usuali
di Data Mining.
• In questo modo cerchiamo dei patterns o delle
relazioni fra i dati. Nel caso di analisi di un testo
unico, questa fase corrisponde alle tecniche di
analisi della conoscenza estratta, comprendenti
metodi statistici e metodi simbolici.
Antonello Caggiano - Survey on 22
Text Mining
23. Interpretazione
• Consiste nell’analizzare i risultati e
interpretare i pattern scoperti durante la
fase di mining.
• Idealmente, l’interpretazione dovrebbe
essere in formato di linguaggio naturale.
Antonello Caggiano - Survey on 23
Text Mining
24. Text Mining:
‘Major topic areas’
I. Clustering
Automatic Discovery of Similar Words
≈ Pierre Senellart, Vincent D. Blondel
II. Document retrieval and representation
Vector Space Models for Search and Cluster Mining
≈ Mei Kobayashi, Masaki Aono
III. Email surveillance and filtering
Spam Filtering Based on Latent Semantic Indexing
≈ Wilfried N. Gansterer, Andreas G.K. Janecek, Robert Neumayer
IV. Anomaly detection
A Probabilistic Model for Fast and Confident Categorization of Textual
Documents
≈ Cyril Goutte
Antonello Caggiano - Survey on 24
Text Mining
26. Automatic Discovery
of Similar Words
Scopo: scoperta automatica di sinonimi.
Tecniche:
1. Input: una parola;
Output: lista di buoni sinonimi o near-synonym.
2. Input: una sorgente;
Output: thesaurus (domain-specific).
Antonello Caggiano - Survey on 26
Text Mining
27. Vector Space Model
Cosine measure:
- 1 documento - 1 dimensione;
- ∀ termine – 1 vettore nello spazio del documento (1 presente, 0 no).
Similarità
Cluster measure
- somiglianza semantica tra i termini;
Similarità
Differenze:
☺ cluster measure: ☺ ‘recall’ (quanti termini selezionati)
‘precisione’ (termini attinenti, rilevanti).
Antonello Caggiano - Survey on 27
Text Mining
28. Thesaurus
[Crouch]
Scopo: - costruzione automatica thesaurus con classi di parole similli, che
raramente appaiono nel corpus;
- uso di VSM.
Schema utilizzato: term frequency inverse document frequency (tf-idf).
[Salton, Yang, Yu]
Scopo: misurazione effetto aggiunta termine in similarità documenti.
Schema utilizzato: term discrimination value.
calcolo termine discriminante molto costoso;
term document frequency
Soluzione: uso solo di documenti in cui il termine appare
Antonello Caggiano - Survey on 28
Text Mining
29. Syntactical Context:
SEXTANT
Processo:
1) Analisi lessicale;
lessicale
2) Detecting di frasi di nomi e verbi;
3) Parsing
4) Similarità:
dove,
.
Antonello Caggiano - Survey on 29
Text Mining
31. Discovery of SimilarWords
in a Dictionary
Scopo: estrazione automatica di sinonimi in
dizionario monolingua.
Metodo proposto (gen. metodo HITS, Kleinberg):
- grafico costruito da un dizionario (iniziale);
- sinonimi (assunzione):
- hanno molte parole comuni nella definizione;
- sono usati in definizione di parole comuni.
Antonello Caggiano - Survey on 31
Text Mining
32. HITS algorithm
Ipotesi:
- dizionario costruzionedi G, dictionary graph associato;
- ∀ parola – 1 vertice
- arco u v se v è nella definizione di u.
- parola w: sottografo Gw
(vertici che puntano ad a? – vertici puntati da a?).
Struttura da considerare: 1 2 3
2 sinonimo in considerazione
Ricerca sinonimi Ricerca pagine web simili
Pagina Web Vertice.
Antonello Caggiano - Survey on 32
Text Mining
33. HITS algorithm:
generalizzazione
Algoritmo:
- costruzione focused subgraph Gw;
- calcolo hub(x1) & authority (x2) score per tutti i
vertici di Gw.
Processo:
- x1 = 1, x2 = 1, hub & authority score.
- aggiornamento pesi: mutually renforcing rule.
- equazione aggiornamento:
- Mw matrice di adiacenza associata a Gw
Antonello Caggiano - Survey on 33
Text Mining
34. Generalizzazione considerare Gw , costruito con:
- parole che appaiono nella definizione di w.
- parole che usano w nella loro definizione.
⇒ w vertice 2.
Considerazioni iniziali - Esempio
- Probable, Likely: vertice 2;
- Truthy: vertice 1;
- Belief: vertice 3.
• Un vertice è simile al vertice 2 se:
- Punta a vertici che sono simili al vertice 3
- È puntato da vertici che sono simili al vertice 1.
x2 converge all’autovettore principale di MwMTw+MTwMw;
Risultato: lista sinonimi ottenuta tramite ranking in ordine decrescente delle
entry dell’autovettore principale di MwMTw+MTwMw.
Antonello Caggiano - Survey on 34
Text Mining
35. Distance Method
Synonym distance due parole vicine se:
appaiono nella definizione di molte parole in comune,
hanno molte parole in comune nella loro definizione.
Ordinamento distanza crescente:
☺ può essere applicato a un intero dictionary graph;
risultati non buoni
Es: sugar: pigwidgeon, ivoride.
Antonello Caggiano - Survey on 35
Text Mining
36. ArcRank
Scopo: trovare non sinonimi ma related
words.
Basato su algoritmo PageRank ( Google).
Google
Si assegna un ranking a ogni arco secondo
il ranking dei vertici.
Antonello Caggiano - Survey on 36
Text Mining
37. Experiments
Dizionario utilizzato:
Online Plain Text English Dictionary
27 file HTML: http://www.gutenberg.net/
Multi-words non incluse nel grafico (All Saints, Surinam
toad...);
Head words prefissi e suffissi: esclusi dal grafico (un-, -
ous);
Parole con troppi significati e head word di definizioni
multiple: definizioni raccolte in una;
Riconoscimento di forme flesse
Esclusione stop-word
Antonello Caggiano - Survey on 37
Text Mining
38. Experiments
4 metodi;
aggiunto anche WordNet, human-written;
WordNet
4 parole;
Disappear: parola con sinonimi vari come vanish;
vanish
Parallelogram: parola senza veri sinonimi ma con parole simili;
Sugar: parola con significati differenti (in chimica, cucina,
dietologia);
Science: parola comune e vaga;
5 categorie (sostantivi, aggettivi, avverbi, verbi,
altro);
esaminati i primi 10 risultati.
Antonello Caggiano - Survey on 38
Text Mining
39. -disappear-
DM e OM: buon lavoro (OM migliore).
OM
Vanish, cease, fade, die, pass, dissipate, faint: molto
rilevanti;
Light, port: irrilevanti (pos. 6,7,8, no problem);
Light port
Pass pos. 2: port e appear fuori (OM) difficile da
spiegare.
AR: risultati poveri, alcune parole fuori luogo;
eat, instrumental, or epidemic.
Antonello Caggiano - Survey on 39
Text Mining
40. -parallelogram-
DM, OM: risultati simili e interessanti;
OM
square, rhomb, quadrilateral, rectangle, figure
AR: non da risultati interessanti.
AR
consequently and popular irrilevanti
WN: qui meno ricco, si focalizza su un particolare
WN
aspetto: quadrilateral.
Antonello Caggiano - Survey on 40
Text Mining
41. -sugar-
OM: migliore ancora di DM;
OM
starch, sucrose, sweet, dextrose, glucose, lactose;
cane non buono.
AR: risultati irrilevanti
AR
property, grocer;
Antonello Caggiano - Survey on 41
Text Mining
42. -science-
DM e OM: risultati comparabili
OM
AR: qui funziona meglio ma risultati più
AR
poveri degli altri.
Antonello Caggiano - Survey on 42
Text Mining
43. Conclusioni
Distance Method e Our Method forniscono parole interessanti e
rilevanti.
ArcRank non adatto per ricerca sinonimi.
Qualità risultati alquanto differenti da dizionari human-written come
WordNet.
WordNet
Queste tecniche:
Mostrano interesse
Presentano più aspetti di un dizionario human-written.
Possibili utilizzi:
aiuto nella compilazione di un dizionario di sinonimi.
Antonello Caggiano - Survey on 43
Text Mining
44. Vantaggi
Facilità di costruzione e mantenimento
Nessuno è perfetto.
Vaghezza nozione ‘similar word’;
Nessuno può competere con il dizionario
human-written in termini di responsabilità.
Possibilità di costruire un buon thesaurus se si
differenziano i significati di sinonimi, antonimi,
omonomi ecc.
Antonello Caggiano - Survey on 44
Text Mining
46. Vector Space Models
for Search and Cluster Mining
Algoritmi di ricerca e cluster mining
basati su VSM
1) Latent Semantic Indexing (LSI),
Principal Component Analysis (PCA);
2) Introduzione metodo per ricerca minor
cluster.
Antonello Caggiano - Survey on 46
Text Mining
47. Modello VSM per IR
Vantaggi: ranking di documenti di formato eterogeneo.
Nei Boolean vector model:
- 1 (attributo presente);
- 0 (attributo assente);
un raffinamento Boolean model: term weighting
term frequency document frequency weighting (tf-idf): un tipo di tm;
importanza del termine data dalla sua frequency appearance nei documenti
Sistemi IR:
- Ranking documento rispetto query:
- similarity distance (coseno).
- Scalabilità metodi di ranking
- Riduzione dimensione modelli matematici
Antonello Caggiano - Survey on 47
Text Mining
48. LSI
Obiettivo: riduzione dimensione spazio parole-documenti
Idea: parole documento suggeriscono contenuto semantico
del documento stesso.
Analisi strutture utilizzo parole guardando al corpus e collocando i
documenti con un utilizzo simile delle parole vicine nello spazio di
dimensioni ridotte e consentendo anche a documenti semanticamente
correlati di essere vicini anche se non hanno parole in comune
Processo:
- SVD di A (matrice MxN doc-attr) Ak;
- uso delle prime k-diadi Ak = UkΣkVkT ;
- confronto query-documenti
Antonello Caggiano - Survey on 48
Text Mining
49. LSI:
dimensional reduction process
La mancata considerazione di sinonimia porterà a molte piccoli, disgiunti cluster, alcuni
dei quali dovrebbero essere raggruppati insieme, mentre la mancanza di considerazione
di polisemia può portare ad estranei documenti, nonché la creazione di cluster.
Invece, una parola con multipli significati non correlati, ha tanti contesti in cui appare. La
parola sarà mappata in una regione diversa per ogni separato significato e contesto
perché l’esistenza di termini co-occorrenti è improbabile per documenti che coprono
differenti significati di una parola
Antonello Caggiano - Survey on 49
Text Mining
50. PCA
• Obiettivo: riduzione dimensionale (analisi
matrice covarianza COV).
cov COV
Processo:
- Calcolo matrice covarianza
- Calcolo autovalori (distribuzione dati)
- ordinamento decrescente autovalori (per
avere le componenti in ordine di significatività)
- k componenti considerate
Antonello Caggiano - Survey on 50
Text Mining
51. Confronto LSI - COV
Dimensione:
LSI: prende le colonne della matrice k-dimensionale più vicine ad A
COV: trova lo spazio k-dimensionale che più rappresenta i dati originali
COV
Scalabilità:
COV: calcolo 100 autovalori più grandi e autovettori corrispondenti
COV
collo di bottiglia.
COV: può essere usato in Real Time-IR e data mining (se spazio attributi piccolo).
COV
COV: un algoritmo di mining information da dataset distribuiti su multiple location;
COV
Vantaggio: risparmio nella percentuale di trasmissione dati
( generalmente transmission cost > computational cost )
Antonello Caggiano - Survey on 51
Text Mining
52. Clustering Methods
Obiettivo: far appartenere o no un documento a un cluster.
Quattro metodi:
Hard clustering method: ∀documento - 1 cluster;
Hard clustering method: ∀ ogni documento - massimo
un cluster.
Soft clustering method: favoriscono overlapping clusters;
Soft clustering method: mining di overlapping cluster e
overlap information.
Antonello Caggiano - Survey on 52
Text Mining
53. Related Work: Ando
Iterative rescaling per piccole collezioni di documenti.
Idea: evitare a temi major di dominare la selezione dei
Idea
vettori di base nel subspace in cui il problema di IR e
clustering verrà mappato introduzione bias a
documenti di cluster rappresentati da vettori già
selezionati
Problemi:
Problemi
- con numero elevato di documenti
problema con documenti Є più cluster.
- minor cluster potrebbero non essere identificati;
Antonello Caggiano - Survey on 53
Text Mining
54. Related Work: Kobayashi, Aono
Obiettivo: identificazione mino-major cluster.
Duel algoritmi
1) LSI con rescaling (LSI-RS):
per il controllo dinamico dei pesi e ridurre la perdita di
informazione riguardo minor cluster;
uso di SVD nell’iterative rescaling;
introduzione ortogonalizzazione di Gram-Schmidt modificata
dei vettori base.
2) COV con rescaling (COV-RS):
analogo LSI-RS, LSI
modificazione COV;
calcola i residui della matrice di covarianza.
Antonello Caggiano - Survey on 54
Text Mining
55. COV-SS
Algoritmo: possibilità di saltare iterazioni che trovano ripetizioni di major
Algoritmo
cluster e passare a iterazioni che trovano minor cluster.
Vantaggi:
Vantaggi
costi di computazione, storage e memoria ridotti;
testa velocemente se il rescaling è necessario.
introduzione modificazioni per preservare sparsità:
aumento velocità e scalabilità;
risultati peggiori.
Antonello Caggiano - Survey on 55
Text Mining
56. Conclusioni
COV:
non ha costi di rescaling;
usa un risolutore di autovalori-autovettori dispendioso.
COV-RS:
migliore di LSI, COV e LSI-RS per identificare grandi e multipli minor cluster.
LSI-RS e COV-RS:
computazionalmente dispendiosi ;
rescaling dei document vector.
COV-RS -SS:
uso di ‘power method’ per trovare l’autovalore più grande e i corrispondendi autovettori.
non dispendioso
COV-SS:
mining dispendiosi per db grandi;
soluzione: campionatura casuale dei documenti (random sampling document);
conversione vettore sparso vettore denso: collo di bottiglia;
utilizzo di una soglia;
riduzione computazione e tempo di data acces;
errori computazionali maggiori.
coordinate nonzero piccole di un vettore recentemente calcolato;
riduzione costo computazionale;
riduzione errori
Antonello Caggiano - Survey on 56
Text Mining
58. Overview
1. Classificazione LSI (Latent Semantic
Indexing);
a. paragoni con VSM.
2. Introduzione SpamAssassin system.
3. Problem reduction computational effort
for classification.
Antonello Caggiano - Survey on 58
Text Mining
59. Spam Filtering
Problema di classificazione binario:
Spam email;
email
Ham email.
email
Spam: molti elementi semantici in comune:
- difficili da indicare completamente;
- non sempre conosciuti;
- latenti.
Antonello Caggiano - Survey on 59
Text Mining
60. LSI for spam filtering
Due aspetti centrali:
(1) SVD troncata;
(2) classification performance risultante.
Low-rank aproximation della matrice feature-document
utile per riduzione dimensione problema.
Obiettivo: ridurre il feature set prima del classification
process:
riduzione tempo di calcolo.
Antonello Caggiano - Survey on 60
Text Mining
61. Anti-spam methods I
Tre approcci (categorizzati secondo il punto di azione nel processo
di trasferimento):
1. Pre-send: prima che l’email entri in rete;
- evitano lo spreco di risorse.
2. Post-send: dopo;
- “workhorse”.
3. New Protocols: basati sul cambio del processo di trasferimento.
SpamAssassin: estrae feature da email entranti (header, body, testo);
Uso di Baysian classifier;
Esempio in AKCS00: calcolo probabilità condizionale per email spam
AKCS00
basata sulle parole (token) che contiene.
training, tuning, maintenance da parte dell’uer.
Antonello Caggiano - Survey on 61
Text Mining
62. Anti-spam methods II
Metodo di Gee: uso di classificatore LSI-based
Gee
basato sulle textual-feature delle email.
Motivazioni: studiare l'influenza della scelta di differenti
feature set su performance di VSM - e LSI-based
spam filtering.
• Obiettivo:
– estendere l'approccio di Gee (LSI su text-based feature);
– valutare la classification performance realizzata con LSI su un
set di “meta features” (come in SpamAssassin);
– quantificare l'influenza delle riduzioni di feature sui risultati di
classificazione.
Antonello Caggiano - Survey on 62
Text Mining
63. Classification Methodology
• VSM (n documenti, set F, f feature, componenti vij):
matrice M feature-document f x n
• LSI: variante VSM basico (approssimazione minima di M):
LSI Truncation:
☺ Storage requirements e computational cost per la distanz query
vector – documenti
Computational cost per calcolo SVD
Antonello Caggiano - Survey on 63
Text Mining
64. VSM & LSI:
spam filtering
Obiettivo:
quali feature di una email sono più rilevanti per
una classificazione a spam o ham?
qual è il miglior modo per categorizzare email spam o
ham?
Consideriamo e confrontiamo:
feature estratte da SpamAssassin:
SpamAssassin
“F_SA”;
F_SA
feature text-based:
based
“F_TB”.
F_TB
Antonello Caggiano - Survey on 64
Text Mining
65. SpamAssassin Features
• Test su diverse parti del messaggio:
– body, header
– URI checks, rawbody test, blacklist test
• ∀ test assegnato un valore
– reale positivo: spam;
spam
– reale negativo: ham.
ham
• Stima complessiva di un messaggio: somma di tutti i valori assegnati ai test
– Sum > user defined threshold (=5 di default) SPAM;
SPAM
• Problemi:
– feature set di Spam Assassin “unbalanced”;
• circa il 96% di ogni test controlla per una feature che punta a spam;
• solamente circa il 4% delle prove punta a ham;
– presenza di test che triggerano erroneamente.
Soluzione migliorare le strategia di estrazione.
Antonello Caggiano - Survey on 65
Text Mining
66. Text-based features
Dimensionality Reduction
■ Document frequency thresholding (esclude termini che hanno document
frequency molto alta o molto bassa):
- termini presenti in tutti i documenti poco discriminanti
- fattibile anche per dati unsupervised.
☺ class information non necessaria, computational cost ridotto
Procedura:
Procedura
1. soglia superiore fissata a 0.5: da adesso tutti i termini presenti in più della metà dei
documenti omessi.
2. la soglia inferiore adattata dinamicamente per conseguire un determinato numero
desiderato di feature.
■ Information Gain:
- selezione delle feature più importanti dalla “pre-selection” per favorire la riduzione
del computational cost.
dove
Antonello Caggiano - Survey on 66
Text Mining
67. Feature/Attribute Selection
Methods Used
Obiettivo: applicare IG attribute selection al feature set di
SpamAssassin.
Uso di due feature selection alternative (calcolate usando WEKA):
WEKA
1. x2 attribute selection: valuta il significato di un attributo
calcolando l’x2 rispetto alla classe;
2. ...una strategia intuitiva:estrazione top 50 feature,TB, top 10
feature, SA.
● Applicazione x2 attribute selection su feature text-based:
non cambia l’ordine delle feature.
● Confronto dei 3 metodi di feature selection con lo SpamAssassin
feature set:
presenza di 8 SA feature set nei 3 subset estratti.
Antonello Caggiano - Survey on 67
Text Mining
68. Experiments
• Data set
– TREC 2005 (25%): ‘S1’ (9.751 ham, 13.179 spam);
– Self-collected email: ‘S2’ (5.502 ham, 5.502 spam).
• Setup
– N-fold cross-validation: 3 (S1), 10 (S2);
• n-1 training, n testing.
Il cross-validation fu performato per sei differenti LSI truncation usando
i feature set F_SA e F_TB.
Antonello Caggiano - Survey on 68
Text Mining
69. Analysis of Data Matrices
Antonello Caggiano - Survey on 69
Text Mining
70. Aggregated Classification
Results
per ogni
troncamento LSI
risultati migliori per
F_SA
F_TB: ogni aumento
provoca calo nel
classification result
Antonello Caggiano - Survey on 70
Text Mining
71. True/False-Positive Rates
• F_TB S1 abbastanza
elevata (classification
result 96,80%)
• F_TB S2 < F_TB S1
ma > F_SA
Antonello Caggiano - Survey on 71
Text Mining
72. Feature Reduction
Aggregated Results
- Top 50: lievemente
peggiore VSM
- Top 50: S1 F_TB quasi
uguale
- Top 10: accettabili solo
F_SA
F_SA più robusto in
termini di feature
reduction
LSI 25% su 10 f > VSM
su 10 f
Antonello Caggiano - Survey on 72
Text Mining
73. Features Reduction
True/False-Positive Rates
- IG e x2: quasi uguali;
- TT LSI 25% aumento rispetto VSM
- VSM 50 f, 10 f:
- % false-positive quasi uguali per tutti i subset;
- % true-positive decrescono con feature ridotte;
- LSI 25% 10 f ≈ LSI 25% 50 f
- S1: % false-positive in aumento con LSI 25% 10 f.
Antonello Caggiano - Survey on 73
Text Mining
74. Conclusioni
1. VSM e LSI (su F_SA, F_TB) realizzano classification result migliori SpamAssassin;
2. Classification result con VSM e LSI su feature set SpamAssassin migliori che F_TB.
3. VSM realizza classification result migliori che LSI a molti livelli di troncamento.
4. Per ogni livello di troncamento di LSI la percentuale false-positive basata su F_SA è molto più
bassa che una basata su F TB .
5. LSI truncation basato sul feature set originale più stabile che VSM,
6. Classification performance di LSI su feature SpamAssassin piuttosto robuste se il numero di
caratteristiche usate è ridotto significativamente ed inoltre realizza notevoli risultati di classificazione
In generale, VSM e LSI vanno bene per spam filtering se il feature set è propriamente scelto.
In particolare, il feature set di SpamAssassin realizza risultati migliori che il comune feature set
puramente testuale basato su word/token-extraction.
word/token-extraction.
Antonello Caggiano - Survey on 74
Text Mining
76. A Probabilistic Model for Fast
and Confident
Categorization of Textual
Documents
Obiettivo: implementazione di categorizzatore di
textual documents per gestire multiple labeling;
- aggiunta di un piecewise-linear confidence estimation
layer per fornire una stima del labeling confidence.
Features useful features and extensions:
• category-specific decision layer;
• extraction of descriptive category keywords
from the probabilistic profile.
77. Model features
Features desiderabili:
Fast training (only one pass over data);
Probabilistic profile di ogni classe usato per descrivere il contenuto delle categorie;
(...le label potrebbero essere non ben descrittive)
Prediction:
Prediction
- Expectation Maximization EM: calcolo probabilità documento appartenenza
categoria.
Ipotesi: indirizzare il problema ad essegnare multiple labeling ai documenti e non ogni
documento a una singola categoria.
Antonello Caggiano - Survey on 77
Text Mining
78. The Probabilistic Model
Problema:
- set M documenti {di}, i=1…M;
- relative label l Є {1,…C}, C numero di categorie;
◦ 1 label – 1 documento;
training set D = {(di, li)}, i=1…M;
Categorization task:
- dato ñ !Є D, trovare ĩ. (ñ nuovo documento, ĩ etichetta più appropriata).
Risoluzione, Vapnik:
- inferenza induttiva: stima di un modello f usando D, assegnando ñ
induttiva
alla categoria f(ñ).
- inferenza trasduttiva: stima della label ĩ direttamente senza stimare un
modello generale.
Antonello Caggiano - Survey on 78
Text Mining
79. The new Probabilistic Model
Soluzione proposta:
- ogni documento d composto da w parole da vocabolario V.
- bag-of words assumption (usata solo frequenza n(w,d), non l’ordine);
Probability of co-occurrency
P(w|c): profili categorie sul vocabolario
P(c|d): profili di ogni documento sulle categorie Eq. 10.1
(modello usato in PLSA, Probabilistic Latent Semantic Analysis).
Key modeling: documenti e parole sono condizionatamente indipendenti
tutti i documenti usano lo stesso vocabolario nello stesso modo
Antonello Caggiano - Survey on 79
Text Mining
80. Training
Probabilità del modello con parametri θ = {P(d); P(c|d); P(w|c)} è
Eq. 10.2
Per ogni training document si ha: P(c = li|di) = 1 , P(c ≠ li|di) = 0, per tutte le i.
Proposta (si introducono):
- la lunghezza del documento d |d| = Σw n(w,d) ;
- la dimensione totale di categoria c |c| = ΣdЄc |d| ;
- il numero parole nella collezione N = Σd |d| ;
Maximum Likelihood estimate (ML)
Eq. 10.3
Conseguenza chiave: modello equazione 10.1 molto meno sensibile a smoothing, rispetto Bayes
in contrasto con molti algoritmi di training che contano su metodi di ottimizzazione iterativa
training modello proposto, computazionalmente efficiente.
.
Antonello Caggiano - Survey on 80
Text Mining
81. Prediction I
Problema Eq 10.1: non è un modello generativo di nuovi documenti (contrariamente a Bayes).
10.1:
impossibile calcolare probabilità a posteriori P(ñ|c) per un nuovo documento.
Proposta: includere il nuovo documento nella collezione
aggiunta nuovi parametri nel modello: P(ñ), P(c|ñ).
Eq. 10.1
Maximum likelihood
Eq. 10.4
Aggiornamento
Eq. 10.5
Antonello Caggiano - Survey on 81
Text Mining
82. Prediction II
Differenze post-prediction:
Bayes: una categoria/ un documento intero, parole del documento generate dalla categoria.
Modello proposto:
una categoria c ogni co-occorrenza (w,d) ogni parola può essere campionata da un differente category profile.
una parola con probabilità molto bassa avrà una piccola influenza sulla probabilità di una categoria
posteriore e imporrà una penalità.
modello molto meno sensibile alla probability smoothing
non necessario settaggio di parametri extra per lo smoothing process.
Riferimenti a inductive learning e transductive learning: Eq. 10.5
Fase di training: sembra tipicamente induttiva ottimizzazione di una funzione costo (la probabilità) per ottenere un
modello ottimale. Notare, comunque, che questo è soprattutto un modello di training data, e non etichetta nessun
documento al di fuori del training set.
Fase di predizione: di adopera un’ulteriore ottimizzazione sul labeling del testo. Simile al transductive learning.
Modello proposto condivide similarità con ambedue gli algoritmi di learning
Antonello Caggiano - Survey on 82
Text Mining
83. Multiclass, Multilabel
Categorization Problem I
Obiettivo: Multilabel Categorization.
Modello attuale: multiclass – single label categorization
model.
Problema Anomaly Detection/Text Mining: multiclass – multi label
categorization problem ogni documento, più categorie.
Soluzione: considerare tutte le combinazioni di categorie osservate e
usarle come singole ‘labels’ (Mc Callum 99).
Dati in gioco: 1151 combinazioni di label con almeno un documento
associato approccio poco pratico.
Antonello Caggiano - Survey on 83
Text Mining
84. Multiclass, Multilabel
Categorization Problem II
Problema: considerando combinazioni indipendenti di label possibile perdita di
dipendenze tra le singole categorie
Es: (C4,C5,C10) e (C4,C5,C11)
aggiunta di un layer di complessità nel sistema;
Approccio: ridurre il problema di multiple labeling a problemi di categorizzazione binaria
potenti categorizzatori come supporto al vector machine
- 22 label training di 22 binary categorizers 22 independent labeling decision –
Soluzione proposta: considerare una semplice soglia a Є [0;1] e assegnare alcun
documento nuovo ñ a tutte le categorie c tale che P(c|ñ) ≥ a.
In più, visto che tutti i documenti nel training set hanno almeno una label, ci assicuriamo
che a ñ venga sempre assegnata la label massima , anche se questo massimo è
sotto la soglia (che è combinata con il calcolo del confidence level).
Antonello Caggiano - Survey on 84
Text Mining
85. Confidence Estimation
Altro problema: il labeling deve essere effettuato con un associato confidence level.
Obiettivo: prediction confidence.
Calibration: task per la stima della giusta probabilità di correttezza output categorizzatore.
Confidence level: probabilità correttezza di un dato labeling: Non garantito che il
costo della funzione usata sarà ottimizzato da una confidence ‘well-calibrated’.
categorizzatori perfettamente calibrati: misera performance;
eccellenti categorizzator (es. SVM): scarsamente calibrati o non calibrati.
Confidence estimation generalmente fatta aggiungendo un layer al modello del
machine learning e features esterne che misurano il livello di difficoltà del task (Gillick,
Ito, Young 1997 – Gandrabur, Foster, Lapalme 2006).
Antonello Caggiano - Survey on 85
Text Mining
86. Soluzione Proposta: utilizzo di score function, Checker.jar, per ottimizzare
una funzione che in output fornisce il confidence level, data laprobabilità di
output del categorizzatore.
Antonello Caggiano - Survey on 86
Text Mining
87. Category Description I
Il modello consta di un probabilistic profile P(w|c): probabilità di ogni parola w del
vocabolario di essere osservata in documenti di categoria c
possibilità di identificare parole più tipiche per ogni categoria;
possiblità di interpretare i dati tramite keywords descrittive per ogni categoria.
Cosa fare?
Considerare una parola w con la più alta probabilità P(w|c) (non molto
efficiente):
- probability profile legato alla frequenza di parole nel training corpus (eq
10.3);
Eq. 10.3
- parole con alta frequenza: parole grammaticali (“empty”) con contenuto
non descrittivo.
Antonello Caggiano - Survey on 87
Text Mining
88. Category Description II
Come identificare parole tipiche di una classe c: identificare parole che sono
relativamente più frequenti in c che nel resto delle categorie. Ma come?
contrapporre il category profile P(w|c) e il “profilo” per il resto dei dati che è
P(w|¬c) ∞ Σγ≠c P(w|γ).
Differenza tra le due distribuzioni (dalla divergenza simmetrica di Kullback-Leibler):
Eq. 10.7
N.B.: la divergenza è una somma aggiuntiva di contributi word-specific kw.
Parole con grande kw contribuiscono di più alla divergenza complessiva da qui alla
differenza tra categoria c e il resto.
Conseguenza: proposte come keywords le parole w per cui P(w|c) > P(w|¬c) e
kw è il più grande.
Antonello Caggiano - Survey on 88
Text Mining
89. Experimental Results
Obiettivo: utilizzo della precedente strategia per estrazione di parole
relazionate alla descrizione delle categorie.
descrizione dettagliata esperimenti;
risultati ottenuti.
Antonello Caggiano - Survey on 89
Text Mining
90. Data
Training data: 21519 report (22 categorie).
Preprocessing: tokenization, stemming, acronym expansion, removal of places and numbers.
Enfasi differenze: attuale metodo di categorizzazione rispetto a differenze in preprocessing (differenze
in preprocessing tipicamente producono un gap più grande rispetto a differenze in method
categorization)
Prepocessing proposto: stop-word removal usando una lista di 319 parole comuni.
Risultato: i documenti sono indicizzati in una bag-of-words formata registrando la frequenza di ogni
parola in ogni documento.
Estimator of error prediction: i dati furono organizzat in un 10 flod cross –validation manner.
Randomly reordered informazione divisa in 10 parti:
9 contenenti 2152 componenti;
1 con 2151 documenti.
Training di un categorizzatore:
usando ogni subset delle 9 parti come materiale di training;
predizioni sullo split rimanente;
Result: 21 519 predizioni sulle quali ottimizzare i parametri a e b on
Antonello Caggiano - Survey 90
Text Mining
91. Results I
Finally cost function: combinazione prediction performance e confidence reliability.
Per ogni categoria c
calcolo Ac (~0.5), area sotto la curva ROC, per il categorizzatore;
tic Є {-1,+1} target label documento di;
yic Є {-1,+1} predicted label;
qic Є {0;1} associated confidence.
Eq. 10.7
Calcolo risultato finale tramite Checker.jar
- con confidenza del 100% predizione perfetta risultato 2
- assegnamento casuale risultato 0
Utilizzado Checker.jar su predizioni cross-validated: si ottimizzano a e b;
Valori ottimi usati a = 0.24 e b = 0.93 indicando i documenti etichettati con categorie che:
- probabilità posteriore > 0.24 e,
- confidenza minima 0.93: un po’ inusuale (si etichetta con almeno 93% di confidenza );
Eq. 10.7:
1a parte ’area sotto la curva’: dipende solo dall’ordering.
2ª parte coinvolge direttamente le stime di confidenza qic.
– il valore di questa parte aumenterà se si potrà assegnare con fiducia alta confidenza (qic ≈ 1) a documenti correttamente
etichettati (tic != yic).
Antonello Caggiano - Survey on 91
Text Mining
92. Results II
Se si potessero scoprire affidabilmente tali situazioni, sarebbe meglio
scambiare la label piuttosto che minimizzare la sua influenza assegnando low
confidence.
Assunzioni:
qic e ticyic indipendenti
seconda parte del costo ≈ q’(2xMCE-1)
q’ media di fiducia;
MCE, misclassification error, = 1/M Σi(tic≠yic).
MCE error
Strategia ottimale:
prendere q’ alto quanto possibile settando qic → 1 quanto possibile.
Questo spiega perché un alto valore di b risulta essere ottimale.
Infatti, usando un’altra previsione nei nostri livelli di confidence,
settando b a 0.99 o prodotti alti si migliorano i risultati (comunque
settando b a alti valori solo i prodotti marginali beneficiano in termini
Antonello Caggiano - Survey on 92
di costo finale). Text Mining
93. Results III
Setting a = 0.24, b = 0.93 cross-validated cost ≈ 1.691.
Setting a = 0.24, b = 0.93 cross-validated cost ≈ 1689 (su 7077 documenti di testo)
Sensitività performance del setting dei parametri a e b Fig. 10.3
optimal setting (cross) vicino alla stama cross-validation (cerchio).
Max score = 1.6894 ~ < 0.05% valore CV-ottimizzato;
Min score = 1.645 ~ < 2,5%.
significa che qualunque
setting di a e b in quel
range sarebbe stato
all’interno della
condizione ottima del
2.5%
Antonello Caggiano - Survey on 93
Text Mining
94. Results IV
Performance results:
- errore mislabeling complessiva: 7.22%;
- micro-media F-score: 50.05% (relativamente modesta, ma è stata usata solo una soglia,a!);
Una ispezione più dettagliata della performance di ogni categoria mostra una disparità in precision e
recall, attraverso le categorie.
- precision: stima la probabilità che la label offerta dal modello è corretta;
- recall: stima la probabilità che una reference label è effettivamente ritornata dal modello;
- F-score: è la media armonica di precision-recall.
Suggerimenti:
Il valore di soglia a può essere troppo alto per alcune categorie (low recall) e,
troppo basso per altre (low precision).
Usanto cross-valited prediction si ottimizzano soglie category-specific threshold usando:
• Maximum F-score;
• Break-even point;
• Minimum error rate.
Antonello Caggiano - Survey on 94
Text Mining
95. Tabella 10.1: performance test sulle 22 categorie;
varia è a seconda della categoria;
alcuna relazione tra performance e dimensione categorie.
La peggiore, ma
peggiore
anche la migliore
performance, sono
performance
osservate sulle piccole
categorie.
categorie
C3,C5,C12,C22 best
F-scores.;.
C15,C16,C17,C10 e
C7 < 50%
utilizzo di una
sola soglia;
F-score basso
Antonello Caggiano - Survey on 95
Text Mining
96. Category description
Unica informazione: labeling ogni
documento 1 < n < 22.
Scopo: vedere se le keywords
estratte procurano alcune informazione
sul contenuto delle categorie.
Antonello Caggiano - Survey on 96
Text Mining
97. Riflessioni
Probabilistic model presentato:
può essere stimato da documenti preprocessati, indexati, ed
etichettati senza parametri di learning addizionali, e in un singolo
passo sulle informazioni training estremamente veloce.
le predizioni per nuovi documenti di testo richiedono qualche piccolo
calcolo in più ma è ancora piuttosto veloce.
probabilistic category profiles usati per ottenere keyword descrittive
per le categorie.
Antonello Caggiano - Survey on 97
Text Mining
99. Emerging Technologies
Information Extraction Methodologies and
Applications
Jie Tang, Mingcai Hong, Duo Zhang, Bangyong Liang,
and Juanzi Li
Deriving Taxonomy from Documents at Sentence Level
Ying Liu, Han Tong Loh, and Wen Feng Lu
Rule Discovery from Textual Data
Shigeaki Sakurai
Antonello Caggiano - Survey on 99
Text Mining
101. Overview
Metodologie di automatic IE:
IE
Rule learning based;
Classification model based;
Sequential labeling based.
Antonello Caggiano - Survey on 101
Text Mining
102. Rule Learning-Based
Extraction Methods
Dictionary based method.
costruzione di pattern dictionary;
Es: AutoSlog, AutoSlog-TS;
Rule based method.
uso di regole generali;
algoritmi di rule learning bottom-up: learning di regole da casi speciali a
quelli generali;
algoritmi di rule learning top-down: learning di regole da casi generali a quelli
speciali.
Es: (LP)2, iASA.
Wrapper induction.
wrapper: contextual pattern semplice ma altamente accurato.
wrapper induction: processo automatico di learning wrapper.
wrapper learned: usati per estrarre appropriate porzioni da un documento di testo.
Es: WIEN, BWI.
Antonello Caggiano - Survey on 102
Text Mining
103. Classification-Based
Extraction Methods
Metodo: apprende a trovare start e end di frammenti di testo da estrarre.
Idea: considerare il problema di IE come un problema di classificazione.
Training set: {(x1,y1),...(xn,yn)}
- xi feature vector;
- yi classification table∈{-1,+1}.
table
Classification model: learning & prediction.
prediction
Support Vectore Machine: uno dei metodi di
classificazione più popolari.
Sistema proposto: learning & extracting.
extracting
Obiettivo: detecting di start-, end-bound.
Antonello Caggiano - Survey on 103
Text Mining
104. Sequential Labeling-Based
Extraction Methods
Ipotesi: documento visto come sequenza di token e una sequenza di label
assegnate a ogni token per indicare la proprietà del token.
Obiettivo: data una sequenza di osservazione x = (x1,x2,…..xn) trovare una
sequence label y*=(y1,y2,…yn) che massimizza la probabilità condizionale
p(y|x):
y* = argmaxyp(y|x)
Differenze rispetto rule-based - classification-based: abilita la descrizione di
based
dipendenze tra target information. Le dipendenze possono essere utilizzate
per migliorare l’accuratezza dell’estrazione.
Sequential labeling models:
Hidden Markov Model;
Maximum Entropy Markov Model;
Conditional Random Field.
Antonello Caggiano - Survey on 104
Text Mining
106. Overview
Derivazione tassonomia documenti
Uso di Document Profile.
Most Frequent word Sequence per ricerca
informazione semantica saliente
integrazione in DP.
Obiettivo: coinvolgere più informazione semantica nella
modellizzazione del documento.
maggiori informazioni per collegare documenti in
cluster.
• Uso di clustering Antonello Caggiano - Survey on
gerarchico 106
Text Mining
108. Overview
Metodi di knowledge discovery basati su fuzzy decision tree da
textual data.
Obiettivo: metodo di kd descritto da un rule set
metodo rule discovery.
Rule set:
può classificare i dati testuali basato su punti di vista delle analisi
può rivelare relazioni tra le feature dei dati testuali, che costituiscono
conoscenza.
Introduzione metodi di rule discovery basati su questa fuzzy
set theory.
Antonello Caggiano - Survey on 108
Text Mining