Sdílet prostřednictvím


Interakce řeči

Integrujte rozpoznávání řeči a převod textu na řeč (označované také jako TTS nebo syntézu řeči) přímo do uživatelského prostředí vaší aplikace.

Rozpoznávání řeči Rozpoznávání řeči převádí slova mluvená uživatelem na text pro zadávání formulářů, pro diktování textu, k určení akce nebo příkazu a k provádění úkolů. Podporují se předdefinované gramatiky pro diktování volného textu i webové vyhledávání a vlastní gramatiky vytvořené pomocí specifikace SRGS (Speech Recognition Grammar Specification).

TTS TTS používá modul syntézy řeči (hlas) k převodu textového řetězce na mluvená slova. Vstupní řetězec může být buď základní, neoznačený text, nebo složitější jazyk SSML (Speech Synthesis Markup Language). SSML poskytuje standardní způsob ovládání vlastností řeči, jako je výslovnost, hlasitost, intonace, rychlost a zdůraznění.

Ostatní komponenty související s řečí:Cortana v aplikacích pro Windows používá přizpůsobené hlasové příkazy (mluvené nebo napsané) ke spuštění aplikace na popředí (aplikace se zaměřuje, stejně jako kdyby se spustila z nabídky Start) nebo aktivuje jako služba na pozadí (Cortana si zachová fokus, ale výsledky z aplikace poskytuje). Podívejte se na interakce Cortany v aplikacích pro Windows.

Návrh designu hlasové interakce

Navržená a implementovaná promyšleně může být řeč robustním a příjemným způsobem, jak můžou lidé pracovat s vaší aplikací, doplnit ji nebo dokonce nahradit, klávesnici, myš, dotykové ovládání a gesta.

Tyto pokyny a doporučení popisují, jak nejlépe integrovat rozpoznávání řeči i TTS do prostředí interakce vaší aplikace.

Pokud uvažujete o podpoře interakcí řeči ve vaší aplikaci:

  • Jaké akce je možné provádět prostřednictvím řeči? Může uživatel přecházet mezi stránkami, vyvolat příkazy nebo zadat data jako textová pole, stručné poznámky nebo dlouhé zprávy?
  • Je řečový vstup dobrou volbou pro dokončení úkolu?
  • Jak uživatel pozná, kdy je dostupný vstup řeči?
  • Naslouchá aplikace vždy nebo musí uživatel provést akci, aby aplikace vstoupila do režimu naslouchání?
  • Jaké fráze iniciují akci nebo chování? Musí být na obrazovce výčty frází a akcí?
  • Jsou vyžadovány výzva, potvrzení a obrazovka pro vyjasnění, nebo je třeba použití TTS?
  • Jaký je dialog interakce mezi aplikací a uživatelem?
  • Vyžaduje se pro kontext vaší aplikace vlastní nebo omezená slovní zásoba (například lékařství, věda nebo národní prostředí)?
  • Vyžaduje se připojení k síti?

Textové zadání

Řeč pro zadávání textu může být v rozsahu od krátkého formátu (jednoslovné slovo nebo fráze) až po dlouhý formát (souvislé diktování). Krátký vstup formuláře musí mít délku kratší než 10 sekund, zatímco délka dlouhé relace zadávání formuláře může mít délku až dvě minuty. (Dlouhý formulářový vstup lze restartovat bez zásahu uživatele, aby to působilo dojmem nepřetržitého diktování.)

Měli byste poskytnout vizuální upozornění, které indikuje, že rozpoznávání řeči je podporované a dostupné uživateli a jestli ho uživatel potřebuje zapnout. Například tlačítko panelu příkazů s glyfem mikrofonu (viz panely příkazů) se dá použít k zobrazení dostupnosti i stavu.

Poskytněte průběžnou zpětnou vazbu k rozpoznávání, abyste minimalizovali jakýkoliv zjevný nedostatek odezvy během rozpoznávání.

Umožnit uživatelům revidovat text rozpoznávání pomocí zadání pomocí klávesnice, výzev k odstranění nejednoznačnosti, návrhů nebo dalšího rozpoznávání řeči.

Zastavení rozpoznávání, pokud se zjistí vstup ze zařízení jiného než rozpoznávání řeči, jako je dotykové ovládání nebo klávesnice. To pravděpodobně značí, že se uživatel přesunul do jiného úkolu, například oprava textu rozpoznávání nebo interakce s jinými poli formuláře.

Zadejte časový úsek, kdy žádný vstup řeči neznamená, že rozpoznávání skončilo. Po uplynutí této doby automaticky nerestartujte rozpoznávání, protože obvykle značí, že se uživatel přestal s vaší aplikací zapojovat.

Zakažte veškeré uživatelské rozhraní pro průběžné rozpoznávání a ukončete relaci rozpoznávání, pokud síťové připojení není k dispozici. Nepřetržité rozpoznávání vyžaduje síťové připojení.

