Beszéd interakciók

A beszédfelismerést és a szövegfelolvasást (más néven TTS-t vagy beszédszintézist) közvetlenül integrálhatja az alkalmazás felhasználói felületébe.

Beszédfelismerés A beszédfelismerés szöveggé alakítja a felhasználó által beszélt szavakat űrlapbemenethez, szöveg diktáláshoz, művelet vagy parancs megadásához és feladatok elvégzéséhez. Támogatja az előre definiált nyelvtanokat a szabadszöveges diktáláshoz és a webes kereséshez, valamint a Speech Recognition Grammar Specification (SRGS) 1.0-s verziójával létrehozott egyéni nyelvtanokat.

Speech synthesis/Text to Speech (TTS) A TTS beszédszintézismotort (hang) használ a szöveges sztring beszélt szavakká alakításához. A bemeneti sztring lehet alapszintű, díszítetlen szöveg vagy összetettebb beszédszintézis jelölőnyelv (SSML). Az SSML szabványos módszert biztosít a beszédkimenet jellemzőinek szabályozására, például a kiejtésre, a hangerőre, a hangmagasságra, a sebességre vagy a hangsúlyra.

Beszéd interakciós kialakítás

Ha átgondoltan tervez és valósít meg beszédet, az hatékony, akadálymentes és természetes módot kínál a felhasználók számára a Windows alkalmazásokkal való interakcióra, kiegészítve vagy akár lecserélve a hagyományos interakciós szolgáltatásokat egy egér, billentyűzet, vezérlő vagy érintés alapján.

Ezek az irányelvek és javaslatok bemutatják, hogyan integrálható a legjobban a beszédfelismerés és a TTS az alkalmazás interakciós felületébe.

Ha az alkalmazásban a beszédfelismerés támogatását fontolgatja, tegye fel magának a következő kérdéseket:

  • Milyen műveleteket hajthatnak végre a felhasználók a beszéden keresztül? Navigálhatnak a lapok között, parancsokat hívhatnak meg, vagy szöveges mezőkként, rövid jegyzetekként vagy hosszú üzenetekként adhatnak meg adatokat?
  • A beszédbevitel jó választás egy feladat elvégzéséhez?
  • Honnan tudja egy felhasználó, hogy mikor érhető el a beszédbevitel?
  • Az alkalmazás mindig figyel, vagy a felhasználónak műveletet kell elvégeznie ahhoz, hogy az alkalmazás figyelési módba lépjen?
  • Milyen kifejezések kezdeményeznek műveletet vagy viselkedést? A kifejezéseket és műveleteket számba kell venni a képernyőn?
  • Szükség van a parancssori, megerősítési és egyértelműsítési képernyőkre vagy TTS-ekre?
  • Milyen az alkalmazás és a felhasználó közötti interakciós párbeszéd?
  • Szükség van egyéni vagy korlátozott szókincsre (például gyógyászat, tudomány vagy területi beállítás) az alkalmazás környezetéhez?
  • Szükség van hálózati kapcsolatra?

Szövegbevitel

A szövegbevitel a rövid formátumú beviteltől (például egy szótól vagy kifejezéstől) a hosszú formátumú bevitelig terjedhet, például több kifejezés, bekezdés vagy folyamatos diktálás. A rövid űrlapbemenet általában 10 másodpercnél rövidebb, míg a hosszú űrlapbemeneti munkamenetek hossza legfeljebb két perc lehet. A hosszú űrlapbemenet felhasználói beavatkozás nélkül újraindulhat, hogy folyamatos diktálás benyomását keltse.

Adjon meg egy vizuális jelzést, amely jelzi, hogy a beszédfelismerés támogatott és elérhető a felhasználó számára, és hogy a felhasználónak be kell-e kapcsolnia. Használhat például egy parancssáv gombot mikrofonjellel (lásd a parancssávokat) a rendelkezésre állás és az állapot megjelenítéséhez.

Folyamatos elismerési visszajelzést ad, hogy a felismerés során minimálisra csökkenjen a látszólagos válaszhiány.

