Rozpoznawanie mowy Gramatyka Specyfikacja - Speech Recognition Grammar Specification

Rozpoznawanie mowy Gramatyka Specyfikacja (SRGS) jest W3C standard jak gramatyki rozpoznawania mowy są określone. Gramatyki rozpoznawanie mowy jest zbiorem wzorców słownych i opowiada system rozpoznawania mowy, czego się spodziewać człowieka do powiedzenia. Na przykład, jeśli wywołujesz automatycznego obsługujący aplikację, zostanie wyświetlony monit o podanie nazwy osoby (przy założeniu, że połączenie zostanie przeniesione do telefonu tej osoby). Będzie on następnie założyć rozpoznawania mowy, nadając jej gramatykę rozpoznawania mowy. Gramatyka zawiera nazwiska osób w katalogu Automatyczną i zbiór wzorców zdanie, które są typowe reakcje z dzwoniących do wiersza.

SRGS określa dwie alternatywne składnie, ale równoważne jeden opartych na XML , a drugi przy użyciu rozszerzonej BNF formatu. W praktyce, składnia XML jest używany częściej.

Zarówno ABNF i forma XML mają wyrazistą moc gramatyki bezkontekstowych . Procesor gramatyka, że nie obsługuje rekurencyjne gramatyk ma siłę wyrazu o skończonej maszyny stanów lub wyrażenie regularne języku.

Jeśli rozpoznawania mowy wróciła tylko ciąg zawierający rzeczywiste słowa wypowiadane przez użytkownika, aplikacja głos musiałby zrobić żmudne zadanie wydobycia znaczenie semantyczne z tych słów. Z tego powodu, gramatyki SRGS mogą być ozdobione znaczników elementów, które gdy są wykonywane, budować wynik semantycznej. SRGS nie określa zawartość elementów TAG: to odbywa się w standardzie W3C towarzysz, semantyczna interpretacja do rozpoznawania mowy (SISR). SISR bazuje na ECMAScript oraz oświadczenia ECMAScript wewnątrz tagów SRGS przyczyniać się do ECMAScript semantyczną przedmiotu wynik, który jest łatwy do aplikacji głosowych przetwarzać.

Zarówno SRGS i SISR są rekomendacjami W3C, końcowy etap torze standardami W3C. W3C VoiceXML norma, która określa, jak dialogi głosowe są określone, zależy w dużej mierze od SRGS i SISR.

Przykłady

Oto przykład z rozszerzonej BNF z SRGS, ponieważ może on być stosowany w aplikacji automatycznego operatora:

 #ABNF 1.0 ISO-8859-1;
 
 // Default grammar language is US English
 language en-US;
 
 // Single language attachment to tokens
 // Note that "fr-CA" (Canadian French) is applied to only
 //  the word "oui" because of precedence rules
 $yes = yes | oui!fr-CA;
 
 // Single language attachment to an expansion
 $people1 = (Michel Tremblay | André Roy)!fr-CA;
 
 // Handling language-specific pronunciations of the same word
 // A capable speech recognizer will listen for Mexican Spanish and
 //   US English pronunciations.
 $people2 = Jose!en-US | Jose!es-MX;
 
 /**
  * Multi-lingual input possible
  * @example may I speak to André Roy
  * @example may I speak to Jose
  */
 public $request = may I speak to ($people1 | $people2);

Oto sam przykład SRGS, korzystając z formularza XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"
                  "http://www.w3.org/TR/speech-grammar/grammar.dtd">
  
<!-- the default grammar language is US English -->
<grammar 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" version="1.0">
  
  <!--
     single language attachment to tokens
     "yes" inherits US English language
     "oui" is Canadian French language
  -->
  <rule id="yes">
    <one-of>
      <item>yes</item>
      <item xml:lang="fr-CA">oui</item>
    </one-of>
  </rule> 
  
  <!-- Single language attachment to an expansion -->
  <rule id="people1">
    <one-of xml:lang="fr-CA">
      <item>Michel Tremblay</item>
      <item>André Roy</item>
    </one-of>
  </rule>
  
  <!--
     Handling language-specific pronunciations of the same word
     A capable speech recognizer will listen for Mexican Spanish 
     and US English pronunciations.
  -->
  <rule id="people2">
    <one-of>
      <item xml:lang="en-US">Jose</item>
      <item xml:lang="es-MX">Jose</item>
    </one-of>
  </rule>
  
  <!-- Multi-lingual input is possible -->
  <rule id="request" scope="public">
    <example> may I speak to André Roy </example>
    <example> may I speak to Jose </example>
  
    may I speak to
    <one-of>
      <item> <ruleref uri="#people1"/> </item>
      <item> <ruleref uri="#people2"/> </item>
    </one-of>
  </rule>
</grammar>

Zobacz też

Linki zewnętrzne