INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Like dokumenter
INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Ordklassetagging

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

HMM-tagging INF4820 H2008. Jan Tore Lønning. 30. september. Institutt for Informatikk Universitetet i Oslo

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF5820 Natural Language Processing - NLP. H2009 Jan Tore Lønning

INF1820: Ordklasser INF1820: Ordklasser. Arne Skjærholt. 13. februar. INF1820: Ordklasser. Arne Skjærholt. 13. februar

IN1140: Introduksjon til språkteknologi. Forelesning #12

UNIVERSITETET I OSLO

IN1140: Introduksjon til språkteknologi. Forelesning #5: Språkmodeller

INF1820 INF Arne Skjærholt INF1820. dairoku: del 6, kougi: forelesning. Arne Skjærholt

IN1140: Introduksjon til språkteknologi. Forelesning #6

INF1820: Oppsummering

IN1140 H2019 gruppeoppgaver Språkmodeller og Ordklasser

IN1140: Introduksjon til språkteknologi. Forelesning #2

IN1140: Introduksjon til språkteknologi. Forelesning #13

IN1140: Introduksjon til språkteknologi. Forelesning #6

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN1140: Introduksjon til språkteknologi. Forelesning #6

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

LF - Eksamen i INF1820

"Det er fort gjort og skrive feil." En presentasjon av en automatisk grammatikkontroll for bokmål

IN1140 H2018 gruppeoppgaver Sannsynlighet og språkmodeller

INF INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

Sannsynligheten for en hendelse (4.2) Empirisk sannsynlighet. ST0202 Statistikk for samfunnsvitere

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Forelesning 4, kapittel 3. : 3.4: Betinget sannsynlighet.

Loven om total sannsynlighet. Bayes formel. Testing for sykdom. ST0202 Statistikk for samfunnsvitere

. Grammatiske problem med å beskrive ordklassen adverb og setningsleddet adverbial i norsk. Sverre Stausland Johnsen Universitetet i Oslo

1 Section 4-1: Introduksjon til sannsynlighet. 2 Section 4-2: Enkel sannsynlighetsregning. 3 Section 5-1: Introduksjon til sannsynlighetsfordelinger

Syntax/semantics - I INF 3110/ /29/2005 1

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Sannsynlighetsregning og kombinatorikk

Kapittel 2, Sannsyn. Definisjonar og teorem på lysark, eksempel og tolking på tavla. TMA september 2016 Ingelin Steinsland

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

ST0202 Statistikk for samfunnsvitere

NORSK ANDRESPRÅKSKORPUS KURSHEFTE. ASK, kurshefte Hilde Johansen (2011) 1

IN1140: Introduksjon til språkteknologi. Forelesning #5

TMA4240 Statistikk H2010

INF5820 H gang, 10.9 Ordmeningsentydiggjøring Word Sense Disambiguation (WSD)

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

UNIVERSITETET I OSLO

Slides til 12.1 Formelt språk og formell grammatikk

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning & Stephan Oepen

Kapittel 4: Betinget sannsynlighet

ST0202 Statistikk for samfunnsvitere [4]

Mer om Markov modeller

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Skanning del I INF /01/15 1

INF INF1820. Lectio secunda INF1820. Arne Skjærholt. Lectio secunda

Blokk1: Sannsynsteori

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Oppgave 1 (samlet 15%)

INF5830, H2009, Obigatorisk innlevering 2. 1 Oppgave: Unære produksjoner i CKY

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

Kapittel 4: Betinget sannsynlighet

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF5820 H gang, 19.9 Ordmeningsentydiggjøring Word Sense Disambiguation (WSD)

ÅMA110 Sannsynlighetsregning med statistikk, våren 2011

Kapittel 4.3: Tilfeldige/stokastiske variable

Dokument-embeddings / Markov-kjeder. Fredrik Jørgensen, Schibsted Media/UiO

MAT1030 Plenumsregning 1

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF5820 H gang, 10.9

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Forelesning 3, kapittel 3. : 3.2: Sannsynlighetsregning. Kolmogoroffs aksiomer og bruk av disse.

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Dagens tema: Regulære språk og uttrykk

