450 likes | 537 Views
Bes zé dtechnol ó gia, beszédfelismerés. Dr. Tóth László MTA-SZTE Mesterséges Intelligencia Kutatócsoport. Beszédtechnológiai témakörök. Beszédfelismerés „Tiszta” felismerés = diktálás (beszéd írás ) Más rendszer részeként: beszédinput (beszéd akció )
E N D
Beszédtechnológia, beszédfelismerés Dr. Tóth László MTA-SZTE Mesterséges Intelligencia Kutatócsoport
Beszédtechnológiai témakörök • Beszédfelismerés • „Tiszta” felismerés = diktálás (beszédírás) • Más rendszer részeként: beszédinput (beszédakció) • Szorosan összefonódik a nyelvtechnológiával (nyelvi szinten is modellezni, elemezni kell) • Beszélőfelismerés • Verifikáció (igen/nem) vagy azonosítás (több beszélő közül) • Beszédszintézis (text-to-speech) • Problémák: hangminőség, prozódia, érzelmi töltet • Beszédtárolás és -továbbítás • Beszédtömöríés (speech coding) • Minőség javítása (pl. telefonos torzítás) (speech enhancement)
Beszédtechnológiai témakörök 2. • Beszédadatbázisok készítése • A statisztikai alapú algoritmusok tanítására/tesztelésére • A feldolgozás lehetséges szintjei: • Alapos lehallgatás, szószinten pontos átirat (plusz zajok, egyedi kiejtések feljegyzése) • Szóhatárok bejelölése a felvételen • Beszédhang-határok bejelölése a felvételen • Felismeréshez kapcsolódó nyelvtechnológiai problémák • Valószínűségi alapú nyelvi elemzés • Dialógusmodellezés • Kiértékelés • A beszédtech. alkalmazások hatásfokának objektív mérése
Beszédfelismerési alkalmazások • A teljesen általános felismerés nem megy!Valamilyen módon „szűkített” feladatokat keresünk, pl. • Szótár v. nyelvtan megszorítható (kicsi-közepes-nagy szótár) • A hangminőség jobb az áltagosnál • Beszédmód: izolált szavas – olvasott – folyó – spontán • Zaj jellege: nincs – modellezhető – változó • Beszélők: egyetlen beszélő sokáig (adaptáció) – változó beszélők • Klasszikus alkalmazások: • Parancsvezérlés (kis szótár, izolált szavak zaj esetén is OK) • Diktálórendszerek (nagy szótár, de tiszta jel, beszélőadaptáció) • Dialógusrendszerek (kis szótár, kötött nyelvtan, ált. telefonos)
Beszédfelismerési alkalmazások 2. • Jelenleg „divatos” alkalmazások: • Multimodalitás (szájról olvasás, arckifejezés, kézmozdulat felismerése, kombinálása a beszédfelismerővel) • Multilingvalitás: nyelv felismerése, akcentus felismerése, és kezelése, fordítás • Hang-adatbányászat: audio indexing & retrieval, diarization, summarization • Néhány további érdekes téma: • Egyidejű beszédjelek szétválasztása • Érzelmek felismerése • Beszédterápia, olvasástanítás, nyelvtanulás segítése • Néma beszéd felismerése EMG-ből
Felismerés (osztályozás-kombinálás-keresés) Digitalizálás és jellemző- kinyerés Szintaktikai/szemantikai elemzés Dialógus-vezérlés beszéd- jel spektrális vektorok szólista v. -háló értelme- zett kérés Beszédfelismerő komponensei akusztikai- fonetikai modell nyelvi modell szintaktikai/ szemantikai modell dialógus- modell akció beszédszöveg beszédtartalom beszédakció
Jellemzőkinyerés • Cél: a lényegtelen információ kidobása, a lényeges tömör reprezentálása • „lényeg”: nyelvi tartalom (ld. fonetika) • Klasszikus módszerek: tisztán matematikai megoldások (ld.: digitális jelfeldolgozás, beszédfeldolgozás) • Újabb módszerek: az emberi fül/hallás (durva) modellezése (ld.: pszichoakusztika, neurofiziológia) • Mindig valamilyen spektrális vektorsorozat a kimenet, felbontás: 100 vektor/sec, 40-50 komponens/vektor
A felismerés • A beszéd (és nyelv) specialitása, hogy hierarchikus: • Spektrális vektor („adatkeret”): 25-30 ms-os részletet ír le • Beszédhang: a magyarban kb. megfelel a betűknek • Szó: angolban ~felsorolhatók, magyarban toldalékolás is van! • Mondat: nyelvtani szabályokkal próbáljuk leírni (szintaxis) • Szöveg ill. dialógus: szemantikai tartalom ill. beszédaktus • A szintezettség kezelése: • Alapvetően bottom-up módon • Több megoldási javaslat továbbítása a következő elemzési szintnek (tkp. a döntés késleltetése) • Valószínűségek hozzárendelése
A felismerés 2. • 1. részfeladat: osztályozás • Spektrális vektorok, esetleg beszédhangnyi szegmentumok azonosítása (milyen hangnak felel meg) • Tudásalapú (fonetikai) megoldások: nem váltak be, kiszorultak • Statisztikai gépi tanulási megoldások: jelenleg csak ilyeneket használnak • 2. részfeladat: kombinálás • A vektorokat kombinálni kell beszédhangokká, majd a beszédhangokat szavakká, a szavakat mondatokká • Valószínűségek kezelése: valszám. szabályai alapján
~ k é - t e z e r ~ A felismerés 3. • 3. részfeladat: keresés • Keressük a legnagyobb valószínűségű kombinációt • Din. prog., heurisztikák, vágás kell a hatékony bejáráshoz • A keresési tér szemléltetése • Input: a beszédjel spektrális reprezentációja • Ismeretlen: a hangok helye és címkéje • Output: fonetikai szimbólumok sorozata („milyen hangok”) • „Rejtett” részfeladat: szegmentálás („hol”)
A felismerés 4. • A felismerést segítő komponensek • Akusztikus modell: általában az ún. rejtett Markov-modell • A hangokhoz tartozó adatvektorokat statisztikailag írja le • Valószínűségek kombinálása: naív Bayes-szabály • Nyelvi modell: kiejtési szótár és n-gram • Szavak leírása: a hozzájuk tartozó hangsorozat megadásával • Mondatok: a szavak egymásutániságának valószínűségével • A felismerés kimenete • Szósorozat, vagy esetleg csak hangok sorozata • További feldolgozás esetén: N legvalószínűbb hipotézis • A felismerés kiértékelése • A hierarchia minden szintjén van értelme kiértékelni • Izolált vektorok, hangok szavak: osztályozási pontosság • Hang- és szósorozatok: edit distance • Jelentéskinyerés vagy dialógus kiértékelése: bonyolultabb
A felismerés 5. • N-best list és word lattice szemléltetése
Magasabb szintű feldolgozás • Szintaktikai/szemantikai elemzés: • Ez már nyelvtechnológiai feladat, ld. korábbi két előadás! • Dialógusmodellezés: • Speciálisan a dialógusrendszerek készítéséhez kapcsolódó beszéd- illetve nyelvtechnológiai terület • Cél: a felhasználó számára kényelmes dialógus, minimalizált tévesztési lehetőségekkel • Van némi elméleti háttere, de inkább gyakorlati jellegű
S: Welcome to British Airways flight information service. How can I help you? C: Yes, I'd like the departure time of flight BA four one eight from Heathrow Airport. S: Do you know the flight number? C: The flight number is BA four one eight. S: Please tell me the flight number. C: BA four one eight. S: Was that flight number three eight four? C: BA four one eight. S: Please tell me the name of the airline. C: British Airways. S: Did you say British Airways? C: Yes. S: Was that British Airways? C: Yes. S: Sorry, I missed what you said. Did you say British Airways? C: Yes, British Airways. S: I'm sorry. I don't know of any such flight. Do you have another inquiry? C: Yes. S: Thank you for calling. Good bye.
Beszédkutatás a Kutatócsoportnál • Adatbázisok készítése • Új jellemzőkinyerési módszerek • Hosszú távú jellemzők (adatkeretek helyett nagyobb blokkok) • Jellemzőtér-transzformációs módszerek • Beszédterápia és olvasásfejlesztés: a „BeszédMester” • Beszédfelismerés • Rendszereink: neuronhálós (keretalapú ill. szegmentális) és rejtett Markov-modelles • Kitartott magánhangzók osztályozása: ld. BeszédMester • Beszédhang-szegmentumok osztályozása: szegmentális modell • Beszédhang-sorozatok felismerése: neuronhálós módszerek • Szavak, szósorozatok felismerése: Orvosi diktálórendszer (rejtett Markov-modellel és neuronhálós módszerekkel is)
Adatbázisok • Magyar Telefonos Beszédadatbázis (MTBA) • A Műegyetemmel együttműködve készítettük • 500 telefonálótól származó felvételek, vezetékes és mobilos • Hívók az ország minden tájáról, vegyes életkori eloszlásban • Postán kiküldött szöveget kellett beolvasniuk • Izolált szavak: vezetéknevek, cégnevek, számok, betűzött szavak, dátumok, … • Hangkapcsolatokban gazdag mondatok és szavak: • 500 beszélőtől összesen 7 órányi anyag, 8000 fájl, kézi címkézés • Többnyire tiszta és szép kiejtésű felvételek • Ellenpéldák: túlartikuláló és alulartikuláló beszélő
Adatbázisok 2. • Magyar Referencia Beszédadatbázis (MRBA) • A Műegyetemmel együttműködve készítettük • 300 embertől származó felvételek, számítógépes környezetben • A legkülönbözőbb féle PC-k, laptopok, valamint mikrofonok • Ez is olvasott szöveget tartalmaz • Hangkapcsolatokban gazdag mondatok és szavak: • Hasonló jellegű mondatok, mint az MTBA-ban • 100 ember anyaga kézileg szegmentálva, a többi géppel • Életkor vegyes, de túlreprezentált az egyetemista korosztály • Sajnos sok a hadaró, motyogó beszélő
Beszéd-adatkeretek osztályozása • A spektrális reprezentáció adott időpillanatait (adatkereteit) külön-külön dolgozzuk fel • Időbeli felbontás: 100 vektor/mp (5-10 vektor/hang) • Frekvenciabeli: 40-50 komponens/vektor (MFCC, PLP, …) • A címkézés ált. esetben rossz hatásfokkal megy (50-70%) • Alkalmazása (kitartott hangokra): ld. BeszédMester é é é é é z z z e e e e e e e
Beszédhangok osztályozása • Az egyes hangokhoz tartozó jeldarabokat (szegmentumokat) egy egységként dolgozzuk fel • Hosszabb jelrészlet több információ jobb felismerés • Változó hosszúságú darabok, de fix számú jellemzőt akarunk speciális jellemzők kellenek (pl. átlagos energia…) • Tapasztalat: 80-150 szegmentális jellemzővel jó felismerési eredmények é z e
Jellemzőtér-transzformáció • A szegmentumok osztályozása többféleképpen javítható • „Modern” gépi tanulási módszerek, pl. SVM • Jellemzőtér-transzformáció az osztályozás előtt • Jellemzőtér-transzformációs módszerek • Transzformálják a teret, hogy az osztályok könnyebben szétválaszthatók legyenek • Lineáris módszerek (pl. LDA):csak forgatás, nyújtás • Nemlineáris módszerek (pl. K-LDA):egészen durva vetemítések(ld. ábra)
Beszédhang-osztályozási eredmények • Hibaarányok számbemondásokat tartalmazó adatbázison • Az MTBA adabázison (52 beszédhang, ANN): 32,17% • A TIMIT angol adatbázison (39 beszédhang, ANN) • (A legjobb ismert eredmény: 18% körül)
Szegmentum-alapú felismerés • Probléma: folyamatos szövegben a hangok helye nem ismert! • Megoldás: brute-force ‘előre’ keresés (hosszkorlát mellett) • Osztályozó kiegészítése egy újabb osztállyal: „anti-phone” • Tanítása mesterségesen generált példák alapján • Címkék hozzárendelése helyett csak valószínűségek! • P(átirat helyes) ~ P(címkék helyesek) és P(szegmentálás helyes) Ø é z
Szegmentum-alapú felismerés 2. • A szegmentálás valószínűségének becslése • Az anti-fón valószínűségek alapján többféle képlettel • Eredmények az MTBA adatbázison (ANN-nel) • Gyorsítási lehetőség • „Brute force” helyett a valószínűtlen szegmentálások kizárása, pl. neuronhálóval tanulva a szegmenshatárokat
Keretalapú felismerés • A keretekhez osztályonkénti valószínűségeket rendelünk • Ezután azonosítás és szegmentálás egyszerre történik: maximumot adó út keresése dinamikus programozással (Viterbi alg.) • Keresési megszorítások a szegmentumokra (hangokra): • Hosszmodellezés • Egymásra következési valószínűségek • bizonyos sorozatok engedélyezése/kizárása (szótár) • Matematikai formalizálás: a rejtett Markov-modell a b c d
A rejtett Markov-modell (HMM) • A keretenkénti valószínűségek becslése történhet • Gauss-görbék lineáris kombinációjával (szokványos HMM) • Neuronhálókkal (HMM/ANN hibrid ill. HMM/ANN tandem) • A valószínűségek kombinálása a HMM-ben • Szorzással (naív Bayes-szabály), a tényezők: • Keretenkénti val., exponenciális hossz val., átmeneti val. • A HMM tanítása • Inicializálás: jó, ha van némi kézileg szegmentált adat • További tanítás: csak címkézett adaton is megy! • Tanító algoritmus: Baum-Welch • Iteratív • Maximum likelihood kritérium • Lokális optimumot garantál
Neuronhálók a modellezésben • HMM/ANN hibrid: • Olyan, mint a HMM, de Gauss-görbék helyett neuronhálókkal becsli az adatvektorokhoz tartozó valószínűségeket • Általában több szomszédos adatvektoron tanítják a hálót • „Tandem” séma: az ANN felhasználásának másik módja • Az ANN-t úgy tekintjük, mint jellemzőtranszformációs algoritmust, azaz a kimenetét nem valószínűségi becslésként, hanem új jellemzővektorként értelmezzük • Így az ANN kimenetén tanítjuk a hagyományos gaussos HMM-et • Miért nem fölösleges bonyolítás? • A HMM kódjába, paraméterezésébe nem kell belenyúlni • Könnyebb az összehasonlítás a hagyományos HMM-mel • Az ANN nem csak osztálycímkékkel, hanem bármely más „értelmesnek” ígérkező célértékekkel tanítható
Felismerési eredmények • Keretalapú módszerek, beszédhang-stringek felismerése • (bigram: két hang egymásra következésének val. modellje) • Keretalapú módszerek, szószintű hibaarány • Izolált szavas felismerés, 431 telefonos városnév: • Ld. Még MÁV demo!
Beszédhang-szintű kimenet • Példák (a 68,58%-ot tudó rendszerből): • havanedadóütykahartárrazatazatetletfállambezzni • temészetesentmavahatésírommavamatizsboncolan • egyetlennemvoltakszeméstákozesőin • szagedemengyótérpistásulatánatunéhaszinűse • kikítmorbigyahasaláttdeszényteszellánytázzuktmintecsecsemett • Hány százalék lenne elég? – teszt emberekkel, „rontott” szövegekkel
Orvosi diktálórendszer • Államilag támogatott projekt, BME-vel együttműködve • Cél: folyamatos beszéd elfogadható szintű felismerése • Feladat: nyelvileg erősen szűkített orvosi szövegek • SZTE: pajzsmirigy-szcintigráfiás leletek • BME: gasztroenterológiai leletek • Példa: Klinikai adatok :St.p.strumectomiam. UH: bal lebeny kp. harmadában 12 mm-es göb. Kérdés :Göb? Elözô vizsgálata:- Jelen vizsgálata :Megnagyobbodott, szimmetrikus pajzsmirigy, amely a nyak középvonalában helyezkedik el. Alsó széle 2 cm-nél távolabb van a jugulumtól. Az isthmus rajzolata szabályos. A jobb lebeny az ellenoldalinál több radiofarmakont tárol. A jobb lebeny egyenletes aktivitás- eloszlással ábrázolódik. A bal lebeny középsô harmadában laterálisan 0.5x1.5 cm-es csökkent aktivitású terület látható, mely megfelel az UH-al leírt göbnek. Összefoglaló vélemény:St.p.strumectomiam. Recidiv struma nodosa. Hideg göb a bal lebenyben.
A felvetődő feladatok • Akusztikai modell: • Adatbázis összegyűjtése, feldolgozása (ld. MRBA!) • Akusztikus modellek betanítása, tesztelése az új adatbázison • Beszélőadaptációs kísérletek • Nyelvi modell: • A tanításhoz kapott leletanyag tisztítása • Statisztikai nyelvi modell építése (n-gram) • Felismerő ‘engine’: • Az akusztikus és nyelvi információ kombinálása • Hatékony keresés különböző vágási módszerekkel (a valós idejű futás érdekében)
A leletanyag • Tartalma, mennyisége: • Kb. 8500 lelet az SZTE Nukleáris Medicina Intézettől • Tkp. az összes pajzsmirigy-lelet 6 évre visszamenőleg • Technikai feladatok: • DOS-os, régi Word-os, stb. fájlformátumok átkonvertálása • Karakterkonverzió (kalapos ő, hullámos ő,…) • Nyelvi jellegű feladatok: • Rengeteg elgépelés • Latin kifejezések nem konzekvens írása • Rövidítések (főleg latin betegségnevekben)
A leletanyag 2. • Példa: az „aspirációs” szó előforduló alakjai • Egységesítés után megmaradó szavak száma: ~ 2500 • Ezek szóalakok, azaz minden toldalékolt alak külön szó! (A morfológia kezelésével nem is próbálkoztunk…) • Számok és dátumok kezelése külön megoldást igényelne (reguláris nyelvtannal: elkészült, de nem teszteltük felismerésben) • Nyelvtani kötöttség: nagyon nagyfokú • 95 000 mondatból mindössze 12 500 különböző • Szerkezetileg hasonló mondatok (csak pl. bal helyett jobb…) Asirációs Asp Aspirációc Aspirácios aspirácios Aspirációs aspirációs Aspirácis Aspirácyós Aspiratios Aspiratiós aspiratiós Aspirátios Aspirátiós Aspiráviós Aspirciós Aspirítiós Asprációs
A nyelvi modell • Az n-gram nyelvi modell • Szópárok, szóhármasok, … egymás utáni előfordulásának valószínűsége (bigram, trigram,…) • Egyszerűen közelíthető a szövegben előforduló szópárok, szóhármasok,… előfordulásainak megszámlálásával • A tanításkor nem látott szó n-esek kezelése • Erre valók az ún. simítási technikák • Esetünkben: csoport n-gramok szó n-gramok helyett • Szavak szófaji csoportba sorolása MSD-kód alapján • A szavak helyett a csoportnevekből képzünk n-gramot • Jóval kevesebb csoport, mint szó kicsi a 0 előfordulás esélye • A szó és csoport n-gramok kombinálása 30% hibacsökkenés a pajzsmirigy megnagyobbodott névelő főnév ige
A nyelvi modell 2 • Az akusztikai és a nyelvi modell kombinálása: • P(össz) = P(akusztikai)*P(nyelvi)α • α : állításával szabályozható, hogy az akusztikai vagy a nyelvi modell befolyása legyen erősebb • A gyakorlatban általában jó erősre van véve a nyelvi modell hatása… • Esetünkben: erősen megszorított nyelvtan nagyon támaszkodunk a nyelvi modellre • Hátrány: „a székrecsegésből is orvosi szöveget csinál”
bal alsó … oldali pajzsmirigy jobb felől megnagyobbodott Hatékony keresési technikák • A jelet balról jobbra dolgozzuk fel, a szavak illesztésével tkp. egy keresési fa képződik: • Feladat: a fa vágásával az exp. robbanás elkerülése • A szavak hatékony tárolása: prefixum-fa • Az n-gram modell kiértékelése: előrehozott • ne várjuk meg a szó végét, ha nem muszáj! Pl: nagyo(bb) oldalán
Hatékony keresési technikák 2. • A keresési tér bejárása lehet: • Időszinkron (széltében) keresés • Vágás: beam pruning (a legjobbnál egy adott küszöbbel rosszabb utak eldobása) • ‘Best-first’ keresés • Vágás: csak a legjobb K útkezdeményt tartjuk meg (rendezett listában tárolva) • A vágással a felismerési pontosság és a futásidő (real time factor) fordítottan változik:
Hatékony keresési technikák 3. • A felismerési pontosság és a futási idő a szótár méretének és a megtartott nyelvi hipotézisek számának függvényében
Beszélőadaptáció • Az akusztikai modelleknek az adott beszélő hangjához való igazítása • Megkérjük a felhasználót, hogy olvassa fel a képernyőre kiírt szöveget (kb. 5 percnyi szöveg) • A beszédhang-modelleket a felvétel alapján módosítjuk • pl. a várhatóérték-vektorokat arrébb toljuk a spektrális vektorok átlaga alapján • Eredmények: gyakran 60-70% hibacsökkenés!
Angol felismerő adaptálása magyarra • Motiváció: Az angol adatbázisok sokkal nagyobbak • Az MTBA ill. MRBA 5-10 órás nagyságrendűek • Angolra „normális” a 100 órás nagyságrendű adatbázis • De vannak több ezer órás adatbázisok is! • Felhaszált erőforrások • HTK: publikus rejtett Markovos beszédfelismerő • Quicknet: publikus neuronhálós programcsomag • Publikus, angol adatbázison betanított neuronháló-súlyfájlok • Módszer • A tandem sémát fogjuk használni (ld. korábban!) • Az angolra betanított neuronhálón nem változtatunk • Adaptáció: a rejtett Markov-modell magyar adatbázison való tanítása révén
Az angol neuronhálók • Készültek: a Johns Hopkins 2006 summer workshopon, nemzetközi együttműködésben • Tanítóadatok: Kétezer(!) órányi angol „conversational telephone speech” • Tanítás kétféle célértékekkel: • 1. változat: az angol beszédhangok felismerésére • 2. változat: ún. artikulációs jellemzők felismerésére (pl. nyelvállás, zöngésség, nazalitás, …) • Ezek elvileg nyelvfüggetlenebbek, mint maguk a hangok
Eredmények • Beszédhang-szintű pontosság, MTBA • Nincs szignifikáns különbség a 3 eredmény közt, azaz: • 2000 óra angol adat kb. annyit ér, mint 7 óra magyar adat • Az artikulációs jellemzők detektálása nem vezetett jobb eredményre, mint a hagyományos beszédhangos megoldás • A beszédhang-tévesztések elemzése • Kérdés: azokon a hangokon téveszt-e többet az angol rendszer, amelyekben a magyar és angol nyelv eltérnek? • Az adott hanghoz tartozó pontosságok hányadosát fogjuk nézni ez >1 ha magyar modell a jobb, <1 ha az angol
A hangtévesztések elemzése 2. Mghk: nem egyértelmű (az ű romlik, de csak a hosszú, az ő kb. ugyanolyan) Felp. zárh: csak a t romlik (hehezet? de az a p-k esetében is lehet) Affrikáták: a cs kivételével ésszerű a romlás (c, ty, gy nincs az angolban) Frikatívák: a zs ritkasága magyarázat lehet a romlására (sz: hosszú-rövid probléma) Nazálisok: kb. ugyanannyi romlás mint javulás