Rejtett Markov Modell

Hasonló dokumentumok
Markov modellek

Hidden Markov Model. March 12, 2013

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Beszédfelismerés. Bálint Enikő

Beszédfelismerés. Izolált szavas, zárt szótáras beszédfelismerők A dinamikus idővetemítés

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

12. előadás - Markov-láncok I.

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

Mély neuronhálók alkalmazása és optimalizálása

Számítógép és programozás 2

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

A maximum likelihood becslésről

Kabos: Statisztika II. t-próba 9.1. Ha ismert a doboz szórása de nem ismerjük a

7. Régió alapú szegmentálás

Least Squares becslés

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Algoritmizálás és adatmodellezés tanítása 2. előadás

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Mérési struktúrák

Statisztika I. 8. előadás. Előadó: Dr. Ertsey Imre

GROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

A statisztikai vizsgálat tárgyát képező egyedek összességét statisztikai sokaságnak nevezzük.

Struktúra nélküli adatszerkezetek

Algoritmusok és Adatszerkezetek II. utolsó előadás Beszédtechnológiai algoritmusok. (csak egy kis felszínkapargatás)

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Beszédfelismerés. Benk Erika

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Nagyméretű adathalmazok kezelése (BMEVISZM144) Reinhardt Gábor április 5.

Lineáris algebra gyakorlat

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Relációs algebra 1.rész alapok

Programozási módszertan. Mohó algoritmusok

Eloszlás-független módszerek (folytatás) 14. elıadás ( lecke) 27. lecke khí-négyzet eloszlású statisztikák esetszámtáblázatok

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Mintavétel fogalmai STATISZTIKA, BIOMETRIA. Mintavételi hiba. Statisztikai adatgyűjtés. Nem véletlenen alapuló kiválasztás

E.4 Markov-láncok E.4 Markov-láncok. Sok sorbanállási hálózat viselkedése leírható "folytonos idejű Markovláncok " segítségével.

Megerősítéses tanulás 9. előadás

Mátrixok 2017 Mátrixok

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

Felvételi tematika INFORMATIKA

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Mesterséges Intelligencia MI

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Polinomok, Lagrange interpoláció

Probabilisztikus modellek II: Inferencia. Nagy Dávid

Hidasi Balázs. Gravity R&D BME-TMIT február 20. Budapest

Konjugált gradiens módszer

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

A szimplex algoritmus

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

5 = hiszen és az utóbbi mátrix determinánsa a középs½o oszlop szerint kifejtve: 3 7 ( 2) = (példa vége). 7 5 = 8. det 6.

BitTorrent felhasználók értékeléseinek következtetése a viselkedésük alapján. Hegedűs István

Közösség detektálás gráfokban

Algoritmusok bonyolultsága

Statisztikai eljárások a mintafelismerésben és a gépi tanulásban

Bevezetés a programozásba. 5. Előadás: Tömbök

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Gazdasági matematika II. tanmenet

Numerikus módszerek beugró kérdések

ELEMI PROGRAMOZÁSI TÉTELEK

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Mesterséges Intelligencia I.

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

(Diszkrét idejű Markov-láncok állapotainak

Funkcionális konnektivitás vizsgálata fmri adatok alapján

Beszédfelismerő szoftver adaptálása C# programozási nyelvre

Szalai Péter. April 17, Szalai Péter April 17, / 36

Általánosan, bármilyen mérés annyit jelent, mint meghatározni, hányszor van meg

KÖZELÍTŐ INFERENCIA II.

Vállalati modellek. Előadásvázlat. dr. Kovács László

Mátrixjátékok tiszta nyeregponttal

Modellkiválasztás és struktúrák tanulása

Adatszerkezetek II. 1. előadás

Bevezetés az informatikába

Programozási módszertan

KÖZELÍTŐ INFERENCIA II.

Probabilisztikus funkcionális modellek idegrendszeri adatok elemzésére

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

A napsugárzás mérések szerepe a napenergia előrejelzésében

egyetemi jegyzet Meskó Balázs

QGIS gyakorló. --tulajdonságok--stílus fül--széthúzás a terjedelemre).

Fraktál alapú képtömörítés p. 1/26

Principal Component Analysis

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Mesterséges Intelligencia MI

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

Algoritmizálás, adatmodellezés tanítása 8. előadás

