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



Hasonló dokumentumok
Beszédfelismerő modellépítési kísérletek akusztikai, fonetikai szinten, kórházi leletező beszédfelismerő kifejlesztése céljából

2. gyakorlat Mintavételezés, kvantálás

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

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

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

[Biomatematika 2] Orvosi biometria

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

KÓDOLÁSTECHNIKA PZH december 18.

Híradástechikai jelfeldolgozás

Elektronika Előadás. Digitális-analóg és analóg-digitális átalakítók

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Wavelet transzformáció

Rejtett Markov Modell

Analóg-digitális átalakítás. Rencz Márta/ Ress S. Elektronikus Eszközök Tanszék

A mintavételezéses mérések alapjai

EuroOffice Optimalizáló (Solver)

ServiceTray program Leírás

Adatelemzési eljárások az idegrendszer kutatásban Somogyvári Zoltán

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

Mérés és adatgyűjtés

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

DIGITÁLIS KÉPANALÍZIS KÉSZÍTETTE: KISS ALEXANDRA ELÉRHETŐSÉG:

Soros felépítésű folytonos PID szabályozó

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

Kovács Ernő 1, Füvesi Viktor 2

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

Optimumkeresés számítógépen

Analóg-digitál átalakítók (A/D konverterek)

Analóg elektronika - laboratóriumi gyakorlatok

Az egységugrás függvény a 0 időpillanatot követően 10 nagyságú jelet ad, valamint K=2. Vizsgáljuk meg a kimenetet:

NightHawk AccessControl

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

A kísérlet, mérés megnevezése célkitűzései: Váltakozó áramú körök vizsgálata, induktív ellenállás mérése, induktivitás értelmezése.

Intelligens Rendszerek Elmélete

MINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc. Debrecen,

Analóg elektronika - laboratóriumi gyakorlatok

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

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

Folyamatos, középszótáras, beszédfelismerô rendszer fejlesztési tapasztalatai: kórházi leletezô beszédfelismerô

Iman 3.0 szoftverdokumentáció

DebitTray program Leírás

Szenzorcsatolt robot: A szenzorcsatolás lépései:

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

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

Matematikai geodéziai számítások 5.

Már megismert fogalmak áttekintése

Iványi László ARM programozás. Szabó Béla 6. Óra ADC és DAC elmélete és használata

Név KP Blokk neve KP. Logisztika I. 6 LOG 12 Dr. Kovács Zoltán Logisztika II. 6 Logisztika Dr. Kovács Zoltán

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Számítógép és programozás 2

2. Elméleti összefoglaló

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

Kétváltozós függvények differenciálszámítása

I. LABOR -Mesterséges neuron

Feszültségérzékelők a méréstechnikában

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

ContractTray program Leírás

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Teremakusztikai méréstechnika

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti 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

Első egyéni feladat (Minta)

Végeselem modellezés alapjai 1. óra

Mintavételezés és AD átalakítók

Gazdasági matematika II. vizsgadolgozat, megoldással,

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Diszkrét idej rendszerek analízise szinuszos/periodikus állandósult állapotban

Irányítástechnikai alapok. Zalotay Péter főiskolai docens KKMF

Mérési struktúrák

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

Modern Fizika Labor. 11. Spektroszkópia. Fizika BSc. A mérés dátuma: dec. 16. A mérés száma és címe: Értékelés: A beadás dátuma: dec. 21.

Brüel & Kjaer 2238 Mediátor zajszintmérő

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

GCF 1.1 Gas Consumption Forecast

Rendszámfelismerő rendszerek

ANTAL Margit. Sapientia - Erdélyi Magyar Tudományegyetem. Jelfeldolgozás. ANTAL Margit. Adminisztratív. Bevezetés. Matematikai alapismeretek.

Generátor differenciálvédelmi funkció blokk leírása

ÁRAMKÖRÖK SZIMULÁCIÓJA

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Lineáris regresszió vizsgálata resampling eljárással

Valószínűségi változók. Várható érték és szórás

Hangfrekvenciás mechanikai rezgések vizsgálata

Haszongépj. Németh. Huba. és s Fejlesztési Budapest. Kutatási. Knorr-Bremse November 17. Knorr-Bremse

