TDDD02 Språkteknologi för informationssökning / 2015 Textklassificering Marco Kuhlmann Institutionen för datavetenskap
Textklassificering 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 first private Chinese airline
Metodologi Vi vill bygga ett system som kan klassificera texter. nya riksdagsanföranden Vi tränar systemet på en träningsmängd (eng. training set). riksdagsanföranden 2013/14 Vi utvärderar systemet på en testmängd (eng. test set). riksdagsanföranden 2014/15
Träningsdata och testdata Hitta guldstandarddata: dokument taggade med korrekt klass. Dela up datan i träningsdata och testdata. t.ex. träningsdata 90%, testdata 10% Viktigt att se till att träningsmängden och testmängden är lika varandra (t.ex. klassernas relativa frekvenser) lika de datan som vi så småningom vill klassificera
Precision och täckning guldstandard G K klassificerare precision = G K K täckning = G K G
Ö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
Naive Bayes Naive Bayes är en enkel men effektiv metod för textklassificering som bygger på Bayes regel. Den utgår ifrån en representation av dokument 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
Betingad sannolikhet och Bayes regel
Betingad sannolikhet Sannolikhet är ett mått på hur mycket vi tror på någonting. Anna, Bertil och Cecilia Betingad sannolikhet är ett mått på hur mycket vi tror på någonting då vi redan har viss annan information. Notation: P(H E) sannolikheten för H givet E H = hypothesis, E = evidence
Definition av betingad sannolikhet Hur sannolikt är H givet att E redan är känd? P(H E) = P(H E) P(E)
Betingad sannolikhet H H E E apriorisannolikhet, aposteriorisannolikhet för H
Multiplikationsregeln P(H E) = P(H E) P(E) P(H E) = P(E H) P(H)
Exempel: Kulor i en påse 5 kulor: 3 svarta ( ), 2 vita ( ) P( ) P( ) P( ) P( ) P( ) P( )
Bayes regel För beslutsfattande vill vi räkna ut P(H E). P(klass dokument) Men i många fall är det enklare att säga någonting om P(E H). P(dokument klass) 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)
Bayes regel i aktion En läkare träffar en patient med nackspärr. Nackspärr kan vara en symptom på sjukdomen meningit; meningit orsakar nackspärr i 70% av fallen. Apriorisannolikheten för meningit är 1 på 50 000. Apriorisannolikheten för nackspärr är 1%. Hur stor är sannolikheten att patienten har meningit?
Klassificering med Naive Bayes-modeller
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) 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 ord i position i predicerad klass p = 1 for i in [1,, n]: p = p * P(wi c) return p
Ö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
Två praktiska problem okända ord (ord som inte förekommer i vokabulären) Lösning: hoppa över okända ord 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. P(w c) blir till log P(w c) Istället för att multiplicera sannolikheter måste man då summera deras logaritmer.
Logaritmer av 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
Ö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
Utjämning Om man skattar ordsannolikheter med hjälp av relativa frekvenser kommer många sannolikheter vara noll. För att undvika detta kan man använda tekniker för utjämning av sannolikhetsfördelningar (eng. smoothing). Add-one utjämning: addera 1 på alla (absoluta) frekvenser innan man räknar ut de relativa frekvenserna.
ML-skattning med Add One-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
Övningsuppgift Gör om skattningen från föregående uppgift med Add Oneutjä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
Sammanfattning: Textklassificering Textklassificering går ut på att sortera textdokument i fördefinierade klasser. detektering av skräppost, författaridentifiering, attitydanalys Centrala koncept: Naive Bayes, klassificeringsregel, Maximum Likelihood-skattning, Add-one smoothing, precision, täckning