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

Relevanta dokument
ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Tentamen Del A. Marco Kuhlmann

Lingvistiskt uppmärkt text

Lingvistiskt uppmärkt text

Tentamen Marco Kuhlmann

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

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

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

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

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

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

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

Grammatik för språkteknologer

poäng i del B Lycka till!

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Lingvistiska grundbegrepp

Tekniker för storskalig parsning

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

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

Grundläggande textanalys. Joakim Nivre

Tekniker för storskalig parsning

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

Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil?

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

Statistisk grammatikgranskning

Word- sense disambiguation

PAROLE Exempel Förklaring SUC. PARTICIP AF00000A tf particip förkortning PC AN. pluralis obestämd/bestämd genitiv. pluralis obestämd/bestämd nominativ

KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

Frasstrukturgrammatik

Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap. 729G49 Språk och datorer (2019)

Karp. Övningar Språkbankens höstworkshop oktober 2016

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

Kungliga Tekniska Högskolan Patrik Dallmann

729G09 Språkvetenskaplig databehandling

Så, ska det taggas som adverb?

Språkteknologi. Språkteknologi

Korpusannotering. Beáta Megyesi. Uppsala universitet Institutionen för lingvistik och filologi Korpusannotering 1(31)

Partiell parsning Parsning som sökning

Inlämningsuppgift: Pronomenidentifierare

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

TDDD02 Föreläsning 7 HT-2013

Prestanda och skalbarhet

Fil: /home/lah/undervisning/sprakteknologi/ohbilder/oh1_kv.odp. Tjänster

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

Särdrag, lexikon och syntax. Ordklasser. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

SWEGRAM. Annotering och analys av svenska texter. Beáta Megyesi 1, Anne Palmér 2, Jesper Näsman 1. Institutionen för lingvistik och filologi

de var svåra att implementera och var väldigt ineffektiva.

Korpuslingvistik (SV2119) Föreläsning 2: Språkbankens korpusar och sökverktyget Korp

Automatisk extraktion av idiom ur text ANDREAS PETTERSSON

Morfologiska kriterier. Svenska adjektiv har två slags böjningar: kongruensböjning och komparationsböjning.

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax

Korpuslingvistik vt 2007

Maskininlärning. Regler eller ML?

Ordklasser. Särdrag, lexikon och syntax. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Klassificering av homonymer Inlämningsuppgift språkteknologi

Bootstrapping för substantivtaggning

Corpus methods in linguistics and NLP: Introduktion till sökverktyget Korp

Karp. Övningar Språkbankens höstworkshop oktober 2017

Fraser, huvuden och bestämningar

Olika typer av satser

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.


Hemtentamen HT13 Inlämning senast Lärare: Tora Hedin

Dåtid:'' Perfekt'' Beskriver'att' något'har'skett.' Bildas'med' hjälpverbet' har.'

Dependensregler - Lathund

Grundläggande textanalys, VT2013

Labb 2: Syntax och ordklasstaggning. Att arbeta med grammatiskt analyserade data

Delkurs grammatik (5 hp, 7,5 hp) - studiehandledning vt 2015

Grammatik för språkteknologer

Tekniker för storskalig parsning

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Övergripande planering

Satser och satsdelar. 1 Satser och satsdelar inledning. 2 Primära satsdelar predikatet. 2.1 Översikt. Grammatik för språkteknologer

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

Datorlingvistisk grammatik

729G09 Språkvetenskaplig databehandling (2017) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Folket har makten över ordet

ORDKLASSERNA I SVENSKA SPRÅKET

Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, , 15 oktober 2001

Gränssnitt för FakeGranska. Lars Mattsson

Tekniker för storskalig parsning: Grundbegrepp

Maskinöversättning och språkgranskning. F6: Grammatikkontroll

Xenotag Probabilistisk uppmärkning av xenoglosser baserat på tecken-n-gram

Automatisk nyckelfrasextraktion ur html-sidor

1 Duala problem vid linjär optimering

Föreläsning 12. Söndra och härska

- ett statistiskt fråga-svarsystem

Morfologi och automatisk morfologisk analys och generering. Varför är morfologi viktigt? Vad är ett ord (idag vs. i dag)

729G17/729G66 Lexikal semantik och ordbetydelsebestämning. Olika ordbegrepp. Vad är ordbetydelse (1) Olika ordbegrepp

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

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

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

