Beszédfelismerés és beszédszintézis Beszédfelismerés alapjai, izolált szavas kötöttszótárú felismerők Takács György 14. előadás 2014. 04. 29. Beszedf 2014.04.29.
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.04.29.
Megoldott kérdés-e a beszédfelismerés, más szóval beszéd-szöveg átalakítás? Beszedf 2014.04.29.
Igen Mert termékként állnak rendelkezésre megoldások. Mert jobb rendszerek beépített eleme (pl., hangportálok, automata telefonkezelő, Windows XP) Mert könyvek leírják, iskolában tanítják…. Beszedf 2014.04.29.
Beszedf 2014.04.29.
NEM! Mert nem szeretik! Mert nem használják! Mert nem hozott komoly üzleti eredményt senkinek! Beszedf 2014.04.29.
Elfogadjuk a létező beszédfelismerőket? Ha nem, akkor miért nem? Beszedf 2014.04.29.
Az én válaszaim Személyfüggő nagyon! A beszédfelismerőnek „értenie” is kell amit felismer! Akadnak tényleges felismerési hibák is! A beszéd több, mint elemek egymásutánisága! A beszédfolyamat további tényezői közül a finom hangsúly, a dallam, a szünetek, a ritmus, a tempóváltások is a felismerendő üzenet lényegi elemei. Ezek is az értelmezést segítik, a közlendőt árnyalják, a beszédet emberivé, széppé teszik, tehát ha a beszéd üzenetét kívánjuk felismerni ezek sem hagyhatók a folyamatból el. Beszedf 2014.04.29.
Érdekesebb helyek a hálón! http://www.nuance.com/naturallyspeaking/ http://www.microsoft.com/enable/products/windowsvista/speech.aspx http://download.cnet.com/Speech-Recognition-Based-on-DTW/3000-2053_4-10878314.html http://www.electricrainbow.com/freedemo.html http://www.globalchange.com/speech.html Beszedf 2014.04.29.
Ideális beszédfelismerő Minimális felismerési hiba Függetlenség az akusztikai környezettől Beszélőfüggetlenség Korlátlan szótár és témakör Folyamatos, természetes beszédet felismerése. 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.04.29.
A beszédfelismerés technikai kérdései ma Általános alapeszköz a PC - bőséges operatív memóriával, háttértárral, hangkártyával. Mik legyenek a felismerendő alapelemek? Teljes közlendők, mondatok, szavak, szótagok, hangok? Hogyan lehet olyan elemeket kialakítani, amelyek jól felismerhetők, ezek felismerésével minden közlendő felismerhető? Hogyan kezeljük az egyszerű szótárban nem szereplő elemeket? Hogyan lehet a gépileg esetleg „értelmezhető” elemeket a felismert üzenet szövegébe beleszőni? (pl országgyűlési gyorsírók szabványos megjegyzései) Beszedf 2014.04.29.
A beszédhangok folytonos és diszkrét természete Beszedf 2014.04.29.
A természetes beszédlánc Beszedf 2014.04.29.
Beszédhang A legkisebb olyan egységek, amelyek sorozatával egy nyelvet megvalósító beszéd akármilyen részlete az agy számára reprodukálható, beszédhangnak nevezzük. A beszédhangok a beszéd olyan szegmensei, részletei, amelyeket a nyelvet beszélő egymástól elkülöníteni és felismerni teljes biztonsággal képes. A beszédhangok a nyelvre jellemzőek! Egyes nyelvekben a hangmagasság hajlítása is megkülönböztet beszédhangokat. Az élő beszéd olyan leírása, amely a beszéd hangzásának leírására törekszik – a fonetikai átírás. Ennek elterjedt rendszerei az APhI és a SAMPA. Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
A -- az agy beszédfelfogási folyamatait utánzó modellekre? Ha nagyon sokat tudunk a beszédfolyamatról – mire lehet építeni a beszédfelismerőket? A -- az agy beszédfelfogási folyamatait utánzó modellekre? B -- beszédkeltési folyamatokat leíró modellekre? Beszedf 2014.04.29.
2014. évi állapot A létező és működő modellek B típusúak, de teljes egyetértés van abban, hogy a lényegi előrelépéshez kellenek az A típusú modellek! Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Lineáris predikció alapok A beszédjel n-edik mintája becsülhető a megelőző p beszédminta lineáris kombinációjával ahol az αi lineáris predikciós együtthatók hordozzák a jelenségre vonatkozó előismereteket, tapasztalatokat. p -- a prediktor fokszáma Beszedf 2014.04.29.
Ebben a modellben bemenet a pedikciós hibaminták sorozata és kimenő jel az eredeti beszédjel-minták sorozata. Beszedf 2014.04.29.
A toldalékcső modellje egyenletesen felosztott, állandó keresztmetszetű csőszakaszokkal Beszedf 2014.04.29.
Belátható, hogy az alábbi rács struktúrák ekvivalensek… Ezért a csőmodell azonos a PARCOR szintézis modellel, ha ri = ─ ki Beszedf 2014.04.29.
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.04.29.
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.04.29.
A rendszer két fő eleme a tényleges felismerő és a szótárszerkesztő Egy létező és működő technikai kompromisszum: az izolált szavas kötöttszótárú felismerő A felismerendő alapelemek szavak (tehát meghatározott szótárral dolgozik) A rendszer két fő eleme a tényleges felismerő és a szótárszerkesztő Lehet személyfüggő és személyfüggetlen (ez alapvetően a szótáralkotásra hat ki) Beszedf 2014.04.29.
Beszedf 2014.04.29.
A felismerő rész fő elemei Kezdet és vég detektálás Lényegkiemelés Normálás Mintaillesztés Beszedf 2014.04.29.
Szókezdet és szóvég detektálás Gördülő számolás 10-20 ms időkeretenként energiát számol Ebből meghatározható a normál zajszint Szókezdet = ha a normál zajszintet a keretenergia pl. 6dB értékkel meghaladja Szóvég = ha kezdet után a keretenergia n kereten át a normál zajszintet nem haladja meg pl. 6dB értékkel Detektált szó = ha a szóhossz a szótárelemek hosszához illeszkedik Gyakoriak a jelentős kezdet-vég detektálási hibák Beszedf 2014.04.29.
Lényegkiemelés Feladata a beszédjelet leíró adattömeg redukálása a jelentési információ megőrzése mellett Időkeretenként egy vektort ad meg Szokásos módjai: sávszűrők alkalmazása és az energia sávonkénti meghatározása (fülmodell, 10-20 sáv?) LPC együtthatók számolása (6-20) PARCOR/ Csőmodell együtthatók számolása (6-20 jól kvantálható) Cepstrum együtthatók számolása (10-20) Beszedf 2014.04.29.
Normálás (uniformizálás) Célja, hogy a szótárelemek és a felismerendő szavak jobban összevethetők legyenek Egyik szükséges formája az energia-normálás (energia maximum vagy energia átlag alapján) annak érdekében, hogy a mikrofonnal nagyobb vagy kisebb szinttel vett, vagy halkabban vagy hangosabban ejtett szavak a megfelelő szótárelemhez jobban illeszkedjenek, Másik szükséges formája az idő-normálás annak érdekében, hogy a gyorsabban vagy lassabban ejtett szavak a megfelelő szótárelemhez jobban illeszkedjenek A (referencia) szótárelemek eleve normáltak energia és idő szerint A normálás arányos nyújtást vagy zsugorítást jelent az adott dimenzióban Beszedf 2014.04.29.
Mintaillesztés A felismerendő szavak és a szótárelemek azonos méretű és elemeikben is normált mátrixok A felismerés lényege, hogy a felismerendő beszédjelet leíró a mátrix melyik szótárelem mátrixhoz illeszkedik legjobban Kézenfekvő megoldás az elemenkénti különbségek abszolút értekeinek halmazata alapján minimum keresés. Probléma: a hibás végpont-detektálás és a ritmuskülönbségek miatt nem összeillő elemeket vetünk össze, ezért nagy a különbség halmazat, nincs meg a jó illeszkedés Megoldás: idővetemítés, (Dynamic Time Warping) Beszedf 2014.04.29.
Idővetemítés xi a felismerendő szó i-edik keretét leíró lényegkiemelt (normált) vektor , komponensei a sávenergiák, LPC együtthatók stb. p elemmel yj az éppen vizsgált szótárelem j-edik keretének vektora azonos (és normált) komponensekkel, p elemmel xi és yi lokális távolsága számolható a képlettel Beszedf 2014.04.29.
Vizsgált szótárelem j-edik kerete Példa Vetemítő görbe Vizsgált szótárelem j-edik kerete Feladat: keresendő az a vetemítő görbe, amelynél a két alakzat legjobban Illeszkedik, azaz a kumulatív távolság minimális. A keresés elvégzendő minden szótárelemre Felismerendő szó i-edik kerete Beszedf 2014.04.29.
Idővetemítés szuboptimális algoritmusa (PÓK) példa A di,j lokális távolságok alapján számolhatók a tij kumulatív távolságok az alábbi képlettel A kumulatív távolságokat csak az │i-j │≤ 4 egyenlőséggel megengedett tartományon belül számoljuk soronként balról jobbra és alulról felfelé haladva tij Beszedf 2014.04.29.
Ide kell érkezni Beszedf 2014.04.29. Innen indulunk
DTW Algorithm at Work Start with the calculation of g(1,1) = d(1,1). Time Series A Calculate the first row g(i, 1) = g(i–1, 1) + d(i, 1). 1 i n m Calculate the first column g(1, j) = g(1, j) + d(1, j). Move to the second row g(i, 2) = min(g(i, 1), g(i–1, 1), g(i – 1, 2)) + d(i, 2). Book keep for each cell the index of this neighboring cell, which contributes the minimum score (red arrows). i = j - r j Carry on from left to right and from bottom to top with the rest of the grid g(i, j) = min(g(i, j–1), g(i–1, j–1), g(i – 1, j)) + d(i, j). Trace back the best path through the grid starting from g(n, m) and moving towards g(1,1) by following the red arrows. Time Series B 1 i = j + r Beszedf 2014.04.29.
Kész algoritmusok http://download-book.net/matlab-code-for-dtw-algorithm-for-speech-recognition-pdf.html http://download-book.net/dtw-algorithm-in-java-doc.html http://member.hitel.net/~wjluv/program.html http://www.sourcecodeonline.com/list?q=dtw_algorithm Beszedf 2014.04.29.
Alkalmazások Hang-tárcsázás Dialógus rendszerek, telefonos információs rendszerek. Összetett eszközök vezérlése (pl. autó, vadászgép http://www.f-16.net/news_article2571.html) Sérültek segítése Beszedf 2014.04.29.
These gadgets can then be activated and controlled through voice recognition ... Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.
Beszedf 2014.04.29.