跳至主要内容

Grammar 文件的指定方法

在使用"音声入力_ルール"引擎(-a-rule-input-private)进行语音识别时,请在请求参数"grammarFileNames"中按连接引擎名称|grammar 文件的格式指定。

grammarFileNames=<连接引擎名称|grammar 文件>

以下说明详细的指定方法。

指定 grammar 文件的 URL 的方法

将 grammar 文件放置在 Web 服务器等处,并在grammarFileNames中指定其 URL,即可将该 grammar 文件用于语音识别。

grammarFileNames=<连接引擎名称|grammar 文件的 URL>

例如,使用同步 HTTP 接口,使用 URL 为http://dummy.com/grammars/Sample.gram的 grammar 文件时,grammarFileNames需在d参数中指定,并且参数需要进行 URL 编码,因此如下所示:

d=grammarFileNames=-a-rule-input-private%7Chttp%3A%2F%2Fdummy.com%2Fgrammars%2FSample.gram

在请求中直接写入 grammar 的方法

如果不将 grammar 文件放置在 Web 服务器等处,也可以将 grammar 正文经 gzip 压缩并 Base64 编码后直接在请求中指定。

grammarFileNames=<连接引擎名称|经 GZIP 压缩并 Base64 编码的 grammar 正文>

例如,如果想使用如下的 grammar,

#JSGF V1.0 UTF-8;
grammar test;
public <main> = とりぷるだぶりゅー {www};

将其经 gzip 压缩并 Base64 编码后,在d参数中如下所示进行书写。另外,经 gzip 压缩并 Base64 编码的部分无需进行 URL 编码。

d="grammarFileNames=-a-rule-input-private|H4sIAAAAAAAAClP2CnZ3Uwgz1DNQCA1x07Ww5kovSszNTSxSKEktLrHmKihNyslMVrDJTczMs1OwVXjcuOJxU9fjxu2Pm7ofNy543LgNxG1qfdy8R6G6vLy81hoA9jW921IAAAA="

指定多个 grammar 文件的方法

grammar 文件也可以指定多个。请用|分隔并排列 grammar 文件。直接指定 grammar 正文时也同样适用。

例: -a-rule-input-private|test1.gram|test2.gram

使用多个 grammar 文件的特殊语音识别处理

当在 grammar 文件之间的分隔处使用||时,将执行特殊的语音识别处理。

例如指定grammar1||grammar2时,首先使用||之前的 grammar(grammar1)进行识别处理,识别成功则在此结束识别。如果识别未成功,则接下来使用||之后的 grammar(grammar2)进行识别处理。