Lehetővé teszi a felhasználók számára a felismerés szövegének módosítását billentyűzetbemenettel, egyértelműsítési kérésekkel, javaslatokkal vagy további beszédfelismeréssel.

Állítsa le a felismerést, ha a beszédfelismeréstől eltérő eszközről, például érintéssel vagy billentyűzettel észlel bemenetet. Ez a bemenet valószínűleg azt jelzi, hogy a felhasználó egy másik feladatra váltott, például kijavította a felismerési szöveget, vagy más űrlapmezőkkel kommunikált.

Adja meg, hogy mennyi ideig ne legyen beszédbemenet, amely azt jelzi, hogy a felismerés véget ért. Ne indítsa újra automatikusan a felismerést ezen időszak után, mivel ez általában azt jelzi, hogy a felhasználó nem folytatott kapcsolatot az alkalmazással.

Bizonyos esetekben szükség lehet hálózati kapcsolatra a beszédfelismerés támogatásához. Ha nem érhető el, tiltsa le az összes folyamatos felismerés felhasználói felületét, és állítsa le a felismerési munkamenetet.

Irányítás

A beszédbemenet műveleteket kezdeményezhet, parancsokat hívhat meg és feladatokat hajthat végre.

Ha a tér lehetővé teszi, érdemes lehet megjeleníteni az aktuális alkalmazáskörnyezet támogatott válaszait, példákkal az érvényes bemenetre. Ez a megközelítés csökkenti az alkalmazás által feldolgozandó lehetséges válaszokat, és kiküszöböli a felhasználó számára a félreértéseket.

Próbálja meg úgy megfogalmazni a kérdéseit, hogy a lehető legkonkrétabb választ kapja. Például a "Mit szeretne tenni ma?" nagyon nyitott, és nagyon nagy nyelvtani definíciót igényel a válaszok változatosságának köszönhetően. Másik lehetőségként a "Szeretne játszani vagy zenét hallgatni?" lehetőséggel a két érvényes válasz egyikére korlátozza a választ egy megfelelő kis nyelvtani definícióval. A kis nyelvtan sokkal könnyebben olvasható, és sokkal pontosabb felismerési eredményeket eredményez.

Kérjen megerősítést a felhasználótól, ha a beszédfelismerés megbízhatósága alacsony. Ha a felhasználó szándéka nem egyértelmű, jobb tisztázni, mint nem szándékos műveletet kezdeményezni.

Adjon meg egy vizuális jelzést, amely jelzi, hogy a beszédfelismerés támogatott és elérhető a felhasználó számára, és hogy a felhasználónak be kell-e kapcsolnia. Használhat például egy parancssáv gombot mikrofonjellel (lásd a parancssávok irányelveit) a rendelkezésre állás és az állapot megjelenítéséhez.

Ha a beszédfelismerési kapcsoló általában nem látható, érdemes lehet állapotjelzőt megjeleníteni az alkalmazás tartalomterületén.

Ha a felhasználó kezdeményezi a felismerést, fontolja meg a beépített felismerési felület konzisztenciájának használatát. A beépített felület testre szabható képernyőket tartalmaz, például példákkal, egyértelműsítésekkel, megerősítésekkel és hibákkal.

A képernyők a megadott korlátozásoktól függően eltérőek lehetnek:

  • Előre definiált nyelvtan (diktálás vagy webes keresés)

    • A Hallgatás képernyő.
    • A Gondolkodó képernyő.
    • A Hallotta, amit mond képernyő vagy a hiba képernyő.
  • Szavak vagy kifejezések listája vagy SRGS-nyelvtani fájl

    • A Hallgatás képernyő.
    • A "Mondtad" képernyő, ha a felhasználó által elmondott szöveg több lehetséges eredményként is értelmezhető.
    • A Hallotta, amit mond képernyő vagy a hiba képernyő.

