ASR3 Språkmodeller Taligenk änningsgrammatiker

Relevanta dokument
ASR3 Språkmodeller Talgrammatiker

NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden

NUANCE TUTORIAL TALTEKNOLOGI KURSEN VT2006. Labkonstruktör: Rebecca Jonson Labhandledare: Håkan Burden

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

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

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Unit course plan English class 8C

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Resa Allmänt. Allmänt - Grundläggande. Allmänt - Konversation. Fråga om hjälp. Fråga om en person talar engelska

Resa Allmänt. Allmänt - Grundläggande. Allmänt - Konversation. Fråga om hjälp. Fråga om en person talar engelska

Resa Allmänt. Allmänt - Grundläggande. Allmänt - Konversation. Fråga om hjälp. Fråga om en person talar engelska

Statistisk Maskinöversättning eller:

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English

Grundläggande textanalys. Joakim Nivre

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

Dagens lektion. Dagens Litteratur. WER: Human vs machines. Taligenkänning mskiner/mskor. Mänsklig igenkänning Talteknologi och DialogSystem

Maskinöversättning möjligheter och gränser

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen.

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

EXPERT SURVEY OF THE NEWS MEDIA

Utvärdering SFI, ht -13

Read, work and talk! - och Lgr 11

Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs.

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs. Typ av kurs.

Resa Att ta sig runt. Att ta sig runt - Platser. I am lost. Du vet inte var du är

Listen to me, please!

Resa Att ta sig runt. Att ta sig runt - Platser. Du vet inte var du är. Be om att bli visad en viss plats på en karta. Fråga om en viss servicepunkt

Calculate check digits according to the modulus-11 method

Support Manual HoistLocatel Electronic Locks

Fragment, ellipser och informationsberikade konstituenter

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Överblick. Dialogsystem. En dialogsystemsarkitektur. Dialogsystemsarkitektur. Talförståelse. Dialoghantering

Resa Allmänt. Allmänt - Grundläggande. Allmänt - Konversation. Fråga om hjälp. Fråga om en person talar engelska

Styrteknik: Binära tal, talsystem och koder D3:1

#minlandsbygd. Landsbygden lever på Instagram. Kul bild! I keep chickens too. They re brilliant.

Join the Quest 3. Fortsätt glänsa i engelska. Be a Star Reader!

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

Good Stuff GOLD A. PROVLEKTION: In The Dogpark

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Hej! Det var allt för denna gång. Ha en trevlig helg! Med vänlig hälsning. Thomas

Ordtavlor och Talspråksfrekvenser från GSLC, sammanställda med tanke på användning i talande samtalsjälpmedel. Arbetsmaterial, Bitte Rydeman 2009.

Klassdeklaration. Metoddeklaration. Parameteröverföring

Grammar exercises in workbook (grammatikövningar i workbook): WB p 121 ex 1-3 WB p 122 ex 1 WB p 123 ex 2

Dependensregler - Lathund

Johan Karlsson Johka490. Statistical machine translation JOHAN KARLSSON

Beijer Electronics AB 2000, MA00336A,

Workplan Food. Spring term 2016 Year 7. Name:

Lektion 3. Anteckningar

Mentalträning GUSK PA, säsongen 2012

Isolda Purchase - EDI

Grafisk visualisering

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

Artificiell intelligens II, 729g11 Projekt HT-11. Taligenkänning. Nina Knez

Småprat Small talk (stressed vowels are underlined)

This is England. 1. Describe your first impression of Shaun! What kind of person is he? Why is he lonely and bullied?

Haparanda ht Engelska år 1 5. Under åren 1 5 arbetar eleverna med bland annat följande områden:

Chapter 1 : Who do you think you are?

Writing with context. Att skriva med sammanhang

Engelska åk 5 höstterminen 2013

Focus on English 7. PROVLEKTION: the Present Continuous

Statistiska språkmodeller med klass

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Webbreg öppen: 26/ /

- ett statistiskt fråga-svarsystem

Studieplan och bedömningsgrunder i Engelska för åk 7

Statistisk grammatikgranskning

Resa Logi. Logi - Hitta boende. Logi - Boka. Fråga om vägen till olika former av boenden. ... ett rum att hyra?... a room to rent?

Resa Logi. Logi - Hitta boende. Logi - Boka. Fråga om vägen till olika former av boenden. ... a room to rent?... ett rum att hyra?

Listen to me, please!

Engelska, år Studieplan och bedömningsgrunder i Engelska för år 7 Moment Mål innehåll Bedömningsgrund Läsa

Språkteknologi och Open Source

Webbregistrering pa kurs och termin

2.1 Installation of driver using Internet Installation of driver from disk... 3

Turingmaskinen - en abstrakt datormodell

Taligenkänning med fördjupning på Hidden Markov Models

Skapa en mall för inlämning av skriftliga uppgifter. med hjälp av Open Office Writer

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

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

Att stödja starka elever genom kreativ matte.

Tekniker för storskalig parsning

Att fastställa krav. Annakarin Nyberg

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

DAB760: Språk och logik

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

samhälle Susanna Öhman

MÅL ATT UPPNÅ (FRÅN SKOLVERKET)

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

DP - Dynamisk programmering. Exempel på DP - textjämförelse. För- och nackdelar med ordmönsterigenkänning. Dolda Markovmodeller

F5 Introduktion Anpassning Korstabeller Homogenitet Oberoende Sammanfattning Minitab

INVEST IN NORDIC CLEANTECH

Förmåga att läsa och förstå: Elevsvar

- den bredaste guiden om Mallorca på svenska! -

Partiell parsning Parsning som sökning

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

Kristian Almgren Artificiell Intelligens Linköpings Universitet Talstyrning

SVENSK STANDARD SS :2010

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Transkript:

ASR3 Språkmodeller Taligenk änningsgrammatiker Talteknologi VT2006 Rebecca Jonson Litteratur Jurafsky &Martin: kap 6 (witten-bell och good-turing översiktligt, ej 6.5), sid 316, s 573-577577 Blomberg&Elenius: s16-17, 17, 19 Young: kap 5 Gen Gorrells artikel Ordsekvenser P(Ord) I naturliga språk finns det syntaktiska, semantiska och pragmatiska restriktioner som har effekten att vissa ordsekvenser är mer sannolika än andra Prediktion Glass är det bästa jag To be or not to.. And the Award goes to.. Prediktion Vi använder oss av ordprediktion i mänsklig igenkänning. Vi gissar oss till nästa ord innan det sagts Genom att titta på föregående ord får vi en ledtråd till vad som kan komma På så sätt kan vi känna igen trots att talaren säger fel (t ex yttrar ett icke existerande ord) I d like some dream and sugar, please En fock och tjet katt. Dessutom får vi en hjälp i tolkningen av den akustiska signalen genom att testa vår hypotes. Hypotesen bygger på djup kunskap om språket och världen. Ordföljdskunskap Lingvistisk kunskap i ASR är minimal För att modellera något som liknar mänsklig prediktion dvs vilka ord som brukar följa varann använder sig taligenkänningssystem av: statistiska språkmodeller (n-gram) taligenkänningsgrammatiker

