Thursday, January 15, 2015

Talegenkendelse: Akustisk Model

Den sidste artikel beskriver, hvordan et software modul kaldet "Frontend" behandler et lydsignal, så det kan bruges til talegenkendelse. En kort opsummering lyder: lydsignalet deles i små samples, hvert sample bliver analyseret og konverteret til 39 beskrivende parametre (en vektor). Dvs. at et lydsignal bliver konverteret til en sekvens af vektorer og denne sekvens af vektorer fungerer som input til den akustiske model.
I denne artikel beskrives den akustiske model fra et generelt synspunkt med fokus på proces uden at gå ind i maskinlæringsteknikker.

Akustisk modellering

Den akustiske model skal konvertere sekvenser ef MFCC-vektorer (eller PLP-vektorer) til sekvenser af foner. Foner blev beskrevet i den første artikel og er en repræsentation af en lyd. F.eks. er [ˈlegə] den fonetiske repræsentation eller lydskriften af ordet 'ligge' [1].

Hvorfor foner? Hvorfor ikke ord eller bogstaver?

Der findes for mange ord i et sprog til, at man kan lave korrespondancen mellem lyde og ord direkte. Ordforrådet er simpelthen for stort og udtalen af et ord kan variere meget pga. dialekt, sociolekt alder mm. På dansk findes også sammensatte navneord, hvilket gør ordforrådet teoretisk uendeligt.
Ofte er det heller ikke muligt at høre forskel på ét ord eller flere ord i normal tale. F.eks. udtales ordet 'det', bogstavet 'd' og toordsforbindelsen 'det er' ens på flere danske dialekter.

Et relateret problem er årsag til at man ikke bruger bogstaver. Mange bogstaver udtales ikke i dansk. I eksemplet ovenfor udtales bogstavet 't' ikke, mens det udtales i 'tilbage', 'rette' og 'kat'. 
Bogstavet 'a' kan også udtales forskelligt. Det første 'a' i 'Danmark' udtales anderledes end det sidste 'a'. Igen er en direkte korrespondance eller mapning fra lyde til bogstaver meget kompliceret og upraktisk.

Derimod findes der en meget direkte korrespondance mellem foner og lyde. Samtidig findes der ikke et uendeligt antal foner. I IPA[2,3] findes der 107 foner (hvis man ikke medregner diakritika) og et enkelt sprog bruger kun en delmængde af IPA. 

Trifoner

Forsøg har vist at brugen af foner ikke er tilstrækkelig til at beskrive talesprog. Akustisk set er der væsentlig forskel på udtalen af [m] i ordene 'lampe' og 'bombe'. Årsagen til forskellen ligger i de fysiske taleorganer. Under udtalen af [m] er taleorganerne påvirket af den lyd, som blev udtalt lige inden [m] - i eksemplerne henholdsvis [a] og [o] - og den lyd, der skal udtales lige efter [m] - i begge eksempler [b]. Denne form for påvirkning kaldes for koartikulation. Taleorganerne når ikke de helt rigtige positioner for udtalen af [m] fordi de skal bevæge sig fra positionerne for [a] og [o] til [m]-positionerne. Inden taleorganerne når [m]-positionerne bevæger de sig mod positionerne for udtalen af [b]. 
For at tage højde for koartikulation, altså at den fonetiske kontekst påvirker udtalen af en lyd, deles foner i trifoner. Fonen [i] deles derfor i tre trifoner: [i_b], [i_i], og [i_e] som henholdsvis er starten på i-lyden, midten af i-lyden og slutningen af i-lyden. En trifonmodel for fonen [l] kan ses herunder:

En trifonmodel for [l]
I figuren er fonen [l] øverst, mens de tre trifoner, der beskriver [l], er nederst i figuren. Pilene er transitioner mellem de fonetiske repræsentationer. Dvs. at alle 3 trifoner skal findes i den rigtige rækkefølge i vektorsekvensen for at genkende et [l].

Modellen har 3 fordele:
  1. Konverterer en sekvens af trifoner til en fon
  2. Tager højde for lydens varighed
  3. Isolerer det mest stabile signal
Ad 1) Trifonmodeller er en vigtig del af den akustiske model, således at den akustiske model stadig konverterer sekvenser af vektorer til fonsekvenser. 

Ad 2) Udtalen af en lyd (såsom en fon eller en trifon) tager længere tid end det tidsvindue en enkelt vektor repræsenterer. Som nævnt i den forrige artikel beskriver en MFCC-vektor som regel 25 millisekunder og der vil være et mange-til-én forhold mellem vektorer og trifoner (og foner). Det er illustreret i talegenkendelsesmodellen:


Talegenkendelsesmodel med diskretiseret talestrøm


Ad 3) Hvis et signal er stabilt over en periode er det nemmere at genkende.  I figuren herunder kan man se at signalet ikke er regelmæssigt i starten af [i], men at amplituden øges indtil ca. midten af figuren. Derefter er signalet mere stabilt indtil amplituden igen falder i den sidste 1/4 af figuren.


Udtale af [i]
Signalet i midten af fonen er mest stabilt mens starten og slutningen er mere kaotisk. Dvs. at den trifon, som repræsenterer midten af en fon, er nemmere at genkende og det forbedrer genkendelsesgraden.
Talegenkendere som gør brug af trifonmodellering kaldes Context-dependent (CD) til forskel for Context-independent (CI) som modellerer foner direkte.


Akustisk modellering som klassificeringsproblem

