TDDD02 Språkteknologi för informationssökning (2016) Textklassificering Marco Kuhlmann Institutionen för datavetenskap
Textklassificering
Skräppostfiltrering spam ham
Författaridentifiering Alexander Hamilton James Madison
Attitydpredicering The gorgeously elaborate continuation of The Lord of the Rings trilogy is so huge that a column of words cannot adequately describe co-writer/director Peter Jackson s expanded vision of J.R.R. Tolkien s Middle-earth. positiv is a sour little movie at its core; an exploration of the emptiness that underlay the relentless gaiety of the 1920 s, as if to stop would hasten the economic and global political turmoil that was to come. negativ
Kategorisering av nyheter UK China Elections Sports congestion London Olympics Beijing recount votes diamond baseball Parliament Big Ben tourism Great Wall seat run-off forward soccer Windsor The Queen Mao Communist TV-ads campaign team captain
Handskrivna regler Vi kan tilldela ett dokument en klass genom handskrivna regler. om anonyma mottagare och texten innehåller ditt konto kommer att raderas då sortera som skräp Handskrivna regler kan ha hög träffsäkerhet, men att utveckla och underhålla dem är kostsamt. utgör ändå state-of-the-art i många domäner
Klassificering som övervakad inlärning congestion London A B C Olympics Beijing recount votes Parliament Big Ben A tourism Great Wall B seat run-off C Windsor The Queen A Mao Communist B TV-ads campaign C
Klassificering som övervakad inlärning träningsmängd träning congestion London A B C Olympics Beijing recount votes Parliament Big Ben A tourism Great Wall B seat run-off C testmängd utvärdering Windsor The Queen A Mao Communist B TV-ads campaign C
Utvärdering av textklassificerare
Utvärdering För att utvärdera en klassificerare jämför vi de predicerade klasserna med de korrekta klasser enligt guldstandarden. Systemets resultat på den hittills okända testmängden ger oss en idé om hur bra det kommer att vara på helt nya texter. Det är viktigt att vi inte tränar på testmängden! Om systemet får träna på testmängden blir utvärderingen missvisande.
Utvärderingsmått: Korrekthet Korrekthet (eng. accuracy) mäter andelen av alla dokument i testmängden för vilka systemet har predicerat korrekt klass. Hur ofta var den predicerade klassen identisk med guldstandardklassen? Korrekthet är ett enkelt och överskådligt mått, men kan ibland vara missvisande.
Problem med korrekthetsmåttet Ett system för textklassificering analyserar texter skrivna av patienter på en geriatrimottagning och predicerar om patienterna har eller inte har en ovanlig neurologisk sjukdom. Systemet utvärderas på en testmängd bestående av 10 000 texter, 10 skrivna av patienter med sjukdomen och 9 990 skrivna av patienter utan denna sjukdom. Systemet predicerar alltid att patienten inte har sjukdomen. Vad är systemets korrekthet?
Korrekthet klassificerare positiv klassificerare negativ guldstandard positiv sanna positiva falska negativa guldstandard negativ falska positiva sanna negativa
Utvärderingsmått: Precision och täckning Precision och täckning (eng. recall) zoomar in på hur bra systemet är på att identifiera dokument av en specifik klass K. Hur bra är systemet på att detektera sjukdomen? Precision är andelen korrekt klassificerade dokument bland alla dokument som systemet predicerat tillhöra klass K. Om systemet predicerar sjukdomen, hur ofta har patienten verkligen den? Täckning är andelen korrekt klassificerade dokument bland alla dokument som enligt guldstandarden har klass K. Om patienten har sjukdomen, hur ofta predicerar klassificeraren detta?
Precision klassificerare positiv klassificerare negativ guldstandard positiv sanna positiva falska negativa guldstandard negativ falska positiva sanna negativa
Täckning (recall) klassificerare positiv klassificerare negativ guldstandard positiv sanna positiva falska negativa guldstandard negativ falska positiva sanna negativa
Precision och täckning fn fp guldstandard G sp K klassificerare precision = G K K täckning = G K G
Korrekthet med tre klasser A B C A 58 6 1 B 5 11 2 C 0 7 43
Precision med avseende på klass B A B C A 58 6 1 B 5 11 2 C 0 7 43
Recall (täckning) med avseende på klass B A B C A 58 6 1 B 5 11 2 C 0 7 43
F1-måttet Ett bra system bör balansera precision och täckning. F1-måttet är det harmoniska medelvärdet mellan båda två: F1 = 2 precision täckning precision + täckning
Baseline Absoluta värden för korrekthet, precision och täckning säger egentligen inte särskilt mycket. 80% täckning bra eller dåligt? Istället så bör man fråga efter korrekthet, precision och täckning relativt till en referensmetod, en baseline. En vanlig baseline för klassificering är Most Frequent Class: predicera alltid den mest frekventa dokumentklassen.
Textklassificering med Naive Bayes
Naive Bayes Naive Bayes är en enkel men förvånansvärt effektiv metod för textklassificering som bygger på Bayes regel. Den utgår ifrån en representation av textdokument som bags of words, dvs. den tar ingen hänsyn till ordföljd.
Bag-of-words-representationen The gorgeously elaborate continuation of The Lord of the Rings trilogy is so huge that a column of words cannot adequately describe co-writer/director Peter Jackson s expanded vision of J.R.R. Tolkien s Middle-earth. positiv is a sour little movie at its core; an exploration of the emptiness that underlay the relentless gaiety of the 1920 s, as if to stop would hasten the economic and global political turmoil that was to come. negativ
Bag-of-words-representationen a adequately cannot co-writer column continuation describe director elaborate expanded gorgeously huge is J.R.R. Jackson Lord Middle-earth of of of of Peter Rings so that The The the Tolkien trilogy vision words positiv 1920 s a an and as at come core economic emptiness exploration gaiety global hasten if is its little movie of of political relentless sour stop that that the the the the to to turmoil underlay was would negativ
Bag-of-words-representationen ord frekvens ord frekvens of 4 the 4 The 2 to 2 words 1 that 2 vision 1 of 2 trilogy 1 would 1 positiv negativ
Generativ modell ingen information om texten P(S) P(N) S N P(Sthlm S) P(Oslo S) P(Sthlm N) P(Oslo N) Sthlm Oslo Sthlm Oslo
Bayes regel För klassificering vill vi veta P(klass text). P(diagnos symptom) I en Naive Bayes-modell representeras istället P(text klass). P(symptom diagnos) Bayes regel kan användas för att konvertera mellan dessa.
Bayes regel P(B A)P(A) P(A B) = P(B) Thomas Bayes (1702 1761)
Naive Bayes-metoden En Naive Bayes-modell utgår ifrån en mängd klasser och en mängd ord som vi tror är relevanta för klassificeringen. Den inkluderar sannolikheter som anger hur troligt det är att se ett ord w i ett dokument, givet att det dokumentet har en klass c. P(w c), P(Sthlm S) För att klassificera ett dokument går man genom alla ord i det, multiplicerar de relevanta ordsannolikheterna klassvist, och väljer sedan den klass för vilken man har fått det högsta värdet.
Ingredienserna i en Naive Bayes-modell C V en mängd möjliga klasser en mängd möjliga ord; modellens vokabulär P(c) en sannolikhet som anger hur troligt det är att ett givet dokument har klass c (ett värde för varje klass) P(w c) en sannolikhet som anger hur troligt det är att ett givet dokument innehåller ordet w, givet att vi redan vet att det har klass c (ett värde för varje par klass ord)
Att klassificera med en Naive Bayes-modell För att predicera klassen för ett givet dokument d: Låt w 1,, w n beteckna listan av alla ordförekomster i d. Räkna ut ett värde score(c) för varje möjlig klass c enligt formeln score(c) = P(c) P(w 1 c) P(w n c) Välj den klass c för vilken värdet score(c) är maximalt.
Naive Bayes: Klassificeringsregeln välj den klass c som ger det högsta värdet till höger om argmaxet predicerad klass hur ofta förekommer ordet w
Två praktiska problem Problem 1: stor vokabulär Lösning: loopa över orden i dokumentet, inte i vokabulären Problem 2: okända ord (ord som inte förekommer i vokabulären) Lösning: hoppa över okända ord Problem 3: flyttalsbottning (då man multiplicerar sannolikheter) Lösning: räkna om sannolikheter till den logaritmiska skalan
Logaritmer av sannolikheter För att förebygga flyttalsbottning räknar man om sannolikheter till den logaritmiska skalan (eng. log probabilities). P(w c) blir till log P(w c) Istället för att multiplicera sannolikheter måste man då summera deras logaritmer.
Log-sannolikheter 0-0,75 log p -1,5-2,25-3 0 0,25 0,5 0,75 1 p
Skattning av Naive Bayes-modeller
Skattning av ordsannolikheter sannolikhet värde sannolikhet värde?? P(hasten pos)? P(hasten neg)? P(huge pos)? P(huge neg)? P(if pos)? P(if neg)? P(its pos)? P(its neg)? positiv negativ
Maximum Likelihood-skattning För att skatta sannolikheterna P(c): Räkna ut andelen av dokument som har klass c bland alla dokument i träningsmängden. För att skatta sannolikheterna P(w c): Räkna ut andelen av förekomster av ordet w bland alla ordförekomster i dokument med klass c.
Maximum Likelihood-skattning f(c) f(w, c) antalet dokument med guldstandardklass c antalet förekomster av ordet w i dokument med klass c
Skattning av ordsannolikheter The gorgeously elaborate continuation of The Lord of the Rings trilogy is so huge that a column of words cannot adequately describe co-writer/director Peter Jackson s expanded vision of J.R.R. Tolkien s Middle-earth. positiv is a sour little movie at its core; an exploration of the emptiness that underlay the relentless gaiety of the 1920 s, as if to stop would hasten the economic and global political turmoil that was to come. negativ 31 ordförekomster 37 ordförekomster
Skattning av ordsannolikheter ord frekvens ord frekvens of 4 the 4 The 2 to 2 words 1 that 2 vision 1 of 2 trilogy 1 would 1 positiv negativ
Skattning av ordsannolikheter sannolikhet relativ frekvens sannolikhet relativ frekvens P(of pos) 4/31 P(the neg) 4/37 P(The pos) 2/31 P(to neg) 2/37 P(words pos) 1/31 P(that neg) 2/37 P(vision pos) 1/31 P(of neg) 2/37 P(trilogy pos) 1/31 P(would neg) 1/37 positiv negativ
Utjämning Om man skattar ordsannolikheter med hjälp av relativa frekvenser kommer många sannolikheter vara noll. Detta är ett problem eftersom klassificeringsregeln för Naive Bayes multiplicerar sannolikheter. Slogan: Nollsannolikheter förstör information. För att undvika nollsannolikheter kan man använda tekniker för utjämning av sannolikhetsfördelningar (eng. smoothing).
Additiv utjämning En enkel metod är addera-ett-utjämning: addera 1 på alla (absoluta) frekvenser innan ML-skattningen. eng. add one-smoothing, Laplace smoothing Istället för att hallucinera 1 extra förekomst av varje ord kan vi hallucinera k extra förekomster: additiv utjämning. eng. additive smoothing
ML-skattning med addera-ett-utjämning f(c) f(w, c) antalet dokument med guldstandardklass c antalet förekomster av ordet w i dokument med klass c ingen utjämning
Skattning med utjämning The gorgeously elaborate continuation of The Lord of the Rings trilogy is so huge that a column of words cannot adequately describe co-writer/director Peter Jackson s expanded vision of J.R.R. Tolkien s Middle-earth. positiv is a sour little movie at its core; an exploration of the emptiness that underlay the relentless gaiety of the 1920 s, as if to stop would hasten the economic and global political turmoil that was to come. negativ 31 ordförekomster 37 ordförekomster
Skattning med utjämning 1920 s J.R.R. Jackson s Lord Middle-earth Peter Rings The Tolkien s a adequately an and as at cannot co-writer/director column come continuation core describe economic elaborate emptiness expanded exploration gaiety global gorgeously hasten huge if is its little movie of political relentless so sour stop that the to trilogy turmoil underlay vision was words would 53 unika ord (= vokabulär)
Skattning med utjämning ord ändrad frekvens ord ändrad frekvens of 4 + 1 of 2 + 1 The 2 + 1 The 0 + 1 words 1 + 1 words 0 + 1 vision 1 + 1 vision 0 + 1 trilogy 1 + 1 trilogy 0 + 1 positiv negativ
Skattning med utjämning sannolikhet skattning sannolikhet skattning P(of pos) (4 + 1)/(31 + 53) P(of neg) (2 + 1)/(37 + 53) P(The pos) (2 + 1)/(31 + 53) P(The neg) (0 + 1)/(37 + 53) P(words pos) (1 + 1)/(31 + 53) P(words neg) (0 + 1)/(37 + 53) P(vision pos) (1 + 1)/(31 + 53) P(vision neg) (0 + 1)/(37 + 53) P(trilogy pos) (1 + 1)/(31 + 53) P(trilogy neg) (0 + 1)/(37 + 53) positiv negativ
Sammanfattning Textklassificering träningsmängd, testmängd, korrekthet, precision, täckning Naive Bayes: Modell klassannolikheter, ordsannolikheter, klassificeringsregel Naive Bayes: Skattning Maximum Likelihood-skattning, additiv utjämning Läsanvisningar: JM kapitel 1 2, 3.1, Textklassificering med Naive Bayes 1 2
Textklassificering: Övningsuppgifter
Övningsuppgift Ett namnigenkänningssystem utvärderades på en samling testdata innehållande 800 namn. Av dessa bestod 500 av ett ord, 250 av två ord och 50 av tre ord. Tabellen nedan anger systemets resultat. rätt fel ettordsnamn 420 60 tvåordsnamn 200 40 treordsnamn 44 12 Ställ upp bråk för följande: täckning på ettordsnamn precision på tvåordsnamn täckning på alla namn
Övningsuppgift Ett Naive Bayes-system ska skilja mellan nyhetstexter som handlar om Kina (K) och texter som handlar om Japan (J). Ange formler för hur systemet räknar ut score(k) och score(j) då det ska predicera klassen för dokumentet Chinese Chinese Chinese Tokyo Japan
Övningsuppgift Skatta sannolikheterna för en Naive Bayes-modell utifrån följande data. Antag att vokabulären består av alla förekommande ord. dokument klass Chinese Beijing Chinese K Chinese Chinese Shanghai K Chinese Macao K Tokyo Japan Chinese J
Övningsuppgift Gör om skattningen från föregående uppgift med addera-ettutjämning. Antag att vokabulären består av alla förekommande ord. dokument klass Chinese Beijing Chinese K Chinese Chinese Shanghai K Chinese Macao K Tokyo Japan Chinese J