Ugrás a tartalomhoz

A magyar nyelv

Kiefer Ferenc, Bakró-Nagy Marianne, Bartha Csilla, Bánréti Zoltán, Borbély Anna, Cser András, Dömötör Adrienne, É. Kiss Katalin, Gerstner Károly, Gósy Mária, Gyuris Beáta, Haader Lea, Hattyár Helga, Holló Dorottya, Horváth László, Kassai Ilona, Kenesei István, Kiefer Ferenc, Kiss Jenő, Kontra Miklós, Korompay Klára, Kurtán Zsuzsa, Laczkó Krisztina, Nádasdy Ádám, Németh T. Enikő, Olaszy Gábor, Pléh Csaba, Prószéky Gábor, Sándor Klára, Sipőcz Katalin, Siptár Péter, Szabó Mária Helga, Tolcsvai Nagy Gábor, Váradi Tamás (2006)

Akadémiai Kiadó Zrt.

A magyar nyelvtechnológia eredményei a beszéd kezelésében

A magyar nyelvtechnológia eredményei a beszéd kezelésében

A nyelvtechnológia eddig bemutatott eredményeit szöveges elemzésekből kaptuk. A számítógépekkel való kommunikáció azonban egyre nagyobb területen alkalmazza az ember számára legtermészetesebb formát, a beszédet. Bizonyos információkat a gép szóban mond el (beszédszintézis), illetve a számítógép megérti az emberi beszédet (beszédfelismerés), és ez alapján végez el mőveleteket (például a jövő ígérete az automatikus hangos gépi tolmács). Ez a terület – a nyelvtechnológiai meghatározást követve – a beszédtechnológia. Itt is kiváló eredményeket mutathat fel a magyar kutatás-fejlesztés. A beszéd mesterséges előállításának kiinduló alapja a szöveg, amit a gép ’felolvas’. A beszéd megértésekor az elhangzó akusztikai jelből kell a gépnek eljutnia a nyelvi formához. A beszédtechnológia alapjainak elsajátításához ajánljuk az érdeklődőknek a „Magyar nyelvi beszédtechnológiai alapismeretek” című multimédiás, interdiszciplináris oktatóanyag (Kovács et al. 2002) tanulmányozását a http://fonetika.nytud.hu honlap oktatási segédletek fejezetében. A fentieken kívül a beszédtechnológia egyik speciális ága a beszélő személy felismerése a beszéde alapján, amelynek mind a tudományos vonatkozásai, mind a közvetlen gyakorlati felhasználása jelentős. A módszertani megoldások az adott céltól függenek (beléptető rendszerek, információkérés, kriminalisztika), a vizsgálatok sokrétű fonetikai, alkalmazott fonetikai és beszédtechnológiai ismeretet igényelnek (Gósy–Nikléczy 1999).

Gépi beszéd-előállítás

Az a folyamat, amelyben a szövegtől eljutunk a felhangzó gépi beszédig számos nyelvtechnológiai megoldást tartalmaz, hogy jó minőségű, a felolvasás céljához idomuló beszéd jöjjön létre. Az itt következő rövid általános bevezetés, problémamegvilágítás után ezeket vesszük sorra.