I maskinlæring er der forskellige klassificeringsproblemer. Et af de mest brugte er sekvensklassificering, hvor man gerne vil klassificere hele sekvenser såsom fonsekvenser, tekststrenge eller billeder. Selvom det virker åbenlyst at håndtere akustisk modellering (konvertering af en vektorsekvens til en fonsekvens) som sekvensklassificeringer det desværre ikke muligt at anvende direkte. Konvertering er det operationelle ord, men kunne også være oversættelse. I sekvensklassificering sammenligner man sekvenser og vælger f.eks. den mest sandsynlige sekvens. Men det forudsætter at man har en mængde sekvenser først. Dvs. at en oversættelse fra vektorer til foner ikke kan anses som et sekvensklassificeringsproblem, men er et skridt man tager inden sekvensklassificering.
Af den årsag bruges mange metoder til at tage højde for kontekstafhængighed mellem lyde. Indtil videre har vi beskrevet hvordan man tager den første og anden afledte funktion af Mel- og PLP-koefficienter, LDA-analyse (forrige artikel under Detaljer) og sidst brugen af trifoner. Der vil være flere eksempler i senere artikler.


Detaljer

I detaljesektionen vil vi gå lidt mere i dybden med maskinlæring til akustisk modellering.

Klassificeringsoutput

Som nævnt er en fordel ved foner kontra ord og bogstaver, at der er færre foner. Da akustisk modellering er formuleret som et klassificeringsproblem er det vigtigt at vælge det rigtige output alfabet eller mængde af symboler. Symboler skal forstås som en generalisering af foner, ord og bogstaver og kunne også kaldes klasser (fra 'klassificering'). Det sæt man vælger, skal reflektere ægte, forekommende forskelle i lyden, men hvis sættet er for stort møder man et problem kendt som data sparsity eller datamangel. Hvis forskellene man gerne vil lære er små og der er få eksempler at lære fra, vil klassificeringen blive meget svær. Det er en bedre ide at begrænse antallet af klasser, så klassificeringen bliver mere præcis.

Senoner

Når man udvider antallet af outputklasser fra foner til trifoner støder man ofte ind i data sparsity-problemer. Hvis man har et sæt på 40 foner som skal udvides til trifoner ender man med et klassificeringsproblem med 64000 klasser (n^3).
For at realisere gevinster i klassificeringsnøjagtighed fra trifonmodellering, men ikke støde ind i datamangel, bruger man en teknik kendt som Semi-tied covariance. Teorien er at trifoner, som ligner hinanden i høj grad, bliver lagt sammen. F.eks. er trifonerne [i_m] og [i_n], som repræsenterer slutningen af [i] til henholdsvis [m] og [n], ofte så ens at de forveksles. Sammenlægningen er praktisk set mindre problematisk, da midten af fonen (trifonen [i_i]) stadig er unik. 
Pga. sammenlægningen kalder man nu trifoner for senoner,  da der ikke længere er direkte korrespondance mellem en fon og de senoner som trifonmodellen består af. Det er terminologi, som er ligeså forvirrende som fon/fonem distinktionen, men som er meget udbredt i udvikling og forskning og af den grund har vi medtaget forklaringen.

Alignering af vektorer og foner

For at lære korrespondancen mellem vektorer og foner skal man finde en alignering. Det foregår enten ved at bruge en eksisterende akustisk model til at generere aligneringen eller ved at starte fra bunden. 
Hvis aligneringen skal bygges op fra bunden starter man med at antage en ækvidistant alignering. Hvis en fonsekvens bestående af 150 foner skal aligneres med en vektorsekvens deles vektorsekvensen i 150 lige store dele. Derefter træner man en akustisk model. Denne akustiske model bruges til at generere en ny alignering, som vil være mere nøjagtig en den ækvidistante alignering. Derefter trænes endnu en akustisk model, som bruges til at lave endnu en alignering, på baggrund af hvilken man træner en akustisk model osv. osv. Denne iterative algoritme kaldes for Expectation-Maximisation algoritmen eller bare EM-algoritmen. Algoritmen stopper når aligneringen ikke ændrer sig mere eller klassificeringen ikke forbedres.

Vektoralfabet

Uanset om der er tale om MFCC-, PLP-, eller LDA-vektorer lider akustisk modellering under det faktum, at to vektorer aldrig vil være ens. To vektorer for den samme lyd kan have meget forskellige værdier og man står nu med udfordringen at finde en funktion der kan mappe en vektor, som man ikke har set før, til en fon. Dette faktum adskiller akustisk modellering fra stort set alt andet i sprogteknologien som beskæftiger sig med ord, ordklasser, syntaks, semantik mv.
Ved at antage at værdierne i vektorerne er produceret af en normalfordeling har man fundet en metode til at klassificere akustiske vektorer. I hver iteration af EM-algoritmen klassificerer man de vektorer man har i træningsdata til foner baseret på den alignering man har til rådighed. For hver fon estimerer man en normalfordeling (dvs. middelværdi og varians) for alle parametre. Når man skal udregne sandsynligheden for at en vektor skal klassificeres som en given fon udregner man sandsynligheden for alle parametre, givet de er produceret af de normalfordelinger, der er estimeret for den fon. De sandsynligheder kombineres til en enkelt sandsynlighed for hver vektor givet en fon. For den mest sandsynlige vektor givet en fon vælges denne fon som klassificering.

Er vektorparametre normalfordelt?

Ikke altid og det er ikke muligt at forudsige, hvorvidt de vil være det eller ej. Derfor bruger man ikke normalfordelinger, men gaussiske miksturer (en normalfordeling kaldes også en gaussisk fordeling). Ideen er, at man med flere gaussiske distributioner kan modellere distributioner, der ikke er normalfordelte.

