A számítógépes beszédfelismerés alapjai

– lehetőleg matek nélkül –

 

 

1. A statisztikai alakfelismerés alapjai

 

A számítógépes beszédfelismerés az ún. osztályozási feladat egy speciális esete: adottak valamilyen objektumok, amelyeket valamilyen „jellemzőkkel” írunk le, és ezeken az objektumokon definiálva van egy osztályozás, azaz adott osztályoknak egy halmaza, és mindegyik objektum valamelyik osztályba tartozik. Az osztályozási feladat célja egy olyan eljárás találása, amely az objektumok közül lehetőleg minél többnek az osztályát képes eltalálni az objektum jellemzői alapján.

Példa: Objektumok lehetnek például a kiejtett beszédhangok. Ha ezeket digitálisan rögzítjük, akkor a számítógép számára egy köteg számként fognak megjelenni – ezek lesznek esetünkben a jellemzők. Végezetül, az osztályok lehetnek az adott nyelv fonémái. Az osztályozási feladat tehát abból áll, hogy a kiejtett hangról, pontosabban az abból kapott számítógépes reprezentációról el kell dönteni, hogy milyen fonéma.

Az osztályozási feladat egy lehetséges matematikai formalizálása az ún. Bayes-döntéselmélet, amely a valószínűségszámítás eszköztárát használja. Az ún. Bayes döntési szabály azt mondja ki, hogy ha objektumokat kell a fent leírt módon osztályoznunk, akkor hosszú távon akkor követjük el a lehető legkevesebb hibát (azaz téves besorolást), ha mindig azt az osztály választjuk, amelyik az adott mérési adatok alapján a legvalószínűbb.

A józan parasztésszel is egybevágó, roppant egyszerű Bayes döntési szabályt az teszi igazán vonzóvá, hogy matematikai garanciát ad a döntés (a fenti leírt értelemben vett) optimalitására. Azonban, mivel a döntési szabály az egyes választási lehetőségek valószínűségére épít, ezeket a valószínűségeket ismernünk kell a döntéshozáshoz. A legtöbb esetben a valószínűségek ismeretlenek, és ezért nagymennyiségű példa alapján becsüljük őket. Itt jön be a képbe a gépi tanulás nevezetű tudományág, valamint a statisztika, amely amúgy is közeli rokona a valószínűségszámításnak. Mivel maga a Bayes döntési szabály elég egyszerű, a statisztikai alapú alakfelismerés lényegében a következő problémában csapódik le: hogyan lehet a döntéshez szükséges valószínűségeket minél pontosabban megbecsülni példák alapján?

Példa: Tegyük fel, hogy beszédhangokról kell eldöntenünk, hogy magánhangzók vagy mássalhangzók-e. Ehhez egyetlen mérési adat avagy „jellemző” áll rendelkezésünkre: a hang erőssége, két lehetséges értékkel megadva: ‘halk’ vagy ‘hangos’. Tegyük fel továbbá, hogy van néhány, mondjuk 20 példánk. Ezek mindegyikénél meg van adva, hogy magánhangzók vagy mássalhangzók voltak-e, továbbá halkak vagy hangosak. Azaz adott húsz darab (hangos, mgh),(halk, mhs),(halk, mgh),… alakú pár. Ebből a húsz példából könnyen tudunk készíteni egy kis táblázatot, egyszerűen megszámolva, hogy az értékek egyes kombinációi hányszor fordultak elő:

 

Halk

Hangos

Magánhangzó

3

10

Mássalhangzó

5

2

Ha az egyes cellák számát elosztjuk az összes példa számával, (azaz 20-szal), akkor rögtön megkapjuk a lehetséges kombinációk valószínűségének egy becslését. Az így kapott táblázat értékeinek segítségével az osztályozás a következőképpen működik: érkezik egy hang, amiről csak azt tudjuk, hogy halk vagy hangos. Megkeressük a táblázat ennek megfelelő oszlopát, és abban kiválasztjuk a maximális értéket tartalmazó sort. Jelen esetben minden hangos hangra azt fogjuk mondani, hogy magánhangzó, és minden halk hangra azt, hogy mássalhangzó, ugyanis az egyes oszlopokban ezek a legnagyobb valószínűségűek.

 

2. A statisztikai módszer ősellensége: a túl sok kombinációs lehetőség

 

A fenti kis táblázat elkészítése roppant egyszerűnek tűnt. Azonban a gyakorlatban két gond is jelentkezik ezzel kapcsolatban. Az egyik, hogy véges számú példa mindig félrevezető lehet az objektumok valódi eloszlásával kapcsolatban (kihúzhattuk volna a 20 példát olyan szerencsétlenül is, hogy mondjuk nincs közte egyetlen halk hang sem. Ekkor a táblázat első oszlopában csupa nulla állna…). A másik, még nagyobb probléma, hogy a valóságban a táblázat mérete, azaz a lehetséges kombinációk száma jóval nagyobb. Ugyanis a gyakorlatban többnyire nem csak egyetlen mérési adatunk szokott lenni, és az adatok nem csak két értéket vehetnek fel. És sajnos a táblázat mérete a jellemzők számának exponenciális függvénye, azaz újabb mérési adatok bevételével ugrásszerűen nő. Például ha 9 jellemzőnk lenne, mindegyik 2 lehetséges értékkel, a táblázat máris 1024 cellából állna (figyelembe véve, hogy 2 osztály van)! Ez természetesen rendkívül megnehezítené a cellák értékének becslését, például a fenti 20 példa esetén a cellák jórésze üresen maradna. A szakirodalom a statisztikakészítésnek ezt a kerékkötőjét „curse of dimensionality”-nak nevezi. A kifinomult matematikai módszereken túl – amelyek ismertetésétől itt eltekintünk – alapvetően háromféle módon lehet megpróbálni enyhíteni a túl sok dimenzióból eredő gondokat:

– A példák számának növelése mindig csak javíthat a becslés pontosságán. A beszédfelismerés esetén ez azt jelenti, hogy minél nagyobb beszédkorpuszokat kell készíteni.

– Megkísérelhetjük csökkenteni a jellemzők számát az esetleg irreleváns jellemzők eldobásával. A lehetőleg minél kevesebb jellemzőből álló, de azért a döntéshez szükséges minden fontos információt tartalmazó jellemzőkészlet megtalálása a beszédfelismerőknél az úgynevezett előfeldolgozó avagy „front-end” feladata.

– A valószínűségek felbontása. Nem kell az irdatlan méretű táblázat minden elemét megbecsülnünk, ha a cellák elemei között valamilyen összefüggés áll fenn, pl. ha valamely cellák értéke egyértelműen meghatározza valamely más cellák értékét. A valószínűségszámítás ismer egy nagyon alapvető ilyen esetet, ez pedig a jellemzők függetlensége esetén áll elő. Ez akkor áll elő, ha valamelyik jellemző értéke sosem befolyásolja egy másik jellemző értékét, és viszont. Ilyenkor a két jellemző valamely érték-párjának előfordulási valószínűsége egyszerűen a külön-külön való előfordulásuk valószínűségének szorzata. Ily módon a nagy, együttes táblázat helyett egy csomó nagyságrendekkel kisebb táblázat értékeit kell megbecsülni. Ezt a szorzat-alapú felbontást több ponton is alkalmazzák a beszédfelismerésben. Hangsúlyozni kell azonban, hogy a függetlenséget nem szokás matematikai úton igazolni, hanem általában beérjük valamilyen „intuitív” magyarázattal. Sőt, sokszor úgy használjuk a szorzat-szabályt, hogy közben tökéletesen tudatában vagyunk a függetlenségi feltevés érvénytelenségének.

 

3. Egy általános célú beszédfelismerő felépítése és működése

a, Az előfeldolgozó modul. Feladata a beszédjel elemzése és leírása számokkal. Az elemzés leghagyományosabb módja az ún spektrogram, amely a jelen spektrális elemzést végez. Az alábbi ábra a „szamártövis” szó spektrogramját mutatja, két különböző beállítás esetén (ún. szélessávú ill. keskenysávú spektrogram). Utóbbiból egy-egy metszetet külön is kirajzoltunk, egy zöngés és egy zöngétlen hangból.

Ahogy már említettük, fontos, hogy a beszédet minél kevesebb számadattal írjuk le. Ezért a spektrogramból eltávolítanak minden olyan részletet, amely a felismerés szempontjából nélkülözhetőnek tűnik. Az alábbi két ábra azt szemlélteti, hogy mi marad a ”szamártövis” szó spektrumából két elterjedt előfeldolgozási technika, a kepsztrum ill. a LPC alkalmazása után.

Technikailag a feldolgozás a beszédjel kis, 10-30 ezredmásodperces darabkáin, ún. „keretein” történik. Az egyes keretek feldolgozásából kapott adatokat úgy tudjuk elképzelni, mint a spektrogram egy-egy oszlopát.

Alapvetően kétféle információforrásunk van arra nézve, hogy a fonetikai információ hogyan van kódolva a spektrumban. Az egyik ilyen forrást az emberi hallás működésével kapcsolatos ismereteink jelentik. A jelenlegi előfeldolgozó eljárások figyelembe is veszik az emberi hallás legfontosabb tulajdonságait. A másik forrás a fonetika/fonológia. E tudományágnak vannak elméletei arról, hogy az egyes beszédhangokat meghatározó fonetikai jegyeket milyen ún. akusztikus kulcsok kódolják a jelben. Azonban az automatikus beszédfelismerésben sajnálatos módon ezt a tudást nem szokás kihasználni, és csak néhány kutató próbálkozik az ilyen elvű technológiákkal. Ez részben a tudományágak közti rossz kommunikációval magyarázható, részben pedig azzal, hogy a fonetikai eredmények sok szempontból hiányosak, illetve vitatottak.

b, Az akusztikai-fonetikai modell. Ennek az egységnek a célja az akusztikai jellemzők és a fonetikai egységek közötti kapcsolat leírása. Fonetikai egységként legtöbbször a fonémákat szokás használni, habár előfordulnak szó- és szótag-alapú rendszerek is. Továbbá, mivel a fonémák hajlamosak nagy mértékben hasonulni a szomszédos hangokhoz, ezért általában a fonémák „stabil” középső részén kívül a két átmeneti részt is külön egységként kezeljük. Azaz, a hagyományos /a/, /b/, /c/ stb. fonémákon kívül külön fonetikai egységnek tekintjük az /a b előtt/, /a b után/ stb. kombinációkat, minden lehetséges párra. Ezzel a felbontással a folytonos beszéd minden fonémája nyilván három részre bomlik: a középső stabil, és a két átmeneti szakaszra.

A kiválasztott fonetikai egységek (legyenek akár szavak, szótagok, fonémák avagy fonéma-harmadok) és a lehetséges akusztikai megjelenésük közötti kapcsolatot kétféle módon lehet megadni.

A tudásalapú megközelítés egy akusztikai-fonetikai szakembert igényel, aki szabályok formájában leírja a két szint közötti kapcsolatot. Mint említettük, ez a technológia nem terjedt el, illetve igazából kiszorította a (kellő mennyiségű példa esetén) jóval megbízhatóbb statisztikai megközelítés. A statisztikai módszer jelenleg gyakorlatilag az egyedül használt technológia; az akusztikai mérések és a fonetikus egységek közötti összefüggések megtalálása ez esetben az 1. fejezetben ismertetett módon zajlik.