Småprat Small talk (stressed vowels are underlined)

CSVE20 vt-18: Språkkunskap A 11SV20 vt-17: Språkkunskap A. Tillfälle 4) 11SV20 vt-17 (LASEAht16)

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

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

Homework Three. Farid Bonawiede Samer Haddad Michael Litton Alexandre Messo. 28 november Time series analysis

Transkript:

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

Ordklasstaggning Tagga varje ord i en sekvens av ord (oftast en mening) med dess korrekta ordklass, givet en mängd möjliga ordklasser. Utmaning 1: Flertydighet orsakar kombinatorisk explosion. Utmaning 2: Ordklasstaggning måste även kunna hantera okända ord. Hon tog fram tre nya boskar ur skåpet.

Ordklasser En ordklass är en mängd av ord som delar någon egenskap. substantiv kan deklineras, verb kan konjugeras Det finns många olika uppsättningar av ordklasser. varierar bl.a. med språk, lingvistisk teori och korpus Man brukar skilja mellan två typer av ordklasser: öppna ordklasser slutna ordklasser substantiv, adjektiv, verb artiklar, pronomen, prepositioner

Universella ordklasser (öppna klasser) tagg kategori exempel ADJ adjektiv glad ADV adverb inte INTJ interjektion ja NOUN substantiv pudding PROPN proper noun Ingmar VERB verb kasta Universal Dependencies: http://universaldependencies.github.io/docs/

Universella ordklasser (slutna klasser) tagg kategori exempel ADP adposition (preposition, postposition) över AUX hjälpverb har CONJ konjunktion och DET determinerare denna NUM räkneord för grundtal tre PART partikel ut PRON pronomen hon SCONJ subjunktion att

Flertydighet orsakar kombinatorisk explosion jag bad om en kort bit PN VB PP DT JJ NN NN NN SN PN AB VB PL RG NN AB NN

Översikt över dagens föreläsning Introduktion till ordklasstaggning Utvärdering av ordklasstaggare Metod 1: Regelbaserad taggning Metod 2: Taggning med Hidden Markov-modeller Metod 3: Taggning med perceptroner

Utvärdering av ordklasstaggare

Att utvärdera ordklasstaggare För att träna och utvärdera taggare behöver vi en guldstandard, dvs. meningar med redan taggade ord. Stockholm Umeå Corpus (SUC) Utvärderingen kan då ske med avseende på standardmått: korrekthet, precision och täckning.

Påminnelse: Utvärderingsmetodologi Träningsdata (eng. training data; t.ex. 80%) används för att träna taggaren Utvecklingsdata (eng. development data; t.ex. 10%) används för att utvärdera taggaren under utvecklingsperioden Testdata (eng. test data; t.ex. 10%) används för att utvärdera den färdiga taggaren innan den finaliseras, t.ex. innan den skickas till en kund

Stockholm Umeå Corpus (SUC) SUC är den största manuellt annoterade korpusen för skriven svenska, ett samarbete mellan Stockholms och Umeås universitet. skapades i början på 1990-talet Den innehåller 1,2 miljoner ord (token) annoterade med bl.a. ordklass, morfologisk analys och lemma. SUC är en balanserad korpus med texter från olika genrer.

Korrekthet DT JJ NN PP VB 307 DT 923 0 0 0 1 12445 JJ 2 1255 132 1 5 NN 0 7 4499 1 18 PP 0 0 0 2332 1 VB 0 5 132 2 3436 predicerad tagg guldstandardtagg

Precision på NN DT JJ NN PP VB 264 DT 923 0 0 0 1 4499 JJ 2 1255 132 1 5 NN 0 7 4499 1 18 PP 0 0 0 2332 1 VB 0 5 132 2 3436 predicerad tagg guldstandardtagg

Täckning (recall) på NN DT JJ NN PP VB 26 DT 923 0 0 0 1 4499 JJ 2 1255 132 1 5 NN 0 7 4499 1 18 PP 0 0 0 2332 1 VB 0 5 132 2 3436 predicerad tagg guldstandardtagg

Metod 1: Regelbaserad taggning

Regelbaserad taggning Använd ett tagglexikon för att tilldela varje ord en begränsad mängd möjliga taggar. t.ex. alla taggar som förekommer åtminstone 5 gånger i träningsdatan Använd handskrivna disambigueringsregler för att reducera antalet möjliga taggar per ord till 1.