2 normalfordelinger
Her ses 2 normalfordelinger med hver deres parametre. Vha. en matematisk formulering kan man kombinere 2 eller flere normalfordelinger til en gaussisk mikstur på trods af overlap mm. På den måde er man stadig i stand til at estimere gode modeller eller beskrivelser for parametre i akustiske vektorer.
1 gaussisk mikstur

Af denne grund kaldes klassiske akustiske modeller for Gaussian Mixture Models (GMM).

 

Friday, September 19, 2014

Talegenkendelse: Signalbehandling

Som nævnt i de tidligere blogartikler skal lydsignalet behandles inden det kan bruges som input til talegenkendelsessoftware. Den behandling omfatter
  1. Digitalisering af det analoge lydsignal og 
  2. Konvertering af den digitale optagelse til et format som TGK-software kan bruge

Digitalisering af lyd

Digitalisering er den samme process som optagelse af enhver anden lyd til en lydfil. Lyd kan fysisk forklares som lydbølger eller små forskelle i lufttryk. I en mikrofon sidder en trykfølsom membran, som kan registrere disse forskelle. Det giver en lydbølge[1] over tid som den herunder: 

Lydbølge for fonen [i] fra udtale af ordet cirkel
Linien i midten svarer til '0' eller neutral stilling for membranen i mikrofonen. Dvs. der ikke er registreret nogen ændring i lufttrykket. Det viser også, at både højere og lavere lufttryk registreres.
Udtalemæssigt er ændringen i lufttryk skabt af stemmelæberne[2] som i eksemplet herover svinger periodisk. Man kan se mod slutningen af lydbølgen, at de periodiske svingninger ændres ved udtalen af [r]-fonen og til sidst forsvinder periodiciteten på vej ind i [k]-fonen.

På computere kan man ikke behandle et kontinuerligt signal og derfor sampler man lydsignalet. I denne kontekst er et sample en måling af udsvinget af lydsignalet, så man konverterer altså lydsignalet til en sekvens af samples. Man skal sample (måle) i tilstrækkeligt små intervaller til, at man kan estimere det originale lydsignal fra de samples, man har målt. Så jo flere samples, des bedre er lydgengivelsen[v1] .
Normale sample rates er f.eks. 44100 Hz, 16000 Hz og 8000 Hz, hvor lydgengivelsen er bedst ved 44100 Hz. Det skal opvejes mod størrelsen af lydfilerne. 44100 Hz sample rate betyder, at man sampler 44100 gange i sekundet, hvilket giver store datamængder, som er tunge at processere senere i TGK-systemer. Ofte bruger man derfor 16000 Hz eller 8000 Hz sample rate.

Feature extraction

Feature extraction er navnet på den process, der konverterer et digitalt lydsignal til input til TGK-systemer. Den digitale lydoptagelse, som er en sekvens af samples, skal konverteres til en sekvens af feature vectors. En vector (DA: vektor) er en liste af parametre og i en feature vector kaldes de parametre features. 
Der er flere metoder til at udtrække features fra en digital lydoptagelse såsom Mel-Feature Cepstral Coefficients (MFCC)[v2], Linear Prediction Coefficients (LPC)[v3] og Perceptual Linear Prediction (PLP)[v4] coefficients. Den mest udbredte feature extraction-metode er MFCC extraction.
I MFCC extraction skal man sample en lydfil. Hver sample vil repræsentere 10-25ms lydvinduer kaldet sample-vinduet. Udover sample-vinduets størrelse er forskellen ved denne sampling, at sample-vinduet kan rykke sig mindre end vinduet i hver sampling, så der er en smule overlap mellem målingerne som vist herunder:
25 ms sample-vindue med et ryk på 20 ms resulterer i 5 ms overlap

For hvert sample udregner man et spektrum. Et spektrum af det løbende eksempel kan ses her:
Spektrum for fonen [i] fra udtale af ordet cirkel
De sorte sværtninger kaldes formanter. En formant er en del af frekvensbåndet, hvor der er meget energi og repræsenterer tonehøjde i vores eksempel. I et spektrum for en anden fon, f.eks. [e] i der vil formanterne placere sig anderledes:


Spektrum for fonen [e] fra udtale af ordet der
Læg mærke til, at bl.a. de to nederste formanter ligger tættere, mens den øverste formant fra [i]-fonen er mere tydelig end den øverste formant fra [e] i der. Et tværsnit af et spektrum viser en profil af den fon, der er blevet udtalt på det tidspunkt. Herunder er profilerne for fonerne [i] og [e]:

Spektral profil for [i]

Spektral profil for [e]

De to profiler er tydeligt forskellige. Ofte er forskellen mellem sonoranter, dvs. alle foner man kan 'synge' på såsom vokaler, men også [n], [m] og [l], tydeligst i de høje formanter, altså til højre i profilerne. Menneskeøret er dog mindst følsomt overfor formanter i høje frekvensbånd. Derfor filtrerer man et spektrum med en såkaldt Mel-filterbank[3]. 20-40 filtre ændrer et spektrum, så der tages højde for den frekvensmæssigt ulige følsomhed af det menneskelige øre[4].

Hvert spektrum skal konverteres til et cepstrum[5]. Et cepstrum er et spektrum-af-et-spektrum. I et cepstrum kan man adskille det man kalder kilden og filteret[6,v5] . I TGK er man interesseret i de værdier som parametriserer filteret, da de værdier ændres, alt efter hvilken fon er udtalt.
Cepstrum for vokalen [i]

Fra et cepstrum udtrækker man 12 koefficienter. Disse koefficienter sammen med et parameter for den samlede energi i lydvinduet udgør 13 parametre. For at tage højde for udviklingen af de parametre over tid tilføjer man både den første og anden afledede funktion af alle parametre til at modellere henholdsvis hastighed og acceleration. Det resulterer i de 39 parametre i MFCC feature vectors.


Detaljer

Alle billeder i denne blogartikel er lavet vha. Praat[7]. Det er et godt visualiseringsværktøj og kan også udtrække både MFCC- og LPC-vektorer.

Nyquist sampling teorem[8]

Hvis man antager, at den højeste frekvenskomponent i et lydsignal er 3000 Hz, skal sampling-frekvensen (hvor ofte man måler signalet) være minimum 2 * den højeste frekvenskomponent, hvilket er 6000 Hz. Mest information om foner er koncentreret i de lave frekvenser omkring 4000 Hz og under, hvilket gør det muligt at nøjes med en sample rate på 8000 Hz. Det er dog et minimum og ved en uheldig sampling kan det være umuligt at genskabe det originale kontinuerlige signal. For at undgå det problem plejer man derfor at bruge 16000 Hz sample rates til TGK.

Pre-emphasis

I tale er mest energi koncentreret i de lave frekvensbånd, men energien i de høje frekvensbånd er signifikante for at klassificere sonoranter. For at forbedre fonklassificering booster man energien i de høje frekvensbånd, inden man udregner et spektrum.

Fourier transformation

Udregningen af et spektrum kaldes en Fourier-transformation[9] eller Fourier-analyse. Fourier-analysen er implementeret på forskellige måder, men oftest, da man i TGK er interesseret i at processering skal foregå så tæt på realtid som muligt, bruger man algoritmen Fast Fourier Transform (FFT)[10].

Mel-filterbank

Menneskets følsomhed overfor toner er lineær under 1000 Hz, men logaritmisk over 1000 Hz. Melskalaen presser i praksis den højre del af de spektrale profiler sammen og skaber en mindre afstand mellem formanterne i de høje frekvensbånd. Der er mellem 20 og 40 filtre i en mel-filterbank og derfor er der mellem 20 og 40 parametre efter melfiltrering.

Log

Efter filtrering til melskalaen tager man logaritmen af de spektrale værdier. Det gør værdierne mere robuste ved senere processering.

Cepstrum

Ordet cepstrum kommer af at bytte om på bogstaverne i det engelske ord spectrum (s-p-e-c-trum => c-e-p-s-trum). Antallet af koefficienter eller parametre i et cepstrum afhænger af antallet af melfiltre. Eksperimenter har vist, at den første koefficient er følsom overfor f.eks. talerens afstand til mikrofonen og hvor højt vedkommende taler. Den første koefficient ignoreres derfor og de efterfølgende 12 koefficienter gemmes.



Kontekst-afhængighed

Parametrene i MFCC-vektorer varierer langsomt over tid, hvilket gør det unødvendigt at tage højde for kontekst-afhængighed. Den antagelse holder i stor udstrækning, men tager ikke højde for koartikulationseffekter[v6], som kan have en effekt på udtalen i et større tidsperspektiv, dvs. på tværs af foner. Et eksempel er udtalen af [n] i munde og i minde. Udtalen af [n] er forskellig, fordi den er 'farvet' af artikulationen af den foranstående vokal. Med overtydelig artikulation kan man for sig selv illustrere, at læbernes position under udtale af [n] afhænger af læbernes position under udtale af henholdsvis [i] eller [u]. 
For at tage højde for koartikulation bruger man ofte Linear Discriminant Analysis (LDA) til at transformere MFCC (eller LPC) parametre. En klassisk tilgang er at tage et kontekstvindue, f.eks. +/- 5 MFCC-vektorer til i alt 11 vektorer og konkatenere vektorerne sammen til én vektor med 429 (11*39) parametre og derefter bruger man LDA til at reducere antallet af parametre til f.eks. 40 parametre. Antallet af parametre efter analysen skal specificeres inden bergningerne starter. LDA-analysen finder de vigtigste parametre ved at udregne, hvilke parametre minimerer variansen af en underliggende gaussiske distribution og hvilke parametre maximerer adskillelsen af foner. 
Da forklaringen af LDA hænger meget sammen med den akustiske model. Yderligere detaljer om LDA udskydes til den artikel sammen med gennemgang af Dybe Neurale Net (DNN).



Wednesday, August 20, 2014

Hvordan virker talegenkendelse?

Del 2: Processen

I sidste artikel præsenterede vi artikelserien og beskrev talegenkendelse meget bredt. Koncepter som akustisk model, sprogmodel, leksikon, talegenkender og fon blev introduceret. I denne artikel beskrives talegenkendelsesprocessen, hvor den sidste blogartikel var mere praktisk og fokuserede på et system frem for processen.
 

Talegenkendelse og talesyntese

Også kendt som speech-to-text (STT) og text-to-speech (TTS). Begge teknologier bygger på den samme forståelse af, hvordan man omsætter tekst til lyd eller omvendt. 
Det er meget svært i et sprog som dansk, at oversætte direkte fra tekst til lyd. Man skal afgøre, hvordan et ord svarer til et segment af en talestrøm, hvilket er svært bl.a. pga. forskellige udtaler af ord såsom 'ikke', der kan udtales næsten som skrevet, men også som 'ik' eller 'ing' afhængigt af dialekt. Samtidig kan man i dansk spontant sammensætte navneord, hvilket betyder, der er uendeligt mange ord i dansk. Løsningen er at bruge en mindre enhed, såsom fonen, til at finde korrespondancen mellem tekst og lyd. Et eksempel med udgangspunkt i tekst kan ses herunder: 