Irányításelmélet és technika I.

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

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Modern Fizika Labor. 5. ESR (Elektronspin rezonancia) Fizika BSc. A mérés dátuma: okt. 25. A mérés száma és címe: Értékelés:

Az egyszerűsítés utáni alak:

Útmutató EDC kézivezérlőhöz

Problémás regressziók

Gépészeti rendszertechnika (NGB_KV002_1)

Fourier-sorfejtés vizsgálata Négyszögjel sorfejtése, átviteli vizsgálata

YBL - SGYMMAT2012XA Matematika II.

Informatika Rendszerek Alapjai

Kontrol kártyák használata a laboratóriumi gyakorlatban

Átírás:

Beszédfelismerő szoftver adaptálása C# programozási nyelvre Készítette: Sztahó Dávid A szoftver leírása A szoftver által megvalósított funkciók blokkvázlatát az 1. ábra mutatja. A szoftver valós idejű beszédfelismerést végez, amely Rejtett Markov Modelleken alapul. A modellek tanításához szükség van egy hang, valamint szövegadatbázisra (nem része a jelenlegi feladatnak). Az akusztikai előfeldolgozás során a bemenő hangból a feladathoz szükséges paraméterek állnak elő, majd a felismerő motor ezeket felhasználva a legvalószínűbb szósorozatot állítja elő. A feladathoz tartozó akusztikai előfeldolgozást és valós idejű beszédfelismerő motor leírását tartalmazza a következő két fejezet. 1. ábra. A középszótáras folyamatos beszédfelismerő rendszer általános blokksémája

Akusztikai előfeldolgozási eljárás optimalizálása Akusztikai előfeldolgozási eljárásra a beszédfelismerés immár több évtizedes fejlődése alatt számos eljárás született, melyek közül ma az alábbiak a legismertebbek [Bechetti, C., 1999]: szűrősoros elemzés (BFFP), lineáris predikció analízis (LP), perceptuális lineáris predikció (PLP), kepsztrális együtthatók vizsgálata (MFCC), spektrális torzításon alapuló rendszerek (SDM). A mai legsikeresebb felismerők előfeldolgozási rendszere mell-kepsztrum (MFCC) vizsgálatot végez: valamilyen hallásmodell alapján (Mel, Bark) [Zwicker, E., 1980, Vicsi, K., 1990] kiszámított szűrők sorozata szolgáltatja az alapjelet (szűrősoros elemzés): 2 pl.: - Bark szűrő: 10lg L ( x) = 15.8 + 7.5( x + 0.5) 17.5(1 + (0.5x) ), (1) - Mel-szűrő: f Mel(f) = 2595log + 10 1 700 háromszögszűrő, (2) Az információ jobb kinyeréséhez kepsztrális együtthatókat képzünk (MFCC): c i = N 2 πi m j cos ( j 0.5) N j= 1 N (3) A kepsztrális együtthatók információtartalma igen magas, azonban az emberi szem számára nem hordoz jól felismerhető jegyeket. Ennek ellenére (vagy éppen ezért) az MFCC nagy népszerűségnek örvend, az egyik legtöbbet alkalmazott módszer. Ennek okai a következők lehetnek: Kizárólag a Melilletve Bark szűrősorokkal végzett akusztikai előfeldolgozáskor, a szűrősorok kimenetei ugyan hasonlóak a különböző ejtésekben, de egymáshoz viszonyítva el vannak tolódva az egyedek hangjai, a szűrősorral betanított Markov-modellekel a betanítástól teljesen eltérő jeleket is lehet produkálni. Ebből kifolyólag a szűrősorral képzett eredmény vizuálisan ugyan jól meghatározott képet ad (emelkedés, süllyedés, maximumok), de mindenképpen elkenődik az információ. A (3.) képletben közölt módszer csökkenti az elkenés mértékét, mivel különböző frekvenciájú szinuszos rezgések mentén felcsavarja az adatokat. Az információ jobb megőrzése azért válik így lehetségessé, mert ebben a reprezentációban szerepel a vektoradatok egymás közti viszonya. A szoftverben alkalmazott akusztikai előfeldolgozás olyan akusztikai elemzést alkalmaz, melyben az eredeti szűrősoros adatok frekvenciatérbeli és időbeli deriváltjai kapnak szerepet. Ez az eljárás nem