Disambigueringsregler Formulerad som transformationsregler, till exempel: Om ordet slutar på -iska, ersätt taggen med JJ. problem: piska/nn Ändra VB till NN om nästa tagg är VB. mina/ps händer/vb är/vb så/ab kalla/jj

Två knep för bättre regelbaserad taggning Använd reguljära uttryck för att tagga enkla eller strukturerade token som tal och telefonnummer. Hitta en bra defaulttagg som kan sättas på ord vars ordklass inte kunnat bestämmas på annat sätt. SUC: NN (substantiv; ca. 20%)

Fördelningen över ordklasserna Fördelningen av ord över ordklasser är väldigt skev: Några ord(typer) förekommer med många olika taggar. SUC: en kan vara DT, PN, RG, AB, UO, PM eller NN De allra flesta ord förekommer med endast en tagg. SUC: 96,18%

Zipfs lag 30000 22500 15000 f(w r ) 1/r Ett ords frekvens är invers proportionell mot dess position i frekvensrangordningen. 7500 0 the of that was his have as which me be him no upon your what were very

Metod 2: Taggning med Hidden Markov-modeller

Flertydighet orsakar kombinatorisk explosion jag bad om en kort bit PN VB PP DT JJ NN NN NN SN PN AB VB PL RG NN AB NN

Olika taggar förekommer olika ofta PN VB PP DT JJ NN jag 4 532 0 0 0 0 25 bad 0 41 0 0 0 10 om 0 0 4 945 0 0 0 en 402 0 0 16 179 0 1 kort 0 0 0 0 125 18 bit 0 0 0 0 0 92

Olika taggföljder förekommer olika ofta PN VB PP DT JJ NN PN 1 291 35 473 6 812 1 291 1 759 1 496 VB 24 245 19 470 22 191 13 175 8 794 19 282 PP 5 582 198 501 19 737 10 751 52 440 DT 201 1 286 163 21 648 23 719 JJ 233 1 937 3 650 245 2 716 46 678 NN 1 149 41 928 51 855 1 312 3 350 10 314

Hidden Markov-modell En Hidden Markov-modell (HMM) är en generaliserad Markovmodell med två olika typer av sannolikheter: övergångssannolikheter P(tagg 2 tagg 1 ) Hur sannolikt är det att se ett verb efter att ha sett ett pronomen? observationssannolikheter P(ord tagg) Hur sannolikt är det att se ordet bad som ett verb?

P(w 1 w 1 ) w 1 P(w 1 BOS) P(EOS w 1 ) BOS P(w 2 w 1 ) P(w 1 w 2 ) EOS P(w 2 BOS) P(EOS w 2 ) w 2 P(w 2 w 2 )

P(VB VB) w P(w VB) jag 0,000004 VB bad 0,000152 P(VB BOS) P(EOS VB) BOS P(PN VB) P(VB PN) EOS P(PN BOS) P(EOS PN) PN w P(w PN) jag 0,025775 P(PN PN) bad 0,000006

Skattning av sannolikheterna i en HMM Vi kan skatta sannolikheterna i en HMM på en taggad korpus med hjälp av Maximum Likelihood-skattning: exempel för övergångssannolikheter: P(VB PN) När vi ser taggen PN, hur ofta ser vi taggen VB efteråt? exempel för observationssannolikheter: P(jag PN) När vi ser taggen PN, hur ofta är det taggade ordet jag? Vi kan använda additiv utjämning precis som förr.

Sannolikheten för en taggad mening P(bad VB) P(kort JJ) P(jag PN) P(om PP) P(en DT) P(bit NN) jag bad om en kort bit PN VB PP DT JJ NN P(PN BOS) P(PP VB) P(JJ DT) P(EOS NN) P(VB PN) P(DT PP) P(NN JJ) Sannolikheten för en taggad mening är produkten av alla övergångs- och observationssannolikheter.

HMM-taggning Given en mening vill vi räkna ut en sekvens av taggar sådan att sannolikheten för den taggade meningen är maximal. Taggsekvensen är inte given i förväg; den är hidden (dold)! För en och samma mening finns det många olika taggsekvenser med många olika sannolikheter; sökrymden är stor. 384 olika möjligheter för exempelmeningen Trots detta kan den mest sannolika taggsekvensen beräknas på ett effektivt sätt med hjälp av Viterbi-algoritmen.

Viterbi-algoritmen (extramaterial)