A Figyelés képernyőn a következőt teheti:

  • A címsor szövegének testreszabása.
  • Adjon meg példaszöveget arról, hogy mit mondhat a felhasználó.
  • Adja meg, hogy megjelenik-e a Kimondott szöveg képernyő.
  • Olvassa vissza a felismert karakterláncot a felhasználónak a következő Kimondott szöveg képernyőn.

Az alábbi képek egy SRGS-definíciós kényszert használó beszédfelismerő beépített felismerési folyamatára mutatnak példát. Ebben a példában a beszédfelismerés sikeres.

kezdeti felismerési képernyő egy sgrs-nyelvhelyességi fájlon alapuló korlátozáshoz

köztes felismerési képernyő egy sgrs-nyelvhelyességi fájlon alapuló korlátozáshoz

végleges felismerési képernyő egy sgrs-nyelvhelyességi fájlon alapuló korlátozáshoz

Mindig figyel

Az alkalmazás a felhasználói beavatkozás nélkül azonnal meghallgathatja és felismerheti a beszédbemenetet.

Az alkalmazáskörnyezet alapján testre szabhatja a nyelvhelyességi korlátozásokat. Ez a megközelítés nagyon célzott és releváns marad a beszédfelismerési élményben, és minimalizálja a hibákat.

"Mit mondhatnék?"

Ha engedélyezi a beszédbemenetet, segítsen a felhasználóknak felderíteni, hogy mit érthet az alkalmazás, és milyen műveleteket hajthat végre.

Ha a felhasználók engedélyezik a beszédfelismerést, fontolja meg a parancssáv vagy egy menüparancs használatát az aktuális környezetben támogatott összes szó és kifejezés megjelenítéséhez.

Ha a beszédfelismerés mindig be van kapcsolva, fontolja meg a "Mit mondhatok?" kifejezést minden oldalhoz. Amikor a felhasználó ezt a kifejezést mondja, jelenítse meg az aktuális környezetben támogatott összes szót és kifejezést. Ezzel a kifejezéssel a felhasználók egységes módon fedezhetik fel a beszédképességeket a rendszerben.

Felismerési hibák

A beszédfelismerés sikertelen lehet. Hibák akkor fordulnak elő, ha a hangminőség gyenge, ha a felismerő egy kifejezésnek csak egy részét észleli, vagy ha a felismerő egyáltalán nem észlel bemenetet.

Kezelje a hibát elegánsan, segítsen a felhasználónak megérteni, hogy miért hiúsult meg a felismerés, és hogyan állítható helyre.

Az alkalmazásnak tájékoztatnia kell a felhasználót arról, hogy a felismerő nem értette őket, és hogy újra kell próbálkoznia.

Érdemes lehet példákat megadni egy vagy több támogatott kifejezésre. A felhasználó valószínűleg megismétel egy javasolt kifejezést, ami növeli a felismerési sikert.

Megjelenítheti a felhasználó által kiválasztandó lehetséges egyezések listáját. Ez a megközelítés sokkal hatékonyabb lehet, mint ismét végigmenni a felismerési folyamaton.

Mindig támogatja az alternatív beviteli típusokat, ami különösen hasznos az ismétlődő felismerési hibák kezeléséhez. Javasolhatja például, hogy a felhasználó billentyűzetet használjon, vagy érintéssel vagy egérrel válasszon a lehetséges egyezések listájából.

Használja a beépített beszédfelismerési felületet, mivel olyan képernyőket tartalmaz, amelyek tájékoztatják a felhasználót arról, hogy a felismerés nem volt sikeres, és lehetővé teszi, hogy a felhasználó újabb felismerési kísérletet tegyen.

Figyelje meg a hangbemenettel kapcsolatos problémákat, és próbálja meg kijavítani. A beszédfelismerő képes észlelni a hangminőséggel kapcsolatos problémákat, amelyek hátrányosan befolyásolhatják a beszédfelismerés pontosságát. A beszédfelismerő által megadott információk segítségével tájékoztathatja a felhasználót a problémáról, és lehetőség szerint elvégezheti a korrekciós műveleteket. Ha például a mikrofon hangerő-beállítása túl alacsony, megkérheti a felhasználót, hogy hangosabban beszéljen, vagy kapcsolja fel a hangerőt.