A statisztikai módszerek közül mindenképpen külön meg kell említenünk a domináns technológiát, az úgynevezett rejtett Markov modelleket (angol rövidítéssel HMM). A HMM építőegységeit „állapotoknak” hívják, és ezek többnyire megfelelnek az általunk fentebb leírt fonéma-harmadoknak. Hogyan is működik a HMM? Tekintsünk ehhez egy kis részletet a beszédjelből, azaz az ábra spektrogramjából néhány szomszédos oszlopot, továbbá egy adott állapotot, mondjuk az /a/ fonémához tartozót. A HMM-nek – mint minden statisztikai modellnek – meg kell mondania annak a valószínűségét, hogy az adott beszédrészlet egy adott állapothoz tartozik. A HMM itt alkalmazza a szorzás-szabályt először: ugyanis csak az egyes lehetséges spektrum-oszlopok egyes állapotokhoz való tartozását modellezi, és a teljes jelrészlethez tartozó valószínűséget ezekből szorzással kapja meg. Magyarul, az adott részlet annyira /a/, amennyire minden oszlopa az. Ezen kívül még egy további dolgot is modellez a HMM: az egyes egységek hosszát, azaz annak a valószínűségét, hogy az adott állapothoz rendelt részlet pont ennyi oszlopból áll. Erre az információra a teljes beszédjel leírásakor lesz szükség.

c, A nyelvi modell. Ha egy hosszabb beszédjel érkezik, akkor az az akusztikus modell építőelemeinek – fonémáknak, fonéma-harmadoknak – egy sorozatából áll. A nyelvi modell feladata az egyes lehetséges építőelem-sorozatok valószínűségének a megbecslése. Ha eltekintünk az ejtésvariációktól, akkor ezek az építőelem-sorozatok egy az egyben megfeleltethetők egy-egy betűsorozatnak, azaz a beszéd szokásos írott alakjának. Így jutunk el a nyelvi modell segítségével végre a beszédfelismerés végcéljához, a beszéd írott alakra való leképezéséhez.

A nyelvi modell feladata tehát az egyes lehetséges betűsorozatok valószínűségének megadása. Az angol nyelv esetében ehhez egyszerűen a szavak valószínűségét szokták közelíteni, az 1. fejezetben leírt gyakoriság-számlálásos technikával (illetve annak finomabb változataival). Olyan nyelvek esetén, mint a magyar, ez nem célravezető a ragozás miatt; használható statisztikai nyelvi modell valószínűleg csak a morfológia figyelembevételével készülhet. Továbbmenve, a nyelvi modell nyilván tovább javítható, ha olyan magasabb szintű információkat is figyelembe vesz, mint a szintaxis, szemantika és pragmatika. A beszédfelismerő mindenesetre csak egy valószínűség-értéket vár a nyelvi modelltől; hogy az hogyan állt elő, az már a nyelvi modell saját belügye.

d, A dekóder. Egy beszédjel teljes felismeréséhez háromféle információt kell összegyúrni: a beszédjelből kinyert akusztikus információt, az akusztikai-fonetikai modell és a nyelvi modell „véleményét”. Ezt a kombinálási lépést a szakirodalom „dekódolásnak” nevezi, és valójában nem egyébből áll, mint óriási mennyiségű hipotézis vizsgálatából, és a hipotézisek közül a legvalószínűbb kiválasztásából (a Bayes-elvnek megfelelően). A nagyszámú hipotézis átvizsgálására azért van szükség, mert nem tudjuk, hogy az adott beszédjel milyen fonémákból áll, és azok pontosan hol helyezkednek el a jelben. Ezért egyszerűen megvizsgálunk minden lehetőséget. Ez az alábbiak szerint zajlik:

Egy hipotézis kétfajta feltételezést tartalmaz: egyrészt feltételezi, hogy a jel egy adott fonetikai sorozatnak felel meg; másrészt feltételez egy adott szegmentálást is, tehát feltételezi a fonémák pontos helyét is. A hipotézis jóságának valószínűsége három dologból tevődik tehát össze: egyrészt annak a valószínűségéből, hogy ez a fonéma-sorozat egyáltalán előáll; a másik tényező, hogy a fonémák pont ott helyezkednek el, ahol; végezetül, hogy a fonémák úgy néznek ki, ahogy jelen esetben a hozzájuk rendelt jelrészlet kinéz. Az első tényező valószínűségét a nyelvi modell adja meg; a másodikét a fonémák hossz-valószínűségeiből kapjuk; a harmadikat pedig az akusztikai-fonetikai modell adja meg, minden egyes jelrészlet-fonéma párra. A valószínűségeket a szorzat-szabály segítségével gyúrjuk össze egyetlen, az adott hipotézishez rendelt értékké.