Bayes regel i ASR Kombinerar akustisk och språklig kunskap P( Ord / Akustik P ( Akustik / Ord ) P ( Ord ) ) = P ( Akustik ) P(Ord/Akustik) är sannolikheten för en ordföljd givet den akustiska information. P(Akustik/Ord) är sannolikheten att ordföljden genererar den akustiska informationen och beräknas i ett träningsmaterial. (akustisk modell, HMM) P(Ord) ges av språkmodellen och är a priori sannolikheten för ordföljden (N-gram) oberoende av den observerade signalen. P(Akustik) kan ses som en konstant eftersom den är oberoende av ordföljden och kan ignoreras Statistiska Språkmodeller Statistical Language Models (SLMs) P(Ord): Sannolikheter för ordföljder Statistiska modeller som tränas med korpus Modellerar lokala dependenser Motsvarar P(Ord) i Bayes regel där Ord är en sekvens av ord. Inkluderar både syntaktisk, semantisk och pragmatisk info P(W)=? P(W k W 1,,W k-1 ) En ordsekvens sannolikhet fås genom att multiplicera sannolikheten av det första ordet med sannolikheten av det andra givet det första, multiplicerat med sannolikheten för det tredje givet det första och andra osv. N-gram är en förenkling av detta där ett följande ords sannolikhet endast är beroende av de N-1 tidigare orden. Unigram 1-gram Bigram 2-gram Trigram 3-gram Språkmodeller (LMs) Unigram= ett ords frekvens Bigram (ordpar) Nästa ords sannolikhet beräknas genom bigramssannolikheten och föregående ords sannolikhet: P(heter jag)= P(jag heter)/p(jag) Trigram (treordsföljd) Beror på 2 föregående orden: P(bio gå,på)=p(gå på bio)/p(gå på) P( W) P( W) n P( wi i= 1 n P( wi i= 1 wi w i 2 1), wi 1) P(ten pots fell over) Sannolikheten för frasen ovan med: Unigram P(ten) P(pots) P(fell) P(over) Bigram P(ten Start) P(pots ten) P(fell pots) P(over fell) Trigram P(ten Start) P(pots Start ten) P(fell ten pots) P(over pots fell) N-gram uppskattning N-gram beräknas genom frekvensberäkning ur en träningskorpus P(over fell)= C (fell over) / C(fell) Där C är antalet sekvenser som finns I korpusen

Exempel: Tremeningarskorpus till bigrammodell <s> John read her book </s> <s> I read a different book </s> <s> John read a book by Mulan </s> P(John <s>)= C(<s>,John)/C(<s>) = 2/3 P(read John)=C(John,read)/C(John)=2/2 P(a read)=c(read,a)/c(read)=2/3 P(book a)=c(a,book)/c(a)=1/2 P(</s> book)=c(book,</s>)/c(book)=2/3 P(John read a book) P(John <s>) * P(read John) * P(a read) * P(book a) * P(</s> book)= 0.148 P(Mulan read her book)= 0!!! För P(read Mulan) finns inte! Utdrag ur korpus (Berkely Restaurant Project) I m looking for Cantonese food I d like to eat dinner someplace nearby Tell me about Chez Panisse Can you give me a listing of the kinds of food that are available? I m looking for a good place to eat breakfast I definitely do not want to have cheap Chinese food. When is Caffe Venezia open during the day? I don t wanna walk more than ten minutes. Språkmodellexempel (Bigram) Beräkna sannolikheten av ett yttrande Eat on.16 Eat some.06 Eat lunch.06 Eat dinner.05 Eat at.04 Eat a.04 Eat British.001 Eat Chinese.03 Eat Indian.04 <s> I.25 <s> I m.02 I want.32 I don t.08 Want to.65 Want some.04 To eat.26 To spend.09 British food.60 British lunch.01 Sannolikheten för ett yttrande beräknas genom att multiplicera de ingående bigramsannolikheterna, dvs sannolikheten att I följer meningsstarten (<s>) gånger sannolikheten att Want följer I etc. P(I want to eat British food)= P(I <s>) P(Want I) P(to want) P(eat to) P(British eat) P(food British) =.25 *.32 *.65 *.26 *.002 *.60 =.000016 Normalt anges sannolikheterna i logaritmerad form för att undvika numeriskt underfl öde (pröva att multiplicera 0.000016 med 0.00025! Blir väldigt många decimaler att hålla reda på och om vi inte vill ha så många decimaler tappar vi värdet) Därför ser de ofta ut enligt följande= -1.715103, -3.529606, -0.325608 där högsta sannolikheten är -0325608 av dessa tre Hur genererar man språkmodeller? Input: Korpus (textmassa) Helst talspråkskorpus men även textkorpus Oftast en mening per rad, bara ord ej utrops och skiljetecken Inga stora bokstäver, stavfel bort, ta bort stakningar, repetitioner Ibland sätts meningsstart och slut med <s> och </s> Räknar sedan förekomster av ord i korpusen och förekomster av lokala ordföljder n-gram. Vad får man som resultat? Vokabulär Språkmodell (n-gram med sannolikheter) med sannolikheter för ordförekomster och ordsekvenser i den korpus man använt Korpus Hur mycket korpus krävs och vilken typ? Beror på språket det ska täcka men ju större desto bättre Men oftast behövs en stor korpus (miljoner ord) Helst en talspråkskorpus men kan mixas med skrift Ska helst vara anpassad till uppgiften (rätt genre) Ordsekvenser från Shakespeare kommer antagligen inte representera vanliga ordsekvenser i en tågbiljettbokningsdomän

