Beszédfelismerés és beszédszintézis Rejtett Markov Modell a beszédfelismerésben Takács György 15. előadás 2014. 05. 08. Készítette Feldhoffer Gergely felhasználva Fodróczi Zoltán előadásanyagát Beszedf 2014.05.08.
Javasolt vizsgaidőpontok: Május 22. csütörtök 11:00 Június 4. szerda 10:00 Június 25. szerda 10:00 Beszedf 2014.05.08.
A beszédhangok folytonos és diszkrét természete Beszedf 2014.05.08.
A rejtett Markov Modell alapú felismerők lényege: diszkrét elemek (fonémák) sorozatának optimális előállítása a folyamatos beszédjelből. Felhasználva ehhez az egymás utáni bekövetkező elemek (nyelvfüggő) statisztikai adatait. Beszedf 2014.05.08.
Jól alkalmazható beszédfelismerés kritériumai Személyfüggetlen Folyamatos, természetes beszédet felismer a rendszer. A felismerés hibája nem több kb. 1%-nál (szavak szintjén)! Értenie is kell valamilyen szinten azt amit felismer! Reakcióideje nem több 100 ms-nál!! Indulatok, érzelmek elemeit is képes felismerni! Platform független, a létező erőforrásokkal működtethető! Beszedf 2014.05.08.
Alapproblémák A beszéd folyamatos (nincsenek szóközönként szünetek) igazi szünetek csak nagyobb prozódiai egységek között vannak Ugyanannak a diszkrét beszédhangnak gyakorlatilag végtelen sok reprezentációja elképzelhető (bemondó, tempó, hangerő, hanglejtés, hangkörnyezet, hasonulás….., érzelem függvényében) Elnagyolt ejtés, pontatlanság, ejtési hiba, beszédhiba érthetetlen artikuláció gyakran előfordul „érteni” kell a mondandót ahhoz, hogy jól felismerhessük! Beszedf 2014.05.08.
Példa folyamatos feldolgozásra Beszedf 2014.05.08.
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 Beszedf 2014.05.08.
(részletek a neurális hálózatos felismerésnél) ● Jellegvektorok Zöngésség Zajosság Orrhangzósság Elől-képzettség Középen-képzettség Hátul-képzettség Magánhangzósság (részletek a neurális hálózatos felismerésnél) ● Jellegvektorok ● Szegmentálás ● Fonéma kiválasztása ● Szóhatárok Beszedf 2014.05.08.
● Jellegvektorok ● Szegmentálás ● Fonéma kiválasztása ● Szóhatárok Beszedf 2014.05.08.
● Jellegvektorok ● Szegmentálás ● Fonéma kiválasztása ● Szóhatárok Beszedf 2014.05.08.
Markov Modell Állapotok, állapotátmenetek Beszedf 2014.05.08.
Markov Modell példa: időjárás Beszedf 2014.05.08.
Rejtett Markov Modell a beszédfelismerésben Az állapotokat a fonémáknak feleltetjük meg Az állapotátmenetek ismertek: Nagy nyelvstatisztikai adatbázisokból kinyerhető az A mátrix A felismeréskor a tényleges állapotokat NEM ismerjük, de vannak megfigyeléseink a tényleges állapotokról. Beszedf 2014.05.08.
A Rejtett Markov Modell (HMM) Minden állapothoz hozzárendelhető a lehetséges megfigyelések valószínűsége ● esi(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 a megfigyelések sorozata alapján Beszedf 2014.05.08.
Rejtett Markov Modell (HMM) Példa Beszedf 2014.05.08.
Rejtett Markov Modell (HMM) Példa Beszedf 2014.05.08.
A Rejtett Markov Modell (HMM) Példa: Viterbi algoritmus Beszedf 2014.05.08.
Példa: Viterbi algoritmus Beszedf 2014.05.08.
Példa: Viterbi algoritmus Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Beszedf 2014.05.08.
Viterbi algoritmus C++ nyelven Beszedf 2014.05.08.
Ö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 Beszedf 2014.05.08.
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. Beszedf 2014.05.08.
Paraméterek naív becslése Beszedf 2014.05.08.
Paraméterek naív becslése Beszedf 2014.05.08.
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 Beszedf 2014.05.08.
Baum – Welch algoritmus Beszedf 2014.05.08.
Baum – Welch algoritmus Beszedf 2014.05.08.
Baum – Welch algoritmus Beszedf 2014.05.08.
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 Beszedf 2014.05.08.
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) Beszedf 2014.05.08.
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 ai,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. Beszedf 2014.05.08.
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. Beszedf 2014.05.08.
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 Beszedf 2014.05.08.
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 Beszedf 2014.05.08.
Egy HMM rendszer felépítése Beszedf 2014.05.08.