2012. február 21.

Mindennapi nyelvészet: beszédszintetizálás

Egy egyszerű felvett hangfájltól fogunk eljutni a TTS-el támogatott, ragozott mondatok kezeléséig. Az egyszerű felvétel, ennek megvágás, a változó információk kezelése, valamint az egész mondatalkotás automatizálása és hangzó szöveggé alakításáról lesz szó. Az eszmefuttatás pedig az alapja annak a mindennapi élménynek és tapasztalatnak, ahogy egy telefonközpont vagy egy utastájékoztató a napjainkban is működik.



A beszédszintetizálás egy egyszerű példáját fogjuk áttekinteni, aminek az a célja, hogy betekintést engedjen az olvasónak a folyamatba, ahogy írott szövegből hangzó szöveget készíthetünk. Az eljárás eredményét mindannyian ismerjük. Ismerhetjük, amikor felhívjuk a telefonközpontot és ott tájoktatást kapunk. Ismerős lehet egy vonatállomásról vagy csupán egy metróból, a következő megálló bemondásából.

A példák megvalósítására többféle megoldás képzelhető el. Elsődlegesnek tekinthetjük azt, amikor a szöveget, amit hangzóvá kívánunk tenni valóban egy természetes személy, elsődlegesen egy a célnyelvet ismerő színész, felmondja. A felvételeket egy jól hangszigetelt stúdióban, hangmérnökök segítségével a lehető legjobb minőségben felvesszük. A felvett anyagokat megvágjuk és egy informatikai alkalmazás segítségével a megfelelő környezetben a hangfájlt lejátsszuk.

Természetes hatás

Ez a módszer kelti a legtermészetesebb hatást. Például a 4-6-os villamoson egy színházünnep alkalmából híres magyar színészeket kértek fel a feladatra, hogy feldobják a hangosbemondó szövegeit. Az új felmondások nem csak a monotóniából mozgatták ki az utazóközönséget, hanem lehetőséget biztosítottak arra, hogy az aktuális megálló környékén lévő kulturális helyszínekről tájékoztatást nyújtsanak. Ez alapvetően reklám célokat szolgált az ünnep alkalmából.

A változó információ

Az előre felmondott hangfelvételek hátránya az, hogy nem képesek a változó információt kezelni. Például nem kezelik azt a természetes megfigyelésünket, hogy a "Király utca következik." És a "Wesselényi utca következik" mondatokban csupán az utcák, a megállók neve változik. A két mondatot külön-külön fel kell vennünk. Ez egy útvonal esetén még könnyedén kivitelezhető. A fenti példa, amikor reklám célra használták fel a bemondást, jó példa erre. Kezelhető mennyiségű információ esetén a feladat könnyedén kezelhetővé és kivitelezhetővé válik. De a módszer, az előre felvett anyagok valódi problémája az, hogy képtelen dinamikusan alkalmazkodni. Például képtelen reagálni arra, hogy éppen átnevezik az egyik megállót. Ebben az esetben a színészt újra fel kell keresnünk és újra mintát kell tőle vennünk az új megálló nevével.

A probléma megoldására több módszert is felvethetünk. Például, hogy felvesszük a mondatokat a változó információ nélkül. A változó információkat pedig külön-külön eltároljuk. Az informatikai alkalmazásunk pedig csupán a változó információt és az állandó mondatrészletet fogja egymás után lejátszani.

Az információk mértéke

Egy olyan szituációban, mint a "Vonat érkezik a harmadik vágányra" még kezelhetőnek tűnik. Ebben az esetben a változó információk halmaza a magyar sorszámnevek egy nagyon kis számosságú részhalmazát érinti. Vegyük például, hogy a legnagyobb pályaudvarunkon összesen 25 vágány létezik. De mi lenne, ha az alkalmazásunk már 20 éve üzemelne és azóta van egy állomás, ahol most adták át a huszonhatodik vágányt? Ha szerencsénk van és kiváló színésszel dolgoztunk, akkor talán sikerülne új mintát venni. Illetve a kiváló hangmérnökök képesek lennének a huszonhatodikat kikeverni a tizenhat és a húsz mintájára. De ha nem sikerülne, akkor kezdhetnénk újra egy teljesen új gárdával az egész munkát... - Ez a megoldási eljárás nagyon rugalmatlan és hosszú távon karbantarthatatlan.