Konvertering fra tekst til foner
Ofte er der et mange-til-en forhold mellem bogstaver og foner, hvilket i eksemplet skyldes stumt 'd'. Denne konvertering håndteres med en fonetisk ordbog, hvor alle ord, der kan genkendes, har en fonetisk transkribering.
Mellem foner og lyd er det nemmere at finde en korrespondance som ses herunder:

Taleproduktionsmodel (speech production model)
Ud fra denne model af processen kan man lave talesyntese ved at gå fra bunden til toppen (tekst-til-tale) eller fra toppen til bunden (tale-til-tekst). Denne model kaldes 'speech production model'.

Talegenkendelsesprocessen

Taleproduktionsmodellen skal udvides for at kunne bruges til automatisk talegenkendelse. For at behandle lyd på computere er man nødt til at skære lydsignalet i mindre vinduer. Disse vinduer kaldes samples og når man beskriver lydkvalitet taler man ofte om 'sampling rate'. Fra hvert lydvindue måler man en række koefficienter. To meget udbredte metoder er Mel Feature Cepstral Coefficients[1] (MFCC) eller Perceptual Linear Prediction (PLP) [v1]. Hvis man bruger MFCC målinger, får man for hvert lydvindue 39 værdier. Udvidelsen til taleproduktionsmodellen bliver således:

Talegenkendelsesmodel med diskretiseret talestrøm

Her bliver konverteringen fra tekst til foner vigtig, da det gennemtvinger et en-til-en eller en-til-mange forhold mellem lydvindue og fon. Talegenkendelsesprocessen skal beskrives med forskellige modeller. Konverteringen fra lydvinduer til foner modelleres af den akustiske model, mens konverteringen fra foner til ord håndteres af den fonetiske ordbog, også kaldet leksikonet. 

Genkendelsesproblemer

Mange hypoteser genereres af talegenkendelsesprocessen. Der er især 2 problemer med talegenkendelsesprocessen, som er årsag til det:
  1. Ordgrænser
  2. Homofoni
Der er ikke noget i en talestrøm, der signalerer ordgrænser. Da en talestrøm er kontinuerlig, er der ingen stilhed mellem ord og de steder, hvor stilhed kan forekomme, kan også være inden i et ord, f.eks. hvis man er usikker på, hvilken endelse eller ordbøjning man skal sige. Dvs. at alle sekvenser af ord, der kan genereres for et givent input bliver genereret.
Homofoni opstår f.eks. hvis to ord udtales ens. I daglig tale er f.eks. 'ligger' og 'lægger' homofoniske. Det fører derfor også til dannelsen af flere sætningshypoteser. For at kunne vælge mellem hypoteser er viden om grammatik nødvendig. Grammatik indkodes statistisk og modelleres således at hyppigt forekommende sekvenser af ord tildeles en højere sandsynlighed end sjældne sekvenser af ord. I vores eksempel vil 'Svend ligger på stranden' være mere sandsynlig end 'Svend lægger på stranden', som ikke er semantisk korrekt og derfor vil forekomme sjældnere. Den statistiske modellering af grammatik indkodes i sprogmodellen.

Kombinering

Kombineringen af informationskilder og modellering af selve processen foretages af en decoder. Den traverserer de hypoteser en talegenkender genererer, der er repræsenteret som et netværk, og kombinerer sandsynligheder fra alle involverede modeller. Decoderen gennemsøger ikke hele netværket, da talegenkendelse ellers vil være tids- og ressourcemæssigt for dyrt, men fjerner veje i netværket, der er yderst usandsynlige og behandler kun de mest sandsynlige sekvenser.



Detaljer

Hvis man vil undersøge mere på egen hånd er det godt at kende de engelske betegnelser. Her er en lille tabel over termer:
Sprogmodel - language model
Akustisk model - acoustic model
Leksikon/fonetisk ordbog - lexicon/phonetic dictionary
Talegenkendelse (TGK) - automatic speech recognition (ASR)
Ordgræner - word boundaries
Sammensatte navneord - compound nouns/composites
Homofoni - homophony
Talesyntese - speech synthesis



Talesyntese

Talesyntese udvider også den basale speech production model. Det har vist sig i talesyntese at det sværeste at syntetisere er overgangen fra en fon til en anden, mens det er nemmere at syntetisere midten af en fon, da signalet her er stabilt. Det er også kendt som difon syntese[2]. Der forskes lige nu i stokastisk-baseret syntese med bl.a. HMM[v2].  God dansk talesyntese kan opleves hos Ivona[3] og open source talesyntese kan downloades og installeres fra eSpeaks website[4]. eSpeak kan integreres med windows, men det kræver en del viden at installere og integrere med Windows SAPI.

Sprogmodel

Markovmodeller bruges til at estimere sandsynligheder for ordsekvenser. Ny forskning bruger recurrent neural nets eller recursive neural nets, men denne teknik viser ikke altid en forbedring over den klassiske metode.
Eksperimenter har vist at det giver gode resultater samtidig med at være robust hvis man estimerer en sekvens vha. 2. ordens Markovmodeller. Det betyder man udregner sandsynligheder for enkeltord ved at bruge de foregående 2 ord som kontekst. For at udregne sandsynligheden for en sætning ganger man disse sandsynligheder sammen. Det giver problemer, hvis man ikke har et ord i sine træningsdata, og sandsnyligheden derfor bliver 0. Det vil blive beskrevet i artiklen om sprogmodeller.

Decoder

Der er 2 parametre, der styrer traverseringen af et netværk. Den ene 'pruning', som sætter en grænse for, hvor sandsynlig en vej i netværket skal være for at blive yderligere beregnet. Den anden er 'beam size', som igen er en nedre sandsynlighedsgrænse for, hvor sandsynlig en delvis hypotese skal være hvis den skal beregnes yderligere. En analogi er at pruning fjerner veje i netværket, der er usandsynlige, mens beam size, skridt for skridt gennem netværket, sammenligner, hvor sandsynlige delvise hypoteser er og kun fortsætter beregninger ud af veje der er tilgængelige fra de mest sandsynlige hypoteser.


