729G50 - Artificiell Intelligens Institutionen för Datavetenskap Linköpings Universitet HT 2007

Relevanta dokument
Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0

Artificial)Intelligence) Taligenkänning)

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

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

Niklas Lindvall Artificiell intelligens II Ht

Kristian Almgren Artificiell Intelligens Linköpings Universitet Talstyrning

AI-rapport Speech recognition

Statistisk mönsterigenkänning

Taligenkänning* !!!!!!!! !HMM!och!Viterbi! Ellinor!Andersson,! !

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Taligenkänning. Hur datorer känner igen talat språk. 729G43 Artificiell Intelligens. Charlie Forsgren, Linköpings Universitet. chafo

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

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

729G43 Artificiell intelligens Probabilistisk logik. Arne Jönsson HCS/IDA

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

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

Pedagogisk planering för ämnet: Svenska

Vanliga frågor för VoiceXpress

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

CMG Speech Attendant. Användarmanual. 19 februari PUBLIC

HKGBB0, Artificiell intelligens

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

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Att kommunicera med personer med demenssjukdom

Hör och härma. Röda boken lite lättare. Uttalsträning för nybörjare i svenska som andraspråk. Unni Brandeby

Probabilistisk logik 2

SPEECH RECOGNITION USING ARTIFICIAL NEURAL NETWORKS. Linköpings Universitet 729G43 Artificiell Intelligens

Mål- och bedömningsmatris Engelska, år 3-9

Hur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?

Introduktion till programmering och Python Grundkurs i programmering med Python

Fonologi. Kommutationstest. Minimala par. Hur bestämmer man vilka fonem ett språk har?

Tolkhandledning

Föreläsning 11 - Automater, textsökning, tillstånd

BEDÖMNINGSSTÖD till TUMMEN UPP! svenska åk 3

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Artificiell Intelligens Lektion 7

Att fånga den akustiska energin

Tekniken bakom språket

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Cristina Eriksson oktober 2001

Probabilistisk logik 1

Kroppsspråk och tal. Introduktion. Gå- och Stopp-signaler. Viktiga delar:

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

KORT FÖR ATT LEDA DISKUSSIONEN

Vardagssituationer och algebraiska formler

Bedömda elevexempel i årskurs 4 6

Svenska Läsa

Perception. Intonation och tonhöjd. Intrinsisk F0. Intonation och tonhöjd (ff) Akustiska och perceptoriska drag. Perception av prosodiska drag

Rockhammars skola Lokal pedagogisk planering (LPP)

Signaler och system, IT3

Lässtrategier för att förstå och tolka texter samt för att anpassa läsningen efter textens form och innehåll. (SV åk 1 3)

Algoritmer och maskininlärning

Användarhandbok för Automatisk telefonist (inklusive Talad hänvisning)

DAB760: Språk och logik

Stina Nyman

RealSimPLE: Pipor. Laborationsanvisningar till SimPLEKs pipa

Mål som eleverna skall ha uppnått i slutet av år 5 enligt nationella kursplanen

Undervisningen i ämnet moderna språk ska ge eleverna förutsättningar att utveckla följande:

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Bornholmsmodellen ett metodiskt sätt att göra elever läsberedda. Utbildningsförvaltningen

Språkteknologi och Open Source

DATORER OCH PROGRAM. Datorn är en symbolmaskin

Vilka färdigheter ska vi sträva efter för att ge våra barn en god grund för åk 1?

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

man kan lyssna på vad de betyder man kan lyssna efter hur de låter utan att bry sig om vad de betyder.

AMIRA TIME. Lätt version. Lärarhandledning

BLOCK 1. 1A. Att komma igång

KORT FÖR ATT LEDA DISKUSSIONEN

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Jollerkoll - typisk jollerutveckling

Rockhammars skola Lokal pedagogisk planering (LPP)

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Fonem eller grafem? Vilket ska komma först i sfiundervisningen? Margareta Molin

Matris i engelska, åk 7-9

Automatisk igenkänning av tal och talare. Automatisk igenkänning av tal. Översikt - taligenkänning. Varför taligenkänning?

Tisdag den 27 september 2016

KOMMUNIKATIVT LEDARSKAP

Tentamen: Programutveckling ht 2015

