2

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;
    }
4

3 に答える 3

2

プロジェクトのフォーラムによると、タグを解析する機能は削除されました。

機能ではないことを議論するフォーラム投稿。

于 2014-10-24T14:52:00.270 に答える
1

タグを削除しました。以下のTravisの回答を参照してください。

于 2012-12-30T20:03:31.420 に答える
0

私は昨日ライブラリを書きましたが、それはおそらくあなたが必要としているものです:

リンク-> https://github.com/goxr3plus/JSFG-Grammar-Rules-Parser-Library-for-Sphinx4-5

それを使用するためのサンプルコード(githubで他の例を見つけることができます):

List<String> rules;

rules = JSGFGrammarParser.getAllGrammarRules(JSGFGrammarParserTester.class.getResourceAsStream("grammar1.gram"), false);
System.out.println("Grammar Rules , without definitions: " + rules + "\n");

rules = JSGFGrammarParser.getAllGrammarRules(JSGFGrammarParserTester.class.getResourceAsStream("grammar1.gram"), true);
System.out.println("Grammar Rules , with definitions: " + rules + "\n");
于 2017-05-25T19:09:38.707 に答える