규칙 문법(Rule Grammar)
규칙 문법(Rule Grammar) 파일을 이용한 음성 인식
AmiVoice API Private에서 사용 가능한 "音声入力_ルール" 엔진(-a-rule-input-private)은 사용자가 작성한 규칙 문법 파일을 사용하여 음성 인식을 수행할 수 있습니다. 예를 들어, IVR 시스템에서 고객 정보를 음성 인식할 때, 회원 번호 확인 등 일정한 규칙에 따라 제한된 단어만 사용되는 발화가 예상되는 상황에서 효과적입니다.
규칙 문법 파일 형식
"音声入力_ルール" 엔진에서는 JSpeech Grammar Format(JSGF)으로 작성된 문법 파일(JSGF 문법 파일) 또는 Speech Recognition Grammar Specification(SRGS)으로 작성된 문법 파일(SRGF 문법 파일)을 사용할 수 있습니다. 이러한 형식을 사용하여 음성 인식 엔진이 인식해야 할 구문(단어 집합)과 태그(구문이 인식되었을 때 부가 정보로 애플리케이션에 반환되는 문자열)를 제한적으로 기술할 수 있습니다. 신규 문법 파일을 작성하는 경우 JSGF 문법 파일을 권장합니다. 여기서는 두 가지 문법 파일의 사양에 대해 간단히 설명합니다. 각 문법 파일 사양의 자세한 내용은 다음 웹 페이지를 참조하십시오.
- JSpeech Grammar Format: https://www.w3.org/TR/jsgf/
- Speech Recognition Grammar Specification Version 1.0: https://www.w3.org/TR/speech-grammar/
JSGF 규칙 문법 파일의 간이 사양
JSGF 문법 파일은 다음 요소로 구성됩니다.
헤더 정보
문자 인코딩 정보 및 국가·언어 정보를 기술합니다. "헤더 정보"의 형식은 다음과 같습니다.
#JSGF V1.0;
#JSGF V1.0 <문자 인코딩 정보>;
#JSGF V1.0 <문자 인코딩 정보> <국가·언어 정보>;
문자 인코딩 정보 및 국가·언어 정보는 생략할 수 있습니다.
예:
#JSGF V1.0;
#JSGF V1.0 MS932;
#JSGF V1.0 MS932 ja-JP;
#JSGF V1.0 UTF-8;
규칙 문법(Rule Grammar) 구문
문법 이름을 기술합니다. "규칙 문법 구문" 형식은 다음과 같습니다.
grammar 【문법 이름】;
문법 이름에는 규칙 문법 파일 이름에서 경로 부분과 확장자 부분을 제외한 문자열을 지정하십시오.
예:
grammar Sample;
규칙 정의문
실제로 음성 인식 엔진이 인식해야 할 구문과 태그의 정의를 기술합니다. 하나의 문법 파일 안에 여러 개의 규칙 정의문을 기술할 수 있습니다. 규칙에는 public 규칙과 private 규칙의 두 가지 종류가 있습니다. public 규칙은 그 자체로 음성 인식 엔진이 인식해야 할 구문이나 태그를 규정하는 것입니다. private 규칙은 다른 규칙에서 참조되는 것입니다. public 규칙의 "규칙 정의문" 형식은 다음과 같습니다.
public <【규칙 이름】> = 【규칙 정의】;
private 규칙의 "규칙 정의문" 형식은 다음과 같습니다.
<【규칙 이름】> = 【규칙 정의】;
규칙 정의에 대해서는 규칙 정의를 참조하십시오.
예:
public <sample1> = おはよう <sample2>;
<sample2> = AmiVoice\あみぼいす;
규칙 정의
규칙 정의는 다음 요소로 구성됩니다.
단어
음성 인식 엔진이 인식해야 할 단어를 기술합니다. 단어는 직렬 또는 병렬로 기술할 수 있습니다. 단어의 "표기"와 "읽기"는 \(백슬래시)로 구분합니다. 하나의 "표기"에 대해 여러 개의 "