Anyagvizsgálati módszerek Mérési adatok feldolgozása. Anyagvizsgálati módszerek

Tartalom. Jó hogy jön Jucika, maga biztosan emlékszik még, hányadik oldalon van a Leszállás ködben.

Átírás:

Rejtett Markov Modell A Rejtett Markov Modell használata beszédfelismerésben Készítette Feldhoffer Gergely felhasználva Fodróczi Zoltán előadásanyagát

Áttekintés hagyományos Markov Modell Beszédfelismerésbeli szerep Rejtett Markov Modell Módszerek Értékelés

Miről is van szó Beszédfelismerő módszerek Izolált, kötött szótáras DTW Folyamatos Neuronhálós megoldások HMM megoldások Statisztikai alapok

Példa folyamatos feldolgozásra Jellegvektor (Feature vector): olyan jellemzők, amik minden keretre kiszámítva alkalmasak felismerésre, szegmentálásra. A fenti képen a kockák méretét egy jellegvektor adja meg.

Folyamatos feldolgozás Célok: szegmentálás fonéma azonosítás szóhatár döntések Bemenet: jellegvektorok Nehézségek: bizonytalan, zajjal terhelt bemenet sok hasonló fonéma, hasonulások, kiejtésbeli változatosság szóhatáron nincs szünet, ismerni kell a nyelvet

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Szóhatárok

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Szóhatárok

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Szóhatárok Szemre is látható

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Szóhatárok Szemre kevéssé látható

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Fonéma jelöltek pontozása: jellegvektorok statisztika Statisztika és szótár alapján választás Szóhatárok

Folyamatos feldolgozás Jellegvektorok Szegmentálás Fonéma kiválasztása Neuronháló Fonéma jelöltek pontozása: jellegvektorok HMM statisztika Statisztika és szótár alapján választás Szóhatárok

Markov Modell Állapotok, állapotátmenetek a 1,2 a 1,1 a 2,2 a 2,1 S 1 S 2 a 1,3 a 2,3 a 3,1 a 3,2 S 3 a 3,3

Markov Modell példa: időjárás Állapotok: S={S1:Napos, S2:Borult, S3:Esős} Állapotátmenetek: A={a i,j }= 0,4 0,3 0,3 0,2 0,6 0,2 0,1 0,1 0,8 Kérdés: adott állapot-sorozat valószínűsége Pl: Mi az esélye, hogy egy Napos állapot után {Napos, Esős} sorozat következzen?

Markov Modell példa: időjárás Állapotok: S={S1:Napos, S2:Borult, S3:Esős} Állapotátmenetek: A={a i,j }= 0,4 0,3 0,3 0,2 0,6 0,2 0,1 0,1 0,8 Kérdés: adott állapot-sorozat valószínűsége Pl: Mi az esélye, hogy egy Napos állapot után {Napos, Esős} sorozat következzen? P({S1,S1,S3} S1)=1*a 1,1 *a 1,3 =1*0.8*0.3=4

Markov Modell Beszédfelismerésben Az állapotokat a fonémáknak feleltetjük meg Az állapotátmenetek ismertek: Nagy adatbázisokból kinyerhető az A mátrix Állapotok?

Markov Modell Beszédfelismerésben Az állapotokat a fonémáknak feleltetjük meg Az állapotátmenetek ismertek: Nagy adatbázisokból kinyerhető az A mátrix Állapotok? Sajnos éppen az állapotok bizonytalanok Megfigyelésekre hagyatkozhatunk csak Viszont vannak megfigyelt sorozataink!

A Rejtett Markov Modell (HMM) Minden állapothoz hozzárendelhető a lehetséges megfigyelések valószínűsége e si (x) : x megfigyelés valószínűsége az i állapotban Ismerjük az állapotátmeneti valószínűségeket: Az A mátrix Keressük az állapotok sorozatát megfigyelések sorozata alapján

A Rejtett Markov Modell (HMM) Példa Egy oktató többféle állapotban lehet: S1:jókedvű, S2:közömbös, S3:ideges A házifeladat feladásában befolyásolja ez az állapot, de nem határozza meg teljesen A házifeladat lehet O1:könnyű, O2:félórás, O3:többórás e S1 ={0.7,,0.1} S1 0.3 S2 0.5 0.6 e S2 ={0.3,0.4,0.3} 0.0 S3 e S3 ={0.0,0.1,0.9} 0.8 Tudjuk:milyen házifeladatot adott egy hétig