Lärarmaterial. Vad handlar boken om? Mål och förmågor som tränas: Eleverna tränar på följande förmågor: Författare: Thomas Halling

SVENSKA SOM ANDRASPRÅK

Får jag använda Wikipedia?

Upprepade mönster (fortsättning från del 1)

LÅNGÖGON OCH GLASKALSONGER. Junibackens pedagogiska program för förskoleklass på temat språk och kommunikation

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 08-12

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Idag. Tillägg i schemat. Segmenteringsproblemet. Transkription

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.


RÖDA TRÅDEN SVENSKA F-KLASS ÅK

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

Anna: Bertil: Cecilia:

Positiv Ridning Systemet Negativ eller positiv? Av Henrik Johansen

INFORMATION. Victor Hugo. Vad är det? Johan H Bendz FMV. Dennes svar. Korrespondens med förläggaren avseende publiceringen av Samhällets olycksbarn

IP-telefoni för nybörjare

Språkglädje och Språkleka Tips och Trix i vardagen!

Transkript:

729G50 - Artificiell Intelligens Institutionen för Datavetenskap Linköpings Universitet HT 2007 $,I UGMXSQLQJ 7DOLJHQNlQQLQJ 850329-2107

6DPPDQIDWWQLQJ Ett taligenkänningssystem kan vara konstruerat för en eller flera användare och för enstaka ord eller kontinuerligt tal. Taligenkänning handlar om hur en maskin (dator) får en input av olika ljudsignaler, från en användare. Sedan fattar sig en uppfattning om vad som sagts och letar igenom sitt vokabulär, samt ger en output i form av text eller tal tillbaka till användaren. För att datorn ska kunna tolka signalerna digitaliseras de först och sedan används olika algoritmer för att tolka innebörd av orden. En av metoderna för att tolka signalerna är Hidden Markov Model (HMM), som jag kommer att ta upp i mitt arbete. En HMM är en temporal sannolikhetsmodell, där processen är en diskret variabel. De möjliga värdena för den variabeln är de möjliga tillstånden i världen.

,QQHKnOOVI UWHFNQLQJ 1. Inledning...4 1.1 Syfte...4 1.2 Om mitt arbete...4 2. Bakgrund...5 2.1 Historia...5 2.2 Taligenkänning...5 2.2.1 Lagrat tal...5 2.2.2 Text-till-tal...5 2.2.3 Taligenkänning...5 2.2.4 Röstigenkänning...5 2.3 Kommunikation mellan människa data...6 3. Språket...7 3.1 Talvariation...7 3.1.1 Dialekter...7 3.1.2 Betoning...7 3.1.3 Tvetydigheter...7 3.2 Produktion av tal...7 4. Taligenkänning...8 4.1 Olika taligenkänningssystem...8 4.1.1 Beroende/oberoende av talaren...8 4.1.2 Flytande tal versers pausering...8 4.1.3 Ordförråd...8 4.1.4 Ordbaserad igenkänning...8 4.1.5 Fonembaserad igenkänning...8 4.2 Systemlösningar...9 4.2.1 Acoustic-fonetic approach...9 4.2.2 Pattern recognition approach...9 4.2.3 Artificial Intelligence approach...9 4.3 Akustiska- och språkmodellen...9 4.3.1 Akustiska modellen...10 4.4 Noisy Channel model...10 4.5 Vektor kvantifiering...10 4.6 Hidden Markov Models (HMM)...10 4.7 Viterbi algoritmen & A* sökning...12 5. Diskussion...13 5.1 Praktiska exempel...13 5.1.1 Telias kundservice...13 5.1.2 SJ:s Biljettbokningssystem...13 6. Referenser...14 6.1 Böcker...14 6.2 Artiklar...14 6.3 Examensarbeten...14 6.4 Webbsidor...14 6.4 Telefonnummer...14