Sannolikheten för en taggad mening P(bad VB) P(kort JJ) P(jag PN) P(om PP) P(en DT) P(bit NN) jag bad om en kort bit PN VB PP DT JJ NN P(PN BOS) P(PP VB) P(JJ DT) P(EOS NN) P(VB PN) P(DT PP) P(NN JJ) Sannolikheten för en taggad mening är produkten av alla övergångs- och observationssannolikheter.

HMM-taggning Given en mening vill vi räkna ut en sekvens av taggar sådan att sannolikheten för den taggade meningen är maximal. Taggsekvensen är inte given i förväg; den är hidden (dold)! För en och samma mening finns det många olika taggsekvenser med många olika sannolikheter; sökrymden är stor. 384 olika möjligheter för exempelmeningen Trots detta kan den mest sannolika taggsekvensen beräknas på ett effektivt sätt med hjälp av Viterbi-algoritmen.

Beskrivning Algoritmen tar in en HMM och en mening och beräknar den mest sannolika taggsekvensen för meningen i modellen. Algoritmen fyller en matris som innehåller en rad för varje möjlig tagg och en kolumn för varje möjlig position i meningen. I den här presentation fyller vi matrisen med negativa logsannolikheter; vi kan tolka dessa som kostnader i kronor. för att undvika flyttalsbottning

Målbeskrivning Algoritmen ska se till att matrisvärdet i rad t, kolumn i blir den lägsta möjliga kostnaden för att tagga de första i orden i meningen på ett sådant sätt att ord nummer i får tagg t. Kom ihåg att lägsta möjliga kostnad = högsta möjliga sannolikhet. Om algoritmen kan åstadkomma detta kan vi läsa av den lägsta möjliga kostnaden för att tagga hela meningen från den sista raden av matrisen. eller nästan

Viterbi-matrisen jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 21,33 29,38 24,82 42,62 50,67 JJ 15,46 21,13 29,88 35,22 33,00 48,36 NN 11,22 19,53 29,74 33,58 35,44 41,63 PN 5,35 21,43 28,86 29,86 42,50 50,81 PP 14,59 20,02 20,70 38,53 42,41 48,32 VB 16,11 14,83 29,53 39,65 43,08 49,15

Övergångskostnader PN VB PP DT JJ NN EOS BOS 1,69 3,58 2,25 2,50 3,37 1,76 11,19 PN 4,00 0,69 2,34 4,00 3,69 3,85 7,94 VB 1,95 2,17 2,04 2,56 2,97 2,18 6,87 PP 3,09 6,42 5,49 1,82 2,43 0,85 8,38 DT 5,61 10,22 5,26 5,82 0,93 0,84 10,22 JJ 5,73 3,62 2,98 5,68 3,28 0,43 6,35 NN 5,30 1,70 1,49 5,17 4,23 3,11 4,30

Observationskostnader jag bad om en kort bit PN 3,66 12,08 12,08 6,08 12,08 12,08 VB 12,53 8,79 12,53 12,53 12,53 12,53 PP 12,33 12,33 3,83 12,33 12,33 12,33 DT 11,99 11,99 11,99 2,29 11,99 11,99 JJ 12,09 12,09 12,09 12,09 7,25 12,09 NN 9,47 10,33 12,73 12,03 9,78 8,19

Den första kolumnen jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 JJ NN PN PP VB P(DT BOS) + P(jag DT) = 2,50 + 11,99 = 14,49

Den första kolumnen jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 JJ 15,46 NN 11,22 PN 5,35 PP VB P(PN BOS) + P(jag PN) = 1,69 + 3,66 = 5,35

De övriga kolumnerna: Flera möjligheter jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 21,33 29,38 35,15 JJ 15,46 21,13 29,88 NN 11,22 19,53 29,74 PN 5,35 21,43 28,86 PP 14,59 20,02 20,70 VB 16,11 14,83 29,53 28,86 + P(DT PN) + P(en DT) = 28,86 + 4,00 + 2,29 = 35,15

De övriga kolumnerna: Flera möjligheter jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 21,33 29,38 24,82 JJ 15,46 21,13 29,88 NN 11,22 19,53 29,74 PN 5,35 21,43 28,86 PP 14,59 20,02 20,70 VB 16,11 14,83 29,53 20,70 + P(DT PP) + P(en DT) = 20,70 + 1,82 + 2,29 = 24,82