Trigramsmodeller Det vanligaste i taligenkänning är att använda sig av trigramsmodeller En trigramsmodell innehåller trigram, bigram och unigram n-gram där n>3 har prövats men leder ofta inte till bättre resultat då fyrordsföljder oftast inte är så återkommande för att få bra sannolikheter Exempel från trigram-modell MP3- domänen ngram 1=374 ngram 2=3345 ngram 3=16425 \1-grams: -3.259434 irma -3.719205-3.259434 isaksson -3.719205-2.279764 ja -2.959741-3.25999 jackie -3.718688-1.455534 jag -5.268905-3.25999 jagad -3.795347 \2-grams: -1.594445 jag undrar 0-0.3344347 jag vill -3.751501-6.945933e-05 jagad av-3.627253-0.4609596 jaha </s> -4.475221 jajamen </s> \3-grams: -2.920642 skulle vilja välja -3.002028 skulle vilja ändra -3.506515 skulle vilja återuppta -3.227204 skulle vilja öka -0.8259719 <s> vilka album -0.76798 <s> vilka har -0.2770076 <s> vilka låtar -0.8259719 <s> vilka skivor -0.5412561 du vilka album -0.4832641 du vilka har -1.018377 du vilka låtar -0.5412561 du vilka skivor -0.5411798 fråga vilka album -0.4831879 fråga vilka har -1.018301 fråga vilka låtar Verktygslådor för SLM-generering CMU SLM toolkit (gratis) SRI SLM toolkit (gratis) Nuance CMU toolkit Tar som input en korpus och levererar filer där frekvenser för unigram, bigram och trigram har beräknats samt en språkmodell med sannolikheter för olika ordföljder Kan även användas för att få ut frekvenser av ord i en korpus (t ex jämföra vanligaste orden i talspråk vs skrift). nedbantad version av CMULM på nätet: QuickLM Bokstavssannolikheten är inte likfördelad utan beror på språkets fonotax. I det här exemplet tränade jag en språkmodell med en lista med spanska ord. Det blir dock för spanskt om man vill kunna bokstavera utländska ord eller förkortningar. Cambridge Cambrides Fick lägga till utländska ord och vanliga förkortningar i korpus för att kompensera för den extrema spanskheten och generera om Korpus för bokstavering <s> J U D O </s> <s> J U D O K A </s> <s> J U D Y </s> <s> J U E C E S </s> <s> J U E G A </s> <s> J U E G A N </s> <s> J U E G A S </s> <s> J U E G E </s> <s> J U E G O </s> <s> J U E G O S </s> <s> J U E G U E </s> <s> J U E G U E C I T O </s> <s> J U E G U E N </s> Språkmodeller i Nuance I Nuance används programmet train-slm för att generera språkmodeller: train-slm corpus CORPUS slm SLM Resultatet är två filer en XOUT.slm och en XOUT.psfg + info om hur många olika n-gram som fångats. Språkmodellen är tyvärr binär och man kan inte se sannolikheterna. Psfg-filen refereras sedan i en grammatik som kompileras och skickas till taligenkänningen. Detta får ni pröva på er Nuance Tutorial.

