0

私は Sphinx-4 を使用して音声をテキストに変換していますが、アプリケーションが文法を認識してから、口述された一連の単語を認識する必要があります。

たとえば、次の文法があります。

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

「こんにちは」と言ってから Joan (または他の名前) を言うと、「Hello Joan」というテキストが返されます。

Sphinx4 を使用した Dictation Applicationのトピックを見ましたが、設定を変更すると常に が返され<unk>ます。これは正しいステップですか?はいの場合、何が間違っていますか?

4

1 に答える 1

1

出力を Hello Joan として取得するには、文法を次のように保つ必要があります。

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

-グッド モーニング ジョアン -グッド モーニング ジョン -グッド モーニング マイク -ハロー ジョアン -ハロー ジョン -ハロー マイク

Just Good Morning または Just 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 に答える