INF2820 Datalingvistikk V2012. Jan Tore Lønning

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

ECON Statistikk 1 Forelesning 3: Sannsynlighet. Jo Thori Lind

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2017 Forelesning 4, 6.2 Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

MAT1030 Diskret Matematikk

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

INF2820 Datalingvistikk V2018 Forelesning 4, 5.2 Jan Tore Lønning

Oppgavesett for Python

ST0103 Brukerkurs i statistikk Høst 2014

INF3110 Programmeringsspråk

SANNSYNLIGHETSREGNING

ØVINGER 2017 Løsninger til oppgaver. 3.1 Myntkast For et enkelt myntkast har vi to mulige utfall, M og K. Utfallsrommet blir

Transkript:

INF1820: Introduksjon til språk-og kommunikasjonsteknologi Syvende forelesning Lilja Øvrelid 6 mars, 2017 1

Ordklassetagging

Ordklasser? Bindeledd mellom ordet og setningen (syntaks): Sier noe om hva slags kontekster et ord forekommer i Sier noe om uttale (record, content, discount) Helt essensiell i en rekke språkteknologiske applikasjoner: Talesyntese Morfologisk analyse Chunking, syntaktisk parsing Word Sense Disambiguation Informasjonsekstraksjon 2

Ordklassetagging Input: streng av ord og en spesifisert mengde tagger (taggsett) Output: en tagg per ord 3

Flertydighet De fleste engelske ord er entydige Men mange av de mest frekvente ordene er flertydige Tall fra Brown-korpuset: 11.5% av engelske ordtyper er flertydige 40% av Brown tokens er flertydige Heldigvis er ikke alle lesninger like sannsynlige Flertydighet: Book/VB that/dt flight/nn./. Does/VBZ that/dt flight/nn serve/vb dinner/nn?/. 4

Ordklasser Substantiv Adjektiv Verb Adverb Taksonomi - uttømmende, gjensidig utelukkende, styrt av et prinsipp Alle ord havner i en klasse og ingen ord havner i mer enn én klasse 5

Ordklassekriterier 3 slags kriterier: 1. formelle eller morfologiske kriterier 2. funksjonelle eller syntaktiske kriterier 3. betydningsmessige eller semantiske kriterier 6

Ordklassetagging Mulige innfallsvinkler til oppgaven: Default-taggeren: tildeler alle ord samme tagg, den mest frekvente (NN) ca. 13% korrekt taggede ord (Brown) 7

Ordklassetagging Mulige innfallsvinkler til oppgaven: Default-taggeren: tildeler alle ord samme tagg, den mest frekvente (NN) ca. 13% korrekt taggede ord (Brown) Regulære uttrykk: tildeler tagger basert på matchende uttrykk r.*ing$, VBG r.*ed$, VBD r.*es$, VBZ r.*ould$, MD r.*\ s$, NN$ r.*s$, NNS r ^-?[0-9]+(.[0-9]+)?$, CD r.*$, NN... ca 20% korrekt taggede ord (men rom for forbedring!) 7

Ordklassetagging Oppslagstaggeren: tildeler hvert ord dets mest frekvente ordklassetagg (basert på en unigrammodell) dersom vi lagrer de 100 mest frekvente ordene og deres tagger får vi ca. 46% korrekt taggede ord (Brown) Kan kombinere taggere (s.k. back-off ) 8

Algoritmer for ordklassetagging To hovedkategorier: 1. Regelbaserte taggere: stor database med håndskrevne regler. Eksempel: book er substantiv, og ikke verb, dersom etterfølger en determinativ Constraint Grammar-taggere 2. Probabilistiske taggere: bruker et ordklassetagget korpus ( treningskorpus ) til å beregne sannsynlighet for en gitt tagg i en gitt kontekst Hidden Markov Models (HMM-taggere) 9

Regelbasert tagging

Regelbasert tagging 1. Preprosessering: tokenisering, setningssegmentering 2. Morfologisk analyse: hvert ord tildeles en liste av mulige tagger 3. Disambiguering: Håndskrevne regler disambiguerer 10