Constraints

A korlátozások vagy nyelvtanok határozzák meg a beszédfelismerő által alkalmazható kimondott szavakat és kifejezéseket. Megadhatja az előre definiált webszolgáltatás-nyelvtanok egyikét, vagy létrehozhat egy egyéni nyelvtant, amelyet az alkalmazással telepíthet.

Előre definiált nyelvtanok

Az előre definiált diktálás és a webkeresési nyelvtanok anélkül biztosítják az alkalmazás beszédfelismerését, hogy nyelvtant kellene létrehoznia. Ha ezeket a nyelvtanokat használja, egy távoli webszolgáltatás beszédfelismerést végez, és visszaadja az eredményeket az eszköznek.

  • Az alapértelmezett szabadszöveges diktálási nyelvtan felismeri a legtöbb olyan szót és kifejezést, amelyet a felhasználó egy adott nyelven el tud mondani. Rövid kifejezések felismerésére van optimalizálva. Szabadszöveges diktálást akkor használjon, ha nem szeretné korlátozni, hogy a felhasználó milyen típusú dolgokat mondhat el. A tipikus felhasználási módok közé tartozik a jegyzetek létrehozása vagy az üzenet tartalmának diktálása.
  • A webes keresés nyelvhelyessége, például a diktálási nyelvhelyesség sok olyan szót és kifejezést tartalmaz, amelyet a felhasználó mondhat. Azonban úgy van optimalizálva, hogy felismerje azokat a kifejezéseket, amelyeket a felhasználók általában használnak a weben való kereséskor.

Megjegyzés:

Mivel az előre definiált diktálás és a webkeresési nyelvtanok nagyok lehetnek, és mivel online állapotban vannak (nem az eszközön), előfordulhat, hogy a teljesítmény nem olyan gyors, mint az eszközön telepített egyéni nyelvtan esetében.

Ezek az előre definiált nyelvtanok akár 10 másodpercnyi beszédbemenetet is képesek felismerni, és nem igényelnek szerzői munkát. Ehhez azonban hálózati kapcsolatra van szükség.

Egyéni nyelvtanok

Tervezzen és szerkesszen egyéni nyelvtant, és telepítse az alkalmazáson belül. Az eszköz egyéni korlátozással hajtja végre a beszédfelismerést.

  • A programozott listakorlátozások egyszerű nyelvtani módszereket biztosítanak a szavak vagy kifejezések listájának használatával. A listakényszer jól használható a rövid, különálló kifejezések felismeréséhez. A nyelvhelyességi szavak explicit megadása szintén javítja a felismerési pontosságot, mivel a beszédfelismerési motornak csak a beszédet kell feldolgoznia egyezés megerősítéséhez. A listát programozott módon is frissítheti.

  • Az SRGS-nyelvtan olyan statikus dokumentum, amely a programozott listakényszerekkel ellentétben az SRGS 1.0-s verziója által meghatározott XML-formátumot használja. Az SRGS-nyelvtan a beszédfelismerési élmény legnagyobb vezérlését biztosítja azáltal, hogy több szemantikai jelentést rögzít egyetlen felismerésben.

    Íme néhány tipp az SRGS-nyelvtanok készítéséhez:

    • Tartsa kicsiben az egyes nyelvtani szabályokat. A kevesebb kifejezést tartalmazó nyelvtanok általában pontosabb felismerési lehetőséget biztosítanak, mint a sok kifejezést tartalmazó nagyobb nyelvtanok. Jobb, ha több kisebb nyelvtant használ adott forgatókönyvekhez, mint egyetlen nyelvtant a teljes alkalmazáshoz.
    • Tájékoztassa a felhasználókat arról, hogy mit kell mondani az egyes alkalmazáskörnyezetekhez, és szükség szerint engedélyezze és tiltsa le a nyelvhelyességi beállításokat.
    • Tervezzen meg minden nyelvhelyességet, hogy a felhasználók többféleképpen is kimondhassák a parancsokat. Használja például a GARBAGE szabályt a nyelvhelyesség által nem definiált beszédbemenetek egyeztetésére. Ez a szabály lehetővé teszi, hogy a felhasználók további szavakat beszéljenek, amelyek nem jelentenek jelentést az alkalmazásnak. Például: "adj nekem", "és", "uh", "talán", és így tovább.
    • Használja a sapi:subset elemet a beszédbemenet egyeztetéséhez. Ez az elem az SRGS-specifikáció Microsoft-bővítménye, amely segít a részleges kifejezések egyeztetésében.
    • Próbálja meg elkerülni azokat a kifejezéseket a nyelvtanban, amelyek csak egy szótagot tartalmaznak. A felismerés általában pontosabb a két vagy több szótagot tartalmazó kifejezések esetében.
    • Kerülje a hasonlónak tűnő kifejezések használatát. Például az olyan kifejezések, mint a "hello", a "bellow" és a "fellow" megzavarhatják a felismerési motort, és rossz felismerési pontosságot eredményezhetnek.

