CMD + K

Introduksjon til kunstig intelligensNaturlig språkbehandlingBegreper & formler27
12 min lesing

Naturlig språkbehandling

En språkmodell gir sannsynligheter til ordfølger. Regn med n-gram-modeller, fjern nullsannsynligheter med glatting, og mål modellen med perpleksitet. Beskriv setningsstruktur med probabilistiske kontekstfrie grammatikker og parse med CYK, før du får oversikt over ordvektorer, RNN og transformere.

Læringsmål
  • 01Regn ut en bigramsannsynlighet og sannsynligheten for en hel setning med start- og sluttsymbol fra et lite korpus
  • 02Regn ut glattede sannsynligheter med add-one, der står i nevneren, og med lineær interpolasjon
  • 03Forklar hva perpleksitet måler, og hvorfor lavere perpleksitet er bedre
  • 04Regn ut sannsynligheten til et parsetre i en PCFG som produktet av regelsannsynlighetene
  • 05Utfør CYK for en grammatikk i Chomsky-normalform og avgjør om setningen er grammatisk
  • 06Forklar hva ordvektorer, selvoppmerksomhet og pretrening tilfører, sammenlignet med bigram- og trigrammodeller og RNN-er
0 av 17 aktiviteter
Kjerneidé

Mobiltastaturet foreslår neste ord mens du skriver, og en chatbot svarer med hele avsnitt. Begge bygger på samme idé: gi hver ordsekvens en sannsynlighet, lært fra store mengder tekst. Kapitlet starter med modeller som teller ordpar, går via grammatikker som beskriver hvordan setninger er bygd opp, og ender med transformerne bak dagens store språkmodeller. Det ligner på å lære et nytt språk både ved å lytte til hva folk pleier å si og ved å pugge grammatikkreglene.

Steg 1 av 6

Språkmodeller og n-gram

Konsept

En språkmodell (language model) gir hver ordsekvens en sannsynlighet. Den kan avgjøre at «trikken går i dag» er mer sannsynlig enn «dag i går trikken», og den kan foreslå neste ord. Modellen lærer av et korpus (corpus), en samling tekst.

Den enkleste modellen er en sekk med ord (bag of words), som bare teller hvilke ord som forekommer. Den ser ingen forskjell på «Kari ringer Ola» og «Ola ringer Kari». Til å sortere tekst etter emne holder det ofte, men ikke til å forutsi neste ord.

Kjederegelen fra sannsynlighetsregningen skriver sannsynligheten for en setning som et produkt der hvert ord er betinget av alle ordene foran. Så lange historier går nesten aldri igjen i et korpus, så de kan ikke telles. Markov-antagelsen (Markov assumption) kutter historien: neste ord avhenger bare av de siste ordene. Det gir en n-gram-modell (n-gram model) og ƒkjederegelen med n-gram-tilnærming:

For en bigrammodell () estimeres hvert ledd med tellinger, ƒbigramsannsynlighet fra tellinger:

Dette er maksimum-likelihood-estimatet (MLE). Vanligvis får hver setning et startsymbol <s> foran og et sluttsymbol </s> bak. Da blir også første ord betinget på <s>, og modellen må forutsi at setningen slutter. Nevneren er antall ganger står foran et annet token, </s> medregnet.

Interaktiv figur

Korpuset i figuren har fire setninger om vær og trikk i en tenkt by. Spørresetningen står ikke i korpuset, men alle ordparene i den gjør det.

Prøv: trykk deg gjennom leddene og se at hver bigramtelling deles på tellingen av ordet foran, og at sluttleddet P(</s> | dag) også er med i produktet.

Laster figur …
Figur 18.1En bigrammodell fra fire setninger. Hver setning får <s> foran og </s> bak, og sannsynlighetene er rene tellinger uten glatting.
Interaktiv
RegneeksempelEt rutekorpus har setningene «linje to går til torget», «linje fem går til stasjonen» og «bussen går til torget». Regn ut sannsynligheten for «linje fem går til torget» med start- og sluttsymbol og uten glatting.

Steg 1. Tell kontekstene. <s> står foran 3 ord, «linje» 2 ganger, «fem» 1, «går» 3, «til» 3 og «torget» 2.

Steg 2. Del bigramtellingene. , , , , og .

Steg 3. Multipliser. . Setningen står ikke i korpuset, men får en sannsynlighet fordi alle de seks ordparene er sett.

Øving 1 av 3

En trigrammodell skal gi sannsynligheten for ordet «regner» i setningen «meldingen sier at det regner». Hvilket ledd bruker modellen for dette ordet?

Øving 2 av 3

En bigrammodell trenes på korpuset under. Hver setning får foran og bak, og sannsynlighetene er MLE uten glatting. Hva er ?

kald vind fra nord
kald regn i dag
mild vind fra sør
kald vind i kveld
sterk vind i dag
Øving 3 av 3

En bigrammodell trenes på korpuset under. Hver setning får foran og bak, og det brukes ingen glatting (MLE). Regn ut sannsynligheten for setningen «sola skinner i byen», regnet som sola skinner i byen . Svar med tre desimaler.

sola skinner i parken
regnet faller i byen
sola skinner over byen
vinden blåser i parken

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…