Specifikace gramatiky rozpoznávání řeči - Speech Recognition Grammar Specification - Wikipedia
![]() | tento článek vyžaduje pozornost odborníka na výpočetní techniku.Květen 2009) ( |
Specifikace gramatiky rozpoznávání řeči (SRGS) je a W3C standard jak gramatiky pro rozpoznávání řeči jsou specifikovány. Gramatika rozpoznávání řeči je sada slovních vzorů a říká systému rozpoznávání řeči, co lze od člověka očekávat. Například pokud voláte auto-obsluha aplikace, vyzve vás k zadání jména osoby (s očekáváním, že váš hovor bude přenesen na telefon této osoby). Poté spustí rozpoznávač řeči a dá mu gramatiku rozpoznávání řeči. Tato gramatika obsahuje jména osob v adresáři automatického ošetřovatele a sbírku vzorů vět, které jsou typickými odpověďmi volajících na výzvu.
SRGS určuje dvě alternativní, ale ekvivalentní syntaxe, jednu na základě XML a jeden pomocí rozšířeného BNF formát. V praxi se syntaxe XML používá častěji.
Formulář ABNF i XML mají expresivní sílu a bezkontextová gramatika. Gramatický procesor, který nepodporuje rekurzivní gramatiky, má expresivní sílu a konečný stavový stroj nebo regulární výraz Jazyk.
Pokud by nástroj pro rozpoznávání řeči vrátil pouze řetězec obsahující skutečná slova vyslovená uživatelem, musela by hlasová aplikace provést zdlouhavou práci s extrahováním sémantického významu z těchto slov. Z tohoto důvodu mohou být gramatiky SRGS zdobeny štítek prvky, které při spuštění vytvářejí sémantický výsledek. SRGS neurčuje obsah prvků značky: provádí se v doprovodném standardu W3C, Sémantická interpretace pro rozpoznávání řeči (SISR). SISR je založen na ECMAScript a příkazy ECMAScript uvnitř značek SRGS vytvářejí objekt sémantického výsledku ECMAScript, který je pro hlasovou aplikaci snadno zpracovatelný.
SRGS i SISR jsou doporučení W3C, závěrečná fáze sledování standardů W3C. W3C VoiceXML Standard, který definuje, jak jsou určeny hlasové dialogy, závisí do značné míry na SRGS a SISR.
Příklady
Zde je příklad rozšířeného BNF SRGS, který lze použít v aplikaci automatického obsluhy:
#ABNF 1.0 ISO-8859-1; // Výchozí jazyk gramatiky je americká angličtina jazyk en-US; // Jedna jazyková příloha k tokenům // Všimněte si, že „fr-CA“ (kanadská francouzština) se vztahuje pouze na // slovo „oui“ z důvodu pravidel priority $ ano = Ano | oui! fr-CA; // Jedna jazyková příloha k rozšíření $ people1 = (Michel Tremblay | André Roy)! fr-CA; // Zpracování jazykových výslovností stejného slova // Schopný rozpoznávač řeči bude poslouchat mexickou španělštinu a // Výslovnosti v americké angličtině. $ people2 = Jose! En-US | Jose! Es-MX; /** * Vícejazyčný vstup možný * @příklad mohu mluvit s Andrým Royem * @příklad mohu mluvit s Josem */ veřejnost $ požadavek = mohu mluvit s ($ people1 | $ people2);
Tady je stejný příklad SRGS pomocí formuláře XML:
<?xml version="1.0" encoding="ISO-8859-1"?> „http://www.w3.org/TR/speech-grammar/grammar.dtd“> <!-- the default grammar language is US English --> xmlns =„http://www.w3.org/2001/06/grammar“ xmlns: xsi =„http://www.w3.org/2001/XMLSchema-instance“ xsi: schemaLocation =„http://www.w3.org/2001/06/grammar http://www.w3.org/TR/speech-grammar/grammar.xsd " xml: lang =„en-US“ verze ="1.0"> <!-- jednojazyčná příloha k tokenům „ano“ zdědí anglický jazyk v USA „oui“ je kanadský francouzský jazyk --> id ="Ano"> <one-of> <item>Ano</item> xml: lang =„fr-CA“>oui</item> </one-of> </rule> <!-- Single language attachment to an expansion --> id =„people1“> xml: lang =„fr-CA“> <item>Michel Tremblay</item> <item>André Roy</item> </one-of> </rule> <!-- Zpracování jazykových výslovností stejného slova Schopný rozpoznávač řeči bude poslouchat mexickou španělštinu a americká angličtina. --> id =„people2“> <one-of> xml: lang =„en-US“>Jose</item> xml: lang =„es-MX“>Jose</item> </one-of> </rule> <!-- Multi-lingual input is possible --> id ="žádost" rozsah ="veřejnost"> <example> mohu mluvit s Andrým Royem </example> <example> mohu mluvit s Josem </example> mohu mluvit s <one-of> <item> uri =„# people1“/> </item> <item> uri =„# people2“/> </item> </one-of> </rule></grammar>