CloudGarden APIを利用してJSAPI文法を解析し、文法規則からタグを返し、それに応じてこれらのタグを処理するアプリケーションをJavaで作成しました。CloudGarden APIの問題は、Windowsへの依存です。同じタスクを実行できるクロスプラットフォームライブラリが必要です。音声合成も音声認識も必要ありません。基本的に、文字列は、文字起こしされた音声を含むプログラムに渡されます。アクションタグ(JSGF文法ルールの{}の間のテキスト)を取得するには、この文字列を文法ファイルに対して解析する必要があります。次に、私のプログラムは、取得したアクションタグを使用して他の機能を実行します。
JSAPIに準拠したJSGF文法ファイルを解析できる無料のライブラリを探していました。私が見つけた唯一の現実的な代替手段は、音声認識エンジンであるSphinx/CMUSphinxでした。私はSphinxを調べていて、ドキュメントのActionTagsParserクラスに移動しました。文法を解析してタグを取得する方法がわかりません。誰かが私を正しい方向に向けたり、説明したりできますか?
ありがとう、ノア
編集:
文法を解析するためにSphinxを構成する必要がありますか?次のコードでは、RuleParseは常にNULLと評価されます。RuleGrammarとテキストは有効です。
try {
if(recognizer == null){
recognizer = new BaseRecognizer();
recognizer.allocate();
}
rg.setEnabled(true);
recognizer.commitChanges();
RuleParse p = rg.parse(text, null);
if (p == null) {
return null;
}
return p.getTags();
} catch (Exception ex) {
ex.printStackTrace();
return null;
}