Velící

Vstup řeči může iniciovat akce, vyvolat příkazy a provádět úlohy.

Pokud je místo povolené, zvažte zobrazení podporovaných odpovědí pro aktuální kontext aplikace s příklady platného vstupu. To snižuje potenciální odpovědi, které aplikace musí zpracovat, a také eliminuje nejasnosti pro uživatele.

Snažte se zarámovat otázky tak, aby vyvolaly co nejvíce konkrétní odpověď. Například "Co chcete dnes udělat?" je velmi otevřená a vyžadovala by velmi velkou definici gramatiky, protože by se odpovědi mohly lišit. Alternativně možnost "Chcete hrát hru nebo poslouchat hudbu?" omezuje odpověď na jednu ze dvou platných odpovědí s odpovídající malou gramatickou definicí. Malá gramatika se mnohem snáze vytváří a vede k mnohem přesnějším výsledkům rozpoznávání.

Pokud je spolehlivost rozpoznávání řeči nízká, požádejte uživatele o potvrzení. Pokud je záměr uživatele nejasný, je lepší získat objasnění, než zahájit nezamýšlenou akci.

Měli byste poskytnout vizuální upozornění, které indikuje, že rozpoznávání řeči je podporované a dostupné uživateli a jestli ho uživatel potřebuje zapnout. Například tlačítko panelu příkazů s glyfem mikrofonu (viz Pokyny pro panely příkazů) se dá použít k zobrazení dostupnosti i stavu.

Pokud je přepínač rozpoznávání řeči obvykle mimo zobrazení, zvažte zobrazení indikátoru stavu v oblasti obsahu aplikace.

Pokud je rozpoznávání inicializováno uživatelem, zvažte použití integrovaného prostředí pro rozpoznávání pro konzistenci. Integrované prostředí zahrnuje přizpůsobitelné obrazovky s výzvami, příklady, nejednoznačností, potvrzeními a chybami.

Obrazovky se liší v závislosti na zadaných omezeních:

  • Předdefinovaná gramatika (diktování nebo vyhledávání na webu)

    • Obrazovka Naslouchání
    • Obrazovka Thinking.
    • Obrazovka „Slyšeli jsme, co říkáš“ nebo obrazovka s chybou.
  • Seznam slov nebo frází nebo gramatického souboru SRGS

    • Obrazovka Naslouchání
    • Obrazovka Did you say, pokud by to, co uživatel řekl, mohlo být interpretováno jako více než jeden možný výsledek.
    • Obrazovka „Slyšeli jsme, co říkáš“ nebo obrazovka s chybou.

Na obrazovce Naslouchání můžete:

  • Upravte text nadpisu.
  • Zadejte ukázkový text toho, co může uživatel říct.
  • Určete, zda je zobrazena obrazovka Heard you say.
  • Přečtěte rozpoznaný text zpět uživateli na obrazovce Heard you say.

Tady je příklad vestavěného toku rozpoznávání pro rozpoznávač řeči, který používá omezení definované SRGS. V tomto příkladu je rozpoznávání řeči úspěšné.

obrazovka počátečního rozpoznávání omezení na základě gramatického souboru sgrs

Obrazovka s průběžným rozpoznáváním omezení na základě gramatického souboru sgrs

obrazovka pro konečné rozpoznávání omezení na základě gramatického souboru sgrs

Vždy nasloucháme

Aplikace může naslouchat a rozpoznávat vstup řeči hned po spuštění aplikace bez zásahu uživatele.

Na základě kontextu aplikace byste měli přizpůsobit gramatická omezení. Díky tomu je rozpoznávání řeči velmi cílené a relevantní pro aktuální úkol a minimalizuje chyby.

"Co můžu říct?"

Když je povolený vstup řeči, je důležité uživatelům pomoct zjistit, co přesně je možné pochopit a jaké akce je možné provést.

Pokud je rozpoznávání řeči povolené uživatelem, zvažte použití panelu příkazů nebo příkazu nabídky k zobrazení všech slov a frází podporovaných v aktuálním kontextu.

Pokud je rozpoznávání řeči vždy zapnuté, zvažte přidání fráze "Co můžu říct?" na každou stránku. Když uživatel řekne tuto frázi, zobrazí se všechna slova a fráze podporované v aktuálním kontextu. Použití této fráze poskytuje uživatelům konzistentní způsob, jak zjistit funkce řeči v celém systému.

Selhání rozpoznávání

Rozpoznávání řeči selže. K chybám dochází, když je kvalita zvuku špatná, pokud je rozpoznána pouze část fráze nebo když se vůbec nezjistí žádný vstup.

Zpracujte selhání elegantně, pomozte uživateli pochopit, proč se rozpoznávání nezdařilo, a obnovit.