Spørgsmål og kommentarer er velkomne!

Friday, July 4, 2014

Hvordan virker talegenkendelse?


Talegenkendelse er komplekst. Talegenkendelse bygger på sprogteorier, statistiske antagelser og datalogiske muligheder. Det kræver, at man for at forstå talegenkendelse detaljeret skal have forstand på signalbehandling, akustik, maskinlæring, datalogi, statistik, fonetik, grammatik mm. 

Dette er den første artikel i en række, der skal forklare hvordan talegenkendelse virker og hvorfor. Der er meget få ressourcer på dansk for netop dette felt, hvilket bliver mere problematisk som talegenkendelse bliver en større del af hverdagen. 

Hvad er heteroscedastic linear discriminant analysis?!?

Kort fortalt: Det er en metode til finde de værdier, der bedst beskriver et datapunkt. Dvs. hvis et datapunkt beskrives af 700 værdier kan man bruge denne metode til at sortere de unødvendige værdier fra [1, v1]. 
Et af formålene med artikelserien er at rydde op i forkortelser og fagtermer. De bliver ofte brugt i flæng af sælgere, teknikere og forskere. Et godt eksempel er termerne fon og fonem. De størrelser er centrale i de lingvistiske discipliner fonetik og fonologi. Et fonem er et symbol, der beskrives som 'det mindste betydningsadskillende element' [2]. En fon er et symbol for en lyd, der forekommer i et sprog, f.eks. dansk. Forskellen er bl.a., at en fon ikke altid er betydningsadskillende og at et fonem kan udtales forskelligt. Altså kan et fonem's udtale repræsenteres med forskellige foner. De foner, der kan repræsentere et fonem, kaldes allofoner [3, v2]. 
Forskellen mellem en fon og et fonem er ikke altid nem at forstå for dataloger, ingeniører, matematikere eller grammatikere og bliver derfor ofte brugt 'forkert' ifølge fonetikere/fonologer. Det leder til en masse misforståelse.

Hvor kan jeg finde mere information?

Der er 2 slags links herover f.eks. med navnene '1' og 'v1'. Hvis vi kan finde yderligere materiale vil vi indsætte dem således. Hvis vi henviser til videnskabelige artikler vil linknavnet inkludere et 'v'. Derudover vil der nogle gange i disse artikler være en Detalje-sektion, hvor vi forklarer metoder og teorier mere dybdegående. Henvisningerne vil i mange tilfælde være på engelsk, da der ikke findes mange ressourcer på dansk.

Klassisk oversigt over talegenkendelsessystem

Konceptuelt overbliksbillede

Herover er de vigtigste komponenter i et talegenkendelsessystem vist. En talegenkender består altid af 4 kernekomponenter:
  • Frontend: behandler lydsignalet fra mikrofonen
  • Akustisk model: klassificerer den behandlede lyd i foner
  • Leksikon: en ordbog der oversætter foner til ord
  • Sprogmodel: en grammatisk model der danner den mest sandsynlige sætning
En efter en vil artiklerne i denne serie beskrive komponenterne. 

Detaljer

En god gennemgang på engelsk af talegenkendelse kan findes i Language and Speech processing af Jurafsky og Martin [v3]. Det er en grundbog brugt for uddannelser i datalingvistik, sprogteknologi og natursprogsprocessering (eng: computational linguistics, language technology, natural language processing).
En anden ofte brugt kilde er HTKbook [v4]. Det er en ældre tilgang, men forudsætter derfor mindre forhåndsviden. 

Software

HTK (Hidden Markov model Toolkit) har længe været brugt til at lave talegenkendelsessystemer. Herunder er en liste af de mest kendte åbne tool kits:
Der er selvfølgelig også kommercielle systemer fra firmaer som Nuance Communications, IBM, Google, Microsoft, AT&T og der er forlydender om, at Apple er på vej med deres eget system. Apple har tidligere brugt Nuance-produkter til talegenkendelse.

Fon/fonem

Hvis man stadig er i tvivl om distinktionen mellem foner og fonemer kan man læse f.eks. Fonetik og Fonologi af Nina Grønnum. Det er en grundbog i dansk lingvistik. Ellers er schwa.dk også en god ressource til dansk fonetik. Indehaveren, Ruben Schactenhaufen, er også god til at svare på spørgsmål.

Tuesday, February 25, 2014

What 2014 Predicts for Cloud Computing?


Cloud Computing is really an emerging and trending area, in which many predictions are made. Some of them will be covered in this article.

Cloud Computing takes a very important role today. So there are no doubts that lots of money will be spent on it. Cloud spending, including cloud services and the technology to enable these services, will surge by 25% in 2014, reaching over $100 billion.
IDC predicts that by 2017, more than 80% of new cloud apps will be hosted on six PaaS platforms. 2014 is considered to be a year of PaaS model: the value should move from IaaS to Paas. Amazon Web Services made a big step by providing a lot of PaaS offers for developers and higher value services for businesses. This causes other IT suppliers to make changes in order to stay competitive in new market. Hence, two big giants, Google and Microsoft, are expected to shine this year. Microsoft is creating a base for hybrid clouds with Windows Azure Pack and domination of hybrid cloud is expected in 2014. Microsoft is likely to become the No. 2 public cloud provider behind Amazon Web Services.

