Tartalmi kivonat
Intelligens Rendszerek II. Összefoglaló (10-13ea) Fábián Zoltán 1. Fuzzy Logika Matematikai logika • Kijelentés-kalkulus: tárgya azoknak a következtetési sémáknak az elemzése, melyek változói helyébe kifejezéseket téve helyes következtetésre jutunk. • Predikátum kalkulus: olyan formális nyelv, melyet különböző tények ábrázolására használunk. Fuzzy logika • Jelentése: zűrös, zavaros, életlen, • A matematika, a számítástudomány és a villamosmérnöki tudományok határán helyezkedik el. • Lotfi Zadek (1965 Berkeley) • Alapfeltevések: A rendszerek működését és vezérlését meghatározó törvények nyelvi eszközökkel (szavakkal) leírhatók! Alapja a fuzzy halmazelmélet. Hol célszerű Fuzzy logikát alkalmazni? • Komplex rendszerekben, ahol nehéz megfelelő rendszermodellt kialakítani. • Olyan rendszerekben, melyeket hagyományosan emberi szakértő irányít.
• Közepesen vagy erősen összetett rendszerekben melyek folyamatos, vagy közel folyamatos bemenetek kel és nemlineáris válaszfüggvénnyel jellemezhetők. • Olyan rendszerekben, ahol emberek adják a bemeneteket vagy a bemenő szabályokat. • Amikor a rendszer gyakori velejárója a pontatlanság, hiányosság, elvontság. A Fuzzy logika alkalmazásának általános menete • A bemeneti és kimeneti változók, valamint a tagsági függvények meghatározása. • A Fuzzy szabályok létrehozása. • A következtető mechanizmus létrehozása. • Szimulátor segítségével a rendszer működésének ellenőrzése, hangolása. A Fuzzy logika alkalmazásának jellemzői és ígéretei • Következetes és szilárd alapot biztosít a pontatlan és bizonytalan információfeldolgozásához. • Interfészt biztosít az emberek által használatos nyelvi változók és számítógépek által használtmennyiségi változók közt. • Hidat képez a mesterséges
intelligencia szimbólum feldolgozó megközelítése és aneurális hálózatok között. • A hagyományos modellekkel szemben jelentősen egyszerűbb rendszerleírást tesz lehetővé. Megjegyzések • A tapasztalati tudás nem írható le, nem vonhatók le belőle következtetések • Formalizált tudás: a világot formulák segítségével írjuk le, amelyekből szerencsés esetben következtetéseket tudunk levonni; azonban a világ nem ennyire egyértelmű • Halmazok metszeteivel próbáljuk leírni a világot: valami kicsit ilyen, de kicsit olyan is • A nehezen besorolható dolgok ilyen fuzzy halmazokban kerülnek, a halmazok között nincs erős határvonal: pl.: • az elem 70%-ban eleme egy halmaznak • ennek a halmaznak jobban eleme az egyik dolog, mint a másik • A fuzzy logika szavakkal jól leírható, ezt kellene valahogyan rögzíteni • A szabályzórendszer lineáris részekre van bontva, mert csak ezt tekintjük biztosnak Helyezze el a formalizált
tudás dimenziójában a neurális elvű és a Fuzzy logikára épülő modelleket! A tudás dimenziója: Nem formális tudás: Formális tudás: tapasztalati tudás ⇑ ⇑ Fuzzy logikát tartalmazó tudás Határozott szabályú, meghatározható tudás A neurális elvű modell a tapasztalati tudáshoz tarozik. Mi a Fuzzy logika lényege és alkalmazásának alapfeltevése? A matematika, a számítástudomány és a villamosmérnöki tudományok határán helyezkedik el. A rendszerek működését és vezérlését meghatározó törvények nyelvi eszközökkel (szavakkal) leírhatók. Alapja a Fuzzy halmazelmélet Átmenet van az igaz és a hamis között Bevezeti a részleges igazságtartalmat ⇒ az emberi tudás megjeleníthető a technikában. Szinte mindenre ki lehet terjeszteni. Melyek a Fuzzy logika alkalmazásának jellemzői és ígéretei? • Következetes és szilárd alapot ad a pontatlan és bizonytalan inf. feld-hoz • Interfészt biztosít az emberek által
kedvelt nyelvi változók és a számítógépek mennyiségi változói között. • Hidat képezhet az MI szimbólum feldolgozó megközelítése és a neurális hálózatok között. • A hagyományos modellekkel szemben jelentősen egyszerűbb rendszer leírást tesz lehetővé. • Mikor célszerű Fuzzy logikát használni? • Komplex rendszerekben, ahol nehéz, vagy lehetetlen megfelelő rendszer-modellt kialakítani. • Olyan rendszerekben, melyeket szokásosan emberi szakértő irányít. • Közepesen, vagy erősen összetett rendszerekben melyeket folyamatos, vagy közel folyamatos bemenetekkel és nemlineáris kimeneti válaszfüggvénnyel jellemezhető. • Olyan rendszerekben, ahol emberek adják a bemeneteket vagy bemenő szabályokat. • Amikor a pontatlanság, homályosság a rendszer gyakori velejárója. Hogyan értelmezzük az alapvető logikai függvényeket a FUZZY logikában? Mi a Fuzzy logikát alkalmazó szabályalapú rendszer blokkvázlata? input
Konkr.->Fuzzy transzformáció Fuzzy következtető rendszer Fuzzy->Konkr. transzformáció Bemeneti tagsági fg. Fuzzy szabály adatbázis Kimeneti tagsági fg. input Konkr.->Fuzzy transzformáció output Fuzzy következtető rendszer Mi a Fuzzy logika alkalmazásának a menete? • A bemeneti és kimeneti változók és tagsági függvényeinek meghatározása. • A Fuzzy szabályok létrehozása. • Következtető mechanizmus kiválasztása. • Szimulátor segítségével a rendszermodell működésének ellenőrzése, hangolása. 2. Nyelvtechnológia A világon legtöbb ember által beszélt nyelvek csökkenő sorrendben: kínai, angol, hindi, spanyol Az Internetes szolgáltatók száma szerint az országok nyelvi eloszlása csökkenő sorrendben: angol, japán, német, francia A webet használók nyelve főként az angol (36%), majd a kínai (11%) következik. Az Internetet használók aránya a legdinamikusabban Kínában és Japánban figyelhető meg. A
weben lévő szövegek nyelvei (kb. 120mrd szó): 77mrd angol, 7mrd német, 0,5mrd magyar Következmények: • Az internetes tartalom kétharmada angol • Az internethasználók kétharmadának az anyanyelve nem angol • Aki a webet olvassa, az növekvő számban nem angol anyanyelvű • Aki a webes tartalmat közzéteszi, azok közt csökken az angol anyanyelvűek száma • Így rengeteg nyelvtani hibás szöveg terjeng (a magyarra is igaz! Sajnos) A nyelvtechnológia legfontosabb alkalmazási területei a szöveggel kapcsolatban: • előállítás (fogalmazás) • fordítás (az információ átültetése más nyelvű szövegbe) • megértés (az információ feldolgozása) • keresés (lehetőleg a tartalom figyelembe vételével) Szimbolikus módszerek • Tokenizálás, szegmentálás • Lexikális elemzés • Morfológiai elemzés és egyértelműsítés • Mondatelemzés (sekély, szerkezeti) • Szemantika • Szövegkezelés • Generálás Szimbolikus
alkalmazások • Fogalmazástámogatás • Keresés (szövegben, adatbázisban) • Intelligens szótárak • Szabály-alapú gépi fordítás • Információkivonatolás, összegzés • Jelentéskészítés, multimédia-generálás (grafikonok) • Tudásreprezentáció Megjegyzések az előadásjegyzet alapján: • A programok helyesírás-ellenőrzője formálja helyesírásunkat (A Word kijavította az évszám utána álló hónap kezdőbetűjét nagyra, mert azt hitte, hogy mondat vége van; ezt sokan átvették tőle) • Ha szövegben keresünk, fontos tudnunk, hogy az eredmény mennyire precíz, és, hogy mennyire fedi le a valóságot (mennyit kellett volna találni) • Mivel keresésnél sok zaj is bejön a képbe (nem abban az értelemben használja a megtalált szövegben az illető a szót, mint mi szeretnénk) sokszor a lényeget képtelenek vagyunk kihámozni a rengeteg találatból • Kereséskor fontos, hogy észre tudja venni a kereső a legkisebb egységet,
annak érdekében, hogy ne adjon túl sok felesleges találatot (pl. Magyar Tudományos Akadémia) • Az emberi információfeldolgozás sokszor téved, de néha lényegesen jobb, mint a gépi intelligencia • Példa arra, hogy az intelligencia lehet hátrány is: villa-nyírógép, villany-írógép, rádiósláger, rádiós láger. Ezek a szavak mindkét formájukban értelmeseknek tűnnek a gép számára, azonban az ember tudja, hogy ilyen szavak nincsenek • Ennek kiküszöbölésére ezeket a szavakat kivesszük a szótárból • Lehetnek más zavaró szavak is, pl. a kőr –t kivesszük, hiába értelmes szó 1) Melyek a nyelvtechnológia területei, megoldandó feladatai és jellemzői? Beszédszintetizátorok Osztályzásuk: Kódolás alapján: hullámforma/forrás Terjedelem alapján: kötött/kötetlen szótáras (text to speech) Kötött: Szótárelemek száma: 50-500 Értelmes szófüzérek száma: 1000-10000 Érthetőség: szóelemnél 95-100%, füzérnél 70-90%
Eszközigény: 8-16bites mikrogép, gyors aritmetika. Tárigény elemszámtól függően 8-10 kbyte-tól 64 kbyte-ig. Kötetlen: Érthetőség: 70-95% Természetesség: 50% Eszközigény: 8bites AD, 8 bites mikrogép, gyors aritmetika, 16-64 kbyte tár. 3. Karakterfelismerés A szkennelésről általában • Tipikusan A4-es oldalakat kell felismerni, amelyek a legjobb minőséget ebből a szempontból 300-400 dpi körül adják (fekete-fehér) • Ennél nagyobb felbontásban nem érdemes OCR-rel dolgozni, mert így megfelelően kijönnek a részletek (1mm / 10 pixel), s a hibák sincsenek nagyon kinagyítva • Így, ha 1 byte-ban 8 pixel van, egy A4-es kép kb. 1MB Érdemes a képet ilyen tömören tárolni, még ha nehezebben is lehet hozzáférni az egyes pixelekhez • A ScanSoft OmniPage (a Recognita utódja) B&W képpel dolgozik, amelyet egy előfeldolgozó szolgáltat az engine-nek. Több motor is dolgozik a háttérben, az eredmény pedig szavazásos módszerrel
generálódik Az OCR fő feladatai (Optical Character Recognition): • Szegmentálás: megállapítjuk, hogy mely pixelcsoportok alkotnak egy betűt; ennek a megvalósítása a legbonyolultabb (a közeli karakterek összeérhetnek) • Tulajdonságokat kell számolni, amely szerint az osztályozás végbemehet • A betűk többsége azért önálló • Elsődleges szegmentálás: a kapcsolódó komponensek általában a teljes betűt leírják, ezért a kontúr-követő algoritmust alkalmazzuk 1) Találni kell egy pixelt, amely a vizsgált csoportba tartozik. Ez egy fekete-fehér átmenetet lesz, mert ilyenek a kontúrvonalak. Eldöntjük, hogy balról jobbra vagy fordítva vizsgálódunk 2) A megtalált élet kell követni a betű vonalán, amíg vissza nem érünk a kiindulópontba • Az értelmezett koordináta-rendszerben • A (0,0) pont a bal felső pixel bal felső pontjában van (egyszerűbb így) • Ez lényegében a pixelek közti rácsot jelenti – az éleken
haladhatunk Contour-Tracing Algoritmusok • Max-szabály If black (a) then turn (ccw) Else if black (b) then forward Else turn (cw) Addig járunk körbe, amíg a kiindulópontba nem érkezünk. Egy pixelnek 8 szomszédja van; a max-szabály 8-es szomszédságot valósít meg Ha a szkennelés halvány, ez az algoritmus jobb (a Recognitában ez van) • Min-szabály If white (b) then turn (cw) Else if white (a) then forward Else turn (ccw) Ez az algoritmus a másik negáltja, 4-es szomszédságot valósít meg A Contour-Map • A bejárás során adatgyűjtésre van szükség: meg kell jegyezni, hogy mely B&W átmeneteket vizsgáltuk már meg • Erre a legjobb módszer, hogy egy ugyanakkora fehér bit-térképet rendelünk a képünkhöz, mint ő maga. Erre feljegyezhetjük, amerre már jártunk (contour-map) • A térképre elég azokat feltüntetni, amikor felfelé jártunk. Balról jobbra keressük az átmeneteket – ez a CPU gyorsítótárának
szempontjából hatékonyabb • A cél egy új átmenet megtalálása: olyan lesz új, amelynél nincs olyan pont, ahol már jártunk (régi karakter) • Az alakzat felső sorának bal oldali pixelét találja meg • A körbejárás során információkat lehet gyűjteni a jobb feldolgozás érdekében: például a befoglaló téglalap területét számoljuk ki; hányszor mentünk jobbra / balra. • Eredőben 4-et kapunk balra/jobbra haladás vonatkozásában, hiszen ugyanoda érkezünk vissza, ahonnan kiindultunk (4x90fok) • Ha „lyukat” talál egy karakter belsejében, azt is körbejárja (de fordítva). Így megkapható még az alakzat területe is, mert a lyuk területe negatív előjellel adódik. Lényegkiemelés (feature extraction) A lényegkiemelés alapproblémája, hogy két egymásnak ellentmondó feltételt kell egyidejűleg kielégítenie. Ekkor szét kell választania a különböző betűket, és egy osztályba kell sorolnia az azonosakat. (Szétválasztás
– Azonosítás) • Matrix matching (mátrixok egyezése) A pixelek helyei alapján soroljuk az egyes karaktereket osztályokba, pl. a lyukak száma, a jobb profil maximuma Egy jó feature például, ha egy rácsot húzunk a karaktereinkre, s megnézzük, hogy az egyes négyzetek mennyire vannak kitöltve. Az osztályozás ilyen százalékos arányok alapján történik Előnye, hogy hibatűrő és egyszerű a megvalósítása Hátránya, hogy már elavult, sokkal jobb eredményt adó módszerek is vannak • Feature matching (tulajdonságok egyezése) A karakterekről n-féle adatot kiszámolva egy n dimenziós feature-térben kapunk egy vektort, ami a karakterünket jelképezi • Normalizálás Mivel az osztályozást kis- és nagybetűktől függetlenül szeretnénk megvalósítani, a méretfügő feature-öket normalizáljuk Például, ha a feature-öket érzékennyé akarjuk tenni a vonalvastagságra, vagy olyan feature-ünk van, amely csak néhány
betűre működik nagyon jól, további feature hozzá vételével finomíthatjuk az osztályozásunkat • Lényegkiemelés a Recognitában A kontúranalízis során nyert feature-ök: o Élkód: a konkáv és a konvex ívek száma o Ívenként: az ív középponti koordinátái, az ív fő iránya és a fő irányváltások száma • Momentumok Matematikai modellek alapján kiszámolunk bizonyos adatokat, például a az alakzat súlypontjának helyét F (x,y): képfüggvény, a pixelhez értéket rendelünk • Vetületek Azt adhatjuk meg, hogy az adott sorban / oszlopban hány pixel van Meghatározhatjuk az alakzat csontvázát (skeletonization) Élkódot is számolhatunk Figyelhetjük az öblösséget (a belső pontok száma) Osztályozás (classification) • Szükségünk van egy RCE (Restricted Coulomb Energy) hálózatra, amit be kell tanítanunk • A tanításhoz tanító-halmazokra van szükségünk, ilyen pl. az NLS (Nestor Learning System)
• Például, ha egy tanítóminta segítségével karaktereket mutatunk meg egy függvénynek, amely leképezi azt egy adott koordináta-rendszerbe, két dimenzió esetén a következő történik: köröket kívánunk elhelyezni, amelyek belseje a karakter területén belül helyezkedik el. Előfordulhat, hogy két különböző karakter leképezett körének van közös része: ekkor el kell döntenünk, hogy melyik karakter meddig tart. A körök átmérőjét csökkentjük, egy minimális sugárig, amely egyben a megállási feltétel is. • Lehetnek minták, amelyek a csökkentés miatt kiestek. Ekkor újra végig kell menni a mintán, mindaddig, amíg lehet sugárt csökkenteni. Egy ilyen algoritmus képes kijelezni, ha nem biztos a dolgában (jóság). A futások száma a feature-vektorok jóságától függ, ideális esetben 4-5 futás. Kiegészítés – Olvasni Lehet, hogy a lapot véletlenül fejjel lefelé tettük be a lapolvasóba. Ezt egy speciális, a szövegsorokat
alkotó képfoltokat elemzõ program felismeri, és a képet 180 fokkal elforgatja (rotáció). Amíg ez az automatizmus nem volt, a portré-tájkép-választást is „kézzel” kellett megoldani. Ugyancsak elõfordulhat, hogy a lap nem pontosan pozicionálva kerül az olvasóba, ilyenkor úgynevezett ferdeségkorrekcióra (deskew) van szükség. Mindkét eset különösen gyakori lehet a vak felhasználóknál, akik számára az OCR az egyetlen lehetõség ahhoz, hogy mindennapi nyomtatott (nem Braille) dokumentumokat külsõ segítség nélkül olvashassanak. A most már megfelelõen pozicionált képrõl ezután el kell távolítani az oda nem illõ, például szennyezõdések okozta foltokat, pöttyöket. E feladat különösen kritikus, ha arra gondolunk, hogy az ékezeteket, jeleket kifejezetten káros lenne eltávolítandó objektumoknak tekinteni. A következõ lépés az egyes képrészek, vagyis a lapszerkezet azonosítása. Meg kell határozni, mi szöveg és mi nem
szöveg (kép, fotó, grafika). Következik annak meghatározása, hogy a felismerõmotor (OCR engine) milyen sorrendben fogja az egyes szövegrészeket, mondjuk, egy szövegszerkesztõnek átadni (gondoljunk itt például a többhasábos lapszerkezetre). A karakterfelismerés néhány buktatója Az OCR-folyamat elsõ lépése a szegmentálás, amely nem más, mint az egyes karaktereket alkotó képpontok csoportosítása, összerendelése. Elsõ ránézésre a feladat egyszerûnek tûnik, vagyis az egymással közvetlen kapcsolatban lévõ képpontok alkotnak egy karaktert. De gondoljunk a több különálló rész alkotta elemekre, mint a kettõspont vagy a felkiáltójel, nem beszélve az ékezetes karakterekrõl. A gondot csak fokozza, ha a beszkennelt kép túl világos A karakterek vonala ilyenkor elvékonyodik és a karakterek széttöredeznek (2. ábra) Ellenkezõ esetben, ha a kép sötét vagy „kövér”, fonttal állunk szemben, az egyes karakterek összeérhetnek (3.
ábra) A legrosszabb a kettõ kombinációja. A 4 ábrán látható képet olvashatjuk 3000-nek vagy akár 3(XX)-nek is. 2. ábra Több részre tört karakterek 3 ábra Egymáshoz érõ karakterek A következõ lépés a feature extraction(jellemzõk kigyûjtése): numerikus értékek sorozatát (tulajdonságvektor) rendeljük a karakter alakjához. A legegyszerûbb eset, amikor egyesek és nullák kétdimenziós elrendezésével képezzük le a karakter képpontok geometriai elhelyezkedését. Ez, amit kezdetben az OCR pionírok is használtak, a matrix matching(mintaillesztés) algoritmus. Noha egyes esetekben ma is nagyon hasznos lehet ez a megközelítés, a ma használt algoritmusok méret- és fontfüggetlen tulajdonságokat kezelnek: például a görbületek, hurkok száma, jellemzõ pontok helyzete, valamint más topológiai és statisztikai jellemzõk. Az ideális tulajdonságvektornak két, egymással konfliktushelyzetben álló követelményt kell teljesítenie. Tudnia
kell megkülönböztetni egymástól a hasonló alakú karaktereket (például 5 és S, C és G), miközben rugalmasan kell tudnia kezelni az azonos karakterek különbözõ variációit (például különbözõ fontoknál). Végül is ezeket a követelményeket nem lehet mindig maradéktalanul teljesíteni. Vannak karakterek, amelyek csak néhány képpontban különböznek egymástól (mint a t, az f, lásd az 5. ábrán) Az ilyenfajta eseteknél karakterspecifikus szabályokat kell alkalmazni. A szegmentálási problémák, valamint a hasonlóságokból adódó gondok a tipikus forrásai az OCR-hibáknak. 4. ábra Tört és egymáshoz érõ karak- 5 ábra Karakterek néhány pixel terek kombinációja, ez a legrosszabb különbséggel Varázsszerek Annak érdekében, hogy csökkentsük a széttöredezett, illetve egymással összeérõ karakterek okozta gondot, beavatkozhatunk – már az elején – a képalkotási folyamatba, meghatározva, hogy egy szürke skálás képen
hol legyen az a vágási szint, amely végül is eldönti, hogy egy szürke képpontot a továbbiakban fehérnek vagy feketének fogunk-e tekinteni, vagyis alkotó eleme lesz-e egy karakternek vagy sem. A vágási szintet állíthatjuk manuálisan (vakok számára azonban ez nem lehet megoldás), de sokkal jobb eredményt érhetünk el azzal a kifinomult technikával, amely figyelembe véve az egyes képrészletek különbözõ megvilágítását, egyetlen oldalon belül is képes más-más vágási szinteket meghatározni a legjobb eredmény elérése érdekében. Ez a kifinomult technika sem segít azonban olyan esetekben, ahol már az eredeti dokumentumon például festék van egy helyen, amikor keskeny hézagnak kellene lennie. A többszörösen másolt dokumentumokon vagy faxokon található leggyakrabban ilyen folt. Azzal, hogy egy szürkeskálás képbõl bizonyos megfontolásokkal fekete-fehér képet csinálunk, egy csomó, a képben lévõ információt eldobunk. A kínai
Tsinghua Egyetemen kísérleteket végeznek a vágás nélküli feldolgozásra, amikor is közvetlenül a szürkeskálás kép alapján lehet meghatározni a karakterek legvalószínûbb alakját. Noha egyfolytában karakterfelismerésrõl beszélünk, a speciális alkalmazási területeket leszámítva (például kevés adatot tartalmazó formanyomtatványok) valójában szöveget akarunk felismerni, így komoly segítségünkre lehetnek a nyelvspecifikus információk. Az egyes OCRmegoldások, nem tudván a hagyományos képfeldolgozó eszközökkel tovább növelni a felismerés pontosságát, kivétel nélkül szótárak és spell-checking (helyesírás-ellenõrzõ) modulok támogatását veszik igénybe a felismerési folyamatban. A legkevesebb, hogy a helyesírásellenõrzõ rámutat a nem megfelelõ szavakra, azonban az OCR-szoftverek ennél tovább mennek, a fel nem ismert karaktereket a legvalószínûbb megoldást jelentõ szóval helyettesítik. Lehetnek viszont szép
számmal szavak, amelyeket a szótárak, illetve helyesírás-ellenõrzõk nem tartalmaznak, és persze elég nehéz azt automatikusan eldönteni, hogy vajon ezek korrekcióra szorulnak-e. Az angolban például sok rövid, számos betûvariációban létezõ szó van, így itt egyegy rosszul felismert karakter könnyen túlélheti a nyelvi korrekciót A másik probléma, hogy az OCR-hibák tipikusan csoportokban jelentkeznek, gyakorta a szó betûszáma is más, mint az eredetiben, így különösen nehéz automatikus becsléseket tenni. Tekintettel az ilyen típusú gondokra, csak az vezethet megfelelõ eredményre, amikor szoros kapcsolat van a szó képe és a nyelvi információ között. Noha az OCR-programok mind pontosabbak, el kell fogadnunk, hogy akadnak hibák. Attól függõen, hogy az egyes algoritmusokat hogyan írták meg, más-más OCR-ek más-más típusú hibákat vétenek és azokat következetesen. Erre alapozható az a technika, amely segít a felhasználónak a
hibák gyors kijavításában. Amint a felhasználó kijavított egy hibát a dokumentum elején, a program végigmegy az egész dokumentumon, és automatikusan kijavítja az azonos típusú hibákat. Itt a tanuló- és a javítófunkció dolgozik A Recognita OCR-technológiája – egyike a világ legjobbjainak – egyedülálló abban a tekintetben, hogy a világon a legtöbb nyelv karakterkészletét képes felismerni. Ez a 114-féle nyelv az összes latin, görög és cirill betűs nyelvet jelenti. 4. Beszédtechnológia Természetes nyelvmegértés A természetes nyelvmegértés a számítógépekkel természetes nyelven történő kommunikáció megvalósítását tűzte ki célul. Lényege, hogy természetes nyelven kommunikációra képes, számítástechnikailag hatékony eljárásokat hozzon létre. Jelentősége igen nagy, mivel egy ilyen interfész sokkal jobban illeszkedne a felhasználói igényekhez. Az első mikrokörnyezetben tevékenykedő természetes
nyelvmegértő rendszer Winograd SHRDLU rendszere volt, amely a blokk világról (kockák, hasábok, gúlák és egymáshoz viszonyított helyzetük) tudott társalogni. Jelenleg léteznek korlátozott szókinccsel rendelkező beszédmegértő rendszerek is, melyek egy adott szakterület szövegeit tudják értelmezni, diktálás után szövegszerkesztőbe írni. Az MI-n belül a természetes nyelvmegértéssel kapcsolatban két irányzat létezik. Az általános irányzat az emberi nyelvhasználat számítástechnikailag hatékony modelljét kívánja megvalósítani, míg az alkalmazott irányzat a számítógéppel történő természetes nyelvű kommunikációt próbálja megteremteni. Beszédmegértés A beszédmegértés az az eljárás, melynek során a számítógép felismeri az emberi beszédet (beszédfelismerés), majd értelmezi (beszédmegértés). Így a beszédmegértő rendszer tartalmaz egy természetes nyelvmegértő rendszert is. A szófelismerő rendszer
egyedülálló szavak azonosítására alkalmas. Fontos, hogy a beszélő megfelelő nagyságú szünetet tartson az egyes szavak között. A napjainkban forgalmazott szófelismerő rendszerek pontossága 95 %-nál nagyobb. Az igazi cél a folyamatos beszédet felismerő rendszerek elkészítése. Itt a legnagyobb problémát az egyes szavak elkülönítése okozza a folyamatos beszédben. Nehéz felismerni, hogy hol kezdődnek és hol végződnek az egyes szavak. A beszélő szerepe szintén nagyon fontos a beszédmegértő rendszereknél. A beszélőfüggő rendszerek egyetlen ember hangjának felismerésére képesek. Az egyetlen emberi hangra támaszkodó rendszerek nemcsak egyszerűbbek, de jóval megbízhatóbbak is. A beszélőfüggetlen rendszereket akárki használhatja, de ezek nagyon komplexek. A Neumann-kongresszusról származó anyag Bevezetés Az elmúlt évtizedekben a beszédtechnológiai kutatások egyik fõ iránya a hatékony algoritmusok kidolgozása volt. Mára a
számítástechnikai eszközök elég fejlettek, a kapacitásuk is óriási, vagyis nem ezek, hanem ismereteink hiányossága jelenti a fõ akadályt. A beszédjel ugyanis rendkívül komplex, és nem tudunk róla eleget ahhoz, hogy tetszõleges szöveget közvetlen szintézissel ne gépies, hanem természetes hangzással állítsunk elõ, illetve hogy a felismeréshez a legjellemzõbb tartalom-, személyés akusztikaikörnyezet-függõ hanghullámból a valóban lényeges paramétereket határozzuk meg. Mindeme nehézségek ellenére a beszédre épülõ alkalmazások a közeljövõben mindenütt és igen gyorsan elterjednek, éppen azért, mert számos fontos feladat megoldásához a technológia már ma is adott. 1. Kis sebességû beszédkódolás A kis sebességû beszédkódolás (vagy más néven beszédtömörítés) leginkább a rádiós és a csomagkapcsolt átvitelen alapuló, valamint a beszédtároló rendszerekben terjedt el, ahol a sávszélesség, illetve a
memóriakapacitás jobb kihasználása érdekében tömörítik a beszédet. A tömörítési algoritmusok fejlõdésével és bonyolultságuk növekedésével az átviteli sebességet ma már 10 Kb/s alá lehet csökkenteni, miközben a beszéd érthetõ marad, és a minõség is elfogadható, legalábbis egyes, például mobiltelefonos alkalmazásokkor, ahol a korlátozott sávszélesség miatt a felhasználóknak gyengébb minõséggel is be kell érniük. A legsikeresebb és a leginkább elterjedt LPC (Linear Predictive Coding) alapú rendszer az 1. ábra szerinti egyszerûsített beszédkeltési modellen alapszik. A zöngétlen beszédhangokat a tüdõbõl kiáramló turbulens levegõ zaj jellegû gerjesztése, spektrumukat pedig a vokális traktus (garat-, száj-, orrüreg, nyelv, fogak, ajkak) alakítja ki. Ezt a hatást a modellben a szintézisszûrõnek nevezett elem hozza létre. A zöngés hangok keltése is hasonló, viszont ezeknél a hangszálak periodikus rezgése
lényegesen nagyobb energiájú. Ennek elsõsorban a zaj leküzdésében van szerepe, de a gerjesztés maga kevés tartalmi információt hordoz, legalábbis az európai nyelvekben. Ez abból is kitûnik, hogy a suttogó tehát a hangszalagokat nem rezegtetõ beszéd is többé-kevésbé érthetõ, ha egészen közelrõl hallgatjuk, és kicsi a háttérzaj. 1. ábra zaj gerjesztés szûrõparaméterek A beszédkeltés egyszerûsített modellje A fentiekbõl következik, hogy az 1. ábra modelljében fõként a szintézisszûrõként jelölt, csak pólusokat tartalmazó, 1/A(z) átviteli karakterisztikájú elem paraméterei hordozzák az átvinni kívánt tartalmi információt. Ha a jel visszaállításához ezeken a szûrõparamétereken kívül csak a zöngés/zöngétlen információt használjuk fel, akkor egy erõsen gépies, de többé-kevésbé érthetõ jelet kapunk. A korai (formáns) szintetizátorok [1,2] is lényegében ezt az elvet használták, azonban a telefontól
ennél jobb minõséget várunk, sõt a beszélõ személynek és hangulatának a felismerhetõségére is szükség van, ezért valamilyen formában ¬ bár erõsen csökkentett sebességgel ¬, a gerjesztõ jel paramétereit is át kell vinni a szintetizált beszéd természetességének és érthetõségének a javítására-kialakítására. Az elsõ GSM-kódolók kutatását és kifejlesztését a 80-as évek végén nemzetközi összefogással végezték. A szubjektív vizsgálatok alapján legjobbnak bizonyult megoldásnál (RELP: Regular Excitation Linear Prediction, szabványos GSM terminológia szerint FR: Full Rate Coder) a gerjesztõ jelet zárt hurokban optimalizálták, de a szintézis szûrõ még nem volt benne ebben a hurokban. A továbbfejlesztett (EFR: Enhanced Full Rate) kódolónál már a teljes szintézist zárt hurokban optimalizálják (ez az alapvetõ analysis by synthesis≈ elv), és ez a módszer jellemzõ az 5.13 kb/s átviteli sebességtartományban,
ahol pl a mobil és internetes (VoIP: Voice over IP) rendszerek mûködnek. Az egyes kódolók fõként a gerjesztõ jel elõállításában és a paraméterek kódolásában különböznek. A gerjesztõ jelet a kódoló és a dekódoló egy megegyezõ kódtáblából veszi, amelynek a tartalma rögzített, illetve helyben elõállítható a jelbõl, így elegendõ a kódtábla indexét átvinni. Egy általános (CELP: Code Excited Linear Prediction) kódoló blokksémáját a 2. ábra mutatja Zárt hurkú, kódgerjesztésû lineáris predikciós (CELP) beszédkódoló és dekódoló Az optimalizáló hurkot mindig kiegészítik érzeti súlyozással is, hogy a szintetizált és az eredeti beszédjel közötti eltérésnek éppen a legjobban hallható komponenseit minimalizálják. Maga a beszédjel a hiba jelentõs részét elfedi, maszkolja, ezért a torzítási teljesítmény jelentõs része mintegy elrejthetõ≈ a hasznos beszédjel alatt. 2 Beszédszintézis Beszédhang
elõállítására több lehetõség van: a) az emberi hangot digitalizáljuk, tömörítjük, tároljuk és kívánságra visszajátsszuk, b) az 1. vagy a 2 ábra, vagy egyéb modell szerint a gerjesztõ jelek és a szintézisszûrõ paramétereinek változtatásával hozunk létre mesterséges beszédhangokat, c) emberi beszédet elemi hangokra vagy hangkapcsolatokra szegmentálunk, majd az elemek mondathangsúly szerinti módosítása és összesimítása útján hozzuk létre a beszédhanghullámot. Az (a) eset megvalósítása kézenfekvõ, és ekkor kihasználhatjuk az elõzõ fejezetben tárgyalt beszédtömörítést is. Sõt, ha a tömörítésre elegendõ idõ áll rendelkezésre, akkor akár 1¬2 kb/s körüli bitsebességgel is érthetõ beszéd hozható létre. A módszer hátránya is nyilvánvaló: csak elõre rögzített szöveg felolvasása lehetséges. A (b) eset tulajdonképpen a legérdekesebb, de a több évtizedes kutatás eredményeképpen is csak egy
meglehetõsen gépies hang elõállítása sikerült mesterséges úton. A kutatók igen sok energiát fektettek a paraméterek optimalizálásába, az idõzítés, alaphang, intenzítás, hanglejtés (prozódia) vezérlésébe, de az eredmény mégsem hangzik emberi hangként. Hallásunk rendkívül érzékeny a hangátmenetekre, az alaphang és más komponensek változásaira és egyéb, ma még nem teljesen feltárt részletekre. Tehát további kutatásokra van szükség ahhoz, hogy jó minõségû, természetes hangzású beszédhangot lehessen ilymódon szintetizálni. [2,3] A kötetlen beszéd felolvasására alkalmazható sikeres és jóminõségû beszédszintetizátorok a fenti okok miatt szinte kizárólag a (c) módszeren alapulnak olyan alkalmazásokban, ahol a hang természetessége is követelmény. Ilyen a Profivox szintetizátor program is Ehhez nagy és precíz munkával emberi beszédmintákat kell gyûjteni és hangokra, illetve hangkapcsolatokra szegmentálni, majd
ezeket gondosan illeszteni, hogy az átmeneteknél ne legyen érezhetõ ugrás, és megfelelõ legyen a tempó és a hanglejtés. [4] A tudatunk számára például az almafa szóban lévõ három a hang azonosnak tûnik, valójában azonban mind az idõfüggvényben, mind spektrálisan jelentõs különbségeket mérhetünk közöttük. A hangoknak ezen változékonysága miatt az abc≈ 50-100 eleménél akár nagyságrendekkel is többre van szükség a jó minõségû szintézishez, és célszerû hosszabb elemeket alkalmazni. Ez azonban exponenciális mértékben növeli a szükséges alapelemek számát, és akár 10-100 órányi hanganyag felvétele és cimkézése szükséges, továbbá ezeket az elemeket az adott feladatnak megfelelõen kell megválasztani. Ezt szemléltetik a kutatás-fejlesztés fõbb lépései, amelyek egy ipari bevezetés elõtt álló számszerinti tudakozó név- és címfelolvasó rendszernél felmerültek. (A munka kiinduló adatait a távközlési
szolgáltatói telefonkönyv adatbázisok szolgáltatták, ez közel négymillió rekord volt.) ¬ Adatbázis elemek kategorizálása (35 kategória, mint dr., özv, vezetéknév stb) ¬ Rekordok kézi osztályozása az automatikus osztályozó program betanításához ¬ Adatbázis elemeket kategorizáló program kidolgozása ¬ Statisztikai adatfeldolgozás a kategóriák fõbb elemeirõl: vezetéknevek (kb. 180 000 különbözõ alak), keresztnevek (kb. 1800 különbözõ alak), cégnevek (kb. 280 000 különbözõ alak), közterület nevek (valós adatbázisból) ¬ Felolvasási stratégia kialakítása személy, kereszt- és cégnevekre ¬ A magyar nyelv betûzésére vonatkozó javaslat kidolgozása ¬ Sokcsatornás telefonos interfész kezelésére alkalmas keretrendszer kidolgozása ¬ Szám szerinti tudakozó mintaalkalmazás kidolgozása ¬ A paraméterekre objektív és szubjektív tesztsorozatok kidolgozása, minõsítési tesztek.* * A fenti rendszerben a gyakoribb elemek
hosszabb egységekbõl (hangkapcsolat, szó, szövegrészlet) állnak elõ, és az adatbázis elemeinek összecsiszolására kombinált eljárások szolgálnak (például automatikus intenzitáskorrekció). Az adatbázis fejlesztésen túl további vizsgálatokra volt szükség a név és címfelolvasás prozódiai részleteire vonatkozóan is (ritmusváltás, dallammenetek, ismétléskor ejtendõ kiejtési formák: lassabban, magasabban, hangsúlyozottabban stb.) 3. Automatikus beszédfelismerés Az automatikus beszédfelismerés összetett feladat, amelynek megvalósítására csak konkrét, jól meghatározott feltételek mellett van esély. Még nagyon távol vagyunk az emberi hallás teljesítõképességétõl, de még az emberek számára is megoldhatatlan feladat egy ismeretlen nyelven elhangzó beszéd áttétele írásos szöveggé. Hasonlóképpen a gépi felismerõnek is szüksége van tanulásra, mind a nyelvi, mind az akusztikus információt valamilyen formában elõre
be kell vinnünk a rendszerbe. Ha egy nyelv szókészletének egy részével és hangjainak paramétereivel (spektrum, idõbeli lefolyás) és kiejtési szabályaival betanítunk egy gépi felismerõt, akkor lehet esélyünk arra, hogy önálló szavakat vagy hosszabb kifejezéseket gépi úton felismertessünk. Kiszajú környezetben ez a mai technológiával megoldható, a beszélõ személyétõl függetlenül is, ha a kiejtés eléggé megközelíti az átlagosat. Azonban kötetlen, folyamatos beszéd felismeréséhez vagy a nagy háttérzajban történõ felismeréshez szükségesnek látszik a nyelvi és tartalmi elemzés is, miként mi is csak azt ismerjük fel biztonságosan, amit megértünk. Ráadásul az emberi kommunikáció során többnyire maguk a beszélõk sem fordítanak gondot a pontos és tiszta kiejtésre, eleve számítanak arra, hogy a hallgató a nyelvi ismeretei, valamint a tartalmi összefüggések alapján majd kitalálja≈, hogy minek is kellett volna
elhangzania. [5] A 3. ábra a gépi beszédfelismerési folyamat erõsen egyszerûsített vázlatát mutatja Az automatikus beszédfelismerés elsõ lépése a beszéd információtartalmát jellemzõ paraméterek meghatározása, az akusztikus elõfeldolgozás. Ennek során a lehetõség szerint eltávolítják a beszélõ személyre, annak hangulatára≈ és a környezetre vonatkozó adatokat, mert a beszédfelismerés célja a beszéd információtartalmának kinyerése. (Egyes alkalmazásoknál éppen ezen információk szükségesek, ilyen például a beszélõ személyének meghatározása.) 3. ábra A gépi beszédfelismerés egyszerûsített folyamata Az elõfeldolgozás után kapott paramétereket mintaillesztéssel vetjük össze a referenciamintákkal vagy modellekkel, amelyeket a betanítás során készítünk és tárolunk el. Ezután még nyelvi elemzésre van szükség, amelynek során az akusztikai illesztésnél legjobbnak bizonyult elemek sorozatából a
legvalószínûbb szavakat vagy hosszabb szövegeket választhatjuk ki a szótárt és a nyelvtani ismereteket tároló tudásbázisból. [5¬9] 3. 1 Akusztikai elõfeldolgozás A mai felismerõkben az elõfeldolgozás szinte kivétel nélkül az 1. ábra szerinti egyszerûsített beszédkeltési modellen alapszik. Ha az ott szereplõ szintézisszûrõnek megfelelõ spektrális paramétereket meg tudjuk határozni, akkor az az illetõ hangra lesz jellemzõ. Kérdés azonban, hogy pontosan milyen paramétereket és milyen formában érdemes használni. Az emberi hallás tanulmányozása és számtalan kísérlet alapján ma a felismeréshez leginkább a logaritmikus spektrumból származtatott paramétereket (kepsztrális együtthatókat) használják, amelyeket a fül karakterisztikájának közelítéseként 1 kHz-ig egyenletes, afelett pedig közel logaritmikusan növekvõ sávokra határoznak meg (MFCC: Mel Frequency Cepstral Coefficients). Ezenkívül igen hatékonyak még ezen
paraméterek változását jellemzõ differenciális paraméterek, miként a fülünk is elsõsorban a változásokra érzékeny. Összesen kb 30-40 paramétert szokás 10 ms-onként 20-30 ms-os, 25-50 %ban átlapolódó szakaszokban (keretekben) elõállítani, mert a beszédparaméterek változása ilyen ütem mellett még jól követhetõ. Nem véletlen, hogy hallásunk is ilyen ütemû változásokra a legérzékenyebb Hosszabb keretek esetén jobb zajelnyomást lehetne elérni, de a beszédnek a felismerés szempontjából lényeges dinamikus jellemzõi elmosódnának. A sikeres felismeréshez még temérdek további problémával kell megbirkózni, mint pl. a szünet/beszéd tartományok meghatározása, beszéd közben a száj nyitá-sa/csukása, valamint a nyelv mozgása által keltett zajok stb., amelyek az emberi felismerést gyakorlatilag nem zavarják, de a gépi rendszereknél rengeteg nehézséget okoznak. Ha pedig nemcsak laboratóriumi rendszer kifejlesztése a cél,
akkor fel kell készülni a legkülönfélébb torzításokra (eltérõ mikrofonok, telefonvonal stb.) és a háttérzajokra, amelyek például a mobil telefonok érzékeny mikrofonja esetén különösen zavaróak. 3. 2 Mintaillesztés A mintaillesztés során a felismerés alapegységei lehetnek az egyes beszédhangok és ezek kombinációi, vagyis kettõshangok, hármas hangok, félszótagok, szótagok, szavak vagy akár hosszabb kifejezések. Az angolban és számos más nyelvben a szavak a legalkalmasabb alapegységek, azonban a magyar nyelvben (és ilyen például a japán is) a ragozás, toldalékolás miatt minden szónak több száz vagy akár ezer alakja is le-het, ezért már közepes szótárméret esetén is a szavaknál kisebb egységeket szokás választani. Minél nagyobb egységeket választunk, annál hatékonyabb lesz a felismerés, ugyanakkor annál több elem modelljét kell betanítanunk, és az elemek számával rohamosan nõ a szükséges tanító anyag, hiszen
abban minden elemnek többször elõ kell fordulnia. Kompromisszumos megoldásként jó választásnak tûnik a hármas hangok (triphone) alkalmazása, amikor minden hangot a jobb- és a baloldali szomszédjával együtt tanítunk. [9,10] A beszédhangok azonban nemcsak attól függenek milyen hang van elõttük/utánuk, hanem az akusztikai környezettõl, a beszélõ személyétõl, nemétõl, szociális és regionális hovatartozásától, sõt egy személy hangja is minden bemondásnál eltérõ jelformát mutathat mind idõben (helyi megnyúlás-rövidülés), mind a frekvenciatartományban. Ezen változékonyság kezelésére jelenleg a leghatékonyabb megoldást a rejtett Markov modelleken (HMM) alapuló statisztikus módszerek nyújtják. Egy szó modellje egy olyan állapotautomata, amely az egymásutáni kereteknek megfelelõ paraméter vektor sorozatokat tudja generálni, mindenféle sorozatot meghatározott valószínûséggel. Ha a modellek jól≈ be vannak tanítva,
akkor minden kiejtett szót a saját modellje állítja elõ a legnagyobb valószínûséggel. Szó helyett rövidebb és hoszszabb egységekre is alkalmazható a módszer, és akár mondatok nyelvi modellezésére is használható. Folynak kísérletek egyéb módszerekkel, fõként mesterséges neuron hálózatokkal (ANN), de ezek hatékonysága még elmarad a HMM technikától. A beszédhangokon, mint elemi egységeken alapuló, ún. nyílt szótáras felismerés lehetõvé teszi, hogy új szavak egyszerûen felvehetõk legyenek a szótárba. Ehhez kidolgoztunk egy kiejtés modellezõ fonetikus átíró rendszert is, ami a begépelt szavak fonetikus alakját automatikusan elõállítja a lehetséges kiejtési változatokkal együtt (pl. hatszáz, haccáz) [11] A modelleket nagymennyiségû, beszédhangokra szegmentált mintával kell betanítani. A kézzel történõ szegmentálás azonban nagyon idõigényes, fárasztó és unalmas, ráadásul sok hibalehetõséget rejt magában.
Ezért kidolgoztunk egy automatikus szegmentálót, amely minimális számú kézzel szegmentált mintából kiindulva hatékonyan és az embernél pontosabban szegmentál. Ennek lényege, hogy egy felismerõ a hanganyag mellett megkapja a szöveget is, és ezután maga határozza meg a beszédhangok határait (forced alignment). A legtöbb alkalmazásnál elkerülhetetlen, hogy a felismerõ szótáron kívüli (OOV: Out Of Vocabulary) szavakat is kapjon, és ilyenkor jó lenne elkerülni, hogy ezeket a leghasonlóbb szótárelemként azonosítsa. Bár nem vehetünk fel minden egyéb létezõ szót egy nagy OOV modellben, de a gyakoribb szavakra érdemes ilyen modellt készíteni. Ezenkívül a felismerés biztonságát becsülhetjük azzal, hogy a legjobban illeszkedõ modell és a többi jelölt valószínûsége között milyen az arány. Ezek a módszerek azonban még további kutatást igényelnek, mert gyakran a jó eredményt is eldobjuk, ha kevésbé valószínûnek ítéljük.
4. Alkalmazások A beszédszintézis és beszédfelismerés lehetséges alkalmazásainak száma végtelen. A gépek közötti kommunikációra természetesen nem való (legfeljebb sci-fikben), de gyakorlatilag mindenütt elképzelhetõ, ahol ember-gép kommunikáció elõfordul, továbbá a fogyatékosok számára is jelentõs segítséget nyújthat. Csak ízelitõül néhány egyszerûbb alkalmazás: PC képernyõ kezelés, telefonos hangtárcsázás, telefonközpont kezelõi szolgáltatások, adatbázis hozzáférés terminálról vagy telefonról, természetes nyelvi fordító rendszerek, játékok, oktató rendszerek, banki rendszerek, személyi diktafon, tudakozó jellegû szolgáltatások, szállodafoglalás, jegyfoglalás, menetrend vagy tõzsdei információk, elektronikus kereskedelem, háztartási eszközök vezérlése stb. Az alkalmazások egy részénél csak kényelmi vagy anyagi szempontok játszanak szerepet, máshol azonban a kéz és a szem felszabadítása≈
alapvetõ szempont. Ilyen alkalmazások például: telefonálás vezetés közben, diktálás sötétben (pl röntgenezésnél), leltározás terepen, fogyatékosok számára használható rendszerek stb. Az alkalmazásoknál érdemes különbséget tenni aközött, hogy új vagy régi szolgáltatásról van-e szó. Ha a szolgáltatást korábban kezelõk nyújtották, akkor a felhasználók úgy érzékelhetik a változást, hogy a szolgáltatás romlott és barátságtalanabb lett. Ezzel szemben egy korábban nem létezõ szolgáltatás bevezetését vagy jobb elérhetõségét a felhasználók javulásnak értékelik, ezért a gépi beszédfelismerésen alapuló rendszer is kedvezõbb fogadtatásra találhat. A következõkben bemutatott telefonos hangportál a nyomógombok mellett hangvezérléssel is mûködik, ami tehát új szolgáltatásnak számít. 4. 1 Telefonos hangportál Hangportáloknak nevezzük azokat az eszközöket, amelyek segítségével az informatikai
rendszerekben tárolt adatokhoz a felhasználók emberi hang formájában jutnak hozzá. Ezeket fõként telefonos rendszerekben használják, vezérlésük történhet a telefon nyomógombjaival vagy hangvezérléssel. Egy beszéddel (is) vezérelhetõ hangportál rendszer kifejlesztésével kapcsolatos tapasztalataink azt mutatták, hogy a felismerõ programnak a kidolgozásán túlmenõen igen sok egyéb feladatot is meg kell oldani, amelyeket röviden felsorolunk: • Telefonos adatbázis gyûjtése és annotálása (a bemondások helyességének ellen õrzése) • Automatikus szegmentáló program kidolgozása és felvett adatbázisok cimkézése • Beszéddetektor-algoritmusok összehasonlítása és a választott megoldás megvalósítása • Elõfeldolgozó algoritmusok vizsgálata, futási idõre optimalizálása és megvalósítása • Beszédfelismerõ akusztikus modelljének betanítása a cimkézett adatbázissal • Automatikus fonetikus átírás kidolgozása és
megvalósítása magyar nyelvre • Nyelvi modell kidolgozása a kiejtési variációk kezelésére • Nyelvi modell a hibás, illetve a szótárban nem szereplõ bemondások felismerésére • On-line és elosztott felismerõ algoritmus kidolgozása, közbeszólás (barge in) kezelése • Zajos környezet kompenzálási módszereinek áttekintése és megvalósítása • Sokcsatornás telefon illesztés kezelõ hardver/szoftver tervezése és megvalósítása • Dialógus rendszer kidolgozása, illesztési felületeinek megvalósítása • Grafikus szerkesztõ kidolgozása, amellyel a felhasználó maga tud dialógust szerkeszteni • Folyamatos mûködés közben is engedélyezhetõ dialógusmódosítás kidolgozása • A megvalósított eljárások laboratóriumi és valódi környezetben történõ tesztelése A hangportál egyszerûsített blokksémáját a 4. ábra mutatja A fõbb elemek TCP/IP kapcsolatban állnak egymással, így a rendszer moduláris, akár egy
számítógépen, akár sok (közeli) gépen futhat attól függõen, hogy milyen a terhelése. Egyetlen PC kapacitása ma már elegendõ 10-20 csatornás egyidejû felismerés céljára, így a dialógustól függõen akár 20-50 egyidejû hívás kezelése is megvalósítható vele. Tekintettel arra, hogy a szótárkészlet az alkalmazás menürendszerének megfelelõen dinamikusan változtatható, az egy idõpontban felismerendõ szavak számának sem kell nagynak lennie, ami gyors mûködést tesz lehetõvé. Beszéd alapú hangportál vázlatos felépítése A hangportált minimális, egyetlen PC-t tartalmazó kiépítésben alközponthoz is kapcsolhatjuk, így elláthatja vagy segítheti a kezelõ munkáját, mert a munkatársak és a részlegek nevét hangbemondásra is lehet kapcsolni. Ilyen rendszert dolgoztunk ki az elmúlt évben, ami Voxenter“ néven már több helyen kísérleti üzemben mûködik. [12] A dialógus rendszer web alapú Java applet és ágens
technológiára épül, amely a grafikus szerkesztõi felület és a beépített kiejtés modellezõ miatt nem igényel szakképzett kezelést. A illesztése lehet egy- vagy többcsatornás, ezen belül analóg, ISDN (BRI vagy PRI), illetve VoIP, a beszéd kimondásra pedig elõre felvett szövegek és szintetizált beszéd (például számkimondás) egyaránt használható. A rendszerek mûködési biztonságát elemezve azt tapasztaltuk, hogy a laboratóriumban mért 3% körüli felismerési hiba valódi telefonos környezetben 22%-ra nõtt, amelyben fõként a nagy háttérzajjal és a szótáron kívüli elemekkel összefüggõ hibák domináltak, de a felhasználók jelentõs része is nehezen barátkozik meg az új technikával. Ilyen esetekben át lehet térni nyomógombos vezérlésre vagy kérhetõ a kezelõ, tehát a korábbi, hagyományos hívásközponti szolgáltatások továbbra is rendelkezésre állnak. 6. Összefoglalás Jelen cikk vázolta a beszédtechnológia
technikai alapjait, valamint a kódolás, beszédszintézis és felismerés fõbb problémáit és egy lehetséges alkalmazást, a telefonos hangportálokat. Bár a gépi beszédkommunikáció még nem terjedt el széleskörben, a beszédtechnológia már jól használható gyakorlati célokra is, amit fõként a számítástechnika fejlõdése tett lehetõvé. Megemlíthetõ továbbá, hogy a magyar nyelv sajátosságai miatt nem vehetõk át közvetlenül a külföldi (például az angol) beszéd alapú rendszerek, ezért jelentõs hazai fejlesztési erõforrásokra van szükség ezen a gyorsan fejlõdõ területen