Vaše aplikace by měla uživatele informovat, že nepochopil a že to musí zkusit znovu.

Zvažte poskytnutí příkladů jedné nebo více podporovaných frází. Uživatel bude pravděpodobně opakovat navrženou frázi, která zvyšuje úspěšnost rozpoznávání.

Měli byste zobrazit seznam potenciálních shod, ze které si uživatel může vybrat. To může být mnohem efektivnější než opětovné procházení procesu rozpoznávání.

Vždy byste měli podporovat alternativní typy zadávání, což je užitečné zejména pro zpracování opakovaných chyb rozpoznávání. Můžete například navrhnout, aby se uživatel pokusil použít klávesnici, nebo pomocí dotykového ovládání nebo myši vybrat ze seznamu potenciálních shod.

Použijte integrované prostředí pro rozpoznávání řeči, protože obsahuje obrazovky, které uživatele informují, že rozpoznávání nebylo úspěšné, a umožní uživateli provést další pokus o rozpoznávání.

Poslechněte si a pokuste se opravit problémy se zvukovým vstupem. Rozpoznávání řeči dokáže rozpoznat problémy s kvalitou zvuku, která může nepříznivě ovlivnit přesnost rozpoznávání řeči. Informace, které poskytuje rozpoznávání řeči, můžete použít k informování uživatele o problému a k provedení nápravných akcí, pokud je to možné. Pokud je například nastavení hlasitosti na mikrofonu příliš nízké, můžete uživatele vyzvat, aby hlasitě mluvil nebo aby hlasitost vypnul.

Constraints

Omezení, neboli gramatiky, určují mluvená slova a fráze, které může rozpoznávač řeči identifikovat. Můžete zadat některou z předdefinovaných gramatik webových služeb nebo můžete vytvořit vlastní gramatiku nainstalovanou s vaší aplikací.

Předdefinované gramatiky

Předdefinované gramatiky diktování a vyhledávání na webu poskytují rozpoznávání řeči pro vaši aplikaci, aniž byste museli vytvářet gramatiku. Při použití těchto gramatik se rozpoznávání řeči provádí vzdálenou webovou službou a výsledky se vrátí do zařízení.

  • Výchozí gramatika diktování volného textu dokáže rozpoznat většinu slov a frází, které uživatel může říct v určitém jazyce, a je optimalizovaný pro rozpoznávání krátkých frází. Diktování volného textu je užitečné, když nechcete omezit druhy věcí, které může uživatel říct. Mezi obvyklé použití patří vytváření poznámek nebo diktování obsahu zprávy.
  • Gramatika vyhledávání na webu, například gramatika diktování, obsahuje velký počet slov a frází, které může uživatel říct. Je ale optimalizovaná tak, aby rozpoznala termíny, které lidé obvykle používají při vyhledávání na webu.

Poznámka:

Vzhledem k tomu, že předdefinované diktování a gramatiky vyhledávání na webu můžou být velké a protože jsou online (ne na zařízení), nemusí být výkon tak rychlý jako u vlastní gramatiky nainstalované v zařízení.

Tyto předdefinované gramatiky se dají použít k rozpoznávání až 10sekundového vstupu řeči a nevyžadují na vaší straně žádné úsilí o vytváření. Vyžadují však připojení k síti.

Vlastní gramatiky

Vlastní gramatika je navržena a vytvořena vámi a je nainstalována s vaší aplikací. Rozpoznávání řeči za použití vlastního omezení se provádí přímo na zařízení.

  • Omezení programového seznamu poskytují jednoduchý přístup k vytváření jednoduchých gramatik pomocí seznamu slov nebo frází. Omezení seznamu funguje dobře pro rozpoznávání krátkých, jedinečných frází. Explicitní zadání všech slov v gramatikě také zlepšuje přesnost rozpoznávání, protože modul pro rozpoznávání řeči musí zpracovávat pouze řeč a potvrdit shodu. Seznam lze také aktualizovat prostřednictvím kódu programu.

  • Gramatika SRGS je statický dokument, který na rozdíl od omezení seznamu programu používá formát XML definovaný SRGS verze 1.0. Gramatika SRGS poskytuje největší kontrolu nad prostředím rozpoznávání řeči tím, že umožňuje zachytit více sémantických významů v jediném rozpoznávání.

    Tady je několik tipů pro vytváření gramatiky SRGS:

    • Udržujte každou gramatiku jednoduchou. Gramatiky, které obsahují méně frází, mají tendenci poskytovat přesnější rozpoznávání než větší gramatiky, které obsahují mnoho frází. Pro konkrétní scénáře je lepší mít několik menších gramatik než mít jednu gramatiku pro celou aplikaci.
    • Dejte uživatelům vědět, co říct pro každý kontext aplikace, a podle potřeby povolit a zakázat gramatiky.
    • Navrhujte každou gramatiku tak, aby uživatelé mohli mluvit příkazy různými způsoby. Můžete například použít pravidlo GARBAGE ke shodě se vstupem řeči, který gramatika nedefinuje. Uživatelé tak můžou mluvit další slova, která nemají význam pro vaši aplikaci. Například "dej mi", "a", "ehm", "možná" a tak dále.
    • Pomocí elementu sapi:subset můžete pomoci s porovnáním s hlasovým vstupem. Toto je rozšíření Microsoft pro specifikaci SRGS, které pomáhá sladit s částečnými frázemi.
    • Snažte se vyhnout definování frází v gramatikě, které obsahují jenom jednu slabiku. Rozpoznávání má tendenci být přesnější u frází obsahujících dvě nebo více slabiek.
    • Nepoužívejte fráze, které zní podobně. Například fráze jako "hello", "bellow" a "fellow" mohou zmást modul rozpoznávání a vést k nízké přesnosti rozpoznávání.

