Beszédfelismerés Izolált szavas, zárt szótáras beszédfelismerők A dinamikus idővetemítés
Vázlat Zárt szótár előnyei, hátrányai Izoláltság Lehetséges távolságmértékek Dinamikus idővetemítés
Emlékeztető A beszédfelismerő alkalmazás feladata: azonosítani az elhangzott beszédhangot valamilyen formában, például fonémasorozattal vagy előre adott kifejezéslehetőségekkel lehetőleg minél kevesebb tévedéssel lehetőleg minél többféle akusztikai környezetben lehetőleg minél kevésbé beszélőfüggően
Bevezetés Beszédfelismerés: általánosságban túl nehéz feladat Egyszerűsítések beszélőfüggőség megszabott szókincs/szituáció/akusztikai környezet.. és bármi, ami a megvalósíthatóságban segít
Zárt szótár Hátrányai mást nem ismer fel, csak ami a szótárban benne van. A szótár bővítése nehéz Előnyök könnyen implementálható egyszerű módszerekkel értékelhető pontosság érhető el beszélőfüggéssel és kis szótárral gyakorlatilag 100%
Zárt szótár Beszéd Adatbázis kereső Kifejezés Kifejezés Kifejezés Kifejezés Kifejezés... véges szótár
Zárt szótár Beszéd Adatbázis kereső Kifejezés Kifejezés Kifejezés Kifejezés Kifejezés... véges szótár
Zárt szótár Beszéd Adatbázis kereső Eredmény: 2. kif. Kifejezés Kifejezés Kifejezés Kifejezés Kifejezés... véges szótár
Zárt szótár A sarkalatos pont tehát a hasonlítás Követelmények: akkor és csak akkor Legyen hasonló, ha ugyanaz a fonetikus tartalom ugyanaz a kérdő/állító prozódia Legyen hasonló, annak ellenére, hogy más beszélő hangja más ritmusban hangzik el
A hasonlítás menete, nehézségek Egy lehetséges előfordulás Folyamatos beszédhang folyam kif 1 kif 2 kif 3 kif 4
A hasonlítás menete, nehézségek Egy lehetséges előfordulás Folyamatos beszédhang folyam kif 1 kif 2 kif 3 kif 4 Szünet Átlapolódó kifejezések régens herceg régen serceg Nincs szünet
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon?
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon?
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon?
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon?
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon? Ajjaj! túl sok lehetőség
A hasonlítás menete, nehézségek? Folyamatos beszédhang folyam Az általános megoldás tehát minden időintervallum lehetőséget meg kellene vizsgáljon? Ajjaj! túl sok lehetőség
Izolált szavas felismerő Szó Szó Szó Szó? Egyszerűsítés: tudjuk, hogy hol van a szavak eleje és a vége
Izolált szavas felismerő Szó Szó Szó Szó? Egyszerűsítés: tudjuk, hogy hol van a szavak eleje és a vége
Izolált szavas felismerő Szó Szó Szó Szó? Egyszerűsítés: tudjuk, hogy hol van a szavak eleje és a vége
Izolált szavas felismerő Hátránya: élő beszédre alkalmatlan, szájba kell neki rágni Előnye: zárt szótár hasonlítással megoldható értelmes válaszidővel Izolálás csend-érzékeléssel egyéb módon, például sípszóra kell kezdeni, vagy gombot kell nyomni
Izolált szavas felismerő Hol használható? mobiltelefon gyorshívás mozgáskorlátozottaknak egyszerű parancsok értelmezésére autóban GPS és egyéb vezérléshez játékhoz ilyen felismerő forgalomban van, mint kiegészítő kontroller
Csend/beszéd döntés Energia vagy maximális amplitúdó alapján Figyelembe kell venni a felpattanók miatti rövid csendeket is időben Háttérzajra ezek a módszerek érzékenyek Headset esetében használható módszer, vagy egyéb irányérzékeny megoldásnál
Összefoglalva A zárt szótáras, izolált szavas felismerők lényege Kötött szótár, ahol a felismerés eredménye egy index A felismerendő hangminta eleje és vége ismert A felismerés a hasonlóságok viszonyával működik, tehát minden felismerés műveletigénye a szótár méretével egyenesen arányos A pontosság a hasonlítás módszerén múlik (és a csend/beszéd döntés minőségén, ha van) Hogyan hasonlítsunk?
Követelmények: Hasonlítás ritmus, tempó, és energia invariancia Előnyök: beszélőfüggetlenség zajtűrés Lehetőség: a jellegvektorok között valamilyen távolságot mérünk, például spektrumok sávjainak abszolút értékben vett különbségét f i g i i
Hasonlítás: energia invariancia Ha ugyanaz hangosabban vagy halkabban szól Megoldás: normalizáció teljes energiában utólag, a jellegvektorok értékeinél A kifejezésen belüli energiaváltozások így nem sérülnek. Lehet időablakonként is normalizálni, de azzal előfordulhat, hogy amúgy halk részeket túlerősítünk (pl. nazálisok)
Hasonlítás: tempó invariancia A tempó az átlagos beszédsebesség. Eltérésénél a szótárbeli és a felismerendő minta hossza nagyon eltérhet Megoldás: nyújtás-zsugorítás fontos: nem az időjelet, mert az frekvenciaeltolódáshoz vezet (Alvin és a mókusok) hanem a jellegvektorok eredményeit, például a spektrumot
Hasonlítás: ritmus invariancia Ritmus: a kifejezésen belüli rövid szakaszok tempója. Kemény dió: hol lassítani kell, hol gyorsítani, hogy a lehető legjobb illeszkedést megtaláljuk Az optimális megoldás nagyon lassú, egyszerűsítésre van szükség Megoldás: a dinamikus idővetemítés
Dinamikus idővetemítés Dynamic Time Warping A feladat: a lehető legjobb illeszkedés megkeresése úgy, hogy az illesztésnél a lehetséges gyorsítások-lassítások körét leszűkítjük. szuboptimális Az általános dinamikus programozás egy speciális esetéről van szó
Dinamikus idővetemítés Hasonlítandó minta a szín a jellegvektorok távolságát ábrázolja Szótárbéli minta
Dinamikus idővetemítés Hasonlítandó minta A jellegvektorok ablakai 10-50 ms Szótárbéli minta
Dinamikus idővetemítés Hasonlítandó minta Az optimális illesztés Szótárbéli minta
Dinamikus idővetemítés Az 1. és 2. keretet a hasonlítandóból a szótárbéli 1. kerettel kell hasonlítani, a 3. és 4. keretet a másodikkal... Hasonlítandó minta 2 1 4 3 5 7 6 9 8 10 11 A három lehetséges lépés: Lépés Ismétlés a mintán Ismétlés a szótárban Szótárbéli minta
Dinamikus idővetemítés Az 1. és 2. keretet a hasonlítandóból a szótárbéli 1. kerettel kell hasonlítani, a 3. és 4. keretet a másodikkal... Hasonlítandó minta 2 4 3 5 7 6 9 8 10 11 Pók (ebben az esetben) 1 Szótárbéli minta
Dinamikus idővetemítés Hasonlítandó minta 5 4 D[4,5]+min( T[3,5] T[4,4] T[3,4]) D[4,4]+min( T[3,4] T[4,3] T[3,3]) D[5,5]+min( T[4,5] T[5,4] T[4,4]) D[5,4]+min( T[4,4] T[5,3] T[4,3]) 4 5 Legyen minden mező jelentése, hogy ide hogyan lehet a lehető legkevesebb hegymászással eljutni D: a jellegvektorok távolsága T: ez a táblázat Szótárbéli minta
Dinamikus idővetemítés
Dinamikus idővetemítés
Dinamikus idővetemítés Kumulált (görgetett, felgyűlő) összeg A táblázat kiszámításával a sarokban megvan az eredmény, az optimális illesztésnél kapott távolság Tempó invariancia kedvéért érdemes először mindkét mintát egyforma keretszámúra zsugorítani (nyújtani) A futásidő négyzetesen arányos a választott mérettől
Dinamikus idővetemítés Lehetséges probléma: A pálya széléről indulva/érkezve a szó felét ismeri fel A túl sok kihagyás/ismétlés halmozódása okozza főleg a pókok a táblázatból való kihivatkozásánál dehogy tetszik dehogy isnem nem tetszik
Dinamikus idővetemítés A megoldás egyfelől a keresési terület korlátozása
Dinamikus idővetemítés Másfelől olyan pók alkalmazása, ami mindenképpen lép mindkét mintán 0,5 + 0,5 1 0,5 + 0,5
Dinamikus idővetemítés
Dinamikus idővetemítés Összefoglalva: Két táblázat van, az egyikben a jellegvektorok távolsága, a másik pedig amit építünk A cellákba írt értékek a póktól függően a már kiszámítottak alapján minimumkiválasztással készülnek A cellák jelentése: mekkora költséggel lehet idejutni Útvonal információ nincs előre meg! Előfordulhat, hogy a táblázat közepén az egyik legkisebb értéket tartalmazó cella zsákutcává válik a jellegvektorok nagy távolságai miatt. Dinamikus programozás
Dinamikus idővetemítés Az optimális útvonal a pók ismeretében a már kitöltött táblázat alapján számolható ki Ez a dinamikus programozás egyik tulajdonsága, hamarosan visszatérünk rá egy következő előadásban Az optimális illesztés megkeresése beszédfelismerési feladatnál felesleges.
Dinamikus idővetemítés
Dinamikus idővetemítés Lehetséges gyorsítások A feldolgozás sorok vagy oszlopok szerint történik. Ha az eddigi legkisebb távolságú szótárillesztésnél már minden cellában nagyobbak az értékek egy kész sorban/oszlopban, felesleges tovább számolni Nem kell a táblázatot kiüríteni a következő szótárelemnél, úgyis minden cellát előbb írunk (felül) és csak aztán olvasunk. Így a korlátozó keret kiszámítása sem okoz gondot, ha azt a jellegvektorok távolságának táblázatába jó nagy értékekkel oldjuk meg
Dinamikus idővetemítés Összefoglalva: A mintákat energiában és tempóban normalizáljuk Elkészítjük a jellegvektorok távolságainak táblázatát Használva a pók rekurzív képletét, feltöltjük a kumulált távolságokkal a vetemítő táblázatot A fentieket minden szótárbéli elemre végrehajtjuk figyelve az eddigi legjobb illesztés biztos alulmúlására A legkisebb távolságot adó elem lesz a nyerő Érdemes maximális távolságot megszabni az egyik sem kategória miatt
Összefoglaló Mikrofon folyamatos hang Izoláló szó Előfeldolgozó Adatbázis jellegmátrix1 jellegmátrix2 jellegmátrix3 jellegmátrix4... távolság mértékek jellegvektorok (pl. spektrum) Dinamikus idővetemítés kiválasztott szótárelem (vagy egyik sem ) Eredmény kezelése...