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