A gépi szövegfelolvasó rendszereknél – az emberrel ellentétben – általában két fő lépésben hozzák létre a beszédet. Az első a hangzó alap meghatározása a szövegből (szegmentális szint), majd jelfeldolgozási eszközökkel átformálják ezt a nyers beszédjelet és elvégzik a prozódiai megformálást (szupraszegmentális szint), vagyis a hangsúlyok, a hanglejtés, a szünetek és a beszédritmus ráültetését a nyers beszédjelre. A számítógéptől általános felolvasást vár el a felhasználó, tehát azt, hogy a gépi felolvasó rendszer bármilyen szöveget fel tudjon olvasni magyarul. Azt azonban be kell látnunk, hogy a gépi felolvasási technológia mögött másfajta információhalmaz áll, mint ami egy felolvasó ember fejében lehet. Maga az ember is csak olyan szöveget képes igényesen és pontosan felolvasni, amely közel áll saját általános ismeretköréhez. Még az embernek is problémát okozhat a furcsa személy- és cégnevek felolvasása, az esetleges idegen szavak kiejtésének megformálása, szakszavak értelmezése. Az ékezet nélküli betűkkel írt elektronikus dokumentum ellen a címzett tiltakozhat, de értelmezését, elolvasását kis koncentrációval el tudja végezni a szövegkörnyezet értelmezésére támaszkodva. A szövegben rejlő szélesebb információtartalom szintén befolyásolja a felolvasást. Más stratégia szerint olvasunk fel híreket, máshogyan a hirdetéseket vagy telefonszámokat, a könyvismertetések, regények, illetve, szakkönyvek szövegét szintén egyedi felolvasási stílussal interpretáljuk. A pályaudvarokon felhangzó menetrendi tájékoztatás speciális felolvasási stílust kíván meg, a tudakozó számítógépétől elvárt név- és címadatokat szintén más stratégiával kell felolvasni stb. A tartalomtól és a céltól függően tehát a beszélő másképpen szervezi a beszéd dallamának megvalósítását, a hangsúlyozási pontokat, a felolvasás sebességét, a szünetek közbeiktatását, az érzelmi kifejezés szintjét – egyszóval: a beszéd prozódiai szerkezetét. Mindezt így általánosan a gépi felolvasásnál ma még nem lehet megvalósítani. A felolvasó rendszert hozzá kell „igazítani” az adott feladathoz, melynek lényege, hogy a célhoz illő prozódiai „profilt” kell ráültetni a nyers gépi beszédre.

A következőkben a szöveg-előkészítés lehetséges moduljait vesszük sorra a feldolgozás logikai sorrendjében, majd röviden bemutatjuk, hogy hogyan jutunk el az írott szövegtől a géppel megvalósított beszédig.

Szövegtisztítás

A felolvasandó szöveget a felolvasó rendszer elektronikus formában kapja. Az elektronikus dokumentumok nemcsak betűket, számokat, hanem olyan karaktereket is tartalmazhatnak, amelyek nem tartoznak a szöveghez. Ezért meg kell határozni a dokumentum szövegi részét és el kell tőle választani az idegen karaktereket. Gondoljunk például az elektronikus levelekre, amelyekben számos olyan karaktersorozat is található, amelyik nem tartozik a levél szoros tárgyához, tartalmához, inkább csak az elektronikus továbbítás adminisztrálását szolgálja.

Nyelvazonosítás

A gépi felolvasásnak vannak olyan területei, amikor nem ismert a felolvasandó szöveg nyelve. Ilyen alkalmazás például, amikor elektronikus leveleket kell automatikusan felolvasni a postafiók tulajdonosának. El kell dönteni, hogy a levél milyen nyelven íródott, hiszen ha a felolvasó automata bemenetére idegen nyelvű szöveg kerül, akkor érthetetlen hangsorokat fog kiadni magából. Ha a gép olyan szöveget talál, amelyik nem a beszédszintetizátor nyelve, akkor például szóban közölheti, hogy „A levél szövege nem magyar! Felolvassam?” A nyelv azonosítását végezhetjük statisztikai módszerrel vagy szólista segítségével. Mindkettőhöz nagy mennyiségű adott nyelvű szöveget kell feldolgozni. A statisztikai alapúnál különböző méretű szórészek előfordulási valószínuségéből hozzuk meg a döntést, a szólista alapú megközelítés szógyakoriságok összehasonlításán alapul. Ez utóbbi módszeren alapuló rendszert fejlesztettek ki (Németh et al. 2000) a Budapesti Muszaki Egyetem Távközlési és Telematikai Tanszékén (2003-tól Távközlési és Médiainformatikai Tanszék, röviden: TMIT). Ez azt határozza meg, hogy az adott levél szövege magyar, német, illetve angol nyelvű-e. A kialakított rendszer 96%-ban helyesen állapítja meg a dokumentum nyelvét, amennyiben az több mondatból áll.

Ékezetesítés

