TEORIE E TECNICHE DEL RICONOSCIMENTO CLASSIFICAZIONE AUTOMATICA CLASSIFICAZIONE DI PDD CLASSIFICAZIONE DI TESTI CLASSIFICAZIONE • Un CLASSIFICATORE e’ una FUNZIONE da oggetti che si vogliono classificare a etichette – Determinate la parte del discorso di un token – Assegnare valore SPAM/NO SPAM a email – Positivo / negativo • La disambiguazione delle parti del discorso e molti altri problemi in LC possono essere visti come problemi di classificazione DISAMBIGUAZIONE DELLE PARTI DEL DISCORSO COME CLASSIFICAZIONE • La disambiguazione delle parti del discorso (POS tagging) puo’ essere vista come un classificatore che determina l’interpretazione piu’ probabile di ogni parola (nome, verbo, etc) UNA VISIONE GEOMETRICA DELLA CLASSIFICAZIONE SPAM NON-SPAM ESEMPIO DI CLASSIFICATORE: REGRESSIONE LOGISTICA x2 3 2 1 1 2 Predici “ 3 x1 “ if ESEMPIO DI CLASSIFICATORE: DECISION TREE IL RUOLO DELL’APPRENDIMENTO AUTOMATICO • Un decision tree come quello appena visto potrebbe essere scritto a mano • Ma nella linguistica computazionale moderna, questi classificatori non vengono specificati a mano, ma vengono APPRESI AUTOMATICAMENTE a partire da esempi. METODI PER L’APPRENDIMENTO • SUPERVISIONATI (SUPERVISED) – Imparano da esempi etichettati – Modellano l’apprendimento tramite insegnanti • NON SUPERVISIONATI (UNSUPERVISED) – Scoprono da soli la struttura del problema – Modellano l’apprendimento del linguaggio • SEMI-SUPERVISED – Ricevono come input pochi esempi poi procedono per somiglianza SUPERVISED CLASSIFICATION FOR POS TAGGING • L’algoritmo di apprendimento riceve come input un corpus di TRAINING classificato con POS tags – La/Art gatta/N fece/V un/Art salto/N ./. – Giuseppe/PN e’/V matto/Adj ./. • Si estrae le features / calcola le probabilita’ • Costruisce un MODELLO che puo’ poi essere usato per classificare ALTRI testi TRAIN/TEST POS TAGGER BASATI SU N-GRAMS • Un POS TAGGER BASATO SU N-GRAMS e’ un classificatore che riceve come input informazioni sulla parola e le parole che la precedono – UNIGRAM PROBABILITY: P(N|salto), P(V|salto) – BI-GRAM PROBABILITY: P(NN|un salto) – …. • Produce in output una probabilita’ – P(N|Uprob, 2Prob, ….) = … – P(V|UProb, 2Prob, …) = … • Sceglie la PDD con probabilita’ maggiore POS-TAGGING A N-GRAMS • Scelta della soluzione con la probabilita’ maggiore: argmax P(t1..tn | w1..wn ) t i T 16 Classificazione di PDD usando ngrammi CONTESTO FREQUENZA 17 Stima delle probabilita’ Can be done using Maximum Likelihood Estimation as usual, for BOTH probabilities: 18 Esempio • Secretariat/NNP is/VBZ expected/VBN to/TO race/VB tomorrow/NN • People/NNS continue/VBP to/TO inquire/VB the/DT reason/NN for/IN the/DT race/NN for/IN outer/JJ space/NN • Problem: assign a tag to race given the subsequences – to/TO race/??? – the/DT race/??? • Solution: we choose the tag that has the greater of these probabilities: – P(VB|TO) P(race|VB) – P(NN|TO)P(race|NN) 19 Tagging with MMs (2) • Actual estimates from the Switchboard corpus: • LEXICAL FREQUENCIES: – P(race|NN) = .00041 – P(race|VB) = .00003 • CONTEXT: – P(NN|TO) = .021 – P(VB|TO) = .34 • The probabilities: – P(VB|TO) P(race|VB) = .00001 – P(NN|TO)P(race|NN) = .000007 20 N-GRAM POS TAGGER IN NLTK • NLTK, 5.5: – Addestramento di unigrammi – Addestramento di bigrammi ALTRI METODI PER L’APPRENDIMENTO • NAÏVE BAYES • DECISION TREES NAÏVE BAYES • Metodi Bayesiani: decisione su classificazione basata su – un modello PROBABILISTICO – che coniuga uso di informazioni A PRIORI ed A POSTERIORI come nella regola di Bayes • Metodi NAÏVE BAYES: si fanno assunzioni che semplificano molto il calcolo delle probabilità Legge di Bayes P(C , X ) P(C | X ) P( X ) P( X | C ) P(C ) P( X | C ) P(C ) P(C | X ) P( X ) Bayes applicata alla classificazione P(Classe|Proprietà) = P(Proprietà|Classe)*P(Classe) / P(Proprietà) Maximum a posteriori Hypothesis hMAP argmax P(h | D) hH hMAP P( D | h ) P( h ) argmax P( D ) hH hMAP argmax P( D | h) P(h) hH Naive Bayes Classifiers Task: Classify a new instance based on a tuple of attribute values x1 , x2 ,, xn cMAP argmax P(c j | x1 , x2 ,, xn ) c j C cMAP argmax c j C P( x1 , x2 ,, xn | c j ) P(c j ) P(c1 , c2 ,, cn ) cMAP argmax P( x1 , x2 ,, xn | c j ) P(c j ) c j C Naïve Bayes Classifier: Assumptions • P(cj) – Can be estimated from the frequency of classes in the training examples. • P(x1,x2,…,xn|cj) – O(|X|n•|C|) – Could only be estimated if a very, very large number of training examples was available. Conditional Independence Assumption: Assume that the probability of observing the conjunction of attributes is equal to the product of the individual probabilities. The Naïve Bayes Classifier Flu X1 runnynose X2 sinus X3 cough X4 fever X5 muscle-ache • Conditional Independence Assumption: features are independent of each other given the class: P( X 1 ,, X 5 | C ) P( X 1 | C ) P( X 2 | C ) P( X 5 | C ) Learning the Model C X1 X2 X3 X4 X5 X6 • Common practice:maximum likelihood – simply use the frequencies in the data N (C c j ) ˆ P (c j ) N Pˆ ( xi | c j ) N ( X i xi , C c j ) N (C c j ) Problem with Max Likelihood Flu X1 runnynose X2 sinus X3 cough X4 fever X5 muscle-ache P( X 1 ,, X 5 | C ) P( X 1 | C ) P( X 2 | C ) P( X 5 | C ) • What if we have seen no training cases where patient had no flu and muscle aches? N ( X 5 t , C nf ) ˆ P( X 5 t | C nf ) 0 N (C nf ) • Zero probabilities cannot be conditioned away, no matter the other evidence! arg max c Pˆ (c)i Pˆ ( xi | c) Smoothing to Avoid Overfitting Pˆ ( xi | c j ) N ( X i xi , C c j ) 1 N (C c j ) k # of values of Xi • Somewhat more subtle version Pˆ ( xi ,k | c j ) overall fraction in data where Xi=xi,k N ( X i xi ,k , C c j ) mpi ,k N (C c j ) m extent of “smoothing” Using Naive Bayes Classifiers to Classify Text: Basic method • Attributes are text positions, values are words. cNB argmax P(c j ) P( xi | c j ) c jC i argmax P(c j ) P( x1 " our" | c j ) P( xn " text" | c j ) c jC Naive Bayes assumption is clearly violated. Example? Still too many possibilities Assume that classification is independent of the positions of the words Use same parameters for each position ESEMPIO DI CLASSIFICAZIONE: DOCUMENT CLASSIFICATION (NLTK book, p. 227-228) VALUTAZIONE • ACCURACY: percentuale di risposte corrette • Nel caso di problemi in cui la classe di interesse rappresenta una percentuale minima del totale: PRECISION e RECALL PRECISION E RECALL ESEMPIO DI CLASSIFICAZIONE: GENDER IDENTIFICATION (NLTK book, p. 222-227) APPRENDERE DECISION TREES • Top-down: dato un certo insieme di esempi, trovare la proprieta’ che permette di dividerli in sottogruppi piu’ COERENTI • Poi si procede ricorsivamente • Scelta della proprieta’: INFORMATION GAIN DECISION TREE PER IL NAME GENDER TASK Selezione della proprieta’ • La scelta della proprieta’ da usare per dividere l’insieme corrente in sottinsiemi piu’ coerenti si basa su un criterio di RIDUZIONE DEL DISORDINE basato sulla nozione di ENTROPIA ENTROPIA Entropia di decision trees • Entropia del DT per gender identification: vedi NLTK, 6.4 INFORMATION GAIN TEXT CATEGORIZATION WITH DT • Build a separate decision tree for each category • Use WORDS COUNTS as features Reuters Data Set (21578 - ModApte split) • 9603 training, 3299 test articles; ave. 200 words • 118 categories – An article can be in more than one category – Learn 118 binary category distinctions Common categories (#train, #test) • • • • • Earn (2877, 1087) Acquisitions (1650, 179) Money-fx (538, 179) Grain (433, 149) Crude (389, 189) • • • • • Trade (369,119) Interest (347, 131) Ship (197, 89) Wheat (212, 71) Corn (182, 56) 54 AN EXAMPLE OF REUTERS TEXT Foundations of Statistical Natural Language Processing, Manning and Schuetze Decision Tree for Reuter classification Foundations of Statistical Natural Language Processing, Manning and Schuetze Information gain & text classification