teljesen idegen a szakirodalomban, de ma a gyakorlatban nem használatos. Az frekvenciaderiváláskor keletkező adatkiemelődés bemutatását láthatjuk az 2. ábrán. A felső szürke kitöltéssel stilizált eloszlás az adatok Bark szűrősoron való áteresztésekor keletkezett. Az eloszlást létrehozó alapjelek egy részét zöld színnel kiemeltem. A képen jól látható, hogy a modell a piros függvényhez tartozó alapjeleket is nagyszerűen képes generálni, azaz ilyen jeleket is felismerni vél majd, pedig a betanító minták ettől szignifikánsan különböztek. Az alsó ábrán az eddigi Bark szűrősor frekvenciabeli deriváltjaiból képzett modell alapjel-eloszlása látható. Megfigyelhető, hogy mindenképpen szükséges egy minimális egyezés a derivált kilengésénél. Ezáltal a csúcs nem tűnt el, mint az előbbi esetben, és a modell csak olyan eseteket ismer fel, amikor a vizsgált kritikus helyen valóban van energiamaximum. Továbbá, míg az igen népszerű MFCC számításigénye N 2 -el arányos, az új módszeré csak N-el. Találati százalékos eredmények 20 khz mintavételezési frekvencia mellett 3 és 5 állapotú, fonéma alapú diszkrét Markov-modellekkel az 1. táblázatban találhatók. 2. ábra: Bark szűrősor és Bark szűrősor deriváltjainak eloszlása

1. Táblázat. Felismerési találatok alakulása a frekvenciatérbeli és időbeli deriválás esetén. Találat Bemeneti alapjelek Állapotok száma 44.36% 23 Bark szűrő 3 állapot 46.1% 23 Bark szűrő 5 állapot 46.15% 23 Bark szűrő + 23 Bark időbeni derivált 3 állapot 64.38% 23 Bark frekvenciatérbeli derivált 3 állapot 70.16% 23 Bark frekvenciatérbeli derivált + 23 időbeni derivált 3 állapot 72.32% 23 Bark frekvenciatérbeli derivált + 23 időbeni derivált 5 állapot Minden betanítás a következő közös paraméterekkel futott: 32 kvantálási lépcsős diszkrét valószínűségi tér minden szűrőhöz, modellek közötti állapotátmenetek kiemelése: az átmenetek 3. hatványra emelése, 4*(⅓ ; ⅓ ; ⅓) Blur. A Betanítás Babel magyar nyelvű beszédadatbázissal történt [Vicsi, K., 1998]. Legjobb felismerési eredményt a felismerő a Bark frekvenciatérbeli derivált és 23 időbeni derivált akusztikai paraméterek esetén produkálta. Modellépítési vizsgálatok, kvázi-folytonos rejtett Markov-modellek (QCHMM) A 80-as évek végére nyilvánvalóvá vált, hogy diszkrét (vektorkvantált) Markov-modellekkel a felismerés nem javítható tovább, ezért ki kellett dolgozni a folyamatos valószínűségi mezőkre értelmezett modelleket, azok tanítási módszerét. Az alapelv ugyanaz: a modell paramétereire optimális értékeket találni valamilyen iterációs algoritmus segítségével. A módszer hátránya, hogy - nagybonyolultságú algoritmusok jelennek meg az eddigi négy alapműveletet igénylő algoritmusokkal szemben, - új probléma merül fel: a gaussi változók szórásainak figyelése és esetleges módosítása, - a robusztus matematikai módszer sok időbe kerül lassú programot eredményez. Nyilvánvalóan ez nem probléma amennyiben lehetőség van nagyteljesítményű vektorszámítógépek használatára, de ennek hiányában kifejlesztettek egy kvázi-folytonos rejtett Markov-modelleket