Poznámka:

Typ omezení, který použijete, závisí na složitosti prostředí rozpoznávání, které chcete vytvořit. Každá z těchto možností může být nejlepší volbou pro konkrétní úlohu rozpoznávání a můžete najít použití pro všechny typy omezení ve vaší aplikaci.

Vlastní výslovnost

Pokud vaše aplikace obsahuje specializovanou slovní zásobu s neobvyklými nebo fiktivními slovy nebo slovy s neobvyklou výslovností, můžete zlepšit výkon rozpoznávání těchto slov definováním vlastních výslovností.

Pro malý seznam slov a frází nebo seznam zřídka používaných slov a frází můžete vytvořit vlastní výslovnost v gramatikě SRGS. Další informace najdete v elementu tokenu .

Pro větší seznamy slov a frází nebo často používaných slov a frází můžete vytvořit samostatné dokumenty výslovnosti. Další informace najdete v tématu Lexikony a fonetické abecedy .

Testing

Otestujte přesnost rozpoznávání řeči a jakékoli podpůrné uživatelské rozhraní s cílovou skupinou vaší aplikace. Toto je nejlepší způsob, jak určit efektivitu prostředí pro interakci s řečí ve vaší aplikaci. Mají například uživatelé špatné výsledky rozpoznávání, protože vaše aplikace neposlouchá běžnou frázi?

Upravte gramatiku tak, aby podporovala tuto frázi, nebo poskytněte uživatelům seznam podporovaných frází. Pokud už seznam podporovaných frází zadáte, ujistěte se, že je snadno zjistitelný.

Převod textu na řeč (TTS)

TTS generuje výstup řeči z prostého textu nebo SSML.

Zkuste navrhnout výzvy, které jsou zdvořilé a povzbudivé.

Zvažte, jestli byste měli číst dlouhé řetězce textu. Je jedna věc poslouchat textovou zprávu, ale docela další poslouchat dlouhý seznam výsledků hledání, které jsou obtížně zapamatovatelné.

Měli byste zadat ovládací prvky médií, které uživatelům umožní pozastavit nebo zastavit TTS.

Měli byste poslouchat všechny řetězce TTS, abyste se ujistili, že jsou srozumitelné a zní přirozeně.

  • Sestavení neobvyklé sekvence slov, čísel částí nebo interpunkce může způsobit, že věta nebude srozumitelná.
  • Řeč může znít nepřirozeně, když se prosody nebo četnost liší od toho, jak by rodilý mluvčí řekl frázi.

Oba problémy je možné vyřešit pomocí SSML místo prostého textu jako vstupu do syntetizátoru řeči. Další informace o SSML naleznete v tématu Použití SSML k řízení syntetizované řeči a Referenční informace o jazykových prvcích pro syntézu řeči.

Téma Description
Rozpoznávání řeči Pomocí rozpoznávání řeči můžete zadat vstup, zadat akci nebo příkaz a provádět úkoly.
Určení jazyka rozpoznávání řeči Zjistěte, jak vybrat nainstalovaný jazyk, který se má použít pro rozpoznávání řeči.
Definování omezení vlastního rozpoznávání Zjistěte, jak definovat a používat vlastní omezení pro rozpoznávání řeči.
Povolení průběžného diktování Naučte se zachytit a rozpoznat dlouhou formu, nepřetržitý diktovaný hlasový vstup.
Správa problémů se vstupem zvuku Zjistěte, jak spravovat problémy s přesností rozpoznávání řeči způsobenou kvalitou vstupu zvuku.
Nastavení časových limitů rozpoznávání řeči Nastavte, jak dlouho rozpoznávání řeči ignoruje ticho nebo nerozpoznatelné zvuky (babble) a pokračuje v poslechu hlasového vstupu.

  Ukázky