A számítógépes, illetve mobiltelefonos gyakorlatban – különböző okok miatt – gyakoriak az olyan magyar szövegek, amelyekben az egyébként ékezetes betűket az ékezet nélküli legközelebbi megfelelőjükkel írják (e-levelek, SMS szövegek). Amennyiben ilyen „csonka” szövegeket kell felolvastatni egy beszédszintetizátorral, a felolvasás előtt helyre kell állítani az ékezeteket. Ezt nevezik automatikus ékezetesítésnek. Amennyiben ez nem történik meg, a beszédszintetizátor egyrészről nem a megfelelő hangokat fogja megszólaltatni a hangsor „nem ékezetes” pontjain, másrészről csorbát szenvedhet a prozódiai szerkezet is, mivel a szöveg elemzése során az ékezet nélküli lexikai egységek „megtéveszthetik” az elemzőt és ez rossz prozódiai előrejelzéshez vezethet. A magyarban 5 olyan betűforma van, amelyiket kettő vagy többféle ékezetes formában is lehet írni (például: a, á; o, ó, ö, ő; u, ú, ü, ű). Az ékezetesítési algoritmus kidolgozását a következő problémák nehezítik. Vannak olyan szavak, amelyeknek mind az ékezetes, mind az ékezet nélküli formája értelmes magyar szó, ezért nehéz eldönteni, hogy a szöveg adott pontján melyik a helyes (meg-még; le-lé; fel-fél). A szavak hossza befolyásolja a helyes ékezetesítés valószínűségét. Minél hosszabb egy szó, annál többféle ékezetesített változatot lehet vonatkoztatni a szóra (természetesen ezekből csak néhányra lehet azt mondani, hogy nyelvileg helyes). Például a megbizhatosaga szóban 6 magánhangzóra lehet ékezetet tenni, ami azt jelenti, hogy 128-féle ékezetes variáció képzelhető el. Ebből viszont csak egy a helyes: megbízhatósága. Végül a szavak előfordulási valószínusége is befolyásolja az ékezetesítési számítás eredményét. Az ilyen általános ékezetesítő megoldás csak a magyar köznyelvi szóállományra végez sikeres ékezetesítést, a személy-, illetve cégnevekre például nem használható eredményesen, könnyen téveszthet (a Veres szóból lehet Véres, illetve Verés). Ilyen feladatnál külön kivételszótárakat kell a nevek értelmezésére készíteni.

Magyar nyelvre 1999-ben készítettek automatikus, statisztikai alapú ékezetesítő algoritmust a BME Távközlési és Telemetikai Tanszékén az első magyar elektronikus levélfelolvasóhoz (Németh et al. 2000). A statisztikai elemzéseket mintegy 25 millió szavas szövegállományra végezték el (ezek közül egyik volt az akkori Magyar Nemzeti Szövegtár, lásd a 34.5.2. pontot), melynek eredményeképpen 1 millió elemű, egymástól különböző szavakból álló szövegkorpuszt határoztak meg, ami az ékezetesítés alapját adja. Az ékezetesítő algoritmus figyelembe veszi a jósolt megoldás gyakorisági jellemzőit is. A kifejlesztett ékezetesítő 95%-ban helyesen állapítja meg, hogy a kapott ékezet nélküli szövegben mely betűkre kell ékezetet tenni.

A normál szöveg egyértelműsítése

A gépi beszéd-előállításban a bemenő információt a szöveg hordozza. Az úgynevezett normál magyar szöveg (például újság, könyv stb.) is tartalmaz olyan pontokat, amelyeken nem lehet egyértelműen eldönteni, hogy a beszédszintetizátornak hogyan kell értelmeznie az adott részt. Ezért a szövegfeldolgozás következő lépése a szöveg egyértelműsítése. A beszédszintetizátorok általában mondat szintű szövegrészeket dolgoznak fel, ami azt jelenti, hogy a szövegben meg kell határozni a mondat elejét, végét. Erre a mondatvégi írásjeleket lehet felhasználni. A mondat végén azonban nincs mindig írásjel (a cím után például nincs pont), illetve előfordulhat, hogy nem csak a mondat végén van pont, de a mondat belsejében is (dátum, sorszám, rövidítés stb.). Ezeket az ellentmondásokat fel kell oldani és egyértelműsíteni kell. A szövegekben előfőrduló egyéb jelek közül a gondolatjel és az elválasztójel meghatározása is nehéz. A gondolatjel előtt szünetet kell tartani a kimondásban, az elválasztójelnél pedig a folyamatos hangsorépítést kell megvalósítani. A számok értelmezése és szöveges formává való alakítása is bonyolult nyelvi elemzéssel oldható csak meg (Olaszi 2000). Magyarországon a gépi beszéd-előállítás legkorszerűbb eredményei már tartalmazzák a fenti problémák megoldására szolgáló algoritmusokat (Olaszy et al. 2000).

