私はアプリケーション(Windows、明らかにC++、Win8 SDK)に音声認識サポートを追加するためにMicrosoft Speech API(SAPI、5.3)を使用していますが、文法の読み込みに関するいくつかのフープジャンプファイルは非常にうまく動作しています。SAPIルールの列挙
しかし、私はファイルから読み込まれた文法からルールを列挙する方法を考え出すことができません。明らかに、手動/動的に文法を構築するときは、自分でルールを作成しています。しかし、は、のように、ファイルから読み込まれた文法の規則を列挙する方法ではありません。 IspRecoGrammar :: GetRule()はルールの照会に最も近いと思われますが、既知のルール(ルール名またはIDのいずれか)を取得するためのものです。
当分、私は自分自身でXMLを解析し、ルール名を抜き出していますが、これは完全な解決策ではありません。 XML とバイナリ文法設定ファイルの両方をサポートする必要があります。後者は私の現在の回避策を回避します。
私はこれをどのように達成するのか、SAPIの経験を持つ方は知っていますか?
ここで達成しようとしているより高いレベルの目標は何ですか? (AKA - なぜあなたはSAPIルールを列挙する必要があると思いますか?) –
返事をありがとう、Eric。要するに、ロードされた文法のルールに対して、他のデータを事前に検証する必要があります。この他のデータは名前でルールを参照するため、この他のデータの読み込み時に、データ参照が実際に有効である文法ルール(名前)を検証したいと考えています。 – SBD
前述のXMLの処理に加えて、SAPI認識コールバックを介して遭遇したように、「既知のセット」にルールを検証してから追加することはできませんが、それは非常に堅牢なソリューションではありませんデータのエラーをキャッチします。 – SBD