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