Végül meg kell említeni a mozaikszavak, továbbá az idegen eredetű, nem magyarul írt szavak kiejtési feldolgozásának problémakörét. Ezekhez úgynevezett kivételszótárakat állítanak össze, ahol felőldják az adott szövegrészt, megadják a helyes (kívánt) kiejtéséhez tartozó beszédhangsorozatot. Egy-egy ilyen szótár az adott alkalmazáshoz is illeszkedhet, tehát készíteni lehet például orvosi, műszaki, kémiai, közlekedési, hírolvasási, közigazgatási stb. tárgyú kivételszótárakat.

Név- és címfelolvasás

Az automatikus beszéd-előállítás egyik legnehezebb problémaköre a név- és címfelolvasás jó minőségű megoldása (például cégbírósági adatok lekérése telefonon, tőzsdei információk beszéddel való megadása, automatikus telefonos tudakozó a szám alapján stb.). Itt több lépcsőben kell a problémát megoldani: az első, hogy meg kell határozni a név (cég, illetve személy) hangzó, kiejtési formáját (amely sok esetben nem egyszerű), ezek után meg kell határozni a kiejtés prozódiai paramétereit (hol legyen hangsúly, szünet, milyen dallamformával kell ’elmondani’ a kért adatot), majd ki kell alakítani az esetleges szótagolási, betűzési formákhoz a szabályokat. A megoldásra nagy mennyiségű valós név- és címadatot kell feldolgozni, statisztikailag osztályozni, csoportokba sorolni, elemezni és kialakítani a megfelelő kiejtési szabályokat, prozódiai formákat. Magyarországon az első komplex név és címfelolvasó 2003-ban készült el a BME-TMIT fejlesztésében (Németh et al. 2003) egy automatikus szám szerinti tudakozó alkalmazáshoz (mintegy 4 millió telefon előfizető adatainak felolvasására). A fejlesztés során végzett tesztek azt mutatták, hogy a nevek, cégnevek gépi felolvasásánál még fokozottabban érvényes a jó érthetőség biztosítása (esetleges túlbiztosítása), mint a normál szöveges felolvasásnál, hiszen ennek hiánya hibás információadást eredményez. Erre fejlesztették ki az úgynevezett „részletező” felolvasási formát (Fék et al. 2004), amely az első magyar beszélő szótagoló automatának is tekinthető. A részletező felolvasást kérő felhasználó szótagolva hallja az adott nevet, továbbá kiegészítő, pontosító információkat is kap a név írásával kapcsolatban. Nézzünk erre néhány példát. A Vörösmarty név utolsó szótagja i-vel ejtendő (ugyanakkor azt is kell közölni a felolvasáskor, hogy ez az [i] hang a névben y-nal írandó. A Németh vezetéknévnél közölni kell, hogy az utolsó szótagban a [t] hang a névben th-val írandó. A Zwack névhez tartozó kiegészítő információ a következő: z-vel, dupla w-vel és ck-val a végén.

Az írott szöveg elemzése alapvető prozódiai struktúrák meghatározására, jelzésére

A gépi beszéd-előállítás egyik kulcskérdése a beszéd dallam-, hangsúlyozási-, ritmikai- és intenzitásszerkezetének (a prozódiának) a helyes megvalósítása. A prozódia legfontosabb elemei a szöveg alapján előre jósolhatók. Ilyenek a mondatdallam, a hangsúlyos/hangsúlytalan szavak, a gondolati egységet alkotó szövegrészek (szintagmák) határai, a beszédsebesség lassulása/gyorsulása, a szünetek helye és hossza, valamint az átlagintenzitás változása. Ebből következik, hogy a szövegekben olyan jelzőket lehet elhelyezni, amelyek jelölik az egyes prozódiai paraméterek megvalósítási helyét és formáját. Az ilyen előrejelzéshez a szöveget morfológiai, szintaktikai és szemantikai elemzésnek kell alávetni. Ez az egyik legbonyolultabb nyelvi technológiai témakör, amelyre komplex megoldás még nem született Magyarországon, inkább statisztikai alapú módszereket használnak (Olaszy et al. 2000). Kutatási szinten már születtek nyelvészeti indíttatású elemzési eredmények (Koutny et al. 2000), azonban ezek még nem olyan hatásosak, mint a statisztikai megoldások. A statisztikai alapú prozódiai előrejelzőt már a gyakorlatban is alkalmazzák a Profivox elnevezéső szövegfelolvasó rendszerben, amely többek között a http://vilaghallo.hu honlapon olvas fel szépirodalmi mőveket (regényeket) az interneten keresztül. A nyelvészeti alapú mondatelemzés kutatása ismét előtérbe került 2005-ben, egy NKFP projekt keretében az MTA Nyelvtudományi Intézetében (Tamm–Olaszy 2005). Az eredmény 2007-ben várható.

A hangzó beszéd megvalósítása

Mint láttuk, a gépi beszéd-előállítás első lépése a szöveg-előkészítés, melynek célja, hogy a beszédszintetizátor bemenetére kerülő szöveg minden eleme olyan betűsorozattal legyen reprezentálva, amely tükrözi a korrekt kiejtési formát. Ez a szöveganyag képezi a további feldolgozás kiindulópontját, amely már erősen támaszkodik fonetikai alapismeretekre (Gósy 2004). A hangzó beszéd megvalósításához a következő négy fő lépést kell elvégezni: szöveg–hang konverzió; a hangsor fizikai megvalósítása (például eltárolt hullámformák összekapcsolásával); az időszerkezeti elemek meghatározása (hangidőtartamok, szünetek); végül a hangsúly- és dallamelemek fizikai ráültetése a nyers hullámformára (a szövegben elhelyezett prozódiai jelzők alapján).

A szöveg–hang konverzió során a betűkhöz rendelünk hangokat. Itt figyelembe kell venni a nyelv kiejtési szabályait is. Ilyenek például a hasonulások (zség, százszor, anyja, szénből) az összeolvadások (kertje, látja), a rövidülések (jobbra = [jobro], otthon = [othon]) a hangbetoldások (fiú = [fiju:]), a hangkivetések (mondta = [monto]). A morfológiai elemzés elengedhetetlen bizonyos hangsorrészek pontos definiálásánál (meggyullad–meggyes, átjáró–látjátok).

A magyar esetében több száz szabály biztosítja a korrekt szöveg–hang konverziót (az angolra például több ezer ilyen szabályt kell meghatározni). Az átalakítási folyamat eredménye, hogy a szövegből kialakul a kiejtendő hangsor hangjainak sorozata. Ebből már összeállítható a ténylegesen megszólaltatható nyers beszédhangsor. A hangsor fizikai megvalósítása általában előre eltárolt (emberi beszédből kivágott) hullámforma-részletek összekapcsolásával történik. Ebben a fázisban is lényeges szerepe van a nyelvtechnológiának annak kiválasztásában, hogy mik legyenek a beszédhangsort felépítő optimális elemek (hangok, hangkapcsolatok, szótagok, szavak vagy esetleg más egységek). Belátható, hogy minél hosszabb elemeket használunk, annál természetesebb hangzás érhető el. Az is belátható, hogy az építoelemek száma annál nagyobb, minél komplexebb az építőelem tartalma. A két ellentmondás között kompromisszumot kell találni. A világ legtöbb beszédszintetizátorában jelenleg a leggyakoribb építőelemek a következők: hangkapcsolatok (két fél hangot (CV, VC, VV, CC) tartalmazó elemek, amelyeket diádnak neveznek), három hangból (CVC) álló elemek, ezek a triádok) és ennél hosszabb elemek, illetve szó szintű építőkockák (például a leggyakoribb szavak). Magyar nyelvű tetszőleges beszédhangsor teljes lefedéséhez diádos elemekből 1600–2000 elemet, triádosból 6–7000 elemet kell felhasználni (Olaszy 1999). Az optimális magyar beszédszintézishez tehát közel 10000 hullámforma-elemet kell tárolni.