A fenti számítást elvégezzük az összes lehetséges hipotézisre, és a legjobbat tartjuk meg eredményként. Az összes hipotézis végigvizsgálása természetesen rendkívül műveletigényes, és rengeteg trükköt használnak a keresés meggyorsítására; a felismerés alapelve azonban megegyezik a leírtakkal.

 

4. Előnyök és hátrányok

 

A statisztikai megközelítés előnyei:

A statisztikai megközelítés legnagyobb előnye, hogy egy jól definiált matematikai eszközt ad kezünkbe a probléma megoldására. Különösen vonzóvá pedig az a bizonyítás teszi, miszerint a módszer optimális eredményt garantál – feltéve, hogy mindent jól csinálunk.

 

A statisztikai megközelítés hátrányai:

A statisztikai megközelítés arra az alapfeltevésre épül, hogy a felhasználás során pontosan úgy viselkednek a dolgok, ahogy a tanítás során. A statisztikai módszer kudarcot vall, ha a tanítás és a felhasználás körülményei eltérőek, vagy bármi más okból olyan szituációban kellene a rendszernek döntést hoznia, amilyet a tanítás során nem látott. A beszédjelek pedig annyira változatosak képesek lenni a beszélőtől, zajtól, mondanivalótól stb. függően, hogy a felismerőket lehetetlen minden eshetőségre felkészíteni, akármennyi tanító adatot gyűjtünk is.

Habár a statisztikai megközelítés mögött precíz matematikai levezetések húzódnak meg, a beszédfelismerésben való alkalmazás során egy csomó irreális feltevéssel éltünk. Mivel lehetetlen minden lehetséges mondat minden lehetséges kiejtéséről statisztikát készíteni, ezért a mondatokat felbontottuk fonémákra, a jelet pedig keretekre. Az ezekhez rendelt valószínűségeket pedig a  szorzás-szabállyal kombináltuk össze. Ez lehetővé teszi a matematikai modell leegyszerűsítését és gyors számítását, viszont a mögötte meghúzódó függetlenségi feltevés nyilvánvalóan irreális. Nem veszítjük-e el a modell matematikai optimalitásából származó előnyöket, ha a modell nem felel meg a valóságnak, amit le kellene írnia? Másszóval, van-e értelme milliméterben mérni, ha láncfűrésszel fogunk vágni?? Azt azonban hangsúlyozni kell, hogy ezek a kételyek nem a statisztikai modell gyengeségeiből fakadnak, hanem a konkrét felbontásból, amit alkalmaztunk.

 

Néhány javasolt javítási lehetőség:

A jelfeldolgozási lépésen mindig lehet javítani. A hallás működésére vonatkozó ismeretek, ha némi késéssel is, de apránként bekerülnek a beszédfelismerők feldolgozási algoritmusaiba. Jó lenne, ha a fonetika is utat találna a felismerőkbe.

Ez hangsúlyozottan igaz az akusztikai-fonetikai modellre. Hogy a HMM az egyes beszédkeretekhez rendelt valószínűségekkel dolgozik, annak pusztán két oka van: a kényelmes és egyszerű kezelhetőség (mind matematikai, mind számítástechnikai értelemben), és a – hagyomány. Az ugyanis teljesen egyértelmű, hogy az emberi hallás nem 30 ezredmásodperces darabkákban dolgozza fel a beszédet. Ehelyett inkább egyfajta „akusztikai eseményekre” figyel, és ezek segítségével azonosítja a fonetikai megkülönböztető jegyeket. Továbbmenve, a szorzás-alapú kombinációra is a matematikai modell egyszerűsítése miatt van szükség. A valóságban az információ redundánsan van kódolva a beszédben, azaz általában az akusztikai események egy részének érzékelése is elégséges a beszédértéshez. A szorzás-szabály viszont az események függetlenségét feltételezi. Úgy véljük, hogy szükséges lenne az alternatív információ-kombinálási stratégiák kutatása.