Taligenkänning Hur datorer känner igen talat språk 729G43 Artificiell Intelligens Charlie Forsgren, chafo246 2014-01-09
Charlie Forsgren Innehållsförteckning Inledning..3 Språk och Ljud 4 Elektronisk Inspelning 5 Från Inspelning till Igenkännande 7 Markovkedjor..7 Spektralegenskaper.9 Viterbis Algoritm..10 Diskussion.11 Referenser.12 2
Charlie Forsgren Inledning Sättet vi interagerar med moderna datorer är idag under aktiv utveckling och vi kopplar betydligt fler verktyg än muspekare och tangentbord till våra datorer för att interagera med dem. Länge har de gränssnitt och verktyg genom vilka man interagerar med moderna datorer genom varit bundna till maskiners begränsningar och inte varit anpassade till hur människor vanligtvis kommunicerar. De senaste decenniet har mycket förändrats och de medium genom vilka datorer tolkar våra intentioner har breddats och på många sätt utvecklats i förmån för människan i större utsträckning än för maskinen. Se till exempelvis produkter som använder personens position för att ge relevant information om platsen, här blir positionering ett eget medium som datorn använder och svarar till. Ett mer situerat exempel är rörelsebaserade medium där kameror används för att se och tolka hur individen gestikulerar medan man i andra fall låter personer använda kontroller med inbyggda gyron som aktivt lyssnar till rörelser vilka datorn sedan svarar till. Kanske den starkaste indikatorn på att maskiner formas mer efter människan är hur man med datorer försöker tolka det möjligtvis mest naturliga kommunikationsmedlet talat språk och låta detta vara del av gränssnitt. Området där man gör utveckling för att tillåta detta kallas taligenkänning (och är inte att förväxlas med röstigenkänning som syftar till identifikationen av en talare) och det är denna teknologi arbetet vill ge en kort redovisning för. Området är på många sätt starkt förknippat med artificiell intelligens (härefter AI) på grund av dess avgörande roll i huruvida ett system upplevs som intelligent eller inte, vilket är en av de fyra kriterierna för vad som utgör AI (Russell & Norvig, 2009) 3
Charlie Forsgren Språk och Ljud För att producera alla de ljud som används vid tal använder kroppen lungorna, luftrören, struphuvudet (där bl.a. stämbanden sitter), munhålan och de nasala kaviteterna (Speaker Independent Connected, 2000). Dessa bildar tillsammans olika kategorier av ljud baserat på egenskaper i de nämnda komponenterna som användes. Exempelvis finns plosiva ljud där en tryckansamling bildas nedanför svalget och frigörs plötsligt för att ge upphov till e.g. puh -ljudet i pingis utan att behöva involvera stämbanden (Coxhead, 2012). Ett annat exempel är frikativa ljud som uppstår när luft tvingas genom smala luftvägar vilket ger upphov till ljud så som Sh -ljudet i Sherlock eller F -ljudet i Frikativ (Coxhead, 2012). I många språk anser man att en rad uttalade fonem (minsta betydelsebärande språkljud) tillsammans är vad som bildar tal. Dessvärre så är det inte alltid som samma fonem låter lika mellan personer med olika dialekter eller mellan ord eftersom omkringliggande fonem kan påverka ljuden på varandra. Detta fenomen kallas allofonisk variation och olika ljud så samma fonem kallar man för allofoner. Ett fonem skulle exempelvis kunna vara ett långt ö och denna skulle variera och forma två olika allofoner i orden hör och hög som dessutom kan variera ytterligare mellan personer och dialekter. Det här försvårar för taligenkänning och innebär att språk är väldigt kontextbundet i frågor om fysiologi och dialekt. 4
" 729G43 - Artificiell Intelligens Charlie Forsgren Elektronisk Inspelning För att spela in ljud använder man mikrofoner som består av ljud-responsiva element som konverterar förändringar i lufttrycket till motsvarande förändringar i antingen laddning eller spänning. Detta bildar en analog signal som sedan samplas vilket innebär att man utvinner värden från ljudströmmen från ett givet tidsintervall. Efter det kvantifieras den samplade ljudströmmen vilket betyder att man att man konverterar de samplade värdena till ett diskret värde med en specificerad bitlängd (Speaker Independent Connected, 2000). Bitlängden är den avgörande faktorn för hur många decibel en kvantifierad inspelning kan fluktuera mellan. Antalet bit står i förhållande till hur väl den analoga signalen översätts och med en högre bitmängd kan den kvantifierade outputen inta värden närmare den analoga signalen. På så vis undviker man förluster och störningar och man kan säga att ljudet får en högre upplösning (Speaker Independent Connected, 2000). Ljud från tal bör i teorin inte kräva mer än 8 eller 9bit eftersom det mesta talet ligger mellan 50-60dB men bl.a. på grund av att människor fluktuerar i sitt tal används ofta 11 till 12bit för att spela in högkvalitativt tal. CD-skivor använder en bitlängd på 24bit vilket är mer eller mindre samma kapacitet som det mänskliga hörselsystemet tillåter (D. R. Campbell, 2011) Figur 1. Kvantifiering (röd) av en kontinuerlig och analog signal (grå). 5
" 729G43 - Artificiell Intelligens Charlie Forsgren Ljud består av lufttrycksförändringar och dess variationer härör från frekvens och amplitud. Vid insamlingen av ljud är det viktigt att inte undergå en inspelningsfrekvens av mindre än dubbelt så mycket än den högsta frekvensen. Det betyder att om en mening innehåller ljud med en frekvens på 6kHz måste samplingsfrekvensen vara minst 12kHz för att undvika så kallad vikning vilket är då höga frekvenser viks ned och blandas med lägre frekvenser och skapar vikningsdistortion (Speaker Independent Connected, 2000). Detta upplevs som ett surrande ljud när signalen borde vara klar. Figur 2. Samplingsfrekvensen (blå) underskrider ljudet (röd) som spelas in. I vanligt talat språk ligger de mesta signifikant betydelsefulla ljuden omkring 5kHz men t.ex friktiva ljud uppmäter frekvenser omkring 10kHz (Speaker Independent Connected, 2000). Ett mänskligt öra kan uppfatta frekvenser upp till 20kHz vilket är anledningen till att musik-cd:s samplas med en frekvens på 44,1kHz. 6
" 729G43 - Artificiell Intelligens Charlie Forsgren Från Inspelning till Igenkännande Inom modern taligenkänning är det vanligt att man använder sig av den så kallade Hidden Markov Model (på svenska: dold Markovmodell) som grundar sig i att vad man försöker beräkna är en Markovprocess. Markovprocesser är de processer där dess framtid går att beräkna utifrån deras nuvarande stadie oavsett deras tidigare stadier (Baum & Petrie, 1966). Det vill säga att sannolikheten att ett stadie övergår till ett annat är frikopplat från dess historia. Detta underlättar matematiken vid resonemang och beräkningar och medför att Markovmodellen faktiskt blir mätbar och inte oändlig i sin beräkning. Anledningen till att den heter "Hidden..." är för att man inte kan observera vad som orsakade resultatet utan bara vad processen gav för resultat. Men man kan ändå beräkna hur sannolikt olika orsaker var. Vad det betyder i detta sammanhang är att man inte kan veta vilket ord som gav upphov till de observerade stadierna men man kan räkna ut sannolikheten för olika ord givet de fonem man har utvunnit. Markovkedjor När man visualiserar en dold Markovmodell får man vad som kan liknas vid ett simpelt Bayesiskt nätverk vilket kallas för Markovkedja. Här kan man se hur olika stadier representeras som noder och hur olika övergångar representeras som riktade vektorer. De olika stadierna är i vårt fall olika talljud som representeras i noderna. Övergången från en nod till en annan är olika sannolik och dessa sannolikheter antar ett värde mellan 0 och 1 och representeras som vektorer i Markovkedjan (Baum & Petrie, 1966). Figur 3. Ett exempel på en Markovkedja med två noder. (2010) 7
" 729G43 - Artificiell Intelligens Charlie Forsgren Varje nod representerar som sagt ett stadie från vilket man når ett nytt stadie eller återkommer till sitt nuvarande och utger ännu ett mönster. I figur 1 ser man hur det nuvarande stadiet är A och att chansen att den upprepar A är 0,6 medan chansen att den går till stadie E är 0,4. Lägg också märke till att summan av dessa sannolikheter är 1 vilket alltid är fallet när man utgår från ett stadie i tiden. Denna process upprepar sig tills att alla insamlade mönster är analyserade. Hur sannolik en övergång är beror dels på vilket det nuvarande stadiet är, i och med att det är olika vanligt förekommande att ett särskilt stadie följer ett annat, men också hur väl det nästkommande stadiet verkar likna ens intränade ordmodeller (mer om det sedan). Den första noden är speciell i och med att den inte har något som övergår till den och där ser man till hur sannolikt det är att den öppnar en Markovkedja, det vill säga att den utgör det första stadiet. En övergång behöver inte vara från ett stadie till ett annat utan kan även återkoppla till sig själv. Det indikerar att stadiet upprepas och bildar ett långt uttal av samma ljud vilket man kan se nedan i de loopande vektorerna i figur x. Figur 4. En Markovkedja över ordet need tillsammans med spektralegenskaper (2000). För att kunna skapa en nod från inspelat ljud måste man analysera ljudet. Simpla talegenskaper så som pauser eller frikativa ljud kan man utvinna från vågformen av inspelat ljud. För att undersöka tal mer specifikt och se egenskaper så som vilka frikativa ljud som är representeras måste man se till dess spektralegenskaper. 8
" 729G43 - Artificiell Intelligens Spektralegenskaper Charlie Forsgren Spektralegenskaper utvinner man ur komplexa vågformer som i sin tur utgörs av en sammanslagning som ofta består av flera vågformer. Man kan likna det vid hur ackord utgörs av flera noter som tillsammans bildar en komplex vågform. Vad man ser till i dessa komplexa vågformer är frekvenser av upprepande vågformer och återigen vilka frekvenser som återkommer inom dessa. Genom att analysera och urskilja dessa frekvenser kan man bilda ett spektrum och jämföra detta med andra spektrum som är typiska för olika ljud (Jurafsky & Martin, 2000), på samma sätt som när man avgör vad olika stjärnor består av genom att se till vilken frekvens ljuset som bildas vid dess förbränning består av. Hos människor är det innerörat och hörselsnäckan som framkallar detta spektrum medan det hos datorer framtas med hjälp av matematiska processer. Dessa utvunna spektrum är vad som sedan används i den dolda Markovmodellen (hädanefter HMM efter Hidden Markov Model ) antingen direkt eller efter ytterligare processering. Ett exempel på denna typ av vidare processering är Perceptual Linear Predictive -analys som anpassar datan efter människorshörsel där exempelvis särskilt höga frekvenser upplevs som högre i amplitud vilket datan då transformeras efter. För att kunna räkna ut sannolikheterna på fonem behövs såklart data att jämföra mot. Den skapar man med många olika talare och låter systemet öva sig på detta och skapa ordmodeller. På så vis får man den naturliga variation och breda deviation på uttal som kommer behövas vid användandet av systemet. Detta kallas för maximum likelihood classification och tar betydligt längre tid och större beräkningskraft än det faktiska igenkännandet av tal (Speaker Independent Connected, 2000). Figur 5. Fågelperspektiv på komponenter i HMM. 9
Charlie Forsgren Att jämföra mot denna insamlade data är också något som skulle ta enorm tid och en lösning på detta problem är Viterbis algoritm. Viterbis Algoritm Att veta var ett ord börjar och slutar är väldigt svårt med endast sammansmälta fonem till hands. För att underlätta i detta förlitar sig HMM på Viterbis algoritm som delar på orden vilket i kallas för segmentation (Jurafsky & Martin, 2000). Algoritmen fungerar genom att rada upp de inspelade fonemens spektralegenskaper och sedan försöka matcha dessa med troliga ord. Sättet den gör det på är genom att jämföra spektralegenskaperna med sedan tidigare lagrade spektralegenskaper och dess tillhörande ord. Detta utförs på alla fonem i meningen från det första fonemet till det sista. Därefter använder den en bigramsmodell av vanligt förekommande ordpar och anger sannolikheter till övergångarna mellan orden inom dem. Slutligen nyttjar den dessa sannolikheter och utvinner den väg med störst sannolikhet mellan alla övergångar. 10
Charlie Forsgren Diskussion Taligenkänning är ett högaktuellt ämne med breda applikationsmöjligheter i och med dagens bärbara och anpassningsbara datorer. Ny teknik använder språkigenkänning flytande och är i mångt och mycket en bra ersättare för tangentbord, beroende på kontext och kapaciteten hos användaren såväl som den tolkande datorn. Det är tydligt vilka enorma framsteg teknologin har gjort på senare år med exempel inom de stora mobiltillverkarna som har automatiserade svarstjänster och mycket bör ha sitt ursprung i den massiva datamängden som nu finns att tillgå hos dessa stora företag. Tyvärr är inte applikationen av den vetskapen tillgängligt för allmänheten men grunden den bygger på finner man otvivelaktigen i den ofta flera decennier gamla litteraturen och teorierna. Litteraturen var bitvis ganska ostrukturerad och det var väldigt ofta teorier och modeller inom taligenkänningen byggde på flera lager av andra teorier som ibland verkade överlappa. Det ska bli intressant att se till framtiden hur pass effektiva taligenkännande system kan bli med stora datamängder vilket vore ett intressant område att utföra nästa litteraturstudie inom. 11
Charlie Forsgren Referenser Litteratur Russell, S & Norvig, P. (2009) Artificial Intelligence: A Modern Approach (3rd Ed.). Prentice Hall. Daniel Jurafsky & James H. Martin (2000) Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice Hall. Baum, Leonard E. & Petrie, Ted. (1966) Statistical Inference for Probabilistic Functions of Finite State Markov Chains. The Annals of Mathematical Statistics 37, no. 6, 1554--1563. D. R. Campbell. (2011) Aspects of Human Hearing: Frequency Range, Masking, Critical Band. University to the West of Scotland. Online Resurser Speaker Independent Connected Speech Recognition, Fifth Generation Computer Corporation, 2000.: http://www.fifthgen.com/speaker-independent-connected-s-r.htm. [25 Nov 2013] Coxhead, P. (n.d.). A Glossary of Linguistic Terms. from Univerity of Birmingham: http://www.cs.bham.ac.uk/~pxc/nlp/nlpgloss.html [28 Nov 2013] Bilder Figur 1. Kvantifiering (röd) av en kontinuerlig signal (grå). (2010) [online], http:// commons.wikimedia.org/wiki/file:quantized.signal.svg. [13 Dec 2013]. 12
Charlie Forsgren Figur 2. Samplingsfrekvensen (blå) underskrider ljudet (röd) som spelas in. (2009) [online], http://upload.wikimedia.org/wikipedia/commons/2/28/aliasingsines.svg. [13 Dec 2013]. Figur 3. Ett exempel på en Markovkedja med två noder. (2010) [online], http:// en.wikipedia.org/wiki/file:markovkate_01.svg#metadata [8 Jan 2014]. Figur 4. En Markovkedja över ordet need tillsammans med spektralegenskaper. Daniel Jurafsky & James H. Martin (2000) Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice Hall. Figur 5. Fågelperspektiv på komponenter i HMM. (2000) [online], http:// www.fifthgen.com/speaker-independent-connected-s-r.htm. [28 Nov 2013]. 13