A folyamat következő lépcsője az összeállított hangfolyam időszerkezetének a meghatározása. Ez nem triviális feladat, hiszen kutatások bizonyítják, hogy a beszédben a hangidőtartamok sok paramétertől függnek (a hangtól, a környező hangoktól, a hang helyzetétől a szóban, a szó hangszerkezetétől, a szó hosszától, a szó helyzetétől a mondatban, a mondat hosszától stb.). Ezért ugyanannak a hangnak az időtartama széles skálán mozoghat (akár lehet 40 ms, de lehet például 130 ms is). Ebből a skálából kell a legmegfelelőbb értéket kiválasztani az adott helyzethez. A beszédszintézisben az a cél, hogy előre jósolni tudjuk a hangsor minden hangjának az optimális időtartamát. Az ilyen jóslási feladatokat modellezéssel a legcélszerűbb megoldani. Az időmodell lehet fonetikai alapú, illetve statisztikai. Az előbbinél a hangképzési folyamat mozzanatait veszik figyelembe (Olaszy 2002a), az utóbbinál tanuló algoritmust hoznak létre, amelyik az élőbeszédből kivonatolja a hangidőtartamokra vonatkozó adatokat és ebből jósolja meg a várható időtartamot. Mindkét módszerhez nagyméretű vizsgálati, illetve tanító adatbázisokra van szükség. A beszéd időszerkezetével kapcsolatos modellkutatások egyik legújabb magyar eredménye az a nagyméretű szóadatbázis (1,5 millió szó), amelyet 2004-ben tett közkinccsé az MTA Nyelvtudományi Intézete a http://foneti-ka.nytud.hu honlapon (Olaszy 2002b, Olaszy–Abari 2005). Az adatbázisból előhívott szóhoz megkapjuk a szóban szereplő hangok időtartamait is, vagyis a szó hangidőtartam-térképét.