A TTS-ek megjelenése

A TTS-ek, a Text-to-Speech megjelenésével ez a problémakör már átalakult. A TTS írott szövegből hoz létre hangzó szöveget az adott nyelv kiejtési sajátságait figyelembe véve. Ilyen például az a szabadon felhasználható espeak vagy a fizetős szoftverek mint a Nuance és a Loquendo. (Ne lepődjünk meg, a Nuance nem rég felvásárolta Loquendo-t.)

A felolvasó programok megjelenése nem szüntette meg az igényt a felvétel alapú beszédszintetizálásra. Például a fentebbi példa, ahol színészek hívják fel a figyelmünket a környékünkön lévő színházakra: igen is létező. De ezek a típusú megvalósítások általában az informáláson kívül egyéb célokat szolgálnak. A példa esetén reklámot, felhívás értéküket hangsúlyozhatjuk ki.

TTS belső szerkezete

A felolvasó programok belső szerkezetével most komolyabban nem foglalkozunk, de azt megjegyezhetjük és sejthetjük, hogy nagy hangsúlyt kell fektetni a kettős- és hármashangzókra. Bizonyos hang-együttállásokra, de ezeket nyelvspecifikusan mindig meg kell alkotnunk. Akiket a téma bővebben érdekel, érdemes az espeak-nek komolyabban utána nézniük. Ez egy szabad TTS. Minősége nem vetekszik a fizetős szoftverek minőségével, de elveket és megvalósítási praktikákat könnyen elsajátíthatunk belőle.

Ember és TTS

Folytassuk ott, ahol abba hagytuk. Egy színészt felkértünk, hogy mondja fel azt, hogy a "Vonat érkezik". A többi felvétel pedig magyar sorszámneveket és a "vágány" szót tartalmazzák. Ez a megoldás az alapvető problémát képes kelezni, egy alapvető változó-behelyettesítést el tudunk érni a módszerrel.

A következő ötlet, hogy a színésztől veszünk hangmintát, amivel a változó információkat a TTS-el mondatjuk fel. Ezzel megoldódna az a problémánk, hogy egy olyan világba kerülünk, ahol 1000 vágány létezik. Kézenfekvőbb példa az olyan szituáció, ahol már a megállókat is be kell mondani.

A módszer hátránya jelenleg inkább technikai, a minőséggel függ össze. Jelenleg nagyon nehéz olyan jó minőségű ember hangot kikeverni, amely azt a természetességet kölcsönzi a TTS-nek, amit ha összeillesztünk egy létező felvétellel, akkor az eredményünk nem lesz disszonáns.

Csak TTS

A következő ötlet az, hogy az egész feladatot átadjuk inkább a felolvasó programnak. Egy felolvasó program előtt még műveleteket is el tudunk így végezni a felolvasandó szövegen. Ragozási és egyeztetési problémákat is megoldhatunk. Az eredményt pedig csupán átadhatjuk a felolvasónak, ami hangzó szöveggé alakítja az eredményt.

Ez a variáció áll a legközelebb a valósághoz. Ezért számunkra a feladat leegyszerűsödött, arra csökkent, hogy megalkossuk azt a rendszert, amely előállítja a helyes, magyar nyelvű grammatikus mondatokat. Valamint hogy a megfelelő feltételek jelentkezésekor állítsuk elő őket. A helyes időben, környezetben előállított mondatokat pedig át kell adnunk a felolvasó programnak, ami hangzó szöveget állít elő és tájékoztatja az utazóközönséget.

Összegzés

Egy mindennapi informatikai és nyelvészeti probléma megoldását mutattuk be, amiket például utazók tájékoztatására vagy telefonos központok megvalósítására használhatunk fel. A felvételtől jutottunk el a felolvasó programokig, amelyek a felmondott szöveg és annak megvágásának legtöbb problémáját kezelik és kezünkbe adnak egy eszközt, amely lehetővég teszi a számunkra a feladat megoldását úgy, hogy közben képes a változó igényeknek és környezeteknek is megfelelően működni.

Nincsenek megjegyzések: