Mély neuronhálók alkalmazása és optimalizálása magyar nyelv beszédfelismerési feladatokhoz



Hasonló dokumentumok
Mély neuronhálók alkalmazása és optimalizálása

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

Gépi tanulás és Mintafelismerés

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Hibadetektáló rendszer légtechnikai berendezések számára

A Markowitz modell: kvadratikus programozás

I. LABOR -Mesterséges neuron

Neurális hálózatok bemutató

Hosszú Zsuzsanna Körmendi Gyöngyi Tamási Bálint Világi Balázs: A hitelkínálat hatása a magyar gazdaságra*

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

EGÉSZTESTSZÁMLÁLÁS. Mérésleírás Nukleáris környezetvédelem gyakorlat környezetmérnök hallgatók számára

Tűgörgős csapágy szöghiba érzékenységének vizsgálata I.

A készletezés Készlet: készletezés Indok Készlettípusok az igény teljesítés viszony szerint

Statisztikai módszerek a skálafüggetlen hálózatok

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Beszédfelismerés, beszédmegértés

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László

Regressziószámítás alkalmazása kistérségi adatokon

Képfeldolgozás. 1. el adás. A képfeldolgozás alapfogalmai. Mechatronikai mérnök szak BME, 2008

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

Beszédfelismerő szoftver adaptálása C# programozási nyelvre

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Modellezés és szimuláció. Szatmári József SZTE Természeti Földrajzi és Geoinformatikai Tanszék

Önálló laboratórium beszámoló BME-TMIT

Biztosítási ügynökök teljesítményének modellezése

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

Intelligens Rendszerek Elmélete

Tanulás az idegrendszerben

Gépi tanulás a gyakorlatban. Lineáris regresszió

Gépi tanulás a gyakorlatban. Bevezetés

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Érdekes informatika feladatok

4. sz. Füzet. A hibafa számszerű kiértékelése 2002.

SCILAB programcsomag segítségével

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Idegennyelv-tanulás támogatása statisztikai és nyelvi eszközökkel

Határozott integrál és alkalmazásai

Fuzzy rendszerek és neurális hálózatok alkalmazása a diagnosztikában

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Penta Unió Zrt. Az Áfa tükrében a zárt illetve nyílt végű lízing. Név:Palkó Ildikó Szak: forgalmi adó szakirámy Konzulens: Bartha Katalin

SZAKDOLGOZAT VIRÁG DÁVID

Szent István Egyetem Gazdaság- és Társadalomtudományi Kár Gazdaságelemzési és Módszertani Intézet Gazdasági Informatika Tanszék

I: Az értékteremtés lehetőségei a vállalaton belüli megközelítésben és piaci szempontokból

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Tanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Informatika Rendszerek Alapjai

Deep Learning a gyakorlatban Python és LUA alapon Tanítás: alap tippek és trükkök

TARTALOM AZ INFORMATIKA FOGALMA A fogalom kialakítása Az informatika tárgyköre és fogalma Az informatika kapcsolata egyéb

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Visszacsatolt (mély) neurális hálózatok

Dr. Ábrahám István * A BOLOGNAI FOLYAMAT ÉS A TANKÖNYVEK

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ 2005.

Függvények határértéke, folytonossága

Analóg digitális átalakítók ELEKTRONIKA_2

1. A k-szerver probléma

OTDK-DOLGOZAT


MŰANYAGOK FELDOLGOZÁSA

Ingatlanvagyon értékelés

Pszichometria Szemináriumi dolgozat

Pedagógiai program. Helyi tanterv. enyhe értelmi fogyatékos tanulók számára

GÁZMINŐSÉGEK VIZSGÁLATA AZ EGYSÉGES EURÓPAI GÁZSZOLGÁLTATÁSI SZABVÁNY VONATKOZÁSÁBAN

Eötvös Loránd Tudományegyetem Tanító- és Óvóképző Kar. Útmutató a szakdolgozat szerkesztéséhez

Tantárgyi útmutató. 1. A tantárgy helye a szaki hálóban. 2. A tantárgyi program általános célja. Statisztika 1.

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

AZ ÉPÍTÉSI MUNKÁK IDŐTERVEZÉSE

Vezetéses Totó kulcsok Enciklopédiája I.

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Számlakészítés a SPRINT programmal

Szervezési, irányítási és ellenőrzési modell

Ütemezési modellek. Az ütemezési problémák osztályozása

rank(a) == rank([a b])

Beszédfelismerés alapú megoldások. AITIA International Zrt. Fegyó Tibor

Gyakori elemhalmazok kinyerése

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Mérési struktúrák

Az atipikus formában szervezhetı munkalehetıségek feltárása és elterjesztésének lehetıségei

Az interjú id pontja: Kezel hely kódszáma: Interjúkészít kódszáma: A kérdez súlyosság-értékelése. Név: A kliens kódja:

3. jegyz könyv: Bolygómozgás

Google Summer of Code Project

Konvolúciós neurális hálózatok (CNN)

Vasúti infrastruktúragazdálkodás kontrolling bázisú döntéselőkészítő rendszerek alkalmazásával

IV. Szakmai szolgáltatások funkcionális tervezése

Lineáris egyenletrendszerek

PENTA UNIÓ Zrt. A nemzetközi munkaerő-kölcsönzés személyi jövedelemadó kérdésének vizsgálata Magyarországon és egyes tagállamokban NÉV: SZABADOS ÉVA

X. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

Dévaványa Város Önkormányzata

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Átírás:

Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Távközlési és Médiainformatikai Tanszék Mély neuronhálók alkalmazása és optimalizálása magyar nyelv beszédfelismerési feladatokhoz Szakdolgozat Készítette Varga Ádám Csaba Konzulens Dr. Mihajlik Péter 2014. december 11.

Tartalomjegyzék Kivonat 4 Abstract 5 Bevezet 6 1. A gépi beszédfelismerés elméleti hátterének áttekintése és gyakorlati eredményei 8 1.1. Bevezetés a gépi beszédfelismerésbe....................... 8 1.1.1. A nyelvi modellezésr l röviden..................... 9 1.1.2. A lényegkiemelés folyamata....................... 11 1.1.3. Akusztikus modellezés.......................... 14 1.1.4. Dekódolás................................. 20 1.2. Nemzetközi eredmények............................. 20 1.3. Jelenlegi irányok................................. 21 2. A beszédfelismer keretrendszer specikációja 23 2.1. A nyílt forráskódú megoldások áttekintése................... 23 2.1.1. A Kaldi beszédfelismer keretrendszer................. 24 3. Kísérletek hírm sorok hanganyagain 26 3.1. A rendszer felépítése............................... 26 3.2. A kísérletek során vizsgált paraméterek..................... 28 3.3. Tesztek a 10 órás adatbázison.......................... 30 3.3.1. Kiinduló rendszer............................. 30 3.3.2. Tesztek lterbank bemeneti jellemz kkel................ 34 3.3.3. A beszél adaptáció lehet ségei..................... 36 3.4. Tesztek a 20 órás adatbázison.......................... 38 3.4.1. Hagyományos GMM-alapú módszerek................. 38 3.4.2. Neuronhálós modellezési megoldások.................. 40 3.5. Tesztek a 64 órás adatbázison.......................... 43 3.6. Összegzés..................................... 44 4. Kísérletek telefonos ügyfélszolgálati hanganyagokon 45 4.1. Beszédfelismerési eredmények az MTÜBA-1/A-n............... 46 1

4.2. Beszédfelismerési eredmények az MTÜBA-2/A-n............... 46 4.3. Beszédfelismerési eredmények az MTÜBA-2/C-n............... 48 4.4. Összegzés..................................... 49 5. Az akusztikus modellek tanításának és dekódolásának er forrásigényei 51 Összefoglalás 54 Köszönetnyilvánítás 55 Rövidítések jegyzéke 56 Ábrák jegyzéke 57 Táblázatok jegyzéke 58 Irodalomjegyzék 61 2