Välja ut den bästa cellen i sista kolumnen jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 21,33 29,38 24,82 42,62 50,67 JJ 15,46 21,13 29,88 35,22 33,00 48,36 NN 11,22 19,53 29,74 33,58 35,44 41,63 45,93 PN 5,35 21,43 28,86 29,86 42,50 50,81 PP 14,59 20,02 20,70 38,53 42,41 48,32 VB 16,11 14,83 29,53 39,65 43,08 49,15 41,63 + P(EOS NN) = 41,63 + 4,30 = 45,93

Följ backpointers för att rekonstruera den bästa taggsekvensen jag 1 bad 2 om 3 en 4 kort 5 bit 6 DT 14,49 21,33 29,38 24,82 42,62 50,67 JJ 15,46 21,13 29,88 35,22 33,00 48,36 NN 11,22 19,53 29,74 33,58 35,44 41,63 45,93 PN 5,35 21,43 28,86 29,86 42,50 50,81 PP 14,59 20,02 20,70 38,53 42,41 48,32 VB 16,11 14,83 29,53 39,65 43,08 49,15

Den bästa taggsekvensen är inte nödvändigtvis sekvensen av de bästa taggarna! jag 1 skrev 2 på 3 utan 4 att 5 tveka 6 IE 17,22 21,69 30,02 33,79 34,63 54,70 PL 21,77 21,20 22,10 39,77 49,28 55,06 PN 5,35 21,43 27,87 33,85 44,12 48,09 PP 14,59 20,02 18,69 28,95 44,66 50,70 SN 15,83 21,51 29,20 34,29 35,24 51,40 VB 16,11 13,84 28,54 37,64 43,96 44,86 51,74

Viterbi-algoritmen i all korthet För att beräkna kostnaden för en tagg i den första ordkolumnen: övergångskostnaden från BOS + observationskostnaden för det första ordet För att beräkna kostnaden för en tagg i någon annan ordkolumn: välj en tagg i föregående ordkolumn som minimerar denna summa: redan beräknad kostnad för denna tagg i föregående ordkolumn + övergångskostnaden från denna tagg + observationskostnaden för det aktuella ordet För att beräkna kostnaden för den fullständiga meningen: välj en tagg i den sista ordkolumnen som minimerar denna summa: redan beräknad kostnad för denna tagg i den sista ordkolumnen + övergångskostnaden till EOS

Övningsuppgift till Viterbi-algoritmen övergångssannolikheter observationssannolikheter PL PN PP VB EOS jag skrev på BOS 10 1 2 3 18 PL 16 16 3 PL 16 2 1 4 6 PN 2 18 18 PN 4 3 2 0 7 PP 18 18 2 PP 11 3 5 6 8 VB 18 7 18 VB 2 1 2 2 6

Övningsuppgift till Viterbi-algoritmen jag 1 skrev 2 på 3 BOS PL PN PP VB EOS

Övningsuppgift till Viterbi-algoritmen jag 1 skrev 2 på 3 BOS 0 PL 26 23 15 PN 3 24 29 PP 20 23 14 VB 21 10 30 EOS 21

Övningsuppgifter

Uppgift: Utvärdering av en ordklasstaggare NN JJ VB NN 60 6 3 JJ 6 12 3 VB 0 6 42 Ställ upp bråk för följande: taggarens precision på substantiv taggarens täckning (recall) på adjektiv Ange en annan förväxlingsmatris där taggarens korrekthet är densamma som i den angivna matrisen men där taggarens täckning på adjektiv är 0%.

Uppgift Du vill räkna ut den totala sannolikheten som en HMM tilldelar nedanstående ord tagg-sekvens. Du kan fråga modellen efter dess atomära sannolikheter, men varje sådan fråga kostar 1 krona. Vilka frågor måste du ställa, och hur många kronor måste du betala? jag skrev på utan att tveka PN VB PL PP IE VB

Metod 3: Perceptron-taggning

Ordklasstaggning som klassifikation Ordklasstaggning kan brytas ned till en sekvens av klassifikationsproblem: en klassifikation per ord. Utifrån denna idé kan vilken klassifikationsmetod som helst byggas om till en metod för ordklasstaggning. beslutsträd, neuronnät, Naive Bayes Här använder vi en av de enklaste modellerna för klassifikation, perceptronen.