,QOHGQLQJ Ett taligenkänningssystems uppgift är att identifiera en sekvens av ord, givet en viss akustisk signal. Med hjälp av olika modeller tas en sannolik sekvens av ord fram och med hjälp av detta fattar systemet sig en mening om vad som ska göras härnäst; tala tillbaka, skicka användaren vidare eller släppa in användaren i en byggnad. 6\IWH Att jag började intressera mig för taligenkänningssystem var redan i ettan under Introkursen. Då talade vi om bra och dåliga artefakter, en artefakt som då kom upp var SJ:s biljettbokningssystem. Det hela är en bra sak som underlättar för många resenärer, men på samma sätt så är den för andra ett stort irritationsmoment. Då man många gånger måste upprepa sig eller att maskinen uppfattar fel saker. Redan då blev jag intresserad av hur det fungerar och vad man skulle kunna göra för att förbättra systemet. Så därför har jag valt att inrikta mig på taligenkänning, inte för att förbättra systemet, utan för att få en förståelse i hur det fungerar. 2PPLWWDUEHWH Detta arbete ger en inblick i hur taligenkänning fungerar. I mitt arbete har jag tagit hjälp av gamla arbeten för att få en bra struktur på mitt eget. Jag har använt mig dels av kurslitteraturen, men även sökt och använt mig av olika examensarbeten och litteratur. Jag har även sökt information på webben för att på ett lättare sätt få tag i bilder till mitt arbete, men trots detta resulterade det inte i så många bilder. 4

