Una metodologia di classificazione di testi
Transcript
Una metodologia di classificazione di testi
Università Degli Studi Roma Tre
Be MoRe
BEST MODEL RETRIEVAL
Una nuova metodologia di
classificazione di testi
Claudio Biancalana
Alessandro Micarelli
Sommario
Definizione del problema
Be More: la metodologia di classificazione
NLP
WSD
Edit Distance
Indicizzazione Log Noise
OnLine Hyperplane
Risultati sperimentali
Obiettivi raggiunti
2
Categorizzazione
Input:
descrizione di una istanza, x∈X, dove
X è l’istanza linguaggio o spazio
dell’istanza.
Un numero fissato di categorie:
C={c1, c2,…cn}
Una
Output:
categoria di x: c(x)∈C, dove c(x) è una
funzione di catgorizzazione che ha come
dominio X e come codominio C.
La
3
Text Categorization
Text categorization (text classfication):
assegnare documenti testuali ad una o più
categorie predefinite
Categoria UNO
Categoria DUE
Categoria TRE
4
Hard Problems
Spazio delle caratteristiche sparso
Piccolo insieme di training
Rumore
Efficienza computazionale
Apprendimento complesso
5
Fasi dell’Apprendimento
training set
definizioni
dei concetti
learner
test set
classifier
esperto
decisione
6
Be MoRe
BEST MODEL RETRIEVAL
Schema concettuale
Corpus
Estrazione
dello SPLIT
NLP
Testi
OnLine
Hyperplane
Indicizzazione
STS
Ricerca del tuning migliore per la classificazione
con stima Leave-one-out
7
Leave one out estimatior
20% reserve
train
80%
test
8
NLP Natural Language Processing
frase originale
The white cat is hunting the mouse
parsing
stemming
frase dopo il parsing
The/DT white/JJ cat/NN is/VBZ
hunting/VBG the/DT mouse/NN
white cat be hunt mouse
estrazione dei nomi
lista nomi
nomi = {cat,mouse}
Algoritmo wsd
nomi = {cat, mouse}
[Resnik]
9
Disambiguazione dei nomi
Il sistema, mediante il dizionario WordNet, assegna ad ogni
significato un codice numerico univoco.
Dopo aver eseguito gli algoritmi di word sense disambiguation,
ad ogni nome della frase viene sostituito il codice del
significato che è risultato essere migliore.
Frase originale:
Frase originale:
The white cat is hunting the mouse
The white feline
computer
is catching
is detecting
the rodent
a mouse
Frase dopo lo stemming:
Frase dopo lo stemming:
white cat be hunt mouse
Frase con codici:
white 1788952 be hunt 1993014
white
white
computer
feline bebecatch
detect
rodent
mouse
Frase con codici:
white
white1788952
7846548 be
becatch
detect
1993014
85657
10
Espansione e compressione
le innovative fasi del preprocessing
Scelta di ‘n’
elementi STS
Token 1a
Token 1
Token 1b
Token 1-a
Token 2a
Token 1-b
Token 2
Token 2b
Token (K(K-1)a
Token K-1
Token (K(K-1)b
Token 2-a
Token 2-b
COMPRESSIONE
Edit Distance
Token (K(K-1)a
Token (K(K-1)c
Token K
Token Ka
11
STS Supervised Term Selection
(prima fase della compressione)
Selezione supervisionata dei termini.
ξ=
T − T′
Reduction Factor
T
TEF Term evaluation function (low-noise):
1− ∑ j
pij log( pij )
log(ndocs)
con
pij =
tf ij
df i
Frequenza del termine i sul
documento j
Numero dei documenti
contenenti il termine i
Obiettivo: MINIMIZZARE IL RUMORE
DI INFORMAZIONE
12
Edit Distance
(seconda fase della compressione)
Edit Distance: indice di somiglianza moforlogica
A C T G T
Ci,j =
A C T T T G T A
Ci-1,j-1
se i=0 o j=0
Ci-1,j-1 +1
se ai = bj
1 + Max(Ci-1,j, Ci,j-1)
altrimenti
13
Edit Distance
(seconda fase della compressione)
A C T G T
A C T T T G T A
A C T T T G T A
0
0
0
0
0
0
0
0
0
A 0
1
1
1
1
1
1
1
1
C 0
1
2
2
2
2
2
2
2
T 0
1
2
3
3
3
3
3
3
G 0
1
2
3
3
3
4
4
4
T 0
1
2
3
4
4
4
5
5
14
Indicizzazione Log-Noise
Term Weighting
A = [aij ]
aij ≡L(i, j ) × G (i )
L(i, j ) ≡ [log(tf ij + 1)]
G (i ) ≡ 1 − ∑ j
pij =
pij log( pij )
log(ndocs)
Termine i
Documento j
Indice locale LOG
Indice globale NOISE
tf ij
Frequenza del termine i sul documento j
df i
Numero dei documenti contenenti il termine i
15
Dimensionality reduction
La
dimensione dello spazio dei termini può
costituire un problema perché:
gli algoritmi di learning non scalano facilmente su
grandi valori della dimensione
se la dimensione è alta spesso si verificano
fenomeni di overfitting
Abbiamo
due scelte
Riduzione locale (un insieme di termini diverso per
ciascuna categoria)
Riduzione globale (il set di termini è valido per
qualunque categoria)
La
riduzione può essere
per selezione
per estrazione
16
Feature selection
17
ESEMPIO: Noise ‘3 features’
Category 1st word
Earn
vs+
Acq
shares+
Money-fx dollar+
Grain
wheat+
Crude
oil+
Trade
trade+
Interest
rates+
Ship
ships+
Wheat
wheat+
Corn
corn+
3rd word
2nd word
cts+
loss+
vsInc+
vsexchange+
tonnes+
grain+
bpd+
OPEC+
vsctsrate+
vsvsstrike+
tonnes+ WHEAT+
tonnes+
vs-
BEP
93.5%
76.3%
53.8%
77.8%
73.2%
67.1%
57.0%
64.1%
87.8%
70.3%
18
OnLine Hyperplane
Class -1
Class 1
Obiettivo:
Trovare l’iperpiano separatore ottimo
dell’insieme di training. Come formalizzare?
● In due dimensioni, l’equazione della linea è data
da: w 1x + w 2y = b
● In ‘n’ dimensioni :
n
∑
w i . xi = b
r r
w . x =b
i=0
19
Slack variables
Se
l’iperpiano separatore non esiste?
error
Class -1
Class 1
Cosa si può fare se i dati non sono linearmente
separabili per la presenza di rumore?
Slack variables
Consentono la classificazione non corretta di
alcuni punti, tenendo conto del rumore nei dati
rr
rr
w.xi ≥ b + 1 → w.xi + ξ i ≥ b + 1
20
OnLine Hyperplane
Ricerca
incrementale
della soluzione ottima
Elementi
positivi e
negativi
rappresentati
POS
con pesi
diversi
Loss function a basso
costo computazionale
Convergenza garantita
dall’estensione del
teorema di Novikoff
Training
docs
Next Doc
POS
NEG
Classifier
CORRECT
Classifier
NEG
NEG
NOT
CORRECT
NOT
CORRECT
POS
CORRECT
Loss
Function
Slack
Variables
21
Kernelizing
Support Vectors
Ereditando alcune
caratteristiche matematiche
delle SVM, il sistema si
avvale di un modulo di kernel
per risolvere il problema di
separabilità non lineare.
Kernel supportati:
• Lineare
• Polinomiale
• RBF
Scelta del kernel migliore
attraverso model selection
GET-BOUND
22
Macchine SVM non lineari
L’uso della funzione kernel consente di calcolare
l’iperpiano di separazione senza bisogno di effettuare
esplicitamente il mapping in F
Esempio:
2
k(x, x' ) = e − x−x'
Altre funzioni kernel:
x − x' 2
−
2σ 2
Gaussian RBF
e
Polinomio di grado d
(x ⋅ y + 1)d
e z − e −z
Tangente iperbolica tanh(z) =
e z + e −z
z = x ⋅ x' −θ
23
Architettura multi-label
Decisore
k
SV1
k
k
SV2
SV3
k
SVn
x
24
Valutazione del classificatore
La
valutazione è sperimentale perché il
problema non ha una specifica formale che
consenta un altro tipo di valutazione
La valutazione deve essere effettuata su dati
di test indipendenti dai dati di training
(solitamente insiemi disgiunti di istanze)
I risultati possono variare in base in base
all’uso di diversi di training e testing set
25
Misure di performance
Tavola di contingenza
System: Yes
System: No
Truth: Yes Truth: No
a
b
c
d
Misure di performance per la classificazione
binaria
error rate = (b+c)/n
accuracy = 1 - error rate
precision (P) = a/(a+b)
recall (R) = a/(a+c)
break-even = (P+R)/2
F1-measure = 2PR/(P+R)
26
Benchmark
Be MoRe:
Reuters 21578
Split ModAptè[10]
Split ModAptè[115]
RCV1 (800000 docs)
WebKB (pagine HTML)
Ohsumed (referti medici)
LingSpam (Anti-spam)
OnLine Hyperplane:
MNIST (OCR)
Copchrom (Corredo cromosomico)
27
Risultati Multi-label
Uno contro tutti
Reuters
Reuters
ModAptè
ModAptè[10]
ModAptè
ModAptè[115]
Micro F1Measure
Be MoRe
93%
SVM light
(TF(TF-IDF + MI)
IB
(TF(TF-IDF)
(Bekkerman et al.)
Dominio
Categorizzatore
Naive Bayes
kNN
(TF(TF-IDF + MI)
Ohsumed
WebKB
Micro F1Measure
Micro F1Measure
BEP
87.5%
71.6%
89.4%
92%
86.7%
67.7%
90.3%
(Dumais et al.)
(Joachims)
Joachims)
92.6%
…
81%
72.3%
(Dumais et al.)
(Joachims)
Joachims)
…
(Joachims)
Joachims)
82.6%
…
…
62.4%
82%
63.4%
80.5%
(Joachims)
Joachims)
28
Complessità computazionale OH vs SVM
Training time: SVM vs. OH (# features = 100):
# documents
Training Time per OH
Training Time per SVM
9603
5
8
19206
15
25
28809
27
60
38412
32
120
48015
40
340
57618
50
410
67221
65
498
76824
78
600
86427
100
630
29
Università Degli Studi Roma Tre
Be MoRe
BEST MODEL RETRIEVAL
Una nuova metodologia di
classificazione di testi
Claudio Biancalana
Alessandro Micarelli