Regelbasert tagging 1. Preprosessering: tokenisering, setningssegmentering 2. Morfologisk analyse: hvert ord tildeles en liste av mulige tagger 3. Disambiguering: Håndskrevne regler disambiguerer Morfologisk analyse (transduser) mapper mellom ordform og og mulige trekk Constraint Grammar sentral regelformalisme som har resultert i taggere for en rekke språk, deriblant engelsk og norsk 10

Morfologisk analyse Tildeler hvert ord alle mulige tagger Fullformsleksikon Alle ord: løp, løper, løpt,... Med tilhørende tagger To-nivå morfologi: leksemleksikon + morfologisk analysator Finsk: 2000 forskjellige former for substantiver, 12000 for verb! 11

Regelbasert disambiguering Håndskrevne regler (som regel flere tusen) Eksempel: fjerner alle lesninger av that untatt ADV-lesningen, feks It isn t that strange Given input: "that" if (+1 A/ADV/QUANT) ;if next word is adj/adverb/quant (+ 2 SENT-LIM) ;followed by sent limit (NOT -1 SVOC/A) ;previous word is not a verb ;like consider then eliminate non-adv tags else eliminate ADV 12

Regelbasert tagging Norsk: Oslo-Bergen taggeren Test taggeren i LAP: http://www.mn.uio.no/ifi/ english/research/projects/clarino/ "<som>" SELECT:3261 (prep) IF (1 pron-akk) (NOT 1 pron-nom) ; # "Ei jente som (prep) meg")) 13

HMM-tagging

Probabilistisk tagging Probabilistiske taggere: bruker et ordklassetagget korpus ( treningskorpus ) til å beregne sannsynlighet for en gitt tagg i en gitt kontekst Hidden Markov Models (HMM-taggere) 14

Sannsynlighet (repetisjon) Distribusjon: mengde (ikke-negative) tall som summerer til 1. Eksempel: terningkast Seks resultater, antar typisk at disse er like sannsynlige: 1/6 (uniform distribusjon) Utfallsrommet ( sample space ): mengden Ω av mulige utfall, hvert utfall er assosiert med en sannsynlighet, summerer til 1. Ω = {1, 2, 3, 4, 5, 6} 15

Sannsynlighet (repetisjon) Hendelser (A, B, C,... ) denne mengden ( events ) er delmengder av En sannsynlighetsfunksjon P er en funksjon fra hendelser til intervallet [0, 1] P(A) gir sannsynligheten for hendelsen A Med terning: P({2}) = 1 6, P({2, 4, 6}) = 1 2 16

Sannsynlighet (repetisjon) Felles sannsynlighet ( joint probability ) for to hendelser A og B er sannsynligheten for at begge hendelser finner sted, P(A B) kaster to mynter, første er kron, andre er mynt 17

Sannsynlighet (repetisjon) Felles sannsynlighet ( joint probability ) for to hendelser A og B er sannsynligheten for at begge hendelser finner sted, P(A B) kaster to mynter, første er kron, andre er mynt Uavhengighet: sannsynligheten for en påvirker ikke sannsynligheten for den andre. To hendelser er uavhengige hvis P(A og B) = P(A)P(B) (Multiplikasjonsregelen) 17

Sannsynlighet (repetisjon) Betinget sannsynlighet ( conditional probability ) Lar oss håndtere avhengige hendelser 18

Sannsynlighet (repetisjon) Betinget sannsynlighet ( conditional probability ) Lar oss håndtere avhengige hendelser Multiplikasjonsregelen: P(A B) = P(A)P(B A) = P(B)P(A B) 18

Bayes regel 19

Bayes regel Betinget sannsynlighet P(A B) = P(A B) P(B) 19

Bayes regel Betinget sannsynlighet P(A B) = P(A B) P(B) Multiplikasjonsregelen: P(A B) = P(A B)P(B) P(A B)P(B) = P(B A)P(A) 19

Bayes regel Betinget sannsynlighet P(A B) = P(A B) P(B) Multiplikasjonsregelen: P(A B) = P(A B)P(B) P(A B)P(B) = P(B A)P(A) Bayes regel P(A B) = P(B A)P(A) P(B) 19