%DNJUXQG Talet är ett av de beteenden som skiljer människor från djur. Även djur har läten, men människospråk är en av sakerna som har gjort att vi kommit så långt i vår utveckling. Eftersom språket är en stor del av oss, har människor i alla tider varit fascinerade av tal, hur det fungerar och även försökt få maskiner och andra saker få detta människokarakteristiska beteende. +LVWRULD Taligenkänning har funnits under en längre tid, redan under 1700-talet försökte man att frambringa tal på maskinellväg 1. Men det var under 1950-talet i och med utvecklingen av datorn som även AI-epoken började blomstra. Det var under denna tid man började få en inblick i hur vi skulle kunna få maskiner att förstå och frambringa tal. Framtidsutsikterna såg goda ut och förhoppningarna om att man inom några år skulle kunna kommunicera med datorerna var stor. Drömmarna krossades dock ganska fort när forskarna började inse komplexiteten med taligenkänning. Dels för att människor uttalar ord olika och för att det krävdes alldeles för mycket databearbetning och minne än vad som fanns tillgängligt på den tiden 2. 7DOLJHQNlQQLQJ Taligenkänning hör till området talbearbetning, det innefattar både tolkning och syntes av tal. För att tolka tal måste en dator få en input i form av olika signaler. Taligenkänning delas i stort in i fyra områden: /DJUDWWDO Här så spelar man upp meningar för en dator, den lagrar sedan meningarna som enstaka ord. Datorn kan sedan med de orden som finns lagrade sammanfoga ord till meningar. 7H[WWLOOWDO Inom denna metod så sparas vanlig text, både ord och meningar, som tillsist syntetiseras till tal. 7DOLJHQNlQQLQJ Detta är en omvänd process till text-till-tal. I denna metod så tar man de talade orden och översätter dem till text, eller så kan talet kopplas till utförande av olika kommandon. Min fördjupning kommer i förstahand kretsa kring taligenkänning. 5 VWLJHQNlQQLQJ Där tolkar man talet. Datorn försöker känna igen rösten för att sammankoppla det med en enskild användare. 1 www.sprakteknologi.se 2 ³7DOLJHQNlQQLQJLWHRULRFKSUDNWLN (Johnny Larsson, 1998) 5

.RPPXQLNDWLRQPHOODQPlQQLVND±GDWD Så varför har vi ett behov av att kommunicera med datorer, räcker det inte med ett tangentbord och en mus? Svaret är att för den vanliga användaren så är detta mer än nog, men det finns många fördelar med att istället kunna kommunicera med till exempel sin dator. Röststyrning av både dator och andra saker i hemmet är till stor hjälp för handikappade. Folk som har problem att röra sig kan till exempel få bra hjälp av system som reglerar sängens läge. Ett annat område som röststyrning är användbart i är miljöer som kräver vår fulla uppmärksamhet, till exempel när man kör en bil. Det blir allt viktigare för så kallade handsfree utrustning. Numera är det i vissa länder förbjudet att köra och tala i en telefon samtidigt, ska detta göras så måste det ske genom en hands-free. På samma sätt är klimatanläggningar och stereon saker som stör koncentrationen, om de istället för knapptryckningar sköttes av röststyrning skulle trafiksäkerheten öka. Eftersom talet är en stor del av vårt dagliga liv handlar det även om en effektivisering, till exempel kan en människa uttala mellan 120-250 ord per minut, medan en vältränad datoranvändare kan skriva 100 till 150 ord per minut 3. 3 ³7DOLJHQNlQQLQJLWHRULRFKSUDNWLN (Johnny Larsson, 1998) 6

6SUnNHW En grundläggande kunskap för ett taligenkänningssystem är språkets uppbyggnad. Ett språks grundstenar kallas för fonem, de är de små betydelseskiljande ljudenheterna. I svenskan finns cirka 30 fonem 4. Ett taligenkänningssystem måste också veta hur de olika fonemen kan kombineras. När ett ord uttalas så hör vi ljud, men en maskin kan höra ljudvågens frekvens och även få se en bild av ljudvågen genom ett spektogram. Frekvensen är det antal gånger per sekund som en ljudvåg upprepar sig själv och spektogrammet är en bild över hur de olika frekvenserna förändras över tiden. 7DOYDULDWLRQ Ett språk byggs upp av ord och hur dessa ord uttalas skiljer sig stort. Olika variabler till variation kan vara kön, ålder, sinnesstämning och uttalshastighet. Ord låter även olika om de skriks ut eller viskas fram. 'LDOHNWHU Variationen i uttal kan bero på dialekter, många dialekter både förkortar ord eller har sina egna ord för samma sak. Ett exempel är norrländskan/värmländskan som ofta tar bort den sista vokalen i ett ord. %HWRQLQJ Svenska har en så kallad fri betoning, men i många andra språk har man bara en slags betoning. Då har man alltid betoning på samma stavelse. För svenskan innebär det att vi har huvudbetoning, bibetoning och obetoning. Detta påverkar många av de svenska orden. Beroende på hur vi betonar orden kan vi förmedla om vi menar ta i för allt du har, eller ta i trä. 7YHW\GLJKHWHU Tvetydigheter handlar i grund och botten om ordbetoning, hur långt/kort bokstäverna uttalas. Ett exempel är ordet hov. Som i ett hov, uttalas vokalen R mycket längre en det gör i en hästhov. En fiskhåv och ett kungligt hov uttalas på samma sätt och kan endast skiljas åt i skrift eller med hjälp av sammanhang. 3URGXNWLRQDYWDO När vi talar så kombinerar vi de olika fonemen till att bilda ord som i sin tur bildar meningar. Fonemen uttalas inte ett och ett utan de följer varandra. Fonemen och deras övergångar står i relation till varandra, och bildar tillsammans en ljudvåg. Som är periodiska förändringar av lufttrycket. Det är ljudvågen som senare analyseras i ett taligenkänningssystem. Ljudfrekvensen i tal är stort, vi kan istället mäta förändringarna av innehållet i en signal för de är färre. Därför summeras signalens egenskaper i en så kallad frame (ram). En ram har en längd på ca 10 ms och de olika händelserna gestaltas med vektorer. Ramar överlappar varandra för att man inte ska förlora information i övergångarna. För varje ram finns det ett ospecificerat antal egenskaper Q, och varje egenskap kan ha olika värden [. Vanliga system har vanligtvis 10-100 tals egenskaper, och egenskaperna ökar exponentiellt mot sina värden ([ ). Om Q är större än 2, måste ytterligare kompression göras för att kunna representera P(egenskaper fonem). Detta kan göras genom en Vektor kvantifiering (VHDYVQLWW) 4 )RQHWLNHQVJUXQGHU (Per Lindblad, 1997) Göteborgs Universitet 7

7DOLJHQNlQQLQJ Alla taligenkänningssystem är gjorda för olika ändamål, till exempel kan det gälla röststyrning för att få tillgång till en byggnad, automatiska telefontjänster och dikteringsprogram. På grund av de språkvariationen som finns i naturligt tal anses taligenkänning som ett probabilistiskt problem. 2OLNDWDOLJHQNlQQLQJVV\VWHP Det finns olika sorters system. De delas in i olika grupper beroende på vilka kriterier systemet uppfyller. %HURHQGHREHURHQGHDYWDODUHQ Ett talarberoende system är bundet till en specifik individ. Detta gör att systemet endast kan användas av den person som talat in ord och tränat systemet. Användaren tränar systemet till att känna igen de ord som anses nödvändiga, vilket gör att systemet ofta blir bättre. Det negativa är att de endast kan användas av en individ. De talaroberoende systemen är bättre på så sätt att systemet inte behöver lära sig hur en ny användare talar. Detta system är mer komplext och tar lägre tid att träna upp, eftersom den måste innehålla så många olika uttal för samma ord. )O\WDQGHWDOYHUVHUVSDXVHULQJ Det finns också system som klarar av flytande tal och de systemen som kräver pauser mellan de uttalade orden. Det positiva med pauser är att talaren tar det lugnt och artikulerar orden ordentligt, detta gör att systemet har lättare att känna igen orden och prestanda ökar. Fördelen med ett system som klarar av flytande tal är att det klarar av att identifiera dubbelt så många ord per minut som ett system som kräver pauser. Problem för system som tar flytande tal kan vara att människor uttalar ord olika fort, plus att människor ofta binder samman ord och tar bort ändelser. 2UGI UUnG Beroende på hur många ord systemet har i sin kunskapsbas klassificeras systemet som stort eller litet. Har systemet under 1 000 ord klassas det som ett litet och över som ett stort system. Ett riktigt stort system kan ha mellan 5 000 60 000 ord. 2UGEDVHUDGLJHQNlQQLQJ Ett litet system identifierar oftast hela ord. Ordsökning passar för små system därför att man tränar in de ord som systemet ska kunna. Eftersom orden är begränsade kan systemet lätt göra en identifiering, med något som matchar i kunskapsbasen. Skulle man använda detta för ett större system så skulle det krävas ett otroligt stort lagringsutrymme och sökningen skulle ta alldeles för lång tid för att vara användbart. Det positiva med ordbaserade system är att det har lättare att se till helheten och lättare för tvetydigheter. )RQHPEDVHUDGLJHQNlQQLQJ Större system baseras istället på fonemidentifiering. Det finns ett begränsat antal fonem vilket gör att det inte krävs så stort lagringsutrymme. Orden finns fortfarande i ordförrådet, men de finns inte lagrade med en massa information om sin helhet utan informationen koncentreras istället på fonemen som bygger upp ordet. 8