Megjegyzés:

A használni kívánt kényszer típusa a létrehozni kívánt felismerés összetettségétől függ. Bármely típus lehet a legjobb választás egy adott felismerési feladathoz, és előfordulhat, hogy az alkalmazásban minden típusú korlátozásra talál felhasználási módot.

Egyéni kiejtések

Ha az alkalmazás speciális szókincset tartalmaz szokatlan vagy kitalált szavakkal, vagy szokatlan kiejtéssel rendelkező szavakat, akkor egyéni kiejtések definiálásával javíthatja ezeknek a szavaknak a felismerési teljesítményét.

A szavak és kifejezések kis listájához vagy a ritkán használt szavak és kifejezések listájához hozzon létre egyéni kiejtéseket egy SRGS-nyelvtanban. További információt a tokenelemben talál.

A szavak és kifejezések nagyobb listájához, illetve a gyakran használt szavakhoz és kifejezésekhez hozzon létre külön kiejtési lexikondokumentumokat. További információt a Lexikonok és a Fonetikus ábécék című témakörben talál.

Testing

Tesztelje a beszédfelismerés pontosságát és a támogató felhasználói felületet az alkalmazás célközönségével. Ez a megközelítés segít meghatározni, hogy milyen hatékony a beszéd interakciós élmény az alkalmazásban. A felhasználók például azért kapnak rossz felismerési eredményeket, mert az alkalmazás nem figyel egy gyakori kifejezésre?

Módosítsa a nyelvhelyességet a kifejezés támogatásához, vagy adja meg a felhasználóknak a támogatott kifejezések listáját. Ha már megadja a támogatott kifejezések listáját, győződjön meg arról, hogy a felhasználók könnyen megtalálják.

Szövegfelolvasás (TTS)

A TTS egyszerű szövegből vagy SSML-ből hoz létre beszédkimenetet.

Próbáljon meg udvarias és biztató utasításokat tervezni.

Fontolja meg, hogy hosszú szöveges sztringeket kell-e olvasnia. Az egy dolog, hogy meghallgasson egy szöveges üzenetet, de egészen más, hogy a keresési eredmények hosszú listáját hallgassa meg, amelyre nehéz emlékezni.

Adjon meg médiavezérlőket a TTS szüneteltetéséhez vagy leállításához.

Hallgassa meg az összes TTS-sztringet, hogy érthetőek és természetesek legyenek.

  • A szavak szokatlan sorozatának, illetve a beszélő részszámainak vagy írásjeleinek összefűzése a kifejezés érthetetlenné válását okozhatja.
  • A beszéd természetellenesen hangzik, ha a próza vagy az ütem különbözik attól, ahogyan egy natív beszélő kimondana egy kifejezést.

Mindkét problémát az SSML használatával oldhatja meg egyszerű szöveg helyett a beszédszintetizátor bemeneteként. További információ az SSML-ről a következő hivatkozásoknál található: Az SSML használata a szintetizált beszéd szabályozásához és A beszédszintézis jelölőnyelv referenciája.

Példák