TDDD02 Språkteknologi för informationssökning (2016) Textklassificering. Marco Kuhlmann Institutionen för datavetenskap

Relevanta dokument
TDDD02 Språkteknologi för informationssökning / Textklassificering. Marco Kuhlmann Institutionen för datavetenskap

729G17 Språkteknologi / Introduktion. Marco Kuhlmann Institutionen för datavetenskap

SPRÅKTEKNOLOGI. Marco Kuhlmann Institutionen för datavetenskap

Tentamen Marco Kuhlmann

TDDD02 Språkteknologi för informationssökning (2016) Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap

Probabilistisk logik 1

Tentamen Del A. Marco Kuhlmann

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap

Marco Kuhlmann, Institutionen för datavetenskap, Linköpings universitet 17 mars 2014

TDDD02 Språkteknologi för informationssökning / Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap

Anna: Bertil: Cecilia:

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Kombinatorik och sannolikhetslära

poäng i del B Lycka till!

TDDD02 Föreläsning 4 HT Klassificering av ord och dokument Lars Ahrenberg

Bayes statistik - utan förkunskaper - utan tårar

Institutionen för lingvistik och filologi VT 2014 (Marco Kuhlmann 2013, tillägg och redaktion Mats Dahllöf 2014).

TDDD02 Språkteknologi för informationssökning (2016) Introduktion. Marco Kuhlmann Institutionen för datavetenskap

Sannolikhetslära. 1 Enkel sannolikhet. Grunder i matematik och logik (2015) 1.1 Sannolikhet och relativ frekvens. Marco Kuhlmann

TDDD02 Språkteknologi för informationssökning / Textsammanfattning. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Maskininlärning. Regler eller ML?

Probabilistisk logik 2

Sannolikhetslära. 1 Grundläggande begrepp. 2 Likformiga sannolikhetsfördelningar. Marco Kuhlmann

Differentiell psykologi

STA101, Statistik och kvantitativa undersökningar, A 15 p Vårterminen 2017

Klassificering av homonymer Inlämningsuppgift språkteknologi

1 Mätdata och statistik

Do you Think there is a problem with the car traffic to or from the inner city weekdays ?

Prototypbaserad Inkrementell Diagnos. Anders Holst SICS, Swedish Institute of Computer Science AB

händelsen som alltid inträffar. Den tomma mängden representerar händelsen som aldrig inträffar.

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...

För logitmodellen ges G (=F) av den logistiska funktionen: (= exp(z)/(1+ exp(z))

STA101, Statistik och kvantitativa undersökningar, A 15 p Vårterminen 2017

Föreläsning 8: Konfidensintervall

MVE051/MSG Föreläsning 7

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

Innehåll: 3.4 Parametriskt eller ej 3.5 Life Table 3.6 Kaplan Meier 4. Cox Regression 4.1 Hazard Function 4.2 Estimering (PL)

Tekniker för storskalig parsning

Föreläsning 4. NDAB01 Statistik; teori och tillämpning i biologi

Sammanfattningar Matematikboken Y

För logitmodellen ges G (=F) av den logistiska funktionen: (= exp(z)/(1+ exp(z))

Bootstrapping för substantivtaggning

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall)

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Arbetsdokument Nationella riktlinjer för rörelseorganens sjukdomar

Inkvarteringsstatistik. Göteborg & Co

BIOSTATISTISK GRUNDKURS, MASB11, VT-16, VT2 ÖVNING 1, OCH ÖVNING 2, SAMT INFÖR ÖVNING 3

Tentamen i. TDDC67 Funktionell programmering och Lisp

Föreläsning 12: Repetition

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall) Jan Grandell & Timo Koski

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Föreläsning 13 Innehåll

Artificial Intelligence

TMS136: Dataanalys och statistik Tentamen

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Föreläsning 5 Innehåll

TDDD02 Språkteknologi för informationssökning (2016) Semantisk analys. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens Probabilistisk logik. Arne Jönsson HCS/IDA

Laboration 2: Styrkefunktion samt Regression

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Tentamen på. Statistik och kvantitativa undersökningar STA101, 15 hp. Fredagen den 9 e juni Ten 1, 9 hp

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Lektionsanteckningar 2: Matematikrepetition, tabeller och diagram

13.1 Matematisk statistik

Dependensregler - Lathund

Vad Betyder måtten MAPE, MAD och MSD?

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamen MVE301 Sannolikhet, statistik och risk

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Grundläggande logik och modellteori

Statistik och epidemiologi T5

Statistisk Maskinöversättning eller:

- ett statistiskt fråga-svarsystem

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Fakta om parkour LÄSFÖRSTÅELSE. Elevmaterial KALLE GÜETTLER SIDAN 1. Namn: Vad är parkour?

Sannolikhetsteori. Måns Thulin. Uppsala universitet Statistik för ingenjörer 23/ /14

Statistiska Institutionen Gebrenegus Ghilagaber (docent)

Sju dagar före viral exponering med echinacea därefter Efter viral exponering med echinacea därefter Placebo (ingen echinacea) 58 30

Analys av medelvärden. Jenny Selander , plan 3, Norrbacka, ingång via den Samhällsmedicinska kliniken

TSRT62 Modellbygge & Simulering

Ingenjörsmetodik IT & ME 2011 Föreläsning 11

Matematisk Statistik och Disktret Matematik, MVE051/MSG810, VT19

Statistik 1 för biologer, logopeder och psykologer

TDDD02 Föreläsning 7 HT-2013

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek

Att skatta njurfunktionen! - beskriva hur SBUs expertgrupp arbetat - ge ett sammandrag av rapporten från SBU

Att använda Weka för språkteknologiska problem

Användning. Fixed & Random. Centrering. Multilevel Modeling (MLM) Var sak på sin nivå

Användning. Fixed & Random. Centrering. Multilevel Modeling (MLM) Var sak på sin nivå

Unit course plan English class 8C

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd

LÖSNINGAR TILL P(A) = P(B) = P(C) = 1 3. (a) Satsen om total sannolikhet ger P(A M) 3. (b) Bayes formel ger

Artificiell Intelligens Lektion 7

Övningshäfte 2: Induktion och rekursion

Till ampad statistik (A5) Förläsning 13: Logistisk regression

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

Transkript:

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