6\VWHPO VQLQJDU Det finns tre olika huvudlösningar, skillnaden mellan dessa är hur man använder intelligensen i igenkänningen och vilken signalbehandling som man använder. De tre olika implementationerna är, akustisk-fonetisk, mönstermatchning och Artificiell Intelligens. $FRXVWLFSKRQHWLFDSSURDFK Gör en sekventiell analys på signalen. Signalen byggs upp till sekvenser av fonem som i sin tur tolkas till ord. Taligenkänningen i ett sådant system sker i två etapper. I första etappen delas den talade signalen upp i tid och de olika fonem som uttalas. Talsignalen blir då indelad i diskreta tidssegment som sedan associeras till motsvarande möjliga fonem. Nästa steg innebär att försöka identifiera sekvensen med fonem till ett sannolikt ord. 3DWWHUQUHFRJQLWLRQDSSURDFK Är en matchning av mönster. Här delas inte ljudsignalens spektrum upp utan man analyserar hela spektret. De två stegen i denna tillämpning är att först träna på mönstren och sedan jämföra nya mönster mot de som redan finns tränade. Just för denna process kan man använda sig av HMM eller neurala nätverk. $UWLILFLDO,QWHOOLJHQFHDSSURDFK Är en blandning av de två föregående tillvägagångssätten. Det är ett försök till att på mekanisk väg likna igenkänningsfasen till hur vi människor skulle bearbeta och ta vårt beslut utifrån de akustiska egenskaperna vi får. För att kunna använda sig av fler regler och få mer information i beslutsfattandet används expertsystem för att dela upp fonemen. $NXVWLVNDRFKVSUnNPRGHOOHQ Generellt kan vi visa sannolikhetsproblemet med att ett visst ord har uttalats given en viss signal. Den mest sannolika tolkningen av signalen är värdet av Ord när det maximerar P(Ord Signal). Att använda sig av Bayes teorem kan vara till hjälp på grund av att det är ett bakvänt sätt att räkna ut sannolikheten. Att räkna ut just ett Ord givet en viss signal kan vara ganska krångligt. Om man istället har sannolikheten för ordet givet en viss signal och multiplicerar det med sannolikheten för ordet, får man lättare fram ett svar. Bayes Teorem: P(Signal Ord) P(Ord) / P(Signal) Genom att normalisera förändrar vi formeln. Vi ersätter 1/ P(Signal) med alfa. Detta på grund av att signalen inte påverkar valet av ord 5. Vi får då formeln: P(Ord Signal) = α P(Signal Ord) P(Ord) P(Signal Ord) brukar kallas för den akustiska modellen. Den förklarar hur ord låter, genom en signal givet ett visst ord. För att räkna ut detta använder man sig av en HMM (DYVQLWW), denna visar sannolikheten för en signal givet ordet. Till exempel att kan två olika ord ha samma signaler, en håv(fisk) och ett hov(kungligt). Då kan man använda sig av P(Ord) som kallas för språkmodellen, den ger sannolikheten för ett uttalande. För att räkna ut sannolikheten för P(Ord) använder man sig av en N-gram modell. Som använder det föregående N-1 ord till att förutse nästa ord. Detta innebär att systemet även måste veta 5 ³6SHHFK6\QWKHVLVDQG5HFRJQLWLRQ HGLWLRQ, (John and Wendy Holmes, 2001) 9