A Rejtett Markov Modell (HMM) Példa Megfigyelések: {O1, O3, O1, O2, O3} Keressük a legvalószínűbb állapot-sorozatot Megoldás: Viterbi algoritmus halmozott valószínűségek utolsó állapot visszakövetkeztetés S1 0.0 0.8 0.3 0.5 S3 S2 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 0,7/3 Közömbös 0,3/3 Ideges 0,0/3 Az első oszlopba kerülnek azok a valószínűségek, amik kezdetben érvényesek. Feltételezve egyenletes eloszlást, a megfigyelések valószínűségeit elosztjuk az állapotok számával (a későbbiekben ennél okosabban is lehet csinálni, például külön kezelni a kezdőállapotok valószínűségeit)

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33? Közömbös 0.100 Ideges 0.000 A következő oszlopba már az állapotátmenet valószínűségeket is bele kell számolni. V 2,l =e l (O3)*max k {V 1,k *a k,l } V 2,S1 =e S1 (O3)*max{ V 1,1 *a 1,1, V 1,2 *a 2,1,V 1,3 *a 3,1 } V 2,S1 =0,1*max{ 33*=0.0466,, 0.1*0.3=0.03, 0.0*0.5=0 } S1 0.3 S2 V 2,S1 =0.00466 e S1 ={0.7,,0.1} e S2 ={0.3,0.4,0.3} e S3 ={0.0,0.1,0.9} 0.0 0.8 0.5 S3 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi 33 0.1 0 S1->S1 S1->S2 S1->S3 E(jókedvű, többórás)=0.1 E(közömbös, többórás)=0.3 E(ideges, többórás)=0.9 S1 0.0 0.8 0.3 0.5 S3 S2 0.6 A második megfigyelés a "többórás"

A Rejtett Markov Modell (HMM) Példa: Viterbi 33 0.1 0 0,2 0,2 0 =0.1 * min(ide vezető súlyok) E(közömbös, többórás)=0.3 E(ideges, többórás)=0.9 S1 0.0 0.8 0.3 0.5 S3 S2 0.6 A súly az élek súlya és a kiindulópont szorzata

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 Közömbös 0.100 Ideges 0.000 A következő oszlopba már az állapotátmenet valószínűségeket is bele kell számolni. V 2,l =e l (O3)*max k {V 1,k *a k,l } V 2,S1 =e S1 (O3)*max{ V 1,1 *a 1,1, V 1,2 *a 2,1,V 1,3 *a 3,1 } V 2,S1 =0,1*max{ 33*=0.0466,, 0.1*0.3=0.03, 0.0*0.5=0 } S1 0.3 S2 V 2,S1 =0.00466 e S1 ={0.7,,0.1} e S2 ={0.3,0.4,0.3} e S3 ={0.0,0.1,0.9} 0.0 0.8 0.5 S3 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 Közömbös 0.100 0.0207 Ideges 0.000 0.105 Minden értékhez megjegyezzük, hogy a maximális valószínűség melyik állapot felől következett S1 0.0 0.8 0.3 0.5 S3 S2 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 0.00294 0.000252 0.0000108 Közömbös 0.100 0.0207 0.0063 0.000504 0.0000324 Ideges 0.000 0.105 0.000 0.000378 0.0002721 Végigszámoljuk az egész táblát S1 0.0 0.8 0.3 0.5 S3 S2 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 0.00294 0.000252 0.0000108 Közömbös 0.100 0.0207 0.0063 0.000504 0.0000324 Ideges 0.000 0.105 0.000 0.000378 0.0002721 Kiválasztjuk a maximumot az utolsó állapotban. A halmozott valószínűségek közül a maximálisat választva egy egész sorozatot választunk S1 0.0 0.8 0.3 0.5 S3 S2 0.6

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 0.00294 0.000252 0.0000108 Közömbös 0.100 0.0207 0.0063 0.000504 0.0000324 Ideges 0.000 0.105 0.000 0.000378 0.0002721 Így a maximális választások útján visszafelé haladva a teljes állapot-sorozat visszakövetkeztethető. Az eredmény: {S1,S3,S2,S3,S3} S1 0.0 0.8 0.5 0.3 S3 0.6 S2