(QCHMM) használó eljárást, mely a fenti két vetélytárs jó tulajdonságait igyekszik ötvözni, nevezetesen a nagyobb pontosságot a kisebb futási idővel. Ezen problémák megoldásához a kvázi-folytonosság a kulcs, mely a következőt jelenti: a meglévő N felbontású diszkrét mezővel nem a tanítóanyag mintáinak eloszlását kell maximális hűséggel visszaadni, hanem azok alapján egy becslést adni a folytonos valószínűségi mezőre. Ehhez egy simítási algoritmusra van szükség, amelyet egyszer vagy többször végigfuttatva az eddig betanított modellen a modell tanítóanyagra való adaptálódását lehet csökkenteni (megszüntetni). A használt algoritmus egy paraméterezhető simítófüggvény (továbbiakban blur), melynek a következőket lehet megszabni: - az élsimító mátrix (1 dimenzió miatt jelen esetben csak vektor) méretét, - a mátrix elemeinek értékét, ahol minden sorban összértékben 1-nek kell lennie (a teljes valószínűségi mező mindig 100%) Megoldandó problémák: - kvantálási lépcsők számának optimális megválasztása, - megfelelő súlyozású simítófüggvény megválasztása, - a tartomány minél jobb eseménytérbeli kihasználtsága. Az optimális kvantálási együttható, valamint az ehhez tartozó simítófüggvény mérési úton számítódik ki. Többféle adatbázisrész felismerési aránya nagyszámú véletlenszerűen választott paraméterezésű felismerő kimenetén össze van vetve, majd a statisztikailag így megismert kétváltozós probléma maximumkereséssel oldódik meg. Végeredményben tehát a laboratóriumban kifejlesztett fonémaszintű felismerő, a továbbiakban MKBF, 16 khz mintavételezésű, 17 Bark frekvenciatérbeli derivált + 17 időbeni derivált + 17 időbeni második derivált + energia bemeneti jelvektor mellett, 4-5 állapotú kvázi-folytonos, 24 lépcsős, rejtett Markov-modellekkel (QCHMM) fonéma, illetve trifon alappal dolgozik. A szoftver adaptálása C# programozási nyelvre A fent bemutatott szoftver Delphi 7.0 programozási nyelven készült Borland Delphi környezetben. Mivel ez a környezet nem rendelkezik a mai modern 64 bites operációs rendszerekre készült változattal (csupán 32 bites változatban érhető el), valamint a programozási környezet modernizálása és újrafelhasználhatósága érdekében szükséges volt a programot adaptálni egy, ma elterjedt

programozási nyelvre. Ehhez a C#-ot választottam. Annak ellenére, hogy ez a nyelv Microsoft függő, és nem platform független, könnyen kezelhető. Valamint a C++ és Java nyelvekkel való hasonlósága lehetővé teszi, hogy bármikor könnyen átírható az előzőek valamelyikébe, amelyek már bármely operációs rendszerre lefordíthatóak. A feladat több részből állt, mind az akusztikai előfeldolgozást, mind pedig a futtató keretprogramot meg kellett valósítani az új környezetben. A Rejtett Markov Modell felismerő motor C#-os átirata rendelkezésre állt, ám annak kódján is módosítani kellett, hogy az új környezetben megfelelően működjön. A megvalósított program modulok: ERApplication. A felismerő motort futtató keretprogram. Elvégzi a hang felvételét a beállított hangbemeneti eszközről. A felvett hanggal meghívja a valós-idejű felismerő motort, majd a kapott eredményt kiírja. A hangfelvételt a Microsoft DirectX DirectSound könyvtárcsomgjával valósítja meg. ERPreprocess. Az akusztikai előfeldolgozást valósítja meg az előző részben lévő leírásnak megfelelően. SIG2TXT. A Rejtett Markov Modelleket megvalósító programrész. Elvégzi a folyamatos felismerést a már betanított modellek alapján. TextGrid2Kez. A felismerőben használt Markov Modellek betanítását végző szoftverhez (külső program, amely a kódhoz nincs mellékelve) szükséges adatbázis címkefájlokat létrehozó modul. A program futtatása A programot a CD-n található bin/erapplication.exe-vel lehet indítani. A felismerés indítása gombbal lehet a felismerést elindítani, majd ugyanezzel a gombbal lehet leállítani is. A kilépés a jobb felső sarokban található X gombbal történik.