Multiklass-perceptron x 1 θ 1 Σ z(x 1, x 2 ) θ 1 x 2 θ 2 θ 2 Σ z(x 1, x 2 ) De två enheterna bjuder; den enhet som vinner får predicera klassen.

Perceptrontaggning jag bad om en kort bit NN 09,36 PN 81,72 VB 9,18

Perceptrontaggning jag bad om en kort bit PN 81,72 NN 09,36 VB 9,18

Perceptrontaggning jag bad om en kort bit PN NN 16,08 PN 4,02 VB 64,32

Perceptrontaggning jag bad om en kort bit PN VB 64,32 NN 16,08 PN 4,02

Perceptrontaggning jag bad om en kort bit PN VB

Skillnader mellan de två metoderna HMM-taggning uttömmande sökning efter den bästa sekvensen begränsade möjligheter att definiera särdrag aktuellt ord, föregående tagg Perceptron-taggning ingen sökning; endast lokalt optimala beslut girig sökning större möjligheter att definiera särdrag

Girig sökning med HMM:er Välj den tagg som ger den högsta kombinerade övergångs-/observationssannolikheten: tagg för ordet w i = argmax t P(t t i 1 ) P(w i t) Om man använder HMM:er på detta sätt får man inte den globalt bästa taggsekvensen utan bara de lokalt bästa taggarna!

Jämförelse mellan de två metoderna HMM Perceptron Viterbi girig sökning HMM-särdrag bättre särdrag 92,71% 89,97% 88,86% 95,30% taggarens korrekthet på SUCs testmängd Perceptron-baserade ordklasstaggare ger state-of-the-art-resultat på flera språk och datamängder.

Guider med viktade särdrag Beskriv datan i fönstret genom särdrag (eng. features). Särdragens roll under träningen Träningen ska vikta särdragen: Talar detta särdrag för eller emot antagandet att det aktuella ordet har en given ordklass? perceptroninlärning vikterna förstärks eller försvagas Särdragens roll under taggningen De viktade särdragen läggs ihop till en taggspecifik summa och taggaren väljer den tagg som har fått den högsta summan.

Särdragsfönster HMM:er tittar bakåt; men ibland är det bra att titta framåt också! Jag bad om en kort bit. Samtidigt vill vi inte ta in alltför mycket information. effektivitet, datagleshet En kompromiss är att definiera ett avgränsat särdragsfönster.

Särdragsfönster jag bad om en kort bit BOS PN EOS Med detta särdragsfönster kan särdrag extraheras från aktuellt ord, föregående ord, föregående tagg, nästa ord.

Särdragsfönster jag bad om en kort bit BOS PN VB EOS Under taggningen flyttas särdragsfönstret över meningen.

Viktade särdrag särdrag vikt särdrag vikt word=jag 2,94 word=jag 1,17 word=bad 1,56 word=bad 0,43 word=om 4,10 word=om 3,90 word=en 4,08 word=en 4,95 word=kort 0,39 word=kort 1,92 VB NN

Exempel på särdrag Om vi tror att det aktuella ordet är det enda som räknas: [current_word=bad] Om vi tror att det nästa ordet är också viktigt: [current_word=bad, next_word=om] Om vi tror att det är deras kombination som är mest prediktiv: [current_word=bad+next_word=om]

Begränsningar av perceptronen x 2 x 2 0 1 0 1 0 0 x 1 1 0 x 1 linjär separerbar inte linjär separerbar

Nya särdrag till hjälp! x 2 0 1 1 x 3 x 3 = 0 0 x 1

Nya särdrag till hjälp! x 2 0 1 x 3 1 0 x 1 x 3 = xor(x 1, x 2 )

Feature engineering versus feature learning Nästan alla problem blir linjärt separerbara om man bara kan hitta på bra särdrag. Detta mappar det ursprungliga problemet till en ny särdragsrymd. Problemet är att man måste hitta på dessa särdrag för hand. feature engineering På senare tid har man därför blivit alltmer intresserad av artificiella neuronnät, som kan lära sig relevanta särdrag. feature learning

Sammanfattning: Ordklasstaggning Ordklasstaggning går ut på att tagga alla ord i en mening med fördefinierade ordklasser. Viktiga begrepp: förväxlingsmatris, tagglexikon, Hidden Markovmodel, Viterbi-algoritm, multiklass-perceptron, särdragsfönster Läsanvisningar: JM kapitel 5.1 5.5, 5.7