Another prediction covers cloud security issue. Hybrid cloud will offer freedom of choice for businesses and organizations will bring their own security to the public cloud. Companies will be able to keep control of their encryption keys themselves. “Every credible cloud platform will encrypt data all the way through. Several undercurrents are driving this prediction – data sovereignty, global cloud deployments and yes, PRISM,” – Richard Seroter, head of cloud product management, CenturyLink Cloud.

One of the improvements of cloud will be data centers consolidation, which will become the new driver for private cloud computing to enable even greater efficiencies and cost savings.

There was a big shift from desktop software toward cloud-based apps and services which made Cloud Computing cost-friendly and convenient for consumers. It is an obvious sign of Cloud Computing becoming mainstream.

To sum up, we are going to witness a lot of new changes in 2014. For more technology predictions for 2014 visit this link: http://www.idc.com/getdoc.jsp?containerId=prUS24472713

Tuesday, February 11, 2014

Unstoppable Enterprise IT Trend – Cloud Computing

The computer industry is the only industry that is more fashion-driven than women’s fashion (Larry Ellison, chairman, Oracle). One of the most growing IT trends is Cloud Computing.

Really? A new Cloud server is added for every 600 smartphones or 120 tablets in use. AMD reported that 70% of business are either currently using a Cloud Computing solution, or they are investigating one, meaning that they are at least interested in the Cloud if not future advocates of it. 90% of Microsoft’s 2011 R&D budget was spent on Cloud Computing strategy and products.

Is it not enough? U.S. federal agencies adopted a ‘cloud-first’ policy and since then 48% of U.S. government agencies moved a workflow to the Cloud. Cloud providers have increased personnel from zero in 2007 to over 550,000 in 2010. It is a creation of a huge amount of job positions, which means there are a lot of people working on making Cloud Services secure and reliable.

However, when it comes to the perception of the Cloud, we have quite interesting data about what people believe Cloud Computing is. A recent study revealed that: 
  • 95% have used Cloud but don´t know it,
  • 54% claim they have never used the Cloud,
  • 51% believe stormy weather has an effect on Cloud Computing,
  • 29% think the Cloud has something to do with weather,
  • 16% correctly think the Cloud is a place to store, access and share data.

So what Cloud Computing is? “There was a time when every household, town, farm or village had its own water well. Today, shared public utilities give us access to clean water by simply turning on the tap; cloud computing works in a similar fashion. Just like water from the tap in your kitchen, cloud computing services can be turned on or off quickly as needed. Like at the water company, there is a team of dedicated professionals making sure the service provided is safe, secure and available on a 24/7 basis. When the tap isn't on, not only are you saving water, but you aren't paying for resources you don't currently need (2010, Vivek Kundra, Federal CIO, United States Government).”

One of the Cloud computing models, SaaS (Software as a Service), is the layer directly consumed by customers. SaaS gives opportunity to small and midsized businesses to afford a great software solution without investments on the infrastructure, development platform or skilled manpower. SaaS should be used if owners of businesses want to focus on their businesses rather than wasting time in replacing broken pieces of hardware or managing IT infrastructure. There is just one requirement – a computer with a browser. It is a big plus that no software installation is needed.

Cloud Computing gives a lot of advantages. There are some examples of that. The U.S. Federal Government saved about $5.5 billion per year by shifting to Cloud Services. A recent survey of more than 3500 IT decision makers from different parts of the world showed that more than 90% of all companies saw at least one area of improvement in their IT department since they moved to the Cloud and 64% of companies have reduced waste and have lowered energy consumption levels after shifting to Cloud Computing.

We are facing a huge potential of this technology:
  • 425 million people worldwide use Gmail and all email users send over 204 million messages every minute.
  • 150 million people use Apple´s iCloud. Moreover, Apple receives about 47,000 app downloads each minute.
  • 50 million people use Dropbox to save more than 1 million files every 3 minutes.

To add more, 30% of small and mid-size businesses used Cloud software in 2011. Forrester predicts a 6.2% growth in business and government purchases of information technologies in 2014 and even further growth in 2015, up to 8.1%. That growth is consistent with forecasts from GigaOM Research, which expects the total worldwide addressable market for Cloud Computing to reach $158.8 billion by 2014, an increase of 126.5% from 2011. The Cloud Computing market is expected to reach $241 billion by 2020. 


If you like this article, please spread the word about it: +1, Tweet or Like it.

Sources used:

Wednesday, January 15, 2014

WITH CLOUD COMPUTING YOU CAN WORK EVERYWHERE



Mobility can be a very valuable asset for a company. This not only means that employees can actually move within their office, but also that they can work from anywhere – home, train,  coffee shop etc. However, for old-fashioned, fixed and immobile company, the concept of mobile organization can be frightening.
Cloud computing is a perfect solution for companies that wants mobility. It allows organizations to provide collaboration and communication tools, software, apps and access to documents and databases not only from anywhere but also on a cost per use (or user) basis. This has been significant impact on an organisation’s flexibility and ability to introduce new tools and phase out old tools. No longer should IT project should take a year to implement new tool.
Cloud computing has a lot of benefits when it comes to mobility. First of all, employees can access information across different locations and devices. Mobility also improves service levels. Nokia is a great example how cloud computing helped them to scale and take advantage of latest technology as it becomes available.
Cloud computing is very beneficial for small businesses. It makes it possible to harness the computing power and technology that has only previously been available  to enterprises with big budgets. The other thing that cloud computing brings is scalability and flexibility, so you can choose when to have 1000 server working or you can run on bare minimum.
Cloud computing is levelling the technology playing field. It impacts the mobility by making it available to companies large or small. Previously, things like video conferencing was available to large organizations with bit IT budgets. With  cloud computing, smaller companies with small budgets also can have video conferences and they are now able to compete with bigger ‘fish’ in the market.
Besides the clear benefits of cloud computing to any company on a market, still there are security and privacy concerns. Some might say that the risk is actually unfounded. However, the ENISA’s (the EU Agency for Network and Information Security) report of cloud computing risks that must be taken into consideration when moving to the cloud.

