ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap



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

Lingvistiskt uppmärkt text

Lingvistiskt uppmärkt text

Grammatik för språkteknologer

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

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

Tentamen Del A. Marco Kuhlmann

Tentamen Marco Kuhlmann

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?

Lingvistiska grundbegrepp

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

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

Grammatik för språkteknologer

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

Så, ska det taggas som adverb?

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

KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual

Kungliga Tekniska Högskolan Patrik Dallmann

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

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

Grundläggande textanalys. Joakim Nivre

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

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

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

glad simma luft koka barnslig pojke moln lycka jord överenskommelse Pelle femte varför arg ropa

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

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

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

ORDKLASSERNA I SVENSKA SPRÅKET

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

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

Tekniker för storskalig parsning

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

Datorlingvistisk grammatik

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

Grammatik för språkteknologer

Olika typer av satser

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

Träningshäfte ordklasser facit

Bootstrapping för substantivtaggning

Statistisk grammatikgranskning

Ryska pronomen. Pronomen är en sluten ordklass som består av många undergrupper. Pronomina kan fungera självständigt eller förenat

Ordklasser. Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv.

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

729G09 Språkvetenskaplig databehandling

Träningshäfte ordklasser (Venus)

Word- sense disambiguation

SUBSTANTIV = namn på saker, personer, känslor

Substantiv är benämningar på människor, djur, växter och föremål. Du kan sätta en, ett eller flera framför substantiv.

grammatik Ordklasser, nominalfraser, substantiv

Inlämningsuppgift: Pronomenidentifierare

poäng i del B Lycka till!

Svensk minigrammatik

Automatisk extraktion av idiom ur text ANDREAS PETTERSSON

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

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

Studenter drillar Lärkas sång om hur studenter lär grammatik via korpusverktyget Lärka

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

Svenska förkortningar Utskrivbar övning från Glosor.eu

Tekniker för storskalig parsning

2. Substantiv kan man sätta en, ett, flera eller all, allt, alla framför.

Ord och morfologi. Morfologi

Svenskans struktur, 7,5 hp Tentamensexempel 1

Svensk grammatik Ordklasser!

Fraser, huvuden och bestämningar

Morfologi och syntax. Föreläsning 1 & 2

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

Svenska språket 1, delkurs 2 Språkets byggstenar 714G47 Svenska språket Svenska språkets byggstenar 714G57

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


Grammatikprov åk 8 ORDKLASSER

Frasstrukturgrammatik

Språk, datorer och textbehandling

Elementära verktyg för korpusbearbetning

Obesvarade frågor från F1

Partiell parsning Parsning som sökning

Kort och gott Svenskt basordförråd. Katarina Mühlenbock, DART

Svenska språket. Grammatik.

Huvudordklasser. ursinnig, god, glad äta, dricka, cykla. Övriga ordklasser. fort, borta, ute

Studiebrev 13. Háskóli Íslands Svenska lektoratet Höstterminen. Grammatik I (2,5 p) H [ects: 5] Lärare: Maria Riska mar@hi.is.

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

Facit Mango Grammatik Ordklasser Fortsättning

Satslära introduktion

Meningssegmentering i SUC och Talbanken

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

Svenska - Läxa ORD att kunna förklara

Korpuslingvistik vt 2007

Välkommen till den första delkursen i svenska!

Repetition ordklasser och satsdelar Bas och Fortsättning (s. 8-95)

Grim. Några förslag på hur du kan använda Grim. Version 0.8

Språkteknologi. Språkteknologi

Språkgranskningsverktyg. Grammatikkontroll i Word

Korpuslingvistik. Metoder och tillämpningar inom språkteknologin - ht 07. Innehåll. Vad är en korpus? Vad är korpuslingvistik?

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

Annoteringsvägledning SWE-TIGER

Facit för diagnostiska provet i grammatik

Kort grammatisk översikt tänkt att fungera som studiehandledning till Stroh-Wollin, Koncentrerad nusvensk formlära och syntax, 1998