A Rejtett Markov Modell (HMM) Példa: Viterbi Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.00466 0.00294 0.000252 0.0000108 Közömbös 0.100 0.0207 0.0063 0.000504 0.0000324 Ideges 0.000 0.105 0.000 0.000378 0.0002721 Megjegyzés: Látható, hogy vannak olyan értékek, amik helyben maximálisak, mégsem képezik részét a végeredményben kapott útnak. A naiv, egyértelműen hozzárendelő elv szerint is, a jelzett valószínűség szerint is az S2 lett volna a nyerő, de a teljes folyamatban ez már nem igaz.

Viterbi algoritmus C++ nyelven for (int i=1;i<o.size();i++) { for (int j=0;j<a.size();j++) { maxv=0; for (int k=0;k<3;k++) { tmp=v[k][i-1]*a[k][j]; if (maxv<tmp) {maxv=tmp; max=k;} } v[j][i]=maxv*e[j][o[i]]; } } Ahol a az A mátrix, o a megfigyelések sorozata, e az állapothoz tartozó megfigyelés-valószínűségek mátrixa, v a Viterbi táblázat.

Összefoglalás A HMM jól leírja a beszédfolyamatokat Megfigyelés bármilyen jellegvektor lehet Állapotoknak a fonémákat nevezzük ki Az optimális állapotsorozat feladatára a Viterbi algoritmus a megoldás A módszer a dinamikus idővetemítéshez hasonlóan egy valószínűséghalmozás, és egy visszafelé haladó optimális út keresés Dinamikus programozás Kitekintés: Viterbi eredetileg jelátvitel hibajavítására találta ki az algoritmust

Más HMM algoritmusok Az előrefelé következtetés A kérdés: egy bizonyos megfigyeléssorozatnak mi a valószínűsége A megoldás: HMM-Forward algoritmus Az előző táblázathoz hasonló, de maximumkiválasztás helyett összegzés: minden lehetőséget összegzünk, nem legjobbat keresünk f S,i =e S (O)Σ k (f k,i-1 *a k,s )

Forward algoritmus Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33? Közömbös 0.100 Ideges 0.000 Az első oszlop ugyanúgy megy, mint a Viterbinél, majd f S,i =e S (O)Σ k (f k,i-1 *a k,s ) A következő oszlop mindegyikére ki kell számolni a lehetséges útvonalakhoz tartozó valószínűségek összegét: (33*+0.1*+0.00*0.5)=0,066 Majd ezt megszorozni a megfigyelés valószínűségével: 0,1*0,066=0,0066

Forward algoritmus Könnyű Többórás Könnyű Félórás Többórás Jókedvű 33 0.0066 0.004713 0.000658 0.000043 Közömbös 0.100 0.027 0.01176 0.001506 0.000206 Ideges 0.000 0.159 0.000 0.000941 0.001787 Kiszámítjuk az összegeket. A végeredmény az utolsó oszlop összege: 0,002036 Ez tehát az a valószínűség, ami egyenletes eloszlás szerinti kezdőállapot mellett a fenti megfigyelés-sorozathoz tartozik

Forward algoritmus C++ nyelven for (int i=1;i<o.size();i++) { for (int j=0;j<a.size();j++) { sum=0; for (int k=0;k<3;k++) sum +=f[k][i-1]*a[k][j]; f[j][i]=sum*e[j][o[i]]; } } Ahol az a a rákövetkezési mátrix, az e a megfigyelések valószínűsége, o a megfigyelések sorozata, f a Forward mátrixa.

Paraméterek becslése Ahhoz, hogy egy HMM sikeresen működjön beszédfelismerési, vagy egyéb rendszerekben, az A és E mátrixok pontos becslése szükséges. Ezeket az értékeket adatbázisok tartalmából ki lehet számítani megközelítőleg A megoldás a statisztika, azon belül is a maximum likelihood módszer.

Paraméterek naív becslése Az A mátrix elemeinek becslése: Legyen T i,j az adatbázisban található i j átmenetek száma. a i,j =T i,j /(Σ k T i,k ) Így igaz lesz, hogy Σ k a i,k =1 minden i-re

Paraméterek naív becslése Az E mátrix elemeinek becslése: Legyen O i,j az adatbázisban található j megfigyelések száma, amik i állapotban fordultak elő. e i,j =O i,j /(Σ k O i,k ) Így igaz lesz, hogy Σ k e i,k =1 minden i-re