Turtle exempel Korpus: GO [direction] [number] [unit] ROTATE [direction] [number] [unit] Språket innehåller meningar såsom: GO FORWARD TEN METERS and ROTATE RIGHT FORTY FIVE DEGREES. Klasser Innehåller klasser som måste definieras: direction, number, unit i en klassfil [direction]: FORWARD BACKWARD RIGHT LEFT Input till CMUs QuickLM Korpus, en mening per rad, satsbrytare: <s> GO [direction] [number] [unit] </s> <s> ROTATE [direction] [number] [unit] </s> Klassdefinitionen Output Vokabulär Språkmodell Sparse data Sannolikheterna för ordföljder ges genom att räkna antal förekomster i en korpus Ju större korpus desto bättre värden Korpusar oftast för små för att fånga den rätta sannolikheten, många korrekta ordsekvensföljder saknas Möjliga trigram för en vokabulär är Unigram 3 (många möjliga kombinationer som kanske inte finns eller bara återfinns ngn gång i korpus) 1000 ord 1000000000 olika trigram Språket har en LNRE-distribution:large number of rare events class of distribution Vissa ord och sekvenser är extremt frekventa men majoriteten är extremt ovanliga. För att undvika noll-sannolikheter eller extremt låga sannolikheter för trigram används olika metoder för att kompensera för den här feldistribuerade sannolikheten som kallas smoothing-tekniker Smoothing Med smoothing försöker man fördela sannolikhetsmassan lite jämnare genom att ta från de rika och ge till de fattiga Icke-noll-sekvenser till noll-sekvenser Man fördelar helt enkelt om genom att ta bort lite sannolikhetsmassa på extremt höga värden (discounting) och lägga denna på lägre värden. Use the count of things you ve seen once to help estimate the count of things you ve never seen Metodersom finns är: Add-one smoothing (enkel men dålig metod) Witten-Bell discounting (mer komplex och bättre) Good-Turing Discounting (ännu mer komplex) Backoff-smoothing (bra metod tillsammans med goodturing)