A hangsúly- és dallamelemek megvalósítása a szintézis utolsó lépése. Ilyenkor a hangsornak már korrekt hangjai, hangkapcsolatai vannak, a hangidőtartamok is megfelelnek a köznapi ejtésnek, és figyelembe vannak véve a prozódiai előrejelzőtől kapott helyeken a hangnyújtások, hangrövidítések is. Ezen a hangsoron végezzük el az utolsó simítást, a beszéd „hangszerelését”. A prozódia megvalósításához is modellt kell készíteni, amelyikkel adat szinten generálhatók a hangsúlyozásra, a mondatdallamra és a mondat energiaviszonyaira jellemző tényleges fizikai alapfrekvencia- és intenzitás-értékek a mondat teljes hosszában. A modellből kapott adatok fizikai megvalósításához fejlett jelfeldolgozási algoritmusok állnak rendelkezésre (Gordos–Takács 1983), amelyekkel például ráültethető a hangsorra a kívánt dallammenet. A magyar beszéd fonológiai szintű hangsúlyozási és dallami modellezéséről ad számot Varga (2002) összegző munkája, a szintézishez Olaszy (2002a) készített modellt a leggyakoribb prozódiai formákra.

Gépi beszédfelismerés

A gépi beszédfelismerés többcélú lehet: az elhangzott hangsor megfejtése, gépi lejegyzése (kötetlen felismerés), az elhangzott hangsor alapján történő kiválasztás előre meghatározott elemhalmazból (parancsszavas vezérlés, továbbá adott kulcsszó felismerése a hangsoron belül), a beszélő személy felismerése (beszélőazonosítás), a beszélő személy kiválasztása adott csoportból (beszélőkiválasztás). A gépi beszédfelismerés az elmúlt években jelentős fejlődésen ment keresztül. Mára például a maroktelefonok többségében egyszerű, néhány szó felismerésére alkalmas beszédfelismerő is működik. Igaz, ezek a beszédfelismerők még nem alkalmaznak fejlett nyelvi technológiákat, minden esetben egyszerű minta-összehasonlítást végeznek (a felhasználónak gondosan be kell tanítania a készüléket, be kell mondania minden későbbiekben felismerendő szót). Az igazi áttörés az általánosabban használható gépi beszédfelismerő rendszerek területén valósult meg az utóbbi évek hathatós kutatásának eredményeképpen. A telefonvonalon keresztül bárki által használható úgynevezett nyílt szótáras, beszélő-független, parancsszavas felismerés ma már gyakorlati alkalmazásokban is megjelent (például beszéddel vezérelhető telefonközpont, amelynél a keresett személy nevét kell bemondani, és a központ kapcsolja a melléket.). Sőt, egyes speciális alkalmazásokban, kötött témakörre már a folyamatosan diktált beszéd lejegyzése is jó hatásfokkal megvalósult (röntgenleletező, ami diktálásra lejegyzi a mondott szöveget), igaz, személyfüggő korlátozással. Mindezen új beszédfelismerési technológiák a különböző nyelvészeti ismeretek és eljárások, valamint a statisztikai módszerek intenzív kombinálásával jöttek létre. Ilyen, nyelvi technológián alapuló új vívmány például a nyílt szótáras bővíthetőség, vagyis az, hogy a gépi beszédfelismerő szótára egyszerű szövegbevitellel bővíthető (nem kell hanggal tanítani). Ezt egyrészt az teszi lehetővé, hogy a korszerű rendszerekben a beszédfelismerés beszédhang alapú (nem a teljes bemondott mintát hasonlítják össze), másrészt az, hogy a magyar nyelvre is elkészült a kiejtési szabályok alapján működő automatikus fonetikus átíró program (Mihajlik et al. 2002). Eszerint minden egyes beszédhangnak van egy vagy több modellje a rendszerben tárolva, ezek sok esetben figyelembe veszik a különböző koartikulációs folyamatok hatását is. Az új szó bevitelénél elő kell állítani a szó fonetikus átiratát, és ez képzi le a szót beszédhangok sorozatává, amit a felismerő tárolt beszédhang-modellek segítségével felismer.