HALLGATÓI NYILATKOZAT Alulírott Varga Ádám Csaba, szigorló hallgató kijelentem, hogy ezt a szakdolgozatot meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrásokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelm en, a forrás megadásával megjelöltem. Hozzájárulok, hogy a jelen munkám alapadatait (szerz (k), cím, angol és magyar nyelv tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhet elektronikus formában, a munka teljes szövegét pedig az egyetem bels hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhet vé. Budapest, 2014. december 11. Varga Ádám Csaba hallgató

Kivonat Az automatikus gépi felismerés területén jelenleg a legígéretesebb irányt a mély (mesterséges) neurális hálózatokkal megvalósított akusztikus modellek alkalmazása jelenti. Bár teljesítményük lényegesen felülmúlja a hagyományos, generatív akusztikus modellekét, nagyszótáras, magyar nyelv, folyamatos beszédfelismerési feladatokra való alkalmazásuk terén eddig kevés kutatási eredmény született. A szakdolgozat célja, hogy magyar nyelv beszédadatbázisok alapján vizsgálja a mély neurális hálózatos modellek alkalmazási lehet ségeit ipari környezetben megvalósítandó beszédfelismerési feladatokra, elemezze az azokkal elérhet javulást a hagyományos modellekkel szemben és megtalálja az optimális neurálishálózat-architektúrát és paraméter-kongurációt az egyes feladatokhoz. Az 1. fejezet bemutatja a beszédfelismerés elméleti hátterét, kitérve a hagyományos megközelítésekre, valamint áttekinti a neurális hálózatok jellemz it és a velük megvalósítható akusztikus modellezést, végül röviden ismerteti a hasonló feladatokon elért nemzetközi eredményeket. A 2 fejezet specikálja a keretrendszert, amiben a kísérletek megvalósításra kerülnek. A 3. és 4. fejezetekben két különböz magyar nyelv beszédfelismerési feladathoz készíthet akusztikus modellek teljesítményének elemezésére kerül sor. Az el bbi feladat televízióban sugárzott hírm sorok alapján készíthet rendszerek vizsgálata, az utóbbi pedig telefonos ügyfélszolgálati adatbázisok alapján rögzített beszélgetéseken alapul. A feladat mindkét esetben minél jobb pontosságú, a hanganyagok automatikus feliratozására, lejegyzésére a gyakorlatban is használható akusztikus modell készítése. A 5. fejezet összefoglalja a neurális hálózatok tanításának er forrásigényeit. Végül az eredmények összegzésére és a további kutatási irányok kijelölésére kerül sor. 4

Abstract Currently, one of the most promising direction in automatic speech recognition is the use of acoustic models based on deep articial neural networks. Although they signicantly outperform traditional generative acoustic models, there has been little research conducted on their applications to Hungarian large vocabulary continuous speech recognition tasks. The aim of this thesis is to examine the possibilities of using neural network based models built on Hungarian speech databases for industrial speech recognition tasks, to analyze the obtainable improvement compared to traditional models, and to nd the optimal neural network architecture and parameter conguration for each task. Chapter 1 describes the theoretical background of speech recognition, including traditional approaches and the characteristics of neural networks, as well as the acoustic modeling methods based on them. It also reviews some of the international results acheived on similar tasks. Chapter 2 species the toolkit in which the experiments are conducted. Chapters 3 and 4 analyze the performance of acoustic models built for two dierent Hungarian language speech recognition tasks. Chapter 3 describes and examines systems built on television broadcast media. The models introduced and evaluated in Chapter 4 are based on telephone helpdesk conversation databases. In both cases the goal is to build acoustic models with optimal accuracy that can be used for creating subtitles or audio transcriptions automatically. Chapter 5 summarizes the computational resources necessary for the training of neural networks. Finally, the results are summarized and further research directions are given. 5

Bevezet Szakdolgozatom során célom és feladatom beszédfelismerési feladatok megvalósítása magyar nyelv beszédadatbázisokon. Ezen belül munkám fókuszát az ún. mély mesterséges neurális hálózatokkal történ mintaillesztési technológiák jelentik. A mesterséges neurális hálózatok tanításával végzett feladatok a gépi tanulási módszerek esetén a hagyományos technikákat lényegesen felülmúlóan teljesítenek, és ez a megoldás más területek (pl. képfelismerés, cs del rejelzés) beszédfelismerési feladatokra is eredményesen alkalmazható. A neurális hálókkal történ beszédfelismerés jelenleg is a nemzetközi kutatás középpontjában helyezkedik el, mivel alkalmazásuk jelent s javulást hozott az addigi rejtett Markov-modelleken alapuló technológiákhoz képest a kétezres évek végén. Bár a beszédfelismerési kutatások és fejlesztések már több évtizede folynak és az id k során a mindennapi számítógépes- vagy mobilalkalmazásokban is megjelennek, a neuronhálók új lendületet adtak a területnek, hiszen alkalmazásukkal egyes esetekben akár több tíz százaléknyi relatív javulás is meggyelhet a beszédfelismerési pontosságban. A technika viszonylag kés i megjelenése azzal is magyarázható, hogy a neuronháló-tanítás rendkívül er forrás-igényes folyamat, így a korábbi számítógépes kongurációk nem, vagy csak rendkívül hosszú id alatt lettek volna alkalmasak ezen számítási feladatok elvégzésére. Bár a neurális hálózatok a legígéretesebb irányt jelentik jelenleg a beszédfelismerés területén, magyar nyelv, folyamatos, nagyszótáras felismerési feladatokon történ alkalmazásukat illet en eddig azonban csak kevés vizsgálat történt. Célom így az általam végzett kísérletek alapján egy átfogó képet adni a különböz magyar nyelv beszédfelismerési feladatokon elérhet eredményekr l. A neuronhálók számos szabadon hangolható paramétere tág teret hagy a tanítások adott adatbázisokhoz, feladatokhoz való optimalizálásukhoz; ezen optimumok megtalálása is feladataim közé tartozik. A feladat megvalósítását a Kaldi nyílt forráskódú keretrendszer [20] segítségével végzem el. A nemzetközi gyakorlatban használt, beszédfelismerési feladatok kutatás-fejlesztését támogató rendszerek közül jelenleg ezen keresztül érhet ek el a legfrissebb neurális hálós tanítási módszerek, valamint a kódok szabad módosítása lehet vé teszi a módszerek adott feladatokhoz történ testreszabását. Bizonyos lépéseket a Kaldin kívüli egyéb keretrendszerekben is megvalósítok az eddigi, más rendszerekben elért összehasonlíthatóság érdekében. Kísérleteim több magyar nyelv beszédadatbázis köré épülnek, amelyek ipari feladatokhoz közel álló rendszerek megvalósításához szolgálnak alapul. Minden esetben megvizsgálom a hagyományos megoldások hatékonyságát különböz modell-architektúrák és para- 6

méterbeállítások mellett, esetlegesen további módszereket (pl. dimenziócsökkentés, beszél adaptáció) alkalmazva. Ezt követ en áttekintem a neurális hálózatok tanításával elérhet eredményeket adott felépítés (rétegszám, aktivációs függvény, dimenzió) és paraméterbeállítások mellett. Az így elérhet hibaarányt ezen paraméterek nomhangolásával és különböz architektúrák alkalmazásával próbálom minimalizálni az optimális konguráció megtalálásáig. A feladataim alapját jelent adatbázisok alapvet en televíziós híranyagokat és egyéb m sorokat, valamint telefonos ügyfélszolgálatok rögzített beszélgetéseit tartalmazzák. Ennek fényében vizsgálataim, eredményeim és a létrehozott akusztikus modelljeim használhatóak lesznek televíziós adások, valamint telefonbeszélgetések automatikus feliratozására, átiratok készítésére. A feladat megvalósítása érdekében általánosságban az 1. fejezetben áttekintem a a gépi beszédfelismerési folyamatok elméleti hátterét, kitérve a hagyományos, generatív modellekre, valamint részletesen bemutatva a neurális hálózatokkal történ beszédfelismerési (és általános gépi tanulási) módszereit. Felvázolom a nemzetközi szakirodalom alapján a hasonló beszédfelismerési feladattípusokon elért eredményeket. Röviden bemutatom a különböz, beszédfelismerési pontosságot javító technikákat, mint a dimenziócsökkentés, beszél adaptáció. A 2. fejezetben specikálom és röviden bemutatom a beszédfelismerési feladatokhoz használt keretrendszert. A 3. és 4. fejezetekben részletesen elemzem a két f adatbázis-típuson (híranyagok, valamint telefonos ügyfélszolgálat) megvalósított feladatokat, a klasszikus megoldásokkal elérhet eredményeket, majd részletesen ismertetem a neurális hálózatok tanításával elérhet felismerési pontosságot, valamint azok egyes paramétereinek hatását és jelent ségét a szóhibaarány alakulására. Az 5. fejezetben elemzem az egyes modellek tanításához szükséges er forrásigényeket, a tanítási id k alakulását a különböz modellek és adatbázis-méretek, valamint adott CPU-konguráció mellet. Áttekintem a modellek tanításának memóriaigényeit, valamint a grakus processzoron való futtatás lehet ségeit, és a videomemória méretének hatását a tanítási sebességre. Végül összegzem a feladataim megvalósítása során elért eredményeket, következtetéseket vonok le az egyes adatbázisoknál legjobbnak bizonyuló kongurációkat illet en és áttekintem az esetleges további kutatási irányokat. 7

1. fejezet A gépi beszédfelismerés elméleti hátterének áttekintése és gyakorlati eredményei 1.1. Bevezetés a gépi beszédfelismerésbe Az alábbiakban ismertetem a beszédfelismerési feladatokhoz használt rendszerek m ködésének lépéseit és a megvalósításukhoz használt elméleti hátteret. Bemutatom a lényegkiemelési eljárások, az akusztikai és a nyelvi modellezés alapvet épít elemeit. Áttekintem az akusztikai modellezésben alkalmazott hagyományos megoldásokat, és bemutatom a feladatom szerves részét képez neurális hálózatok m ködésének alapjait. Röviden kitérek az olyan, felismerési pontosságot pozitívan befolyásoló tényez kre is, mint a tanítóvektorok dimenziócsökkentése, valamint a beszél adaptáció. Az itt olvasható elméleti összefoglaló alapját [5] valamint [14] jelenti, ahol valamint a további megfelel helyeken hivatkozott irodalomban megtalálható a lépések részletesebb ismertetése. Egy beszédfelismer rendszer alapvet feladata a bemenetre érkez akusztikus információt (hanghullámok) az elhangzott szavaknak, mondatoknak megfelel szöveges kimenetté alakítani. Ez a gyakorlatban a lehetséges célszavak illetve -mondatok közül a legvalószín bb kiválasztásával történik, amihez ismernünk kell a mondatok, szókapcsolatok elhangzásának valószín ségét (nyelvi modell), a szavak és a fonémasorozatok összerendelését (lexikon), valamint az egyes fonémák adott akusztikai megvalósulásának valószín ségét (akusztikus modell) [14]. A végs kimenetet ezen modellek kombinált valószín ségeinek felhasználásával kaphatjuk meg. A beszédfelismerési feladat formális megfogalmazásához jelöljük a bemenetre érkez akusztikus jelek sorozatát O-val a következ képp: O = o 1, o 2, o 3,..., o n, (1.1) ahol o i a teljes jelsorozat i. eleme (ezeket reprezentálhatja például az adott id pillanatban a bemenetre érkez jel frekvencia-komponenseit tartalmazó vektor, a pontos eljárást lejjebb 8

ismertetem). Jelöljön továbbá W egy adott szósorozatot (mondatot) az alábbi módon: W = w 1, w 2, w 3,..., w m (1.2) ahol w j a szósorozat j. szava. Ilyenkor a beszédfelismerési feladatot megfogalmazhatjuk a következ képpen: adott O akusztikus bemenet esetén keressük a legvalószín bb Ŵ szósorozatot L nyelvben, azaz: Ŵ = arg max P (W O) (1.3) W L Mivel a P (W O) valószín ség nem számítható, ezért a Bayes-szabály alkalmazásával átalakítjuk az egyenletet: P (W O) = P (O W )P (W ) P (O) (1.4) Behelyettesítve: Ŵ = arg max W L P (O W )P (W ) P (O) = arg max P (O W )P (W ) (1.5) W L Az 1.5 egyenletben lév utolsó egyszer sítést azért tehetjük meg, mert az összes lehetséges mondat közül keressük a legvalószín bbet, P (O) viszont eközben változatlan, így nem befolyásolja az eredményt [14]. Az 1.5 egyenletet szokás a beszédfelismerés alapegyenletének nevezni [5], mivel összefoglalja a beszédfelismerés során megoldandó feladatokat: P (W ) kiszámítása a nyelvi modell, míg meghatározása P (O W ) az akusztikus modell feladata. Az 1.1 ábrán sematikusan végigkövethet k a beszédfelismerés lépései és ahhoz szükséges modellek szerepe. A feladat két f szintje a lényegkiemelés és a mintaillesztés. El bbi során (részletesen ld. az 1.1.2 részt) a bejöv akusztikus információból történik a mintaillesztéshez használt jellemz vektorok kinyerése, míg az utóbbi lépcs tartalmazza az akusztikus és nyelvi modellek és a lexikon felhasználásával dekódolható legvalószín bb mondatot. Amint az ábrán is látható, a P (O W ) valószín ség meghatározása az akusztikus modell és a lexikon együttes feladata. Míg a lexikon az adott szósorozatokhoz rendelhet fonémasorozatok valószín ségét tartalmazza, addig az akusztikus modell feladata az adott fonémákhoz tartozó legvalószín bb jellemz vektorok megkeresése. A fonémákat Φ-vel jelölve, Viterbi-approximációt alkalmazva így a 1.5 egyenlet a következ képpen módosítható (a gyakorlatban célszer szorzás helyett a valószín ségek logaritmusát összegezni): Ŵ = arg max P (O Φ)P (Φ W )P (W ) (1.6) W L 1.1.1. A nyelvi modellezésr l röviden A nyelvi modellezés célja egy adott szósorozat, mondat valószín ségének meghatározása egy adott nyelvben (P (W )). Én röviden a leggyakrabban alkalmazott módszert, az N- 9

LÉNYEGKIEMELÉS lényegkiemelés jellemz vektorok O MINTAILLESZTÉS akusztikus modell fonémavalószín ségek P (O W ) lexikon nyelvi modell P (W ) dekódolás Az úton áll az autó... P (W O) 1.1. ábra. A beszédfelismerési feladat lépéseinek áttekintése [14] alapján gram modelleket mutatom be. Az N-gram modellek egy adott szósorozat valószín ségét egy korpuszban (a kérdéses nyelven írott szövegek lehet leg minél nagyobb gy jteményéb l) való együttes el fordulásaik alapján határozzák meg. Egy l hosszú szósorozat (W l ) N-gram valószín sége a következ módon számítható: P N gram (W l ) = l i=1 P (w i w i N+1,..., w i 1 ) (1.7) Egy példán keresztül illusztrálva az A kutya ugat. mondat valószín ségét egy bigram modell (N = 2) esetén a következ képpen számíthatjuk: P 2 gram ( s a kutya ugat /s ) = (1.8) P ( a s )P ( kutya a )P ( ugat kutya )P ( /s ugat ), 10

ahol s a mondat kezdetét, /s pedig a végét jelöli. Az általam megvalósított rendszerek nyelvi modellezése 3-gram modellekkel történt, ahol a trigram valószín ségeken túl a bigram és az unigram (azaz az egyszer el fordulási) valószín ségek is gyelembe voltak véve (backo -elv [14]). A gyakorlatban egyéb modellezési technikák is el fordulhatnak, ilyenek pl. az ígéretesnek látszó neurális hálós nyelvi modellek [2], ezekkel azonban feladatom során nem foglalkozom. 1.1.2. A lényegkiemelés folyamata A beszédfelismerési feladat els eleme a bemenetre érkez a tanítás-tesztelés során beszédadatbázisból származó, felhasználás során valós idej akusztikai információt az akusztikus modellek számára feldolgozhatóvá tenni, azaz a hanghullámoknak egy jól használható és az emberi beszéd f akusztikai jellemz it meg rz reprezentációt találni. A legeredményesebbnek az ún. MFCC-vektorok (Mel Frequency Cepstral Coecients, melfrekvenciás kepsztrális együtthatók) bizonyultak, az alábbiakban ezt ismertetem, majd röviden kitérek az általam is vizsgált egyéb jellemz vektorokra. MFCC-vektorok A bejöv beszéd hanghullámainak átalakításához az analóg jelet digitalizálni kell. Amennyiben a modellek tanítása és tesztelése során beszédadatbázisokat alkalmazunk, ezzel már nem kell tör dni, hiszen az anyag megfelel formátumban van. Valósidej felismerés esetén a számítógép vagy mobileszköz mikrofonjára érkez jelet mintavételezni és kvantálni kell, ez ilyenkor a beépített analóg-digitális konverterrel történik. A beszédfelismerési feladatok során tipikusak a 16kHz-en mintavételezett, 16 biten kvantált anyagok, azonban telefonvonalon elhangzó anyagokon végzett beszédfelismerés esetén a kisebb sávszélesség miatt a 8kHz mintavételezési frekvencia is elegend [6]. A mintavételezett és kvantált digitális jeleket ezt követ en bevett gyakorlat el kiemelésnek (preemphasis) alávetni, ahol egy els rend felülátereszt sz r vel a kisebb energiájú magasabb frekvenciájú összetev ket a nagyobb energiával rendelkez alacsonyabb frekvenciakomponensekkel hozzuk közel azonos energiaszintre, megel zve így a különbségek miatti információvesztesége (ez a spektrális lejtés az emberi beszéd sajátosságaiból következik). Az el kiemelést követ lépés a beérkez akusztikai jelek ablakozása. A beszédfelismerési feladat során a bemen beszéd spektrális tulajdonságai nem állandóak, ezért a fonémákra való leképezés érdekében célszer azt rövid, néhány tíz ms-os részekre osztani. Így élhetünk azzal a feltevéssel, hogy az egyes ablakokon belül a jel stacionárius. A gyakorlatban az ablakozás egymásba lapolódó keretekkel történik, Hamming-ablak 1 alkalmazásával a spektrumban fellép szakadások elkerülése érdekében. A beszédhangokat (mint az akusztikai jeleket általában) jól jellemzik a frekvenciakomponensei és azok energiája, ezért a lényegkiemelés egyik f lépése a jelek frekvenciatartományba való transzformálása a diszkrét Fourier-transzformáció segítségével. A spektrumot 1 w Hamming[k] = { 0, 54 0, 46 cos( 2πk L, 0 k L 1 0,, egyébként 11

ezt követ en a négyzetére emeljük és az így kapott energiaspektrummal dolgozunk tovább. Az energiaspektrum el állítását az emberi hallást modellez ún. mel-skálára 2 való transzformálás követi. Erre azért van szükség, mert az emberi hallás magasabb frekvenciákon (kb. 1kHz felett) kevésbé érzékeny. A gyakorlatban ez egy sz r sor segítéségével történik, amely az egyes frekvenciasávokban dolgozó sz r kb l épül fel. A sz r k 1kHz alatt lineárisan helyezkednek el a frekvenciatartományban, felette pedig távolságuk logaritmikusan n. További, az emberi hallást jellemz megoldás a sz r sor utáni logaritmizálás, amely ezen tényez n túl a bemeneten el forduló kisebb ingadozásokra való érzékenységet is csökkenti. A fenti, emberi tényez ket gyelembe vev megoldások igazoltan javítják a beszédfelismerési pontosságot. A lényegkiemelés utolsó lépése a sz réssel és logaritmizálással kapott spektrum visszatranszformálása az id tartományba. Ez történhet a frekvenciatartományba való áttéréshez használt transzformáció inverzével, azaz inverz diszkrét Fourier-transzformációval, azonban jelenleg a gyakorlatban szinte kizárólag diszkrét koszinusz-transzformációt (DCT) alkalmaznak ennek megvalósítására. Az így kapott id tartománybeli jelet az eredeti jel kepsztrumának (cepstrum) nevezzük, ami a spektrum logaritmusának a spektrumaként is deniálható (amennyiben gyelmen kívül hagyjuk a mel-sz r sor használatát). Az így nyert kepsztrum el nye, hogy azon túl, hogy jól reprezentálja az egyes beszédhangokra jellemz paramétereket (mint pl. a formánsértékek 3 ), a kepsztrális együtthatók a Fourieregyütthatókkal szemben dekorreláltak, ami a hagyományos beszédfelismerési technológiák számára jelent sen könnyebbé teszi az egyes paraméterek megtanulását. A gyakorlatban az els 12 kepsztrális együttható alkalmazása elegend a kiemelt jellemz vektorokban, mivel ezek hordozzák a lényeges információkat. A 12 kepsztrális együtthatón túl a jellemz vektorok tartalmazzák az adott id keretbe tartozó jel energiáját is, mivel ez lényeges információt hordoz a kérdéses beszédhangok természetét illet en (pl. az [a] hang több energiával bír, mint a [p] stb.). A jel energiáján túl célszer nek bizonyul a jel változásának ( ), valamint a változás változásának ( ) jellemz vektorokhoz történ hozzáf zése is. Az egyszeres és kétszeres deriváltak jó képet adnak a beszédjelek nem-konstans tulajdonságairól, mint például a formánsértékek változása és ennek a változásnak a sebessége (gyorsulás), vagy egy felpattanó zárhang (pl. [b]) esetén a felpattanás tulajdonságai. A deriváltak számítását a gyakorlatban célszer nem keretenként, hanem több id keret összefogásával, lineáris regresszió segítségével végezni. A és értékek kiszámítása a jel energiájára nézve is szolgálhat hasznos információval, így ezeket is konkatenáljuk a jellemz vektorokhoz. A lényegkiemelés lépéseit az 1.2 ábra foglalja össze. A gyakorlatban s r n alkalmazott és általam is használt jellemz vektorok tehát 39 dimenziósak és a következ képp épülnek fel: 12 kepsztrális együttható, valamint ezek egyszeres és kétszeres deriváltjai (összesen 36 dimenzió), valamint további három, jelenergiát reprezentáló dimenzió az energia és annak és értékei. 2 mel(f) = 1127 ln(1 + 1 70 ) 3 A beszédhangok spektrumának kiugró csúcsai, amelyek a sz r ként viselked emberi toldalékcs (garat, szájüreg, orrüreg, valamint egyéb, a beszédképzésben részt vev szervek) er sítési frekvenciáit jelzik. 12

el kiemelés ablakozás DF T () 2 mel() log() x 2 [k] d dt, d2 dt 2 DCT + MFCC39 1.2. ábra. A 39-dimenziós MFCC-vektorok felépítésének lépései Filterbank-vektorok Bár a hagyományos beszédfelismerési technológiák esetén a kepsztrális együtthatók alkalmazás bizonyul a leghatékonyabbnak, a jelenleg legjobb eredményeket produkáló neurális hálózatos modellek esetén a mel-sz r sor közvetlen kimenetén el álló jellemz k alkalmazása is eredményesnek bizonyult, bizonyos esetekben az MFCC-vektoroknál jobban teljesítettek [26]. Ezért feladatom során lterbank-jellemz kkel (a továbbiakban FBANK) is végeztem vizsgálatokat. Ilyen esetekben a lényegkiemelési lépések annyiban különböznek az 1.2 ábrán láthatóknál, hogy a feldolgozási lépések végén a sz rt energiaspektrum id tartományba való visszatranszformálását elhagyjuk. FBANK-jellemz k alkalmazása esetén a sz r sorban található sz r k száma szabad paraméter, amely valamilyen mértékben befolyásolhatja a felismerési eredményeket; az általam vizsgált esetekben ez 27 és 40 között változott. Normalizálás A jellemz vektor-kiemelés lépése után bevett módszer azokon valamilyen normalizálási eljárást végezni. Erre annak érdekében van szükség, hogy a beszél k és a beszédmódok egyéni különbségeit kompenzáljuk, így növelve a beszédfelismerést végz modell általánosító képességét. A leggyakrabban alkalmazott normalizációs módszer a kepsztrumátlagok és a variancia kiegyenlítése, a Cepstral Mean and Variance Normalization (CMVN). A módszer során a jellemz vektorok komponenseib l kivonjuk az adott komponensek jellemz vektorok között számított átlagát, majd az adott komponens vektorok közötti szórásával osztjuk el értéküket [21]: CMV N(x i [k]) = x i[k] µ i [k] σ i [k] (1.9) Az átlag és a szórás kiszámítását nem a teljes jellemz vektor-sorozaton, hanem csak azoknak egy véges N méret ablakozásán számítjuk, ahol az ablak közepén a kérdéses 13

jellemz vektor helyezkedik el: σ 2 i [k] = 1 N 1.1.3. Akusztikus modellezés µ i [k] = 1 N k+n/2 1 n=k N/2 k+n/2 1 n=k N/2 x i [n] (1.10) (x i [n] µ i [k]) 2 (1.11) A beszédfelismerés egyik legfontosabb lépése a rendszer központját jelent akusztikai modellezés. Ez a legkritikusabb elem a végs felismerési pontosság tekintetében, ezért számos megoldás született rá. A terület folyamatosan fejl dik, és számos lehet ség kínálkozik az eddigi modellek továbbfejlesztésére, valamint a meglév k adott feladatokra történ optimalizálására. A most következ kben el ször áttekintem az akusztikus modellezés f feladatait, majd alapjaiban bemutatom a hagyományosan alkalmazott architektúrákat. Ezt követ en ismertetem a neurális hálózatok felépítésének, paramétereinek és tanításának f jellemz it. A megvalósítandó feladat A beszédfelismerési feladatok során alapvet en egy gépi tanulási folyamatot valósítunk meg. A célunk, hogy a rendelkezésre álló adatokból (beszédadatbázis) kinyert jellemz vektorok alapján a modell megtanulja az egyes beszédhangok, hangkapcsolatok jellemz it, majd ezen betanult paraméterek alapján olyan anyagokat is minél pontosabban ismerjen fel, amilyenekkel korábban a tanulás során még nem találkozott. A rendszerek tanítása többféle adattal történhet. Feladataim során felügyelt tanítással (supervised learning) dolgozom, azaz a beszédadatbázisokban található hanganyagokhoz minden esetben tartozik szöveges átirat. Az akusztikus modell feladata, hogy ezeknek a hanganyagoknak (illetve a bel lük készített jellemz vektoroknak) és a hozzájuk rendelhet átiratoknak az ismeretében a tanítás során a paramétereit úgy hangolja, hogy közben a tanítóhalmazon (TRAIN) mérhet felismerési hibaarányt minél alacsonyabb mérték re csökkentse. Bizonyos esetekben el fordulhat azonban a túltanulás jelensége: ilyen esetekben a tanítóhalmazon ugyan nagyon jól teljesít a rendszer, kés bb, a felismerési feladat során azonban a pontosság még nem látott adatokon rossz lesz. A tanulást követ en a modell teljesítményét egy elkülönített tesztel halmazon (TEST, EVAL) mérhetjük; ez célszer en állhat az adott beszédadatbázis egy olyan részhalmazából, amelyet a tanítás során nem használtunk fel. A teszthalmaz mellet bizonyos esetekben egy ún. fejlszt halmazon (DEV) is mérhetjük a felismerési teljesítményt; ez szolgálhat a végs tesztelés el tt a legjobb modell kiválasztására, paraméter-nomhangolásra stb. (ilyenkor értelemszer en ebbe is olyan anyagok kerülnek, amelyek sem a tanító- sem a teszthalmazokban nem szerepelnek). Az egyes modellek felismerési pontosságának számszer sítésére leggyakrabban a hiba- 14

arányt (error rate) használjuk, amelyet a következ képpen deniálunk: ER = S + D + I, (1.12) N ahol S a helyettesítések, D a törlések, I pedig a beszúrások száma az összes vizsgált (N) egység között. Amennyiben a kiértékelést szóalapon végezzük, szóhibaarányról (Word Error Rate, ) beszélhetünk, bizonyos esetekben azonban érdemes lehet a bet ket (LER) vagy a mondatokat (SER) kiértékelési egységnek tekinteni (pl. a magyar nyelvre a toldalékolások, szóösszetételek miatt a meglehet sen pesszimista mér száma a felismerési teljesítménynek [17]). Beszédfelismerés rejtett Markov-modellekkel A hagyományos beszédfelismer rendszerekben az akusztikus modellezés ún. rejtett Markovmodellekkel (Hidden Markov Model, HMM ) [9] történik. A fonémamodellezés jellemz en háromállapotú (plusz egy kezdet- és végállapot) rejtett Markov-modellekkel végezhet, ahol három állapotot feleltetünk meg a fonéma elejének, közepének és végének, és az állapotok között átmeneti valószín ségeket deniálunk. Egy ilyen modell látható a 1.3 ábrán, ahol p ij jelzi a következ állapotba való átmenés, illetve az adott állapotban maradás valószín ségét (i = j esetén). Egy fonémasorozat valószín ségét egyszer en az adott fonémákhoz tartozó modellek egymás után f zésével és a konkatenált modell alkalmazásával kaphatjuk meg. p 01 p 12 start start eleje közepe vége stop p 23 p 34 p 11 p 22 p 33 1.3. ábra. Példa egy háromállapotú, fonémamodellezésre használható rejtett Markov-modellre Rejtett Markov-modellek alkalmazása esetén az egyes állapotokhoz tartozó valószín ségeket Gauss-függvények lineáris kombinációiból állíthatjuk el. Ez azért célravezet, mivel ilyen esetben az egyes átlagértékek, valamint kovariancia-mátrixok már egyértelm en meghatározzák a kérdéses eloszlásokat, így elegend ezeket eltárolni az azonosításukhoz. A Gauss-eloszlások kombinációit alkalmazó klasszikus, rejtett Markov-modelles felismer rendszereket emiatt a szakirodalom kevert Gauss-modelleknek (Gaussian Mixture Models, GMM) is nevezi. GMM-modellek esetén a normáleloszlás többdimenziós (MFCC-vektorok esetén 39) általánosítását használjuk, és a kérdéses jellemz vektorok adott állapothoz tartozó valószín ség-eloszlását a megfelel en módosított Baum-Welch-algoritmussal vagy Viterbi-tanítással számíthatjuk (a módszerek részletezése és összehasonlítása megtalálható [23]-ban). A fonémamodellezés során triviális megoldás az egyes beszédhangok önmagában, környezett l nem függ modellezése. Az ilyen megoldásokat monofón rendszereknek nevezzük. 15

Közismert azonban, és feladataim megvalósítása során is jól látszott, hogy az így végzett beszédfelismeréssel gyenge teljesítmény érhet csak el. Ennek fényében célszer a trifón modellek alkalmazása, ahol egy-egy hangot három érték jellemez: a kérdéses hang, valamint az el tte álló és utána következ hangok (vagy szóhatárok). Ez a megközelítés jelent s javuláshoz vezet, és egyben magában foglalja a beszédben artikulált alakok olyan mögöttes reprezentációtól való eltéréseit, mint pl. a magyar zöngésségi hasonulások (pl. /me:zhez/ [me:shez]) [17]. A trifónok építése történhet kézzel, de hatékonyabb automatikusan, döntési fák alkamazásával végezni [19]. A trifónokon túl további pozíciófüggést is vihetünk a rendszerbe, ha a nyelvi modellben is megkülönböztetjük egymástól a szóeleji, szóbelseji és szóvégi elhelyezkedéseket. Beszédfelismerés mesterséges neurális hálózatokkal Jelenleg a nemzetközi kutatás középpontjában álló akusztikus modellek az ún. mély mesterséges neurális hálózatok (Deep Neural Networks, DNN), amelyek a fentebb ismertetett GMM-alapú architektúráknál szignikánsan jobb eredmények produkálására képesek. A neuronhálók elnevezésüket az emberi agyban található neuronok között zajló kommunikációs architektúrához hasonló felépítésük miatt kapták, fontos megjegyezni azonban, hogy az általam is vizsgált mesterséges neuronhálózatok nem hivatottak az emberi agyat modellezni, csupán matematikai modellek, amelyek jól alkalmazhatók gépi tanulási, mintaillesztési feladatokra. A neuronhálózatok számos egyszer, elemi egységb l épülnek fel; ezeket a biológiai analógia mintájára neuronoknak nevezzük. A 1.4 ábrán látható egy ilyen neuron sematikus szerkezete. A bemenetére érkez x értékeket egy adott w súlyozás szerint veszi gyelembe. Az így összeadódó súlyozott bemeneti értékeket ezt követ en egy, a neuronra jellemz aktivációs függvény (f) alapján transzformálja; így áll el a neuron kimeneti értéke (y): y = f(x T w) (1.13) x 0 w 0 x 1 w 1 Σx i w i f(σx i w i ) y...... x n w n 1.4. ábra. Egy neuron sematikus szerkezete Az aktivációs függvény megválasztása egy a neurális hálózatok paraméterei közül, ami 16

befolyásolhatja a felismerési pontosságot. A legegyszer bb megoldás egy egyszer küszöbérték kijelölése, ami alatt a kimeneten y = 0, a küszöböt átlépve y = 1 jelenik meg. Mivel azonban célunk az, hogy a súlyok kismérték változtatása a kimenetben is kis változást okozzon, ezért a tangens hiberbolikuszt approximáló szigmoid-függvény alkalmazása terjedt el [22]: sigmoid(x) = 1, c R (1.14) 1 + e cx Ezen túlmen en gyakori és az általam megvalósított feladatokban is szerepl megoldás az ún. rektikációs függvény alkalmazása is (rect(x) = max{0; x}), ami a klasszikus szigmoidnál jobb eredmények elérésére is képes. A kétfajta aktivációs függvényt a 1.5 ábrán láthatjuk. 1 0.5 1 0.5 4 2 2 4 0.5 1 1 0.5 0.5 1 0.5 1 1.5. ábra. a. A szigmoid-függvény (c = 1) az origóba eltolva b. A rektikációs függvény Egy neuron önmagában csak bináris klasszikációra használható, így a több osztály felett végzett mintaillesztési feladatok megvalósításra (mint a beszédfelismerés is) több neuront kell összekapcsolnunk neuronhálóvá. A neurális hálót felépít neuronokat rétegekbe rendezzük, ahol a rétegeken belül az általam vizsgált architektúrákban nem futnak összeköttetések (ezek az ún. el recsatolt, vagy feed forward neurális hálózatok), az egyes rétegek között azonban minden neuron kimenete minden következ réteg-beli neuron bemenetére csatlakozik. A neurális hálót felépít neuronrétegek három típusba sorolhatók: be- és kimeneti, valamint rejtett rétegekre. A bemeneti réteg gyakorlatilag csak a bemen jellemz k tárolására szolgál. Beszédfelismerési feladat esetén jellemz en több jellemz vektor kerül a bemenetre ablakszer en: a kérdéses vektor, valamint azt megel z és követ további vektorok (az ablakméret általában 7 és 17 között változik). A valódi számítások és a tanulás a neuronháló közbüls, ún. rejtett rétegeiben történik. A rejtett rétegek száma, és a rejtett rétegeket felépít neuronok száma kritikus paraméter a tanulás szempontjából. A három vagy több rejtett réteget tartalmazó neuronhálókat illeti a szakirodalom mély jelz vel. A kimeneti réteg megvalósítására használható kézenfekv megoldás minden felismerend osztályhoz egy neuront rendelni. Ilyenkor a leger sebb aktivációjú kimeneti neuronhoz tartozó osztályba sorolhatjuk a kérdéses mintát. Egy ilyen megoldást szemléltet a 1.6 ábra, ahol sötét színezés jelzi az éppen tüzel neuront. 17

súlyozások (w) súlyozások (w) rejtett réteg bemeneti réteg kimeneti réteg 1.6. ábra. Példa egy egyszer, egy rejtett réteg neurális hálózatra, a kimenetén egy tüzel neuronnal A gyakorlatban a rejtett rétegek és a kimeneti rétegek közé kerülhet egy a kimenetnél nagyobb dimenziójú ún. softmax-réteg. Ennek szerepe, hogy egyfel l a kimenet el tt egy szélesebb réteget képezve növelje a tanulás hatékonyságát, valamint hogy a kimeneten megjelen klasszikációs valószín ségek összegét 1-re normalizálja a softmax-függvény 4 segítségével [22]. A neuronháló tanítása lényegében az egyes súlyok nomhangolását jelenti. Célunk az általános gépi tanulási paradigmához hasonlóan a tanítóhalmaz alapján megkeresni a hibafüggvény minimumát a megfelel súlyozás megválasztásával úgy, hogy ezt követ en a teszthalmazon is minél jobb felismerési eredményt érjünk el. A hibafüggvényt adott W súlymátrix mellett a következ képpen számíthatjuk [18]: C(W) = 1 2N t(x) y(x) 2 (1.15) x N a tanítóvektorok száma, y(x) a neuronháló által becsült, t(x) pedig a ténylegesen x-hez tartozó osztály ( v a vektor hosszát jelöli). 5 A hibafüggvény minimumának megkeresése matematikailag összetett feladat, ezért itt ennek részletezésébe nem bocsátkozom. Alapját a sztochasztikus leszálló gradiens (stochastic gradient descent) és a visszalép algoritmus (backpropagation algorithm) jelenti [18]. Ezen módszerek segítségével a neurális hálót tanító algoritmus a súlyokat minden tanítási 4 softmax(x) i = ex i N e x k k=1 (N neuron esetén az i. neuronra) 5 x bemeneti vektor több MFCC-jellemz vektor összef zése. y(x) és t(x) felfogható a neurális háló kimeneti rétegének reprezentációjaként, pl. ha egy öt neuronból álló kimeneti rétegb l a 3. neuron aktív, akkor y(x) = [0, 0, 1, 0, 0] T 18

ciklusban w értékkel mozdítja el (a súlyok kezdeti inicializálása 0 körül, adott szórással, véletlenszer en történik) [12]: w i = ε C(W) w i (1.16) A 1.16 egyenletben szerepl ε szabadon hangolható érték, a tanulási sebesség (learning rate). Mint látni fogjuk, megválasztása nagyban befolyásolja a felismerési eredményeket, a túl nagy érték túl felületes tanulást eredményezhet, míg a túl alacsony túltanuláshoz és még nem látott anyagokon rossz teljesítményhez vezethet. A gyakorlatban ε nem állandó, hanem a tanulás során megadott értékek között változik, vagy addig csökken, amíg a tanítóanyagon a hibafüggvény javulása bizonyos érték alá nem kerül. Dimenziócsökkentés A beszédfelismerési pontosság javítása érdekében tanítandó akusztikus modell bemenetére érkez jellemz vektorokat a lineáris diszkrimináns-elemzés (Linear Discriminant Analysis, LDA) [10] segítségével egy el zetes transzformációnak vethetjük alá, ami a modell által tanulandó dimenziók számát csökkenti úgy, hogy eközben a dimenziócsökkentés során kialakult osztályok közti megkülönböztethet séget növeli (azaz sok, egymástól kevéssé különböz dimenzióból kevesebb, jobban szeparálható dimenziót állít el ). Az LDA megvalósítása is gépi tanulási paradigmában történik, ahol az el zetesen felcímkézett tanítóadatok alapján igyekszik a rendszer egy olyan transzformációt végrehajtani, amely eredményeként az egyes, jobban összetartozó minták könnyebben szeparálható csoportokba képez dnek le. Az általam megvalósított beszédfelismerési feladatokban az LDA elvégzését minden esetben Maximum Likelihood lineáris transzformáció (MLLT) követi [7], ami a Gauss-függvények paramétereinek további, a megkülönböztethet séget növel nomhangolását végzi. Beszél adaptáció További, a felismerési pontosságot optimalizáló tényez az akusztikus modell paramétereinek egy-egy adott beszél tulajdonságaira való hangolása (hangszín, beszédmód stb.). A beszél adaptív tanítás módszere (Speaker Adaptive Training, SAT) megköveteli, hogy az egyes hanganyagokhoz rendelkezésre álljon az információ, hogy az melyik beszél t l hangzott el. Az ún. fmllr-eljárás (Feature-Space Maximum Likelihood Linear Regression, jellemz térben végzett Maximum Likelihood lineáris regresszió) azzal az el nnyel bír, hogy nemcsak beszél adaptív tanításhoz, hanem egy adaptálatlanul tanított modell dekódolás során történ tesztanyaghoz hangolásához is használható (amennyiben a tesztanyag beszél it ismerjük). Továbbá amíg a klasszikus SAT-technikák (MLLR, MAP) csak GMM-alapú rendszereknél alkalmazhatók, fmllr-adaptációt neurális hálók esetében is végezhetünk. Ezen eljárás során a jellemz vektor-térben végzünk a bemeneti jellemz kön egy lineáris transzformációt, a módszer pontos leírása megtalálható [8]-ban. Amennyiben nem áll rendelkezésre információ az egyes beszél k kilétér l, lehet ség van a beszél k automatikus módon történ, felügyeletlen gépi tanulással végzett csoportosítá- 19

sára (klaszterezésére). A klasztercímkékkel ellátott anyagokkal már lehetséges adaptívan tanítani az akusztikus modelleket. A legegyszer bb esetben az egyes anyagrészeken tanított GMM-modellek közötti eltérés számszer sítése alapján végezhet csoportosítás [13]. 1.1.4. Dekódolás A beszédfelismerési feladatok során alkalmazott modellek (nyelvi és akusztikus modell és ezek épít elemei) a tanítást követ en összevonhatók egyetlen közös felismerési gráfba. Ez a gráf a modellezés összes lépését magában foglalja, ezáltal a legvalószín bb mintaillesztés egy optimális útkeresési feladattá egyszer södik, ami dinamikus programozási módszerekkel oldható meg [5]. A gyakorlatban ez a Viterbi-algoritmussal történik, ahol az egyes utak kezd pontját a bemen jellemz vektor-sorozatok, végpontját pedig a kimeneten felismert szósorozatok (mondatok) jelentik. A gyakorlati megvalósítás során az összes lehetséges út megkeresésének elkerülése érdekében a legjobb út valószín ségénél adott értékkel kisebb valószín ség lehet ségek elvetésre kerülnek (pruning). 1.2. Nemzetközi eredmények Egy beszédfelismer rendszer létrehozása során az azzal kapható felismerési pontosságot a modellparamétereken és az alkalmazott technikákon túl alapvet en befolyásolja a megvalósítandó feladat típusa, valamint a tanításhoz rendelkezésre álló beszédadatbázis mérete és tulajdonságai (mintavételezési frekvencia, átiratok min sége, beszél információ stb.). Nyilvánvaló, hogy egy egyetlen beszél re adaptált, kisszámú különböz szót (pl. egy mobiltelefon használója által beolvasott számjegyeket) felismerni hivatott rendszer sokkal jobb eredményeket képes produkálni egy nagyszótáras, folyamatos beszédfelismer rendszerrel szemben. Mivel az általam megvalósított feladatok ez utóbbi kategóriába oszthatók, az alábbiakban röviden bemutatom a nemzetközi kutatások során hasonló feladatokon elért eredményeket. Broadcast-anyagokon elért eredmények Mivel egyik f feladatom magyar nyelv, televízióban sugárzott m sorok (híradó, beszélget s m sorok stb.) automatikus feliratozásához használható beszédfelismer -rendszer építése volt, ezért megvizsgáltam néhány más nyelven megvalósított, broadcast-médiára épül rendszer teljesítményét. Mivel az egyéni feladatokra készült rendszerek esetében minden esetben eltér a tanító-adatbázisok mérete és tartalma, ezért a sztenderd korpuszokkal ellentétben ezek összehasonlítási alapnak kevéssé használhatók, tájékozódásképp azonban érdemes lehet áttekinteni ket. Az elmúlt húsz évben a beszédfelismerési kutatásoknak és az új technológiáknak köszönhet en a különböz televízióban, rádióban sugárzott m sorok felismerésében elért eredményeiben jelent s javulás gyelhet meg. [3] 1994-es cikkében spontán beszéden 62,9%-os, felolvasott beszédben (pl. hírolvasók) 49%-os szóhibaarányról számol be. Ugyanezek a kon- gurációk egy évvel kés bb 59,7% és 48%-ra csökkennek. 20

A broadcast-anyagokat kutató publikációk többsége hagyományos, Markovmodell-alapú technikákkal dolgozik, újabban azonban a neurális hálózatok el térbe kerülésével ilyen kutatásokról is olvashatunk. A 2014-ben megjelent német tanulmány [25] esetén jól meggyelhet a neuronhálók el nye a sztenderd GMM-modellekkel szemben: míg hagyományos technikákkal spontán m soranyagokon 50%-os szóhibaarányt sikerült csak elérni, addig mély neurális hálózatokkal ez az érték ugyanazon a teszthalmazon 37,6%. Ez 25%-os relatív javulás, ami egyértelm en megmutatja alkalmazásuk el nyét. A legjobb eredmények 26%-os szóhibaarány magasságában fekszenek [15], azonban ebben nagyban közrejátszik a korpuszban található anyagok típusa míg az utóbbi hírm sorokon tanított rendszerek f leg koordinált (hírolvasás) stúdiófelvételekre épülnek, addig a német tanulmányban spontán, zajos, több beszél s anyagok is találhatók a tanító- és teszthalmazokban. Mivel az általam megvalósítandó feladat is hasonló jelleg, ezért 30% alatti szóhibaarány elérése elfogadható célnak látszik. Telefonos adatbázisokon elért eredmények Feladataim másik nagy típusát a telefonbeszélgetések alapján épített akusztikus modellek teljesítményének vizsgálata jelenti. A folyamatos telefonbeszélgetés-alapú felismerési feladat nemzetközi sztenderdje a Switchboard-korpusz, 6 azonban fontos kiemelni, hogy ez esetben több mint 300 órányi tanítóanyag áll rendelkezésre, ahol a beszélgetések két oldala csatornánként fel van címkézve, valamint beszél címkékkel is el van látva, pontosabb adaptációs megoldások alkalmazását téve lehet vé ezzel. Ezzel szemben az általam vizsgált feladatok során kisebb adatbázisok állnak csak rendelkezésemre, általában beszél információ nélkül. A közös jellemz a m soranyagoknál alacsonyabb sávszélesség (és mintavételezési frekvencia), ami negatívan befolyásolja a felismerési pontosságot. A Switchboard-korpuszon [11] HMM-architektúrák alkalmazásával 27,4%-os elérhet szóhibaarányról számol be, amit 7 rejtett réteget tartalmazó neurális hálók segítségével 19,6%- ra csökken. [29] alapján 5 rejtett réteg alkalmazásával 22,5%-os -érték érhet el. Várakozásaim szerint a feljebb említett okok miatt az általam vizsgált adatbázisokon csak magasabb hibaarány-érték lesz elérhet, azonban a tendenciák és a neuronhálók pozitív hatása szempontjából érdemes szem el tt tartani ezeket az eredményeket. [1] 70 órányi német nyelv telefonbeszélgetés alapján tanított hagyományos GMMmodellekkel 40% körüli -r l számol be, így a rendelkezésemre álló (mind 60 órányi anyagnál kisebb) adatbázisokkal ezen technikákkal 40% feletti szóhibaarány várható, amin neurális hálózatokkal javulás érhet el; [24] neuronhálókkal 28%-os relatív javulást mutat fel a Switchboard-korpuszon, így kisebb adatbázison is jelent s hibaarány-csökkenésre lehet számítani. 1.3. Jelenlegi irányok A neurális hálózatok alkalmazásával elérhet beszédfelismerési pontosság a nemzetközi irodalom alapján szignikánsan jobb a hagyományos megoldások teljesítményénél, azonban 6 https://catalog.ldc.upenn.edu/ldc97s62 21

az eddigi eredményekhez képest további javulást hozhat az ún. konvolúciós neuronhálók alkalmazása. A bemeneti konvolúciós réteget eredményesen alkalmazták más mintaillesztési feladatokra, és amint [27] munkájából is látszik, a beszédfelismerésben is sikerrel használható. További irány lehet a sztenderd szigmoid, és a nála jobban teljesít rektikációs aktivációs függvények után további függvénytípusokat alkalmazni; jelenleg különböz maxout aktivációjú [28] neuronáhálók terén is folyik kutatás. Ígéretes irányt jelent az ún. dropout-típusú (kiejtéses) hálózatok alkalmazása, amelyeknél az egyes rétegbeli neuronok kimenetéb l egy bizonyos százalékot kinullázunk, így kényszerítve a neuronokat az önálló tanulásra [4]. A neurális hálózatok vizsgálata és beszédfelismerésre történ alkalmazásuk aktívan kutatott és dinamikusan fejl d terület, az el relépéseknek a legsz kebb keresztmetszete a rendkívül nagy er forrásigény neuronhálós tanításokhoz sok és gyors processzorra és/vagy grakus egységre van szükség, ami konvolúciós hálózatok alkalmazása esetén hatványozottan igaz. 22

2. fejezet A beszédfelismer keretrendszer specikációja 2.1. A nyílt forráskódú megoldások áttekintése A feladataim megvalósításához alapvet en egy olyan kutatási eszközre volt szükségem, ami egyfel l támogatja az általam vizsgálni kívánt beszédfelismerési módszereket, különös tekintettel a neurális hálós akusztikus modellezésre. Olyan eszközt kerestem, amelyben az alapvet megoldások, valamint a kiegészít, felismerési eredményeket pontosító technikák (dimenziócsökkentés, beszél adaptáció stb.) megfelel en implementálva vannak, ugyanakkor lehet séget nyújt a hagyományos, kevert Gauss-modelleken alapuló akusztikus modellek vizsgálatára is. Fontos volt számomra, hogy egy rendszeren belül tudjam megvalósítani a beszédfelismerési feladat összes lépését, azaz legyenek támogatva különböz lényegkiemelési eljárások, importálhatóak legyenek a nyelvi modellek, szótárak, és a dekódolást, valamint a kiértékelést is meg tudjam valósítani. A másik fontos elvárásom a rendszer módosíthatósága volt az egyes feladatokhoz történ testreszabhatóság érdekében. Ezek fényében mindenképpen egy olyan nyílt forráskódú, szabadon terjeszthet és módosítható eszközt kerestem, ami minél jobban megfelel a céljaimnak. Korábban a beszédfelismerési kutatásokban legszélesebb körben alkalmazott ilyen rendszer a HTK Toolkit 1 volt, sok rendszer továbbra is e köré az eszköz köré épül. Fontos hátránya azonban, hogy a neurális hálózatos tanításokat egyáltalán nem támogatja, ezért mindenképpen másik megoldásra volt szükségem. További nyílt forráskódú megoldásként a CMU Sphinx-rendszer 2 jöhetett volna szóba, azonban ennek alkalmazása az elavult technológia és az er sen hiányos dokumentáció miatt nem látszott célszer nek. A nemzetközi szakirodalmat vizsgálva 2013. óta egy másik sokat hivatkozott beszédfelismer keretrendszer a Kaldi névre hallgató nyílt forráskódú eszköz. 3 [20] A nyílt forráskódú, C++-ban készült rendszer Linux-alapú környezetben futtatható, kódja szabadon módosítható és b víthet, Apache 2.0 licensz alatt érhet el. A HTK Toolkittel szemben itt meg vannak valósítva különböz neurális hálós tanítóalgoritmusok, így ez utóbbi tulajdonsága, 1 http://htk.eng.cam.ac.uk/ 2 http://cmusphinx.sourceforge.net/ 3 http://kaldi.sourceforge.net/ 23

valamint a jelenlegi kutatásokban való szélesebb kör alkalmazása miatt választottam a Kaldit feladataim megvalósításához. 2.1.1. A Kaldi beszédfelismer keretrendszer A Kaldi bármilyen UNIX-alapú környezetben telepíthet, Windows alatt a Cygwin alkalmazása jelenthet megoldást, azonban a dokumentáció szerint azonban ilyenkor számos kompatibilitási probléma fordulhat el. Ennek fényében ezt a lehet séget nem vizsgáltam, a keretrendszert Ubuntu 12.04 operációs rendszer alatt használtam feladataim megoldásához. A rendszer programozása alapvet en UNIX shell-szkriptben (bash) történik, amely segítségével a bash-en belül elvégezhet feldolgozási lépéseken túl a Kaldiban megtalálható futtatható C++ állományokat hívjuk meg a beszédfelismerési lépések lényegi része ezeken keresztül történik. Ezen állományok a Kaldi C++ könyvtáraira hivatkoznak, ezeknek pedig további küls könyvtárakra lehet szükségük a mátrixok, véges állapotú transzdúcerek kezelésére, valamint a GPU-támogatás elérésére [20]. A rendszer felépítését a 2.1 ábra illusztrálja. Unix Shell Szkript futtatható Kaldi C++ állományok matrix nnet gmm hmm fst... Kaldi C++ könyvtárak OpenFST LibATLAS CUDA küls könyvtárak 2.1. ábra. A Kaldi beszédfelismer rendszer környezetének felépítése [20] nyomán A csomag letöltéséhez és a folyamatosan megjelen frissítések kezeléséhez szükséges a subversion verziómenedzser megléte, valamint a telepítéshez az automake eszköz is el feltétel. Amennyiben ezek rendelkezésre állnak, a telepítés automatikusan történik, azonban sok esetben el fordulhat, hogy bizonyos, a Kaldi számára szükséges további küls csomagokat kézileg kell telepíteni, pl. a LibATLAS 4 lineáris algebrai megoldásokat szolgáltató gy jteményt, illetve az OpenFST 5 véges állapotó transzdúcereket menedzsel programcsomagot. Amennyiben a neurális hálózatok tanítását gyorsítani szeretnénk, lehet ségünk van videokártyán futtatni azokat. A Kaldi a CUDA Toolkit 6 segítségével végzi ezt, így ennek a 4 http://www.openfst.org/twiki/bin/view/fst/webhome 5 http://math-atlas.sourceforge.net/ 6 https://developer.nvidia.com/cuda-toolkit 24