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

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

Artificial)Intelligence) Taligenkänning)

Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0

AI-rapport Speech recognition

Niklas Lindvall Artificiell intelligens II Ht

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

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

- ett statistiskt fråga-svarsystem

Statistisk mönsterigenkänning

Kristian Almgren Artificiell Intelligens Linköpings Universitet Talstyrning

Taligenkänningssystem

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

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

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

Word- sense disambiguation

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

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Introduktion till programmering och Python Grundkurs i programmering med Python

Grundläggande textanalys. Joakim Nivre

4 Diskret stokastisk variabel

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

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

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

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

Vanliga frågor för VoiceXpress

Stina Nyman

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

Cristina Eriksson oktober 2001

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

1 Mätdata och statistik

Föreläsning 2. Operativsystem och programmering

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

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

Statistikens grunder HT, dagtid Statistiska institutionen

1.1 Diskret (Sannolikhets-)fördelning

NIVÅSKALA FÖR SPRÅKKUNSKAP OCH SPRÅKUTVECKLING, DET ANDRA INHEMSKA SPRÅKET OCH FRÄMMANDE SPRÅK

NIVÅSKALA FÖR SPRÅKKUNSKAP OCH SPRÅKUTVECKLING,

Statistik 1 för biologer, logopeder och psykologer

Föreläsningsmanus i matematisk statistik för lantmätare, vecka 2 HT07

1 Föreläsning I, Vecka I: 5/11-11/11 MatStat: Kap 1, avsnitt , 2.5

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, HT10 SMT. En fördjupning i statistiska maskinöversättningssystem

4.1 Grundläggande sannolikhetslära

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

MATEMATIKENS SPRÅK. Avsnitt 1

Planeringsstöd. Kunskapskrav i fokus

Föreläsning 1: Introduktion

Föreläsning 7: Punktskattningar

Slumpförsök för åk 1-3

Bygga linjära modeller! Didrik Vanhoenacker 2007

Programmering på papper. Datorer, programmering och instruktioner

Lektionsanteckningar 11-12: Normalfördelningen

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

F5 STOKASTISKA VARIABLER (NCT , samt del av 5.4)

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

Linköpings universitet Artificiell Intelligens II 729G11 HT Maskinöversättning. med hjälp av statistik. Erik Karlsson

Analys/syntes-kodning

7-2 Sammansatta händelser.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Fuzzy Logic: Den oskarpa skarpheten

FUZZY LOGIC. Christopher Palm chrpa087

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Vinjetter TDDC91 Datastrukturer och algoritmer

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

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON

Användarhandledning Version 1.2

Tillåtna hjälpmedel: Räknedosa. Formel- och tabellsamling i matematisk statistik.

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

DAB760: Språk och logik

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson

Fuzzy logic. Julia Birgersson, julbi

Föreläsning 1: Introduktion

Idag. Tillägg i schemat. Segmenteringsproblemet. Transkription

Constanta Olteanu, Linnéuniversitetet och Anna-Lena Ekdahl, Högskolan i Jönköping

Rapport från Praktik på SVOX AG till

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

En typisk medianmorot

Föreläsning 4: Konfidensintervall (forts.)

HI1024 Programmering, grundkurs TEN

y y 1 = k(x x 1 ) f(x) = 3 x

Sekvensnät Som Du kommer ihåg

Statistisk Maskinöversättning eller:

Målet för D3 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

SVENSKA SOM ANDRASPRÅK

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

Hur får jag ut kraft och nytta av POWER?

Markovkedjor. Patrik Zetterberg. 8 januari 2013

b450 genom munnen 76 b4502 Funktioner för att nysa Ny kod funktioner relaterade till slem slem, ospecificerade

Tolkhandledning

4 Fler deriveringsregler

Jag tror att alla lärare introducerar bråk

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

Laboration 2. Artificiell Intelligens, Ht Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink

Första sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade

F9 SAMPLINGFÖRDELNINGAR (NCT

Kontrollera att följande punkter är uppfyllda innan rapporten lämnas in: Första sidan är ett försättsblad (laddas ned från kurshemsidan)

Transkript:

Taligenkänning 1

Sammanfattning Taligenkänning är i dagens samhälle en nödvändig teknik för många människor för att lättare ta sig fram genom vardagen. Man hittar tekniken i olika sammanhang som telefonupplysning, kundtjänst, röstmeddelande, mail, datorhjälpmedel för handikappade, m.m. Taligenkänning handlar om att förstå mänskligt tal i olika former. Givet akustiska signaler kan man med hjälp av taligenkännaren identifiera en sekvens av ord uttryckt av en talare. För att utföra denna process, för att känna igen olika talmönster tar igenkännaren hjälp av olika tekniker som t.ex. Hidden Markov Model, Viterbi algoritmen eller Vector Quantization. Taligenkännaren måste kunna förstå och ta hänsyn till många aspekter i det mänskliga språket: vokabulär, talgränser i fraser/meningar, ljud av ord och fonem, syntax och semantik. Genom att läsa om och försöka förstå hur taligenkänningssystemen fungerar kan man förstå den komplexitet och intelligens systemen verkligen har. 2

Innehållsförteckning 1. Grunderna i taligenkänning.4 1.1 Den akustiska modellen och språkmodellen; två viktiga faktorer 5 1.2 Att bygga ett taligenkänningssystem 6 1.3 Olika typer av taligenkännare 8 2. Hidden Markov Models (HMM)...11 2.1 Problem inom HMM s 13 3. Viterbi algoritmen.15 4. Vector Quantization..16 5. Diskussion.17 6. Referenser.18 3

1. Grunderna i taligenkänning Taligenkänning är en process med vilken systemet, givet akustiska signaler, kan identifiera en sekvens av ord uttryckta av en talare.(russell & Norvig, 2010) Taligenkänning är ett modernt artificiellt system som idag används inom väldigt många områden. Systemet används dagligen vid tillfällen då man t.ex. ringer till olika kundtjänster som hjälper en att boka biljetter, hitta mobilnummer eller personer, när man försöker navigera röstmeddelandesystem m.m. Det är också en nödvändig teknik i dagens samhälle för människor som har svårt att använda andra sätt än talet att kommunicera och ta sig fram i vardagen. T.ex. människor inom militära yrken, inom flygvapnet kan använda sig av taligenkänning i deras system för att göra simpla saker som att ställa in frekvensen, att kontrollera ett autopilot system och mycket mer. Detta har visats hjälpa och förenkla piloter i deras arbete. (http://en.wikipedia.org/wiki/speech_recognition) Taligenkänningsprocessen är en process som hjälper datorer och system att försöka förstå mänskligt tal i olika former, både naturligt och tillämpat tal. Det krävs många olika aspekter för att kunna bygga ett taligenkänningssystem, man måste tillämpa den akustiska modellen som beskriver ljudet av ett ord, och språkmodellen som specificerar sannolikheten av den mest troliga sekvensen av ord som sägs. Inom taligenkänning kan det uppstå vissa problem beroende på vilka ord eller meningar som talaren säger. Därför måste taligenkänningssystemet baseras på lingvistiska områden som läran om syntax och semantik då ord kan låta lika men ha olika innebörd beroende på meningssammanhang. Taligenkänningssystemet måste även lära sig hur olika ljud kan låta och hur olika bokstäver kan låta i olika ord beroende på t.ex. dialekter, ålder, tillstånd, kön, bakgrund m.m.(russell & Norvig, 2010) 4

1.1 Den akustiska modellen och språkmodellen; två viktiga faktorer Som sagt tidigare är det vanligt att problem uppkommer inom taligenkänning p.g.a. många olika saker. Tre vanliga sätt som problem kan uppkomma på är: Segmentering, som sker när vissa meningar trots att de har mellanslag i sig uttalas snabbt och kan då låta som en fras som kan handla om något helt annat. Detta problem kan göra att betydelsen av det man ville ha sagt helt förändras till något annat. Koartikulation. Detta sker när man uttalar en mening snabbt så att vissa ändelser på orden kan sammankopplas med det kommande ordet i meningen och kan därför tolkas som ett sammansatt, nytt ord. T.ex. ordet nice där ändelsen s uttalas snabbt med b i början av ordet beach i meningen nice beach så kan s och b tolkas som sp vilket gör att ett helt nytt uttryck bildas och gör det svårt för igenkänningsprogrammet att uppfatta vad som sagts. Homofoner. Detta problem inträffar då ord som t.ex. to, too och two uppkommer. Dessa ord låter likadant men har helt olika innebörd. Detta problem är vanligt och kräver väldigt mycket intelligens av systemet för att förstå vilken betydelse ordet har. För att kunna lösa dessa problem tillämpas den akustiska modellen och språkmodellen i taligenkänning. Den akustiska modellen beskriver ljudet av ord. Den gör att igenkännaren kan identifiera en sekvens av ord. Språkmodellen kan beskrivas som en n-gram modell av text lärd av en korpus av skrivna meningar. Mellan skrivet språk och talat språk finns det karaktäristiska skillnader vilket gör att för språkmodellen är det bättre att få en korpus av transkriptioner av talat språk. Taligenkänning kan man se som ett problem i en mest-sannolik sekvens förklaring. Man vill beräkna den mest sannolika sekvensen av ett ord som räknas som en slumpmässig variabel och sannolikheten av alla uttalanden som är möjliga, givet en sekvens av ljud, akustiska signaler. Detta kan beskrivas med Bayes regel: P(ord 1:t ljud 1:t ) = P(ljud 1:t ord 1:t )P(ord 1:t ) I regeln P(ljud 1:t ord 1:t ) är den akustiska modellen och beskriver ljudet av orden. Att t.ex. ordet ceiling (tak) börjar med ett mjukt c och låter likadant som ordet seiling (försegling) men som betyder två hela olika saker. P(ord 1:t ) är språkmodellen som specificerar, beskriver och beräknar sannolikheten för varje möjligt yttrande. I exemplet om ordet ceiling och seiling så kan språkmodellen få fram att t.ex. ceiling fan är 500 gånger mer troligt som sekvens än seiling fan. 5

Både språkmodellen och den akustiska modellen är komplexa system. Inom taligenkänning ses den akustiska modellen som mer komplex och språkmodellen som enklare. Detta beror på att den akustiska modellen bygger på det talande, mänskliga språket som innehåller många ljud av olika slag. Lingvister har identifierat ca: 100 talljud som kan bli komponerade till alla ord i det mänskliga språket. Fonem i språket är den minsta enheten av ljud som har en distinkt mening till talare av ett visst språk. Ett exempel på detta är att ett t kan låta likadant i ordet stick och tick i engelskan och ses då som ett fonem, medan man kan i andra språk, t.ex. thailändska se en signifikant skillnad mellan t i två olika ord och gör det då till två fonem. För att kunna identifiera ord behöver man en representation som kan särskilja olika fonem. Det finns dock några icke fonetiska variationer som inte behöver särskiljas för att få fram ordet, dessa är ljud som är höga eller låga, ljud från manliga eller kvinnliga röster, snabba eller långsamma ljud etc. Inom taligenkänningen är vi endast intresserade av vilka ord som talas och inte hur de låter, detta gör att systemet inte behöver hålla mycket information om ljudvågor, samplingsfrekvenser eller kvantiseringsfaktorer i ljudet utan endast särskilja olika talljud. (Russell & Norvig, 2010) 1.2 Att bygga ett taligenkänningssystem När det kommer till uppbyggnaden av vilket taligenkänningssystem som helst så finns det tre grundläggande komponenter, dessa är: Representation. Denna komponent är den form där igenkännaren konverterar talsignalen innan den börjar analyser för att identifiera ord. Det finns finare, mer abstrakta representationer av tal som fonem och distinkta egenskaper. Hidden Markov Models är en statistisk representation som är baserad på de olika sätt som dessa fonem eller ord blir uttalade på. En igenkännare som är simpel digitaliserar inkommande auditiv information med hjälp av en dekoder. Sedan använder den sig av en digital signalbearbetande algoritm för att extrahera ramar av Linjära Predikat Kod (LPK) koefficienter varje 20e millisekund. LPK är och representerar kortfattade representationer av artikulatoriska särdrag av tal. De fångar både resonanser och uttrycksegenskaper i sångkanalen. De data man får ut av LPK förenklar senare komponenten mönstermatchning. Ett set av mallar eller modeller. Denna komponent används i representationen av tal, används av igenkännaren och är beskrivningar av varje ord som ska kännas igen. De ord som igenkännaren kan identifiera kan mallarna beskriva. Om igenkännaren bestämmer när användaren (som kommer från en ordlista) börjar och slutar prata för att veta vilken LPK-ram att inkludera så kan man bygga en mall. Mallar kan tränas upp hos den simpla igenkännaren genom att en användare säger varje ord en gång. Mer avancerade mallar kan ta in flera ord för att bygga en större mall. När mallarna 6

är väl tränade kan användaren spara dem som en fil på värddatorn och ladda upp den igen innan varje session. Detta görs för att undvika att mallen behöver tränas varje gång på nytt. Det kan även hända att en mall måste tränas igen ifall användaren t.ex. lider av förkylning eller annan sjukdom som kan förvränga rösten. Mönster matchning. Denna komponent eller algoritm gör beslut om vilken mall som är mest lik ett provexemplar av en talinput. Den försöker hitta liknelser mellan det talaren säger och de mallar eller schabloner som finns. Denna process gör att algoritmen kan bestämma om likheten mellan inputen och mallen är stor nog för ordet att bli accepterat och förstått. Hjälpmedel och större kunskap om språk som semantik och syntax kan man hitta i väldigt stora ordförråds igenkännare. Denna kunskap behövs för att kunna hitta acceptabla ord i dessa stora system. Inom mönstermatchning fångas ett ord upp genom att det upptäcks att överskrida bakgrundsljudet, sedan konverteras inputen till LPK ramar tills inputen igen faller tillbaka till bakgrundsnivån. När ordet är funnet blir det jämfört med varje mall som finns. Ett fel kan uppkomma, frame-by-frame felet som innebär att ett fel för ordet är summan av fel för varje ram. Detta gör att man kan se vad som matchar bäst, mallen med det minsta felet matchar audioinputen. (Schmandt, 1994) Mallminne Signalanalys Matchning Text Figur1. Denna figur visar de funktionella elementen hos en taligenkännare. Användarens talsignal blir digitaliserad i det första steget och konverterad till igenkännarens interna representation. Talet som då är fångat matchas i nästa steg med orden som finns lagrade i igenkännarens mallminne. I det sista steget bestämmer sedan matchningsalgoritmen vilken mall, om det finns någon, som är närmast träff. Denna träff ger sedan en output av en tolkning av talet. (Schmandt, 1994) 7

1.3 Olika typer av taligenkännare Det finns många olika taligenkännare som har en väldigt stor bredd och skillnad i deras funktionalitet. Funktionalitet och utförande är viktigt beroende på vilken särskild tillämpning igenkännaren ska användas i. När man väljer en igenkännare för en viss tillämpning så är det även viktigt med andra skillnader mellan olika igenkännings tekniker. En tre-dimensionell modell som representerar de möjliga igenkännings konfigurationer kan se ut på följande vis: Tal- oberoende Adaptiv Beroende Ordförråd storlek Isolerat Kopplat Kontinuerligt- tal Figur2. Denna figur visar en modell över de olika funktionerna som en igenkännare behöver. Vissa av dessa funktioner finns i samhället idag och används ofta. Enligt Schmandt så finns vissa av dem fortfarande bara i forskning men håller sakta på att komma fram mer och mer. En tal-oberoende igenkännare fungerar på så vis att den är byggd och designad till att kunna känna igen vem som helst. Den är dock ganska svår i och med att alla människor pratar lite olika även om vi säger samma ord. I och med att vi pratar annorlunda så behöver den tal-oberoende igenkännaren mer detaljrika mallar och en grupperande teknik för att kunna de olika sätt det finns att uttala ett ord på. Många taloberoende igenkännare har ett litet ordförråd med endast 10-20 ord. De känner också endast igen enstaka ord som talas i isolering. Det finns dock tal-oberoende 8

igenkännare med ett större ordförråd, det svåra för de är att de då måste förlita sig på en strikt grammatik för att uppnå ett igenkänningsutförande. Den tal-beroende igenkännaren fungerar lite annorlunda då den förväntas att endast förstå en särskild talare. Denna igenkännare använder sig av en liknande inlärnings metod som den simpla igenkännaren gjorde. Där multi mallar kan tränas upp och tillsammans slås ihop för att ge ett hyffsat bra och vanligt uttal för varje ord i ordförrådet. Den tal-beroende igenkännaren är mycket lättare än den oberoende då det inte kräver lika mycket av igenkännaren för att förstå ett ord. En tal-adaptiv igenkännare är väldigt bra på många sätt då den är en kombination av de övre två igenkännarna. När den hanterar en ny användare så behöver inte användaren träna in varje ord i ordförrådet utan det fungerar varje gång. Denna igenkännare kan passa in ord med en viss talare genom den grundläggande akustiska modell för varje ord som den har. Tal-adaptiva igenkännaren anpassar sig till en viss talare genom att införa användarfeedback när den känner igen ett ord rätt eller fel, och genom att kalibrera sig själv till ett känt stycke av personens tal. En tal-adaptiv igenkännare är bra om en stor ordförråds storlek behövs, då att träna många mallar tar lång tid och är långdraget. Man kan tala om isolerade och kopplade ord inom taligenkänning. En diskret-tal igenkännare behöver och kräver pauser mellan varje ord för att kunna identifiera ord gränser. Den kopplade-tal igenkännaren är uppbyggd och designad på så vis att den ska kunna känna igen en kort serie av ord som är uttalat tillsammans i en fras. Den kontinuerliga-tal igenkännaren skiljer sig från de andra två då den är byggd så att den kan identifiera ord i en lång linje av vanligt tal utan att talaren behöver pausa mellan grupper av ord. Det finns även en igenkännare, nyckelords-upptäckar igenkännaren (keyword-spotting), denna kan i en mängd av ord hitta och lokalisera några ord i mitten av mängden om det behövs. Många applikationer av taligenkänning är baserade på isolerad/diskret-ord igenkänning för att isolerad/diskret-ord igenkänning är mycket enklare än koppladord igenkänning på grund av flera orsaker: Kopplade ord måste gå igenom koartikulation som kan skapa problem i och med att uttalet på ett ord ändras i funktion med sitt grann ord. Isolerade ord behöver inte gå igenom koartikulations effekten mellan ord. I den isolerade igenkänningen så är det svårt att hitta ordgränser i flytande tal. Detta gör även att det inte finns pauser mellan orden eller någon sänkning av tal-energi åt ordgränser. Sannolikheten av att få fel i sin analys av ord blir högre ju fler ord det finns i uttalandet. Om det första ordet får fel och blir fel analyserat så blir nästa ord i uttalandet svårt att analysera. Ordförråd storleken är ett till sätt att skilja på igenkännare. Detta sätt kan kategoriseras in i small, medium eller large. Den minsta ordförråds storleken i igenkänningen, small, har ett ordförråd på mindre än 200 ord och har använts i samhället under en längre tid. Medium storleks igenkännare på 200-5000 ord håller på 9

att utvecklas genom samma algoritmer som small är uppbyggt av. Large storlek igenkänningen siktar på 5000-10 000 ord. Det finns en gräns för ordförrådens storlek, denna gräns visar att ju fler ord det blir desto mer troligt blir det att igenkännaren hittar några ord som är lika. (Schmandt, 1994) 10

2. Hidden Markov Models (HMM) Hidden Markov Modellen är en väldigt bra teknik inom taligenkänning för att känna igen talmönster då den kan beräkna sannolikheten av att ett ord i en fras eller mening följs av ett annat. En HMM är väldigt effektiv då den kan användas till att representera ett ord med inre tillstånd. Dessa inre tillstånd representerar karaktäristiska akustiska segment, som t.ex. fonem eller allofoner. En Hidden Markov Modell kan ses som en väldigt stark representation av tal. Det är en tvåstegs process och en matematisk konstruktion där ett antal detaljerade algoritmer finns för att lösa problem associerade med HMM. En HMM består utav ett antal interna tillstånd. Modellen använder sig av en ett steg i taget process där den går ifrån starttillståndet till mål tillståndet och genererar vid varje steg en observerbar output. Ett exempel på denna process är att tillstånden kan motsvara ett fonem i ett ord. Här motsvarar även den observerbara outputen ett nummer av akustiska särdrag, om det finns några. Modellen kan vid varje steg bestämma om den ska flytta till ett nytt steg eller stanna i det nuvarande steget. Vi kan endast observera modellens output och inte dess direkta tillstånd, detta gör att modellen är gömd. Ur ett sådant exempel som detta kan man få ut två saker ur den serien av observerbar outputs vi får ut. Det första är att man kan gissa när modellen befann sig i varje tillstånd. Det andra är att man kan säga om några serier av outputs var troliga att bli genererade av en viss HMM. (Schmandt 1994) Figur3. Detta är ett exempel av en typiskt Hidden Markov Modell med sannoliks parametrar. De olika parametrarna på bilden representerar sambandet i modellen. Där 11

y visar möjliga observationer, x visar olika tillstånd, a visar de olika tillståndens sannolika övergångar och b visar sannolika outputs. (http://en.wikipedia.org/wiki/hidden_markov_model) Ett exempel på en Hidden Markov Modell är exemplet om boxen och skålen som är karakteriserat av ett antal tillstånd (boxen och skålen) och associerade sannolikheter för varje övergång från något av tillstånden, exemplet är beskrivet av Schmandt på följande vis (översatt till svenska): En box och en skål är båda fulla med svarta och vita kulor. Boxen har många fler svarta kulor än vita medan vita kulor dominerar i skålen. Med start vid boxen, så tar vi ut en slumpmässig kula och ger den till en observatör i ett annat rum som inte ser vad som händer. Sedan kastas en vanlig 6-sidig tärning. Om resultatet av tärningskastet är mindre än 4 så tas en ny kula upp men från skålen denna gång. Om tärningskastet resulterar i en högre siffra än 3 så blir nästa kula vald ur boxen. Sedan fortsätter det på samma vis. När vi väljer en kula från boxen, en tärning kastas och det blir mindre än 4, börjar vi ta ur skålen. När vi börjat ta en kula ur skålen fortsätter vi ta ur den om inte tärningen visar 1, visar den 1 så är vi klara att plocka kulor ur skålen. Enligt Schmandt så visar detta exempel hur sannolikheten av ett tillstånd och en handling kan påverka utfallet. I detta fall så är det mer troligt att kulor kommer väljas ur skålen upprepade gånger då en tillståndsövergång från boxen har en sannolikhet på ½ att skifta till skålen. Jämfört med skålen som har en sannolikhet på ⅙ att sluta och ⅚ att fortsätta. Av detta kan man dra slutsatsen av att genom detta upplägg kommer fler svarta kulor ges till observatören när det fortfarande är i box tillståndet, och sedan att producera fler vita kulor. Fler vita kulor kommer finnas med i slutet av experimentet. I samband med att det finns två tillstånd att hämta kulor ifrån och en tärning som kastas så är detta en sannolikhets process vilket visar att det inte behöver betyda att alla svarta kulor kommer från boxen och att alla val görs ur skålen, detta är något man inte får glömma i analysen och uträkningen. Att observatören sitter i ett annat rum och inte bevittnar händelseförloppet visar att exemplet på modellen är gömt. Ett annat exempel på en Hidden Markov Modell är det där HMM kan ses som tillståndsgrafer: 12

Figur4. Exempel på hur en HMM kan se ut som en tillståndgraf. I tillståndgrafen betyder de olika variablerna och siffrorna olika saker. S(n) står för varje tillstånd. I varje tillstånd finns det viss sannolikhet P(n, n) som finns kvar i det tillståndet. Det finns även viss sannolikhet P(n, n + 1) av överföring till nästa tillstånd. P 13 indikerar att det är möjligt i denna modell att skippa ett tillstånd eller en serie av tillstånd. Modellen beräknar varje möjlig väg genom sina tillstånd. (Schmandt 1994) 2.1 Problem inom HMM s Olika problem kan uppkomma i HMM baserade igenkännare. De kan lösas på olika sätt och enligt Schmandt finns det två problem som är relaterade till HMM som kan lösas på ett matematiskt vis: Det första problemet handlar om att träna den statistiskt definierade HMM s som igenkännaren har krävt som mall. Ett antal observations sekvenser är givet och HMM s skall representera just ett visst ord. Det andra problemet kan man säga är inte alltid relaterat under igenkänning. Det går ut på att besluta de interna tillstånden av modellen som var mest sannolika i varje steg för några HMM s och ett set av observerade outputs. Dessa problem löser man oftast med den matematiska algoritmen Viterbi. (Schmandt 1994) En annan teori finns framtagen av Lawrence R. Rabiner som säger att det finns tre stycken grundläggande problem för HMM s. Dessa problem måste lösas för att modellen ska kunna användas i verkligen problem. De tre problemen med Rabiners ord: Problem 1: Givet den observerade sekvensen O = O 1 O 2 O T, och en modell λ = (A, B, π), hur beräknar vi effektivt P(O λ), sannolikheten av observationssekvensen, givet modellen. 13

Problem 2: Givet den observerade sekvensen O = O 1 O 2 O T, och en modell λ, hur väljer vi en motsvarande tillståndssekvens Q = q 1 q 2 q T, som är optimal i någon meningsfull betydelse (i.e, bäst förklara observationer?) Problem 3: Hur anpassar vi modell parametrarna λ = (A, B, π) för att maximera P(O λ)? Det första problemet kan man kalla ett utvärderingsproblem. Om man ger det en modell och en sekvens av observationer, hur kan man räkna ut sannolikheten av att den observerade sekvensen vad producerad av modellen. Detta problem låter oss välja den modell som bäst matchar observationerna. Det andra problemet handlar om att försöka hitta den rätta tillståndssekvensen genom att försöka hitta den gömda delen av modellen. Det tredje problemet handlar om att man vill så bra som möjligt beskriva hur en given observationssekvens kommer till verklighet genom att försöka optimera modellens parametrar. Observationssekvensen kallas för en träningssekvens för den används till för att träna HMM. För att man ska kunna optimalt anpassa modell parametrar till observerad tränings data så är tränings problemet väldigt viktigt för många applikationer hos HMM s. (Rabiner 1989) 14

3. Viterbi algoritmen Viterbi algoritmen kan lösa flera problem som är relaterade med HMM s och taligenkänning. Det är en dynamisk programmerings algoritm som är väldigt vanlig inom tal och språk processer. Viterbi algoritmen vill hitta den bästa vägen i ett nätverk som är komponerat av enstaka ord. Genom att göra detta så väljer Viterbi algoritmen ett ord som är mest sannolikt, givet observationssekvensen med strängen av ord. (Jurafsky & Martin 2000) Den vill hitta den mest sannolika sekvensen hos gömda tillstånd, detta kallas Viterbi vägen. Algoritmen gör ett antal antaganden för vad som krävs, dessa antaganden finns hos bl.a. HMM s: Första antagandet, både de observerade händelserna och de gömda händelserna måste vara i samma sekvens. Denna sekvens svarar ofta mot tid. Nästa, dessa två sekvenser måste vara anpassade, och ett exempel av en observations händelse måste svara till exakt ett exempel av en gömd händelse. Tredje, att beräkna den mest sannolika sekvensen upp till en punkt t måste bero endast på den observerade händelsen t, och den mest sannolika sekvensen på punkt t-1. Inom taligenkänning tillämpas och används Viterbi algoritmen genom att den behandlar den akustiska signalen som en observerad sekvens av händelser. Strängen av text som framförs anses som den gömda delen av den akustiska signalen. Denna process resulterar i att algoritmen hittar den mest sannolika sträng av text för den givna akustiska signalen. (http://en.wikipedia.org/wiki/viterbi_algorithm) 15

4. Vector Quantization (VQ) Vector Quantization är ännu en teknik precis som HMM och Viterbi algoritmen att tillämpa i taligenkänning för att känna igen olika talmönster. Denna teknik används för datareduktion i taligenkänning och talkodning. VQ är väldigt effektiv då den genom att representera typiska värden av inputen kan minska omfattande input värden till mindre och färre set. Detta gör att man sparar väldigt mycket lagrings utrymme. Genom att effektivt klustra alla möjliga input värden så kan man använda sig av VQ. Hur man klustrar liknande input värden bestäms av analysen av provdata. Medelvärdet i klustret representerar sedan hela setet av data i en grupp. Varje kluster är representerade som en codebook där medelvärdet av varje grupp listas. Genom codebook kan ny data bli klassificerad genom att välja det närmsta värdet till den datan. Processen av VQ-tekniken är ganska lik processen då man väljer ord mallar för igenkänning. (Schmandt 1994) 16

5. Diskussion Taligenkänning är ett komplext system, genom att ha studerat det och gjort en studie om det har jag verkligen lärt mig hur mycket man inte tänker på som systemet klarar av. Igenkänningssystemet klarar ju av att känna igen ord från de akustiska signalerna trots olika talskillnader som kan uppkomma hos människor. I Sverige finns det många olika dialekter från norr till söder i landet, vilket många av oss säkert har svårt att förstå vissa av dem. Detta tycker jag är intressant för det visar verkligen hur intelligent taligenkänningssystemet är då det ofta kan känna igen ordsekvenser trots dialekter, ålder m.m. Taligenkänningssystemen kan vara en bra hjälp för handikappade som har svårt att använda sig av ett tangentbord, denna utveckling är otroligt bra tycker jag för så många handikappade i världen. Det fungerar bra så att de kan få leva normalt utan extra ansträngning. Detta kan ju vara en påfrestande process ibland när man tycker att taligenkänningssystemet går för långsamt i vår hektiska vardag, men då måste man nog lära sig att ta det lugnt och inte stressa i sitt tal för att kunna få ut det mesta av sitt samtal med ett sådant system. Vi har väl alla någon gång haft ett samtal med någon kundtjänst för att boka biljett via telefon med en maskin och inte med en mänsklig varelse. Detta har flera gånger resulterat i att man skrikit åt maskinen i telefonen varför förstår du inte vad jag säger, varpå man får svaret vill du åka till Stockholm, tryck #. Detta är ett taligenkänningssystem där systemet inte hänger med på vad talaren säger i och med att det inte finns några klara resmål i det som jag som talare uttrycker. Att taligenkänning kommer bli större i vårt samhälle och utvecklas mer har jag inga tvivel om. Jag tror inte det kommer vara några synligt märkbara skillnader som vi kommer förundras över utan dessa förändringar kan vara småsaker som kommer hjälpa oss människor mer i vardagen. Tekniken idag inom många artificiella områden går framåt och fler intelligenta system utvecklas. Taligenkänning kommer nog betyda mycket för våra vardagliga liv, mer för varje år som går och för all utveckling som förmodligen kommer ske inom området. 17

6. Referenser Schmandt, C (1994) Voice Communication with Computers: Conversational Systems. New York: Van Nostrand Reinhold. Norvig, P. Russell, S. J. (2010) Artificial Intelligence: A Modern Approach, third edition. New Jersey: Pearson Education, Inc. Jurafsky, D. Martin, J. H. (2000) Speech and Language Processing. New Jersey: Prentice- Hall, Inc. Rabiner, L. (1989) A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, http://www.cs.ubc.ca/~murphyk/bayes/rabiner.pdf (2011-09-12) Speech recognition, http://en.wikipedia.org/wiki/speech_recognition (2011-09-11) Hidden Markov Model, http://en.wikipedia.org/wiki/hidden_markov_model (2011-09-12) Viterbi algorithm, http://en.wikipedia.org/wiki/viterbi_algorithm (2011-09-13) 18