Paraméterek becslése A naív becslés sajnos nem optimális Az optimális paraméterek megadására analitikus megoldás nem ismert Közelítő módszerrel pontosabb: Baum-Welch algoritmus

Baum Welch algoritmus Jelölje V a Viterbi algoritmus táblázatát, és F a Forward algoritmusét. V(i,j) illetve F(i,j) az i-edik megfigyelés j állapothoz tartozó valószínűsége Jelentse Mod=(A,E) egy modell minden paraméterét, ezt szeretnénk optimalizálni Végül jelentse O a megfigyelések sorozatát A BW algoritmus már 3 dimenziós táblával dolgozik Jelentse BW(t,i,j) = P(S t =S i & S t+1 =S j O,Mod)

Baum Welch algoritmus BW(t,i,j) = P(S t =S i & S t+1 =S j O,Mod) BW(t,i,j) = P(S t =S i & S t+1 =S j & O Mod) / P(O Mod) A levezetést nem fejtjük ki, ami fontos: Ez a valószínűség kifejezhető a Viterbi és a Forward algoritmusok táblázataival Ennek alapján egy iteratív módszerrel egyre jobb Mod modell adható

Baum Welch algoritmus Si Sj állapotátmenetek várható értéke A(i,j) = Si-ből induló állapotátmenetek várható értéke E(i,j) = Si állapotban Oj-t megfigyelések várható értéke Si állapot előfordulásának várható értéke Vegyük észre: Ha az A és E mátrixok változnak, más lesz a várható érték ettől lesz az algoritmus iteratív Fixpont tétel: Ez egy kontrakció, tehát ha egy Mod paraméterállapota a fenti iteráció egy lépése ugyanezt a Mod paraméterállapotot adja, akkor az a keresett szélsőérték.

Baum Welch algoritmus Összefoglalás A naív becslés egy torzítatlan egylépéses iteráció a BW algoritmushoz képest A tanítás iteratív volta miatt a neuronhálózatos módszerekhez hasonlóan a tanítás sebessége a tanító adatbázis méretétől és jellegétől függ Statisztikai szemszög: Gauss eloszlások keverékét szeretnénk szeparált (ismert) Gauss eloszlások összegeként előállítani

HMM: Értékelés Az állapot-sorozatok elemzésével a fonémák kinyerhetőek a beszédjelből Ez jóval erősebb eszköz a dinamikus idővetemítésnél, ami csak egész kifejezések felismerésére használható Tanítható Részben beszélőfüggetlen, a beszélőn főleg az E mátrix múlik A megfigyelések halmaza tetszőlegesen választható (pl spektrális információ és energia, egyéb akusztikus jegyek)

Problémák Szegmentálás: ekvidisztáns időkeretek, vagy szegmentálási algoritmus? Egyforma keretek esetében sok múlik a keretek méretén. Ha a keret túl kicsi, az a i,i értékek túl nagyok lesznek. Szegmentálási algoritmus esetében az éles használatkor az adatbázistól eltérő körülmények között (más zaj, stb) elromolhat az A mátrix.

Lehetőségek Hierarchikus HMM: fonémák szintje, szavak szintje, nyelvtani szint Adaptív HMM: a modell folyamatosan változik használat közben, fenntartva a modell lehetőségekhez mért optimalitását Másodrendű, sokadrendű HMM: az állapotátmenetek nem csak a megelőző, de a megelőző n mintától függnek.

HTK (HMM Tool Kit) A HTK egy C/C++ könyvtár, ami hangfeldolgozó eljárásokat, és sok beszédfelismerésben hasznos algoritmust tartalmaz Többek között: HMM LPC, és egyéb előfeldolgozók Nyelvi modell Fájlformátumok VQ

HTK (HMM Tool Kit) Fájlformátumok: Saját formátumok Hangfájlok (WAV, AIFF, AU8..) Tesztanyagok cimkézései (TIMIT, SCRIBE..) HMM Adatszerkezetek modellekhez, akár többedrendűekhez Többféle tanítási módszer Viterbi/Forward és egyéb kiértékelések Adaptív HMM

Egy HMM rendszer felépítése 1. fázis Adatbázis Tanítás (BW) Modell 2. fázis Modell Input előfeldolgozás Jellegvektorok Viterbi Fonéma sorozat