0

我正在使用 Sphinx-4 将语音转换为文本,但我需要应用程序识别语法,然后识别一系列单词。

例如,具有以下语法:

public <greet> = (Good morning | Hello);

如果我说“Hello”然后是 Joan(或任何其他名字),我打算返回文本“Hello Joan”

我看到主题Dictation Application using Sphinx4但如果我更改设置将始终返回<unk>。这是正确的一步吗?如果是,我做错了什么?

4

1 回答 1

1

要获得 Hello Joan 的输出,您必须保持语法像

public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE);

所以它可以回报你 -早安 JOAN -早安 JOHN -早安 MIKE -你好 JOAN -你好 JOHN -你好 MIKE

在这个语法中,如果你也打算得到 Just Good Morning 或只是 Hello

那么你的语法应该是

public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE)*;
  • 这里指定 JOAN/JOHN/MIKE 出现 0 次或多次,因此它还可以返回 Hello JOHN MIKE 或 Hello 或 Good Morning 以及所有可能的组合。
于 2016-02-17T04:35:36.517 回答