sannolikheten för att vissa ord hör ihop. Hade till exempel det föregående ordet varit en hade P(håv) haft ett högre värde än P(hov). Multiplicerar man sedan dessa två sannolikheter (P(Signal Ord) P(Ord))med alfa, så får vi fram sannolikheten för ordet givet en signal P(Ord Signal). $NXVWLVNDPRGHOOHQ Den akustiska modellen kan delas in i två delar. Den första behandlar uttal och skapar för varje ord en sannolikhet över möjliga fonemsekvenser. Fonem är små och inte direkt observerbara, för att representera tal använder man sig av en Hidden Markov Modell. Variabeln X t specificerar vilket fonem som används i tidpunkten t. Andra delen av modellen jobbar med hur fonem blir till akustiska signaler. Modellen tillåter skillnad i hastighet och volym. 1RLV\&KDQQHOPRGHO Eftersom systemen ska kunna användas i olika miljöer och med bakgrundsljud måste ett sätt finnas att kunna urskilja det talaren säger mot vad som händer/sägs i bakgrunden. På grund av detta behandlar Noisy Channel modellen den akustiska inputen som en brusig version av källsignalen. För att filtrera bort bruset söks alla meningar som finns i vokabulären genom, och sannolikheten räknas ut för att meningen i vokabulären skulle ge den brusiga signalen. Den meningen med störst sannolikhet väljs. 9HNWRUNYDQWLILHULQJ Detta är ett sätt för att minska signalens datamängd när en ram har skapats. Ramen består av en rad vektorer. För att minska datamängden jämförs dessa vektorer mot referensvektorer som finns i en kodbok. De inkommande vektorerna jämförs med referensvektorerna och den mest sannolika referensvektorn blir vald. En referensvektor har ett eget nummer, som ersätter den inkommande vektorn. Så de ursprungliga vektorerna blir i outputen till en sekvens av nummer. Den sekvensen blir sedan indata till HMM. +LGGHQ0DUNRY0RGHOV+00 Efter att man har gjort en vektor kvantifiering så behövs ytterligare förfining. Dels så handlar det om strukturen av fonem, olika fonem bildas på olika sätt i munhålan och ljuds därför ut på olika sätt. Ett sätt för att fånga fonemens interna struktur är three-state fonem modellen. Det innebär att varje fonem har en början, mitt och ett slut, och varje tillstånd fördelar olika egenskaper. En annan förfining handlar om kontexten där fonemet uttalas. Fonem som uttalas med varandra kan låta olika mot hur de skulle låta var för sig. 10