Add-one smoothing Minns ni P(Mulan read a book)=0? P(read Mulan) hade noll sannolikhet vilket gav hela meningen noll sannolikhet. Men intuitivt borde ju mening ha ngn sannolikhet, eller? En enkel teknik är att räkna att alla bigram finns en gång extra i korpusen P(read Mulan)= C(Mulan read) + 1/(C(Mulan) +1*Voc) P(Mulan read a book)=0.000084 P(John read a book) =0.00035 Discounting Använder sig av förväntade frekvenser för att uppskatta n-gram värden. Hur många av sekvenserna har vi bara sett en gång? Om många så är det troligt att vi kommer stöta på nya sekvenser som vi inte sett förut. Hur mycket av sannolikhetsmassa bör vi reservera för osedda fall? Utgår från den fördelning som finns. Backoff (J&M 6.4) För att undvika noll-sannolikheter för bigram och trigram används modeller med unigram, bigram, trigram i kombination. Back-off = Om sannoliketen för N är noll så lutar vi oss tillbaka till sannolikheten på lägre n-gram-sannolikheter dvs N-1. P(bigram) = Backoffvärde * P(unigram) P(read Mulan) = Backoff * P(read) P(trigram) = Backoffvärde * P(bigram) P(book read a)=backoff * P(book a) -1.3802 ROTATE -0.2632 P(Rotate one) -0.2632 * -1,3802= -0.3633 För att distribution av sannolikhet ska stämma måste vi också ta bort sannolikhetsmassa från trigram med hög sannolikhet (discounting) En av de bättre metoderna! Fördelar med trigrammodeller Verkar fånga väldigt mycket information på ett enkelt sätt (syntax, semantik, pragmatik) Närmaste kontexten har stort inflytande Fungerar förvånansvärt bra Enkelt att bygga upp och generera, behöver bara en korpus, inga regler eller grammatik. Fungerar bra för språk med strikt ordföljd Vi kan modellera disfluenser genom att ha med dem i korpus. Problem med trigrammodeller Databrist Vokabulär med N ord ger N 3 möjliga trigram Många trigram kommer inte finnas i träningsdata eller få ggr Unknown words Svårt att hitta rätt sorts korpus (WOZ, talspråkskorpus) Tar inte hänsyn till långdistansdependenser Vissa ord triggar andra Jag tänkte gå bio och skulle vilja veta vad biljetterna kostar Fungerar sämre för språk med friare ordföljd Svårt att täcka språk med mycket böjningar (franska) Språkmodeller med klasser Ett annat sätt att kompensera för databrist är att samla likvärdiga ord i klasser och ge dem samma sannolikhet. Kan vara POS-klasser (ordklasser) eller andra kategorier. Ex: Alla telefonnummer skulle vara likvärdiga. Jag vill åka till Borlänge lika sannolikt som Jag vill åka till Gävle. I Berkelykorpusen skulle alla restauranger vara likvärdiga. CIUDAD = Paris, Madrid, Londres, Milan etc. 1-gram: -3.529606 CIUDAD -1.719005 3-gram: -1.715103 vamos a CIUDAD -1.839484 estoy en CIUDAD -9.883758 estoy por CIUDAD -0.247359 estoy por aquí

Klassmodeller I want to go to Göteborg I want to go to Stockholm I m travelling to Malmö from Gävle Vi taggar korpusen med de klasser vi valt så att alla ord som ingår I en klass ersätts av klassens namn I want to go to CITY I want to go to CITY I m travelling to CITY from CITY Vi definierar vilka ord som varje klass innefattar. Sekvensen to CITY kommer nu få sekvenserna to Gbg, to Sthlm och to Malmö s samlade frekvenser. Göteborg och Stockholm kommer vara lika sannolika i modellen. Klassmodeller i Nuance I Nuance kan vi klasstagga en korpus genom att: Skapa en taggningsgrammatik där vi definierar klasser och dess medlemmar Tagga korpusen med programmet: nl-tag-tool Som resultat får vi en klasstaggad korpusen som vi kan använda för att träna en klassspråkmodell Entropi Entropi är ett informationsteoretiskt mått som i när det gäller språk utgår från sannolikheter för ordsekvenser Genomsnittligt överraskningsvärde För att utvärdera språkmodeller använder vi oss av måttet perplexitet som är relaterat till entropi: Perplexitet = 2 entropi eller 2 H Entropi=H(Language)= -? P(W) 2 log(p(w)) Vad är Perplexitet? Bedömning av uppgiftens svårighet på lingvistisk nivå Perplexitet ger ett mått på det sannolikhetsviktade genomsnittliga antalet ord som kan följa efter ett givet ord. Exempel: För siffersekvenser är Perplexiteten=10 om alla siffror är lika sannolika i alla positioner. Om så inte är fallet sjunker perplexiteten. Utvärdering av språkmodeller Utvärdering av språkmodellen hur väl fångar språkmodellen språket den beskriver? Hur bra är språkmodellen på att predicera kommande ord? Jämför olika språkmodeller med varann. Vilken är bäst? Perplexitet ger ett mått på det genomsnittliga antalet ord som kan följa efter ett givet ord (förgreningsfaktor) i det givna språket (eller i språkmodellen) Perplexitet forts. Exempel: Sifferigenkänning Perplexiteten=10 om alla siffror är lika sannolika i alla positioner. Om så inte är fallet sjunker perplexiteten. Normal perplexitet för dagens system är 45-160 med trigrammodeller Efter varje ordgräns kan 45-160 olika ord följa Mänsklig perplexitetär ofta 1/3 av ett systems (Lippman) Perplexitet tar inte hänsyn till akustisk likhet mellan ord t ex att uppgiften är svårare om många ord är akustiskt lika (t ex känna igen alfabetet)