A beszélő-független nyílt szótáras felismerés alapvetően két lépésből áll. A beszédfelismerő rendszer tartalmaz egy előfeldolgozónak is nevezhető jelfeldolgozó egységet, mely a folyamatos beszédjelből a gép számára értelmezhető adatsorokat (vektorokat) állít elő. A következő modul a mintaillesztő, mely a jellemző vektorokat összeveti a tárolt mintákkal, beszédhang-modellekkel. A modellek elkészítéséhez sok embertől vett hangminta-adatbázisokat hoznak létre, az egyéni hangadatokból készítik el a nyelvre általánosan jellemző hangmodellt minden hangra (esetleg hangkapcsolatra). Magyarországon az első ilyen általánosan használható rendszert a BME TMIT-n dolgozták ki az AITIA Rt-vel közös kutatásban hanggal vezérelhető telefonközpontok kialakítására (Fegyó et al. 2003a). Ez a rendszer ezres nagyságrendű szótárral képes dolgozni. Legtipikusabb alkalmazása, hogy a keresett személy nevének bemondására kapcsolja a melléket. A gépi beszédfelismerés kutatása három lényeges ponton használja a nyelvtechnológiai eredményeket. Az egyik a tanító beszédadatbázisok tervezése és készítése, a másik a felismerési algoritmusokba beépített fonetikai ismeretek kombinálása jelfeldolgozási technikákkal, a harmadik a felismerési eredmény optimalizálása nyelvi elemzéssel, korpusznyelvészeti módszerekkel. Ez utóbbinak a jövőben lesz nagyobb jelentősége, amikor a folyamatos beszédfelismerési kutatások eredményeképpen már működő mintarendszerek is lesznek.

Adatbázisok tervezése beszédfelismeréshez