Source: Taken from Adam Davidi article How is cloud computing enhancing our ability to work anywhere?
http://www.theguardian.com/media-network/media-network-blog/2013/dec/18/cloud-enhancing-work-anywhere-flexible

Thursday, December 12, 2013

FORECAST FOR HEALTHCARE INDUSTRY



London – 4th of December 2013 – American global growth consulting company Frost & Sullivan released three big predictions for the global healthcare market. The company highlighted the new areas of growth based on a ‘2013 Search for Growth’ survey which involved 1835 executives in more than 40 countries worldwide.  mHealth, Cloud in Healthcare and Regulatory Environments will be the key subject in 2014 and beyond.

mHealth expansion has been fuelled by the unprecedented spread of mobile technologies, as well as advancements in their innovative application to address health priorities It is largely supported by mobile device, such as mobile phones, patient monitoring devices, personal digital assistants and other wireless devices. It is an exciting area of opportunity for healthcare growth.

Every hospital will eventually have to acquire a fully-enterprise wireless solution. The most innovative mobile healthcare solutions that best meet healthcare needs will be adopted as the gold standard.

Healthcare informatics will also improve the quality of medical services and efficiency of operations while reducing expenditures. Cloud computing is a key in relation to enterprise-wide solution. Implementing cloud computing technologies will help healthcare providers to improve the quality of medical services  and the efficiency of operations, share information across geographic locations and manage expenditures. The concept could be applied in a variety of ways, including data storage, data loss prevention, maintaining patient information records and data sharing.

The advantages of cloud computing are endless. Over the time, it can completely change the dynamics of healthcare IT. The need for efficient sharing of information across locations in synchronized manner will be a key driver for cloud computing healthcare.

Source: Frost & Sullivan Press Center
http://www.frost.com/prod/servlet/press-release.pag?docid=288158373

Monday, December 2, 2013

A Break-Through Of Cloud-Computing On Chinese Market



As we all know China is experiencing a growth in number of SMEs on the mainland. Together with wider internet access, this will fuel the growth of the cloud-computing.
Cloud computing can be defined as the delivery of on-demand computing application as well as a storage of data via internet.
Analyst forecast that mainland SME cloud services will reach 16.7 billion Yuan this year, that Is 54% increase from 10.8 billion Yuan in 2012. According to research released last week by Parallels, a hosting and cloud services enablement provider, it could increase to 33.6 billion Yuan. It is all driven by increasing demand from SME users for the communication, collaboration and business applications delivered by cloud computing market.
According to Hong Bo, founder of mainland information technology website Donews, Cloud computing is a virtual host computer system that enables enterprises to buy, lease, sell or distribute software and other digital resources over the internet as on-demand service. It no longer depends on a server or a number of machines that physically exist, since it is a virtual system.
Parallel’s research found that two-thirds of SME’s prefer to buy application bundles, so service providers that can meet this demand will put themselves in a good competitive position. The potential of cloud in China is huge. Just 5% of Chinese SMEs now use hosted servers. It is a small share that is growing fast and rose by 31% last year.

By Sophie Yu 

Monday, November 25, 2013

The Hype Of Cloud Computing



The cloud has a lot to offer. It can totally transform the business, however, it requires an integration with existing IT for it to reach maximum impact. 
Over the past few years cloud computing has reached fever pitch with many providers trying to outdo each other.
The development of cloud computing has been publicized as everything from revolution to the biggest disruption since the move from mainframe to client-server computing. Executive chairman of Google – Eric Schmidt called the adoption of cloud inevitable. The incessant hype and unending buzzwords surrounding the cloud are in danger of obscuring the full extent of the business transformation on offer.
The cloud is not a goal in itself. End-user does not care about what model of server is hosting their business’ IT, cloud is simply the means towards a business outcome – it should be viewed as just one mechanism of a larger machine.
For the cloud to have maximum impact, a business cannot be held on isolation but must be integrated with existing IT. Many organizations rush towards the cloud, mistakenly believing that it is a panacea for all their infrastructure woes. This trend is being driven further by the easy access business have to the plug & play model of IT services. However, this seems to be limiting the scope of the cloud. Business are looking only at immediate, short-term benefits of the cloud. They use the services to provide a new environment for old and outdated processes, settling for marginal improvements in costs and efficiency instead of using cloud to truly transform the business.
A general rule of IT is that once size does not fit all. IT decisions are influenced by a number of different factors, like data sensitivity, the level of availability required or the need to scale computing power up and down. When it comes to business, the same rule applies. Not every application has the same infrastructure requirements. Businesses are complex entities; therefore, their infrastructure requirements are complex as well. The range of platforms are needed and most efficient IT environments will be able to combine cloud services - whether they are public, private or multi-tenant hosted solutions.
Companies often over-estimate the power of cloud and try to push their entire IT into a single platform rather than using cloud as part of the larger IT strategy. Also, many businesses under-estimate the potential of the cloud. Moving your IT environment into the cloud may offer some savings of time and resources.
Companies need to treat cloud computing as a tool rather than a technical achievement. Cloud can be a tool that delivers a specific, individual business outcome. There is no doubt that a cloud can be important to businesses, but it requires a sensible and pragmatic approach to achieve all the benefits cloud computer has to offer.




The article by Keith Tilley posted on The Guardian, 29th of October 2013