Svenska Rum 2: Grammatikövningar

Praktisk Svenska 2. Jag kan Skapa och använda olika minnesknep Studieteknik 1

Datorbaserade verktyg i humanistisk forskning

Transkript:

ORDKLASSTAGGNING Marco Kuhlmann Institutionen för datavetenskap

Ordpredicering n-gram-modeller (definition, skattning) den brusiga kanalen: P(R F) = P(F R) P(R) redigeringsavstånd, Levenshtein-avstånd

Markov-modell En Markov-modell är en (deterministisk) finit automat vars övergångar är försedda med sannolikheter. Exempel: tillstånd = ord, övergångar = P(w 1 w 2 ) Man kan använda den för att räkna ut sannolikheten för tillståndssekvenser eller generera tillståndssekvenser. Exempel: bigram-modell ordsekvenser

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 )

Struktur Ordklasstaggning Metod 1: Regelbaserad taggning Utvärdering av ordklasstaggare Metod 2: Taggning med Hidden Markov-modeller (HMM)

Ordklasstaggning

Ordklasser En ordklass är en mängd av ord som delar någon egenskap. Exempel: substantiv (kan deklineras), verb (kan konjugeras) Man brukar skilja mellan två typer av ordklasser: öppna ordklasser slutna ordklasser Exempel: substantiv, adjektiv, verb Exempel: artiklar, pronomen, prepositioner

Stockholm Umeå Corpus (SUC) Den största manuellt annoterade textkorpusen för skriven svenska; ett samarbete mellan Stockholms och Umeås universitet. Innehåller 1,2 miljon ord (token) annoterade med bl.a. ordklass, morfologisk analys och lemma (grundform). Balanserad korpus med texter från olika genrer.

Ordklasser i SUC (1) förkortning kategori exempel NN substantiv pudding VB verb kasta PP preposition över AB adverb inte JJ adjektiv glad PN pronomen hon DT determinerare denna KN konjunktion och PM egennamn Mats SUC manual: http://spraakbanken.gu.se/parole/docs/suc2.0-manual.pdf

Ordklasser i SUC (2) förkortning kategori exempel PC particip utsänd SN subjunktion att RG räkneord (grundtal) tre HP frågande/relativt pronomen som IE infinitivmärke att PL partikel ut SUC manual: http://spraakbanken.gu.se/parole/docs/suc2.0-manual.pdf

Ordklasser i SUC (3) förkortning kategori exempel PS possessivt pronomen hennes HA frågande/relativt adverb när UO utländskt ord the RO räkneord (ordningstal) tredje IN interjektion ja HD frågande/relativt determinerare vilken HS frågande/relativt possessivt pronomen vars SUC manual: http://spraakbanken.gu.se/parole/docs/suc2.0-manual.pdf

Universella ordklasser (öppna klasser) förkortning 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) förkortning 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 Universal Dependencies: http://universaldependencies.github.io/docs/

Ordklasstaggning Predicera den korrekta klassen för ett ord, given en mängd möjliga ordklasser. Ordklasstaggning måste även kunna hantera okända ord. Exempel: Hon tog fram tre nya boskar ur skåpet.

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 384 möjliga analyser

Utvärdering av ordklasstaggare

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

Förväxlingsmatris DT JJ NN PP VB guldstandard DT 923 2 0 0 0 JJ 0 1255 7 0 5 NN 0 132 4499 0 132 PP 0 1 1 2332 2 VB 1 5 18 1 3436 system

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

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

Utvärderingsmetodologi träningsdata (80%): används för att skatta sannolikheter eller på annat sätt träna taggaren utvecklingsdata (10%): används för att utvärdera taggarens kvalité under utvecklingsperioden testdata (10%): används för att utvärdera den färdiga taggaren innan den finaliseras, t.ex. innan den skickas till en kund