En fonem HMM för [m]: 0.3 0.9 0.4 Början 0.7 Mitten 0.1 Slutet 0.6 itt FINAL Output Sannolikheter för en fonem-hmm: Början: Mitten: Slutet: C1: 0.5 C3: 0.2 C4: 0.1 C2: 0.2 C4: 0.7 C6: 0.5 C3: 0.3 C5: 0.1 C7: 0.4 )LJXU±)RQHPHW0lUHWWH[HPSHOSnHWW WKUHHVWDWH IRQHP9DUMHWLOOVWnQGKDUIOHUP MOLJDRXWSXWV &&VWnUI UP MOLJDVLIIURUIUnQ9HNWRUNYDQWLILHULQJHQ En HMM används om man inte har någon information om de interna processerna, men outputen är en sekvens av observerbar data. I taligenkänning byggs en modell upp för varje möjligt ord givet en signal. En HMM måste tränas för varje specifikt ord. Systemet räknar ut sannolikheten för att en modell har gett en output av en specifik observationssekvens. Sedan väljs den optimala sekvensen av fonem ut, som matchar vektorerna, modellen tränas genom att uppdatera de nya vektorerna för att maximera sannolikhetsvärdet. Modellen kan generera mönstret över egenskaperna för att representera ordet 7. När en modell för ett visst ord aktiveras skapas vektorer som representerar ett exempel av ordet. Om modellen är bra gjord så ska statistiken visa att ungefär lika många egenskapsvektorer aktiveras i modellen som det skulle göras i det mänskliga uttalandet. En HMM kan även ses som den enklaste formen av ett Bayesianskt nätverk. I taligenkänning använder man sig av en så kallad left-right HMM 8. Det innebär att man kan gå vidare framåt i kedjan, men man kan aldrig backa till ett tillstånd som hänt innan det man befinner sig i för tillfället. )LJXU±(WWH[HPSHOSnHQOHIWULJKW+00 Outputen från en HMM är en stokastisk process, vilket betyder att allt beror på sannolikheten. Sannolikheten för alla handlingar i tiden t, beror bara på just det tillstånd som vi är i och inte värdet på W. I modellen finns också en diskret variabel som kallas X t, den står för det gömda tillståndet i tiden W. Y t står för observationerna i tiden W. 6 Artificial Intelligence, A modern approach, second edition - (Russell & Norvig, 2003) 7 ³6SHHFK6\QWKHVLVDQG5HFRJQLWLRQ HGLWLRQ, (John and Wendy Holmes, 2001) 8 ³$7XWRULDORQ+LGGHQ0DUNRY0RGHOVDQG6HOHFWHG$SSOLFDWLRQVLQ6SHHFK5HFRJQLWLRQ ±(Rabiner, 1988) 9 ³$7XWRULDORQ+LGGHQ0DUNRY0RGHOVDQG6HOHFWHG$SSOLFDWLRQVLQ6SHHFK5HFRJQLWLRQ ±(Rabiner, 1988) 11

9LWHUELDOJRULWPHQ $V NQLQJ Viterbialgoritmen är en algoritm som väljer ut den mest sannolika sekvensen givet en signal. Viterbialgoritmen löser orduppdelningsproblem genom dynamisk programmering för att undersöka alla möjliga ordsekvenser och ordbegränsningar samtidigt. Eftersom Viterbi går helt enligt sannolikhet ger den inte alltid rätt resultat. Därför har man till viss del börjat använda A*sökning istället. A* söker alltid efter den bästa lösningen. Har man kommit till målet av med sannolikheten 0.6 och det finns en nod med högre uppskattad sannolikhet högre upp i trädet så kommer A* att expandera den noden. För att på så sätt söka efter den högst sannolikalösning, även att den redan har funnit en lösning. På detta sätt är A* bättre lämpad för att söka efter det mest troliga ordet. En annan bra sak med A* är att den inte behöver söka genom hela tillståndsrymden. Eftersom den har vetskap om den uppskattade- och faktiska kostnaden, behöver den inte expandera vägar som den vet kommer att ge ett sämre resultat. 12

'LVNXVVLRQ Att taligenkänning är komplext är lätt att inse även för en icke insatt person. Bara av att lyssna på de olika dialekterna som finns i Sverige, dels de landskapsstyrda men även de invandrarstyrda dialekterna så märker vi en stor skillnad som i vissa fall ställer till problem även för oss människor 10. Om vi som är vana lyssnare har svårt för att förstå, vad har då inte en dator. För att möjliggöra en kommunikation mellan människor och datorer har man länge jobbat för att finna en bra lösning. Men de svenska talsystemen ligger än så länge efter de engelska. Detta kan vara på grund av att det finns fler engelsktalande som både kan utveckla och träna systemen än vad det finns svensktalande. De system som jag har provat tycker jag själv fungerar ganska bra, men jag vet att andra har haft problem och lätt irriterar sig på att systemet inte förstår eller går alldeles för långsamt. Jag tycker att man ska försöka ha lite tålamod och inse att systemen kanske inte fungerar perfekt nu, men att om man ger det lite tid och fortsätter använda systemen så kommer de bli bättre och bättre. Forskare har sedan 50- talet jobbat med att få datorer att frambringa och förstå tal, men det är först nu på senare år som datorerna har börjat få den prestanda som behövs för taligenkänningsprocessen. Desto fortare och bättre datorerna blir desto lättare och snabbare kommer taligenkänningen att fungera, givet att man fortsätter att forska och försöker utveckla de redan befintliga systemen. Jag har i min studie fått en inblick i några olika system och olika sätt att få systemen att fungera. De system som jag tycker är mest intressanta är de generella systemen som klarar av fler användare. Det är intressant hur man kan få en dator att förstå så många olika saker sagt av så många olika människor. 3UDNWLVNDH[HPSHO Jag har funnit en del praktiska tillämpningar på olika taligenkänningssystem. De flesta är system för att guida kunder rätt innan de når kundtjänst. Andra system är till för biljettbokning, eller för att få information om varor som företaget har. 7HOLDVNXQGVHUYLFH Telias kundtjänstsystem är till för att guida kunden in i rätt telefonkö på kundservice. Systemet börjar med att be kunden specificera sitt problem. När detta är klart ställs olika frågor, men det hela mynnar ut i att kunden får ge sitt telefonnummer och slussas vidare till en handläggare inom rätt område vid kundtjänst. 6-V%LOMHWWERNQLQJVV\VWHP SJ har ett biljettbokningssystem som fungerar så att kunden ringer ett nummer (se referenser). Därifrån guidas man vidare till antingen tidtabellsinformation, biljettbokning eller bemannad kundtjänst. I början använder sig man av knapptryckningar, men så fort man valt tidtabell eller biljettbokning så får man börja använda rösten för att göra sina val. Jag provade själv på tjänsten tidtabellsinformation och tycker att det fungerar relativt bra. Först får man ange varifrån man vill åka och vart. Systemet svarar tillbaka och undrar om det var en korrekt iakttagelse, man får då svara ja eller nej. Sedan följer frågor om vilken tid och vilken dag, vilket färdsätt med mera. Jag upplevde det som om systemet klarade av min dialekt, om jag pratade fort eller långsamt, tyst eller normal samtalston. Väntetiden var inte heller så lång, utan systemet kom relativt snabbt tillbaka med ett svar eller en fråga. 10 www.swedia.ling.gu.se/ 13

5HIHUHQVHU % FNHU ³$UWLILFLDO,QWHOOLJHQFH$PRGHUQDSSURDFKVHFRQGHGLWLRQ - (Stuart Russell & Peter Norvig, 2003) ³6SHHFK6\QWKHVLVDQG5HFRJQLWLRQ HGLWLRQ - (John and Wendy Holmes, 2001) )RQHWLNHQVJUXQGHU (Per Lindblad, 1997) Göteborgs Universitet 6SHHFKDQGODQJXDJHSURFHVVLQJ (Jurafsky & Martin, 2000) $UWLNODU ³$7XWRULDORQ+LGGHQ0DUNRY0RGHOVDQG6HOHFWHG$SSOLFDWLRQVLQ6SHHFK5HFRJQLWLRQ ± (Rabiner, 1988) ³*HQHUDWLYHIDFWRUDQDO\]HG+00IRUDXWRPDWLFVSHHFKUHFRJQLWLRQ ±(Yao, Paliwal, Lee, 2003) Speech communication, Volume 45, Issue 4, April 2005, sidorna 435-454 ([DPHQVDUEHWHQ ³7DOLJHQNlQQLQJLWHRULRFKSUDNWLN (Johnny Larsson, 1998) LiTH-ISY-EX-2030 :HEEVLGRU Telia Kundservice Lyssna på en interaktion http://www.telia.se/images/telia_90200_bredbandssupport.mp3 http://www.telia.se/images/digital_tv.wav Lyssna på Sverige olika dialekter www.swedia.ling.gu.se/ Ett nationellt centrum för svensk språkteknologi www.sprakteknologi.se 7HOHIRQQXPPHU SJ:s Talsvar: 0771-75 75 75 Telias kundtjänst: 90 200 14