A mai, a gyakorlatban megvalósuló sikeres beszélő és beszédfelismerő rendszerek statisztikai alapokon működnek. Egy pontos statisztikai alapú paraméter-becslési lépés végrehajtásához (betanítási lépés) nagyszámú minta alapján történő betanítás szükséges. A beszéd természetére jellemző a fizikai paraméterek nagymértékű variáltsága beszélők között, egy beszélőn belül, továbbá az akusztikai környezet függvényében is (környezeti zajok, hanghatások). A beszédadatbázisok feladata az, hogy mintáikkal ezt a nagyfokú változatosságot minél jobban lefedjék. Mivelhogy a beszédfelismerők statisztikai alapon működnek, az adatbázisoknak tartalmazni kell azokat a megfigyeléseket, amelyek a paraméterbecsléshez szükségesek, tehát mindazokat a mintákat, amelyek egységesen lefedik a beszéd (és a környezeti zajok) variáltságát. A beszédadatbázisokban a beszédjelen kívül a rögzített nyelvi tartalom, annak komplexsége, illetve célzott szerkezete hordozza a fontos információt. Az adatbázisban való szegmentálás és címkézés szerves része a nem beszéd eredetű részek lejegyzése is. A hangokra való címkézés bonyolult feladat, általában manuálisan végzik. A címkéző szakember munkáját speciális szoftverek segíthetik, amelyek fonetikai jellegű szabályokat is felhasználnak. Ma már léteznek olyan laboratóriumi szoftverek, amelyek a nyelvi folyamatok mélyebb elemzése alapján végeznek gépi szegmentálást, esetenként a kézi szegmentálással egyenértékű kimenetet szolgáltatva. Az adatbázis lényeges paramétere a közvetítő átviteli csatorna hatása (mobil, vezetékes telefon, Internet) a beszédre. Ezért más-más adatbázisokat kell készíteni a felhasználás céljától függően.

Az utóbbi évtizedben Magyarországon is komoly kutatási eredmények születtek az ilyen speciális beszédadatbázisok tervezése, fejlesztése és használata területén. Az adatbázisok készítésének nemzetközi egységesítése keretében két adatbázisba is bekerült a magyar nyelv. Ilyenek a Babel (Vicsi–Víg 1998) nevű, olvasott szövegű, tiszta beszéd (stúdióban készült) adatbázis, melyet kifejezetten kutatási céllal hoztak létre. Ebben az adatbázisban például a magyar hangkapcsolatok 97%-ára van minta. A Speechdat vezetékes telefonbeszéd-adatbázis magyar változata (Vicsi 2001), valamint annak mobiltelefonos változata (Vicsi et al. 2002) kifejezetten izolált szavakat és szókapcsolatokat tartalmaz, valamint dialógusszövegek leglényegesebb elemeit.

Diktáló rendszer készítéséhez fejlesztik az irodai környezetben rögzített beszédadatbázist (Vicsi et al. 2004), melynek szövegkészlete a magyar nyelv hangzókapcsolatainak statisztikai feldolgozásán alapszik (főleg az MTA Nyelvtudományi Intézet 20. századi magyar próza szövegadatbázisából). Ez utóbbi például 332 beszélő hangját tartalmazza, minden beszélő 12-12 mondatot és 12-12 szót mondott be.

Fonetikai ismeretek a beszédfelismerésben

A hangmodellek kialakításához jó segítséget ad a nyelvspecifikus fonetikai tudás. A beszédhangok akusztikai szerkezetéről, a hangsorba rendeződés szabályairól, az egymásra hatásokról szerzett ismeretek a beszédfelismerési modellalkotásban is igen jól kamatoztathatók. A BME-TMIT-n végzett kutatások kimutatták, hogy a fenti ismeretek alapján kialakított (fonetikus értelemben) környezetfüggő beszéd-hangmodellek alkalmazásával a felismerési hiba a harmadára csökkenthető (Fegyó et al. 2003b). Ez a kutatási eredmény tette a gyakorlatban is használhatóvá a személyfüggetlen nagyszótáras beszédfelismerést.

Szövegértelmezési technikák

A jövő beszédfelismerője folyamatos beszédet fog feldolgozni. Ezen a ponton léphet majd be szintén a nyelvi technológia az olyan döntések meghozatalában, amelyeket az akusztikai jelből nehéz kinyerni (például eldönteni, hogy n vagy m hang van-e a hangsorban). A beszédfelismerési folyamat belső állapotaiban a felismerő beszédhang-sorozati variánsokat ad meg. Automatikus szövegértelmezéssel jósolni lehet, hogy a felismert hangsor értelmes-e, illetve, hogy melyik ponton lehet hibás a felismerés.