Övningsuppgift En Shared Task är en tävling där ett antal forskningsteam tävlar om att bygga det bästa systemet för att lösa en given uppgift. Utvärderingen av systemen sker ofta med hjälp av guldstandarddata. Det är vanligt att testdatan för en Shared Task hålls hemliga för deltagarna; de skickar istället in sina system till organisatörerna som sedan genomför utvärderingen. Förklara varför man gör så!

Gränser Baseline: välj den mest frekventa taggen för varje ord Exempel: Brown corpus: 91% korrekthet Ceiling: jämför med mänskliga experter Exempel: Brown corpus: överensstämmelse på 96% av taggarna

Metod 1: Regelbaserad taggning

Regelbaserad taggning Använd ett tagglexikon för att tilldela varje ord en mängd möjliga taggar. Använd handskrivna disambigueringsregler för att reducera antalet möjliga taggar per ord till 1.

Zipfs lag f(w r ) 1/r Ett ords frekvens är invers proportionell mot dess position i frekvensrangordningen. Källa: http://lewisdartnell.com/language_page.htm

Zipfs lag i samband med ordklasstaggning Många ord(typer) förekommer med endast en tagg. SUC: 96,18% Några ord förekommer med många olika taggar. SUC: en kan vara DT, PN, RG, AB, UO, PM eller NN

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

Lite knep 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 (ca. 20%)

Metod 2: HMM-taggning

Olika taggar har olika frekvenser jag bad om en kort bit PN VB PP DT JJ NN 4532 41 4945 16179 125 92 NN 25 NN 10 SN 2333 PN 402 AB 35 VB 0 PL 402 RG 388 NN 18 AB 150 NN 1

Ord/tagg-frekvenser 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

Tagg/följande tagg-frekvenser PN VB PP DT JJ NN följande tagg 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 tagg

Hidden Markov-modell En Hidden Markov-modell (HMM) är en generaliserad Markovmodell med två olika typer av sannolikheter: övergångssannolikheter observationssannolikheter P(tagg tagg) P(ord tagg)

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

HMM-taggning Vi vill räkna ut en taggsekvens med maximal sannolikhet. Problem: För en och samma ordsekvens finns det många olika taggsekvenser; sökrymden är stor. Lösning: Viterbi-algoritmen (dynamisk programmering; JM kapitel 5.5.3)

Taggning med HMM:er Börja med p = -BOS-. För varje ord w i sekvensen, från vänster till höger: Tagga ordet w med någon tagg t. Betala log P(t p) och log P(w t). Sätt p = t. Betala log P(-EOS- p).

Viterbi-tabellen Obs! Istället för sannolikheter anges negerade logaritmer! jag bad om en kort bit 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

Fas 1: Initialisering; räkna ut värdena i den första kolumnen jag bad om en kort bit DT 14,49 JJ NN PN PP VB T[DT][0] = P(DT -BOS-) + P(jag DT) = 2,50 + 11,99 = 14,49

Fas 1: Initialisering; räkna ut värdena i den första kolumnen jag bad om en kort bit DT 14,49 JJ 15,46 NN 11,22 PN 5,35 PP VB T[PN][0] = P(PN -BOS-) + P(jag PN) = 1,69 + 3,66 = 5,35

Fas 2: Rekursion; räkna ut värdena i de mellersta kolumnerna jag bad om en kort bit 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 T[PN][2] + P(DT PN) + P(en DT) = 28,86 + 4,00 + 2,29 = 35,15

Fas 2: Rekursion; räkna ut värdena i de mellersta kolumnerna jag bad om en kort bit 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 T[PP][2] + P(DT PP) + P(en DT) = 20,70 + 1,82 + 2,29 = 24,82

Fas 2: Rekursion (slut) jag bad om en kort bit 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

Fas 3: Terminering; hitta den bästa cellen i den sista kolumnen jag bad om en kort bit 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 T[NN][6] + P(-EOS- NN) = 41,63 + 4,30 = 45,93

Extrahera den bästa taggsekvensen jag bad om en kort bit 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