Beszédfunkciók alkalmazása információs rendszerekben Beszédinformációs rendszerek előadás Németh Géza, Zainkó Csaba [nemeth, zainko]@tmit.bme.hu Beszédkutatási laboratórium http://speechlab.tmit.bme.hu Oktatási segédanyag: http://alpha.tmit.bme.hu/pub/beszinf/start.html
Előadás A beszédinformációs rendszerek építőkockái A beszédinformációs rendszer felépítése Dialógus rendszerek osztályozása Dialógus rendszerek vezérlése Dialógus rendszerek leírása Kapcsolódó gyakorlat: Beszédinformációs rendszerek új nyelvi változatainak (lokalizálásának) kialakítása
A tárgy áttekintése Nyelv, hallás, beszédlánc, hangosság Beszéd, beszédkeltés Beszéd kódolás, tömörítés Gépi beszédkeltés Szövegfelolvasás Beszédfelismerés Beszélőazonosítás Információs rendszerek
Beszédinformációs rendszerek Elemi építőkockák Beszédinformációs rendszer „Mit rakunk össze?” „Hogyan rakjuk össze?”
Beszédinformációs rendszer GUI SUI Adatbázis Dialógus vezérlő Információ Felhasználói felület Felhasználó
Beszédinformációs rendszer Felhasználói felület Beszédfelismerő DTMF detektor Egér, Billentyűzet Érintés érzékelő Input Text-To-Speech Prompt lejátszás GUI Output Azonosító egység Felhasználói felület
Beszédinformációs rendszer GUI SUI Adatbázis Dialógus vezérlő Információ Felhasználói interface Felhasználó
Beszédinformációs rendszer Nyelvi feldolgozó Beszéd megértő Dialógus leíró Egyéni beállítások Adatbázis lekérdező Válasz generáló Dialógus vezérlő Dialógus vezérlő Vezérlő
Rendszer modalitása Mely érzékeinkre hat? PC Információs pult Egér Billentyűzet GUI Beszéd Információs pult Érintő képernyő Mutatás detekció Gesztus
Telefonos alkalmazás Vezetékes (klasszikus) Mobil (régi) Mobil párhuzamos vagy váltott hang és kép SMS MMS, ... IP telefon Videotelefon .....
Dialógus rendszerek osztályozása A vezérlés jellege szerint Rendszer vezérelt Felhasználó vezérelt Vegyes kezdeményezésű A vezérlés módja szerint DTMF Beszédfelismerő Hálózati információ azonosítás Egyéb
Rendszer v. felhasználó vezérelt A rendszer határozza meg a navigációt Menürendszer, felajánlott választási lehetőségekkel A felhasználó határozza meg a navigációt Nincs kötött útvonal Vegyes kezdeményezésű Lehetőség a navigáció módosítására
Menürendszer tervezési szempontok Építőkockák felhasználása 4 választási lehetőség Maximális mélység: 4-5 szint Lehetőleg azonos utasítás -> azonos funkció Felhasználó függő menürendszer Csak a témakörhöz tartozó információk közlése Megfelelő részletesség (kevés, sok) Újdonságok, fontos elemek kiemelése
Rendszerfüggetlen egyéni opciók Felhasználói szint Kérdések, magyarázatok hossza, részletessége Választási lehetőségek száma Felajánlott választási lehetőségek száma Felolvasás paraméterei Beszélő kiválasztása (férfi, női, …) Beszédtempó beállítása Szünetek időtartama (pl. mondatok között) Adaptív változtatás/felhasználó vezérelt
DTMF vezérlés Dual Tone Multi-Frequency (4x4 frekvencia) Adatbevitel a telefon billentyűzetén Előnyök: Nagyon megbízható, gyakorlatilag 100%-os kipróbált technológia olcsó Hátrányok: A kialakítható menüstruktúra nem felhasználó barát Nehézkes a használat, ha a billentyűzet nem elérhető Humán operátor is szükséges lehet.
Vezérlés hanggal Hátrányok: Előnyök: A telefonba beszélni természetes dolog Szélesebb témakörben alkalmazható (nem csak számok) Hátrányok: Megbízhatatlanabb Bizonyos esetekben jóval lassabb mint a DTMF Kötött szókészlet
Vezérlés hanggal II. Yes/No elvű rendszerek Lassú, természetellenes Legmegbízhatóbb a beszédfelismerős rendszerekben Jól kell megválasztani a Yes/No magyar megfelőjét. Az „Igen” és a „Nem” távolsága kisebb, mint az angolban 2 szavas szótár nem elég (igen, jó, ok, mehet, rendben, ja, aha, megfelel,…) Adatbevitel fa struktúrában
Vezérlés hanggal III. Kötött szótáras Meghatározott (10-20) szó felismerése Kényelmesebb, de menürendszer jellegű Beszélőfüggetlen/adaptív jellegű Gyors elérés mély struktúrák esetén is. Keverhető a DTMF vezérléssel „fall-back” Adatbevitel nehézkes
Vezérlés hanggal IV. Adott témakörben bármilyen információ mondható, lekérdezhető Felhasználóvezérelt Emberközeli használat Pl.: Menetjegy vásárló rendszer Diktáló rendszerek Nyelvi elemzés (mesterséges intelligencia??) szükséges
Megerősítés (Verifikáció) Szükséges (hibás bevitel) Elvárt (felhasználó biztonságérzete) A megerősítés lehet Explicit (pl.: közvetlen visszakérdezéssel) Implicit (pl.: Elrejtve a következő kérdésben)
Explicit megerősítés minden egyes adatra Rákérdezés minden egyes adatra Eldöntendő kérdés Egyszerű struktúra, Kényelmetlen dialógus menete a felhasználó számára H: Szegedre szeretnék utazni. R: Szegedre szeretne utazni? H:Nem. R: Hova szeretne utanzi? H: Szögedre. R: Szögedre szeretne utazni? H: Igen. ...
Explicit megerősítés javítással Rákérdezés minden egyes adatra Ugyan az mint előbb Igen/Nem válasz mellett a javított adat is megadható Gyorsabb dialógus menet Kevésbé akadozó H: Szegedre szeretnék utazni. R: Szegedre szeretne utazni? H:Nem, Szögedre. R: Szögedre szeretne utazni? H: Igen. ...
Explicit megerősítés több adatra Rákérdezés minden adatra egyszerre Kevesebb kérdés Igen/Nem válasz mellett a javított adat is megadható/nem adható Természetesebb Csak az adatbevitel végén van az ellenőrzés R: Budapestről Szegedre szeretne utazni? H:Nem, Szögedre. R: Budapestről Szögedre szeretne utazni? H: Igen.
Implicit Megerősítés Következő adatbekérésbe beágyazott ellenőrzés Közelebb áll a természetes párbeszédhez A kérdés hossza megnő Javítás nehézkesebb A rendszer bonyolultabb H: Szegedre szeretnék utazni. R: Honnan szeretne Szegedre utazni? H: Nem, Szögedre. R: Honnan szeretne Szögedre utazni?
Hibás megerősítés Felismerési probléma Többszörös megerősítés kritikus adatoknál R: Szegedre szeretne utazni? H: Igen, Szegedre. (Felismerve: nem Szegedre) R: Hova szeretne utazni? R: Szegedre szeretne utazni? H: Szögedre.. (Felismerve: Szegedre) R: A jegy … Forint lesz... R: Mikor akar Szegedre utazni? H: Nem, Szegedre. (Felismerve: … ) R: Nem értem. Ismételje meg mikor akar utazni!
Alkalmazás fejlesztési eszközök SAPI (http://www.microsoft.com/speech/) SAPI 4.0 <> 5.0 <> .NET TAPI (http://msdn.microsoft.com, search TAPI) JSAPI (http://java.sun.com/products/java-media/speech/) kísérleti fázis (pl. FreeSpeech TTS) JTAPI (http://java.sun.com/products/jtapi/) VocApi (Philips, Bosch, Siemens, Opel, Sony, Volkswagen..) www.speech.philips.com/vc/Pages/vc_322_u.htm Kisméretű eszközök, telefon, mosógép, fénymásoló MRCP (http://tools.ietf.org/wg/speechsc/) Media Resource Control Protocol szabványos IP felület
Alkalmazás fejlesztési eszközök II. ECTF (http://www.ectf.org/)
VoiceXML (http://www.voicexml.org/) Voice eXtensible Markup Language 1.0 verzió 2000.márc.17. W3C Recommendation for VoiceXML 2.0, 2004.márc.16 példa: <?xml version="1.0"?> <vxml version="1.0"> <form> <field name="drink"> <prompt>Would you like coffee, tea, milk, or nothing?</prompt> <grammar src="drink.gram" type="application/x-jsgf"/> </field> <block> <submit next="http://www.drink.example/drink2.asp"/> </block> </form> </vxml>
SALT (http://www.saltforum.org/) Speech Application Language Tags 1.0 verzió 2002, július 15 W3C benyújtás, 2002. aug. 13 Multimodális és telefonos HTML (cHTML, XHTML, WML, stb.) kiterjesztés erős .NET irányultsággal Példa: <!-- HTML --> <html xmlns:salt="http://www.saltforum.org/2002/SALT"> ... <input name="txtBoxCity" type="text" /> <input name="buttonCityListen" type="button" onClick="listenCity.Start();" /> <!-- SALT --> <salt:listen id="listenCity"> <salt:grammar name="g_city" src="./city.grxml" /> <salt:bind targetelement="txtBoxCity" value="//city" /> </salt:listen> </html>
SALT (http://www.saltforum.org/)