음성 인식 문법 사양
Speech Recognition Grammar Specification![]() | 이 기사는 컴퓨터 분야의 전문가의 주의를 필요로 한다.(2009년 5월) |
음성인식 문법규격(SRGS)은 음성인식 문법을 지정하는 방법에 대한 W3C 표준이다. 음성 인식 문법은 단어 패턴의 집합체로서, 사람이 어떤 말을 하기를 기대해야 하는지를 음성 인식 시스템에 알려준다. 예를 들어 자동참석 어플리케이션에 전화를 걸면 (당신의 전화가 그 사람의 전화기로 옮겨질 것이라는 기대감으로) 사람의 이름을 묻게 된다. 그런 다음 음성 인식기를 시작하여 음성 인식 문법을 제공한다. 이 문법은 자동 수행자의 디렉토리에 있는 사람들의 이름과 호출자의 프롬프트에 대한 일반적인 응답인 문장 패턴의 모음입니다.
SRGS는 XML에 기반한 구문과 증강 BNF 형식을 사용하는 구문을 각각 두 개 지정한다. 실제로 XML 구문은 더 자주 사용된다.
ABNF와 XML 형식 모두 문맥이 없는 문법의 표현력을 가지고 있다. 재귀적 그래머를 지원하지 않는 문법 프로세서는 유한 상태 기계나 정규 표현 언어의 표현력을 가지고 있다.
만약 음성 인식자가 사용자가 실제로 말하는 단어를 포함하는 문자열만 반환했다면, 음성 애플리케이션은 그 단어에서 의미적 의미를 추출하는 지루한 작업을 해야 할 것이다. 이 때문에 SRGS 그래머를 태그 요소로 장식할 수 있으며, 이를 실행하면 의미적 결과를 축적한다. SRGS는 태그 요소의 내용을 명시하지 않는다: 이것은 동반자 W3C 표준인 음성 인식을 위한 의미 해석(SISR)에서 이루어진다. SISR은 ECMAScript를 기반으로 하며, SRGS 태그 내부의 ECMAScript 문은 음성 애플리케이션이 처리하기 쉬운 ECMascript 의미 결과 객체를 구축한다.
SRGS와 SISR은 모두 W3C 표준 트랙의 최종 단계인 W3C 권장사항이다. 음성 대화 상자를 지정하는 방법을 정의하는 W3C VoiceXML 표준은 SRGS와 SISR에 크게 의존한다.
예
다음은 SRGS의 강화된 BNF의 예로서, 자동 수행 애플리케이션에서 사용될 수 있다.
#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; // 동일한 단어의 언어별 발음을 다루는 능력 있는 음성 인식자는 멕시코어 및//미국어 발음을 들을 것이다. $people2 = Jose!en-US Jose!es-MX; /*** * 다국어 입력 가능 * 예를 들어 André Roy와 통화할 수 있음 * * 예시 * / $public request = $people2;
XML 양식을 사용한 동일한 SRGS 예:
<?xml 버전="1.0" 인코딩="ISO-8859-1"?>>!DOCTYPE 문법 PUBLIC"-//W3C//DTD GRAMMAR 1.0//EN""http://www.w3.org/TR/speech-grammar/grammar.dtd">>!--기본 문법 언어는 미국 영어,><>문법 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">,>!토큰을--하나의 언어 부착"네", 미국 영어 언어"oui"은 캐나다의 프랑스 언어-->,<>규칙 id="네">,<>one-of>,<>item>, yes<, /item>,<>항목 xml:lang="fr-CA">, oui<, /item>,<>/one-of>를 상속합니다. <>/rule>,>!--단일 언어 attac.확장 -->< rule id="people1"> <one-of xml:lang="fr-CA"><항목>미셸 트런블레이(목격)앙드레 Roy<, /item>,<>/one-of>,<>/rule>,>!...그 유능한 연설 인식기 멕시코 스페인어와 미국 영어 발음을 들을 거 같은 말의 언어별 발음을 처리합니다.><>규칙 id="people2">,<>one-of>,<>항목 xml:lang="en-US">, Jose<, /item>,<>항목. Xml:lang="es-MX">, Jose<, /item>,<>/one-of>,<>/rule>,>!--Multi-lingual.넣다--><>규칙 id="요청"scope="공공">,<>example>. 나는 앙드레 로이<>/example>,<>example>와 통화할 수도 있고 나는 Jose<>/example>와 통화할 수 있다. 나는 <와 통화할 수도 있고one-of>,<>item>,<>ruleref uri="#people1"/>,<>/item>,<>item>,<>ruleref uri="#people2"/>,<>/item>,<>/one-of>, 가능하다. <>/rule>,<>/grammar>.