Bayes regel Bayes regel viser hvordan vi kan beregne inverse sannsynligheter, dvs dersom vi vet P(A B), hvordan kan vi beregne P(B A)? Noen begreper 20

Bayes regel Eksempel fra et sykehus 10% av pasientene har en leversykdom 5% av pasientene er alkoholiker Av pasientene med leversykdom er 7% alkoholikere Hva er sannsynligheten for at en pasient som er alkoholiker har en leversykdom? 21

Bayes regel Eksempel fra et sykehus 10% av pasientene har en leversykdom 5% av pasientene er alkoholiker Av pasientene med leversykdom er 7% alkoholikere Hva er sannsynligheten for at en pasient som er alkoholiker har en leversykdom? Løsning med Bayes regel Pasient har leversykdom P(A) = 0.10 Pasient er alkoholiker P(B) = 0.05 Pasient som har leversykdom er alkoholiker P(B A) = 0.07 21

Bayes regel Eksempel fra et sykehus 10% av pasientene har en leversykdom 5% av pasientene er alkoholiker Av pasientene med leversykdom er 7% alkoholikere Hva er sannsynligheten for at en pasient som er alkoholiker har en leversykdom? Løsning med Bayes regel Pasient har leversykdom P(A) = 0.10 Pasient er alkoholiker P(B) = 0.05 Pasient som har leversykdom er alkoholiker P(B A) = 0.07 P(A B) = P(B A)(P(A) P(B) = 0.07 0.10 0.05 = 0.14 21

Notasjon Argmax-notasjon: argmax f (x) verdien av x som maksimerer f (x) x x 0 = argmax f (x) betyr at f (y) f (x 0 ) for alle y x 22

HMM-tagging Tagging som klassifiseringsoppgave: Gitt en sekvens med ord Hva er den mest sannsynlige taggsekvensen? Utfallsrom: alle mulige taggsekvenser t n 1 Betinget på de observerte ordene w n 1 Den taggsekvensen som gir oss høyest sannsynlighet P(t n 1 w n 1 ) ˆt n 1 = argmax t n 1 P(t n 1 w n 1 ) 23

HMM-tagging Men hvordan beregner vi P(t n 1 w n 1 )? 24

HMM-tagging Men hvordan beregner vi P(t n 1 w n 1 )? Vi bruker Bayes regel til å transformere denne formelen til sannsynligheter det er lettere å beregne Bayes regel lar oss bryte ned en betinget sannsynlighet til tre andre sannsynligheter (likelihood, prior og prior): P(A B) = P(B A)P(A) P(B) 24

HMM-tagging Men hvordan beregner vi P(t n 1 w n 1 )? Vi bruker Bayes regel til å transformere denne formelen til sannsynligheter det er lettere å beregne Bayes regel lar oss bryte ned en betinget sannsynlighet til tre andre sannsynligheter (likelihood, prior og prior): P(A B) = P(B A)P(A) P(B) Da får vi ˆt 1 n P(w1 n = argmax tn 1 )P(tn 1 ) t1 n P(w1 n) = argmaxp(w n t1 n 1 t1 n )P(t1 n ) 24

HMM-tagging Beregner altså to sannsynligheter: 1. P(t1 n ) prior-sannsynligheten for taggsekvensen 2. P(w1 n tn 1 ) likelihood for ordsekvensen Fremdeles vanskelig å beregne 25

HMM-tagging HMM gjør 2 forenklende antagelser: 1. sannsynligheten for et ord avhenger bare av ordets egen tagg, dvs uavhengig av de andre ordene og taggene rundt: P(w n 1 t n 1 ) = n P(w i t i ) 2. sannsynligheten for en tagg er kun betinget av foregående tagg (bigram/markov-antagelsen) P(t n 1 ) i=1 n P(t i t i 1 ) i=1 26

HMM-tagging Disse setter vi inn i den tidligere formelen: ˆt n 1 = argmax t n 1 n P(w i t i )P(t i t i 1 ) i=1 Med denne kan vi beregne en taggsekvens for en gitt ordsekvens 27

HMM-tagging To slags sannsynligheter: 1. tag transitions : sannsynligheten for en tagg gitt den foregående taggen Feks P(NN DT ) vs P(DT NN) Disse kan vi beregne fra et korpus (MLE) P(t i t i 1 ) = C(t i 1, t i ) C(t i 1 ) 28

HMM-tagging To slags sannsynligheter (forts.): 2. word likelihood : sannsynligheten for et ord, gitt en tagg Feks is er sannsynlig gitt taggen VBZ Beregner fra et korpus P(w i t i ) = C(t i, w i ) C(t i ) 29

HMM-tagging Et eksempel: race kan være både VB og NN (1) Secretariat/NNP is/bez expected/vbn to/to race/vb tomorrow/nr (2) People/NNS continue/vb to/to inquire/vb the/at reason/nn for/in the/at race/nn for/in outer/jj space/nn La oss tagge ordet race i setning (1) over. 30

HMM-tagging Antar at de tidligere ordene har blitt tagget: Secretariat/NNP is/bez expected/vbn to/to race/?? tomorrow P(race VB) P(VB TO) Gitt at vi har et verb, hvor sannsynlig er det at ordet er race? Gitt at forrige tagg er TO, hvor sannsynlig er det at taggen er VB? P(race NN) P(NN TO) Gitt at vi har et substantiv, hvor sannsynlig er det at ordet er race? Gitt at forrige tagg er TO, hvor sannsynlig er det at taggen er NN? 31

HMM-tagging Fra treningskorpuset har vi at: P(t i t i 1 ): P(VB TO) = 0.34; P(NN TO) = 0.021 P(w i t i ): P(race NN) = 0.00041; P(race VB) = 0.00003 32

HMM-tagging Fra treningskorpuset har vi at: P(t i t i 1 ): P(VB TO) = 0.34; P(NN TO) = 0.021 P(w i t i ): P(race NN) = 0.00041; P(race VB) = 0.00003 Vi multipliserer og finner den mest sannsynlige tolkningen: P(VB TO) P(race VB) =.34.00003 =.00001 P(NN TO) P(race NN) =.021.00041 =.000009 VB er mest sannsynlig! 32

HMM-tagging Forresten er race NN i 98% av tilfellene: P(VB race) = 0.02 P(NN race) = 0.98 Hvordan finner vi sannsynlighetene? treningskorpus med manuelt annotert tekst tidkrevende og nøyaktig arbeid utført av lingvister 33

HMM-tagging HMM er er en utvidelse av endelig tilstandsmaskiner (FSA er) FSA er defineres ved en mengde tilstander og en mengde transisjoner mellom disse i henhold til input-observasjoner En vektet FSA er en utvidelse av en FSA der hver transisjon er forbundet med en sannsynlighet: uttrykker hvor sannsynlig den overgangen er Sannsynlighetene for alle transisjoner fra en tilstand summerer til 1 (distribusjon) 34

HMM-tagging En HMM gir oss muligheten for å snakke om både observerte hendelser (ord) og skjulte hendelser (ordklasser) Definert ved: Q = {q 0, q 1, q 2,..., q n 1 }: en endelig mengde tilstander A = a 11 a 12... a n1... a nn : matrise over transisjonssannsynligheter A, der hver a ij gir sannsynligheten for overgangen fra tilstand i til tilstand j, slik at n j=1 a ij = 1 O = o 1 o 2... o T : en sekvens av observasjoner B = b i (o t ) observasjonssannsynligheter ( emission probabilities ), gir sannsynligheten for at en observasjon o t blir generert fra tilstand i q 0, q F : en starttilstand, en sluttilstand 35

HMM-tagging x = tilstander, y = observasjoner, a = transisjonssannsynligheter, b = observasjonssannsynligheter 36

HMM-tagging To typer sannsynligheter 1. transisjonssannsynligheter (A) prior 2. observasjonssannsynligheter (B) likelihood 37

HMM-tagging Ordklasser (tilstander) genererer ord 38