Perplexitet med våra verktygslådor Taligenkänningsgrammatiker Testa modellen mot en testkorpus (10% av träningskorpusens storlek) som inte använts för att generera korpusen Nuance Process-slm SLM ppl-corpus TESTCORPUS CMU Evallm arpa SLM.arpa >evallm: perplexity text TESTCORPUS Resultat presenteras som perplexitet och som bits. Ju lägre desto bättre modell! Taligenkänningsgrammatiker Istället för språkmodeller används ofta kontextfria grammatiker i taligenkänning. De används i dialogsystem för att fånga vilka ord som kan följa varandra i en mindre domän där grammatikens täckning oftast är väldigt begränsad. P(W) är 1 eller 0 beroende på om sekvensen accepteras av grammatiken eller inte Accepterar bara det som grammatiken beskriver Ingen korpus behövs. Utan grammatiken skrivs för hand. Utvecklaren försöker förutse vad användaren kommer säga. Beskriver ordföljder och fångar syntax, semantik och pragmatik Kan fånga längre dependenser Används för mindre domänspecifika uppgifter Nuance Grammatiksyntax (GSL) Symboler med Stora bokstäver motsvarar grammatiker: City Symboler med Små bokstäver motsvarar ord: göteborg Ur Nuance-manualen: The symbols A, B, C, and D in the following table denote a grammar or word name. ( ) concatenation (A B C... D) A and B and C and... D (in that order) [ ] disjunction [A B C... D] One of A or B or C or... D? optional?a A is optional + positive closure +A One or more repetitions of A * kleene closure *A Zero or more repetitions of A GSL-uttryck och det de beskriver [morning afternoon evening] morning, afternoon, evening (good [morning afternoon evening]) good morning, good afternoon, good evening (?good [morning afternoon evening]) good morning, good afternoon, good evening, morning, afternoon, evening (thanks +very much) thanks very much, thanks very very much, and so on (thanks *very much) thanks much, thanks very much, thanks very very much, and so on Exempelgrammatik.Top [Greeting Goodbyes Thanxs] Greeting [hejsan (hej?hopp) tjaba] Goodbyes [hejdå (hej svejs) (vi ses?senare) (hej hej)] Thanx [ (+tack (tack så *jätte mycket))]

Talgigenkänningsgrammatiker (SRG) vs Språkmodeller (SLM) (G.Gorrelll) Taligenkänningsgrammatiker ger bättre resultat när användaren följer grammatiken. Språkmodeller är mer robusta mot yttranden som inte följer grammatiken. De är mer flexibla och inte lika restriktiva. Språkmodeller bättre för domän-oberoende applikationer och större domäner. SLM är bättre när många förstagångsanvändare ska använda systemet (Na ïve users) Grammatiker är bättre när användarna känner till systemet och vad som kan sägas. (Expert users) SLM:er fångar inte långdepenser som grammatiker gör. Utvecklingstid SRG-SLM Grammatiker går snabbare att utveckla men svårt att bygga en komplett grammatik och förutse vad användarna kommer att säga. Tar inte heller hänsyn till disfluenser. Kan ta tid att skriva en bra grammatik SLM kräver insamling av stor korpus som representerar språket i domänen. När man väl har en korpus är det straightforward. I dagens kommersiella system används både och beroende på vilken typ av applikation och vilken typ av miljö. Hybrida approacher har också föreslagits.