GrammarBuilder クラス

定義

音声認識文法の制約をプログラムでビルドするための機構を提供します。

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
継承
GrammarBuilder

次の例では、オブジェクトとオブジェクトを使用して、 GrammarBuilder Choices "背景 色を選択 する" または "背景を colorchoice に設定する" という2つのフレーズのいずれかを認識できる文法を作成します。

この例では、オブジェクトを使用して、 Choices オブジェクトの配列から colorchoice に使用できる値のリストを作成し String ます。 Choicesオブジェクトは、SRGS 仕様の要素に似ています。また、オブジェクトは、 one-of 話されたときに認識される可能性がある一連の代替語句で構成されています。 また、オブジェクトを使用して、 Choices 2 つのオブジェクトの配列を、 GrammarBuilder 結果の文法が認識できる代替語句のペアにグループ化します。 代替語または句は、ほとんどの文法のコンポーネントであり、 Choices オブジェクトはを使用して構築された文法に対してこの機能を提供し GrammarBuilder ます。

最後の例では、 Grammar オブジェクトから構築されたからオブジェクトを作成し GrammarBuilder Choices ます。

private Grammar CreateColorGrammar()  
{  

  // Create a set of color choices.  
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});  
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);  

  // Create grammar builders for the two versions of the phrase.  
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");  
  makePhrase.Append(colorElement);  
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");  
  setPhrase.Append(colorElement);  

  // Create a Choices for the two alternative phrases, convert the Choices  
  // to a GrammarBuilder, and construct the grammar from the result.  
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});  
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);  
  grammar.Name = "backgroundColor";  
  return grammar;  
}  

注釈

音声認識文法は、一般に、 音声認識文法仕様 (SRGS) バージョン 1.0で定義されている XML 形式で作成されます。 SRGS に慣れていても、プログラムで文法を生成したい場合は、 System.Speech.Recognition.SrgsGrammar 名前空間を使用できます。この名前空間は、そのメンバーが srgs によって定義される要素と属性に厳密に対応しています。 SRGS に慣れていない場合、または多くの一般的なシナリオを効率的に実行できるように、軽量でプログラムによる文法を作成する必要がある場合は、 GrammarBuilder クラスとクラスを使用でき Choices ます。

オブジェクトを使用して、複数 GrammarBuilder のオブジェクトで構成される階層ツリーを構築し Choices ます。これらの要素は、各ノードにプリアンブルと後置句を格納し、意味のある値を使用してアプリケーションに返されます。

を使用し GrammarBuilder てオブジェクトを作成するには Grammar 、次の手順に従います。

  1. GrammarBuilder オブジェクトを作成します。

  2. GrammarBuilder String オブジェクト、、、、 Choices SemanticResultKey SemanticResultValue DictationGrammar 、および GrammarBuilder 文法の制約を定義するその他のオブジェクトなど、に制約を追加します。

  3. コンストラクターのいずれか Grammar を使用し Grammar て、完成した文法からオブジェクトを作成し GrammarBuilder ます。

を使用した作成 GrammarBuilder は、リストを含む単一の規則、またはリストのリストを含む文法に最適です。 複数の規則を持つ、または内部規則参照を作成する必要がある文法をプログラムで作成するには、名前空間のクラスを使用し System.Speech.Recognition.SrgsGrammar ます。

のインスタンスは GrammarBuilder 、他の特定のクラスからの暗黙的な変換によって取得することもできます。また、を、 GrammarBuilder 文法の制約を含む2番目のオブジェクトと組み合わせることによって取得することもできます。 詳細については、「and 演算子」と「」を参照してください Implicit Addition Add

既存のに規則を追加するには、、、 GrammarBuilder Add Append 、、およびの各メソッドを使用し AppendDictation AppendRuleReference AppendWildcard ます。

重要

同じキー名または複数のセマンティック要素を持つ重複するセマンティック要素が含まれている音声認識文法を使用すると、音声認識エンジンは例外をスローし、同じセマンティック要素の値を繰り返し変更する可能性があります。

デバッグを支援するために、 DebugShowPhrases プロパティはの現在の状態を GrammarBuilder 文字列として返します。

コンストラクター

GrammarBuilder()

GrammarBuilder クラスの新しい空のインスタンスを初期化します。

GrammarBuilder(Choices)

代替のセットから GrammarBuilder クラスの新しいインスタンスを初期化します。

GrammarBuilder(GrammarBuilder, Int32, Int32)

繰り返し要素から GrammarBuilder クラスの新しいインスタンスを初期化します。

GrammarBuilder(SemanticResultKey)

セマンティクス キーから GrammarBuilder クラスの新しいインスタンスを初期化します。

GrammarBuilder(SemanticResultValue)

セマンティクス値から GrammarBuilder クラスの新しいインスタンスを初期化します。

GrammarBuilder(String)

言葉のシーケンスから GrammarBuilder クラスの新しいインスタンスを初期化します。

GrammarBuilder(String, Int32, Int32)

GrammarBuilder の単語のシーケンスから String クラスの新しいインスタンスを初期化し、String を繰り返すことができる回数を指定します。

GrammarBuilder(String, SubsetMatchingMode)

言葉のシーケンスのサブセットについて、GrammarBuilder クラスの新しいインスタンスを初期化します。

プロパティ

Culture

音声認識文法のカルチャを取得または設定します。

DebugShowPhrases

GrammarBuilder に含まれる文法の内容と構造を表す文字列を取得します。

メソッド

Add(Choices, GrammarBuilder)

GrammarBuilder オブジェクトが後続している Choices オブジェクトを含んでいる、新しい GrammarBuilder を作成します。

Add(GrammarBuilder, Choices)

Choices オブジェクトが後続している GrammarBuilder オブジェクトを含んでいる、新しい GrammarBuilder を作成します。

Add(GrammarBuilder, GrammarBuilder)

2 つの GrammarBuilder オブジェクトのシーケンスを含む新しい GrammarBuilder を作成します。

Add(GrammarBuilder, String)

GrammarBuilder オブジェクトとその後ろにフレーズを含む新しい GrammarBuilder を作成します。

Add(String, GrammarBuilder)

フレーズとその後ろに GrammarBuilder オブジェクトを含む新しい GrammarBuilder を作成します。

Append(Choices)

文法要素の現在のシーケンスに代替のセットを追加します。

Append(GrammarBuilder)

文法要素の現在のシーケンスに文法要素を追加します。

Append(GrammarBuilder, Int32, Int32)

文法要素の現在のシーケンスに繰り返される文法要素を追加します。

Append(SemanticResultKey)

文法要素の現在のシーケンスにセマンティクス キーを追加します。

Append(SemanticResultValue)

文法要素の現在のシーケンスにセマンティクス値を追加します。

Append(String)

文法要素の現在のシーケンスに語句を追加します。

Append(String, Int32, Int32)

文法要素の現在のシーケンスに繰り返される語句を追加します。

Append(String, SubsetMatchingMode)

文法要素の現在のシーケンスに、語句のサブセットの要素を追加します。

AppendDictation()

文法要素の現在のシーケンスに既定の口述文法を追加します。

AppendDictation(String)

文法要素の現在のシーケンスに指定された口述文法を追加します。

AppendRuleReference(String)

文法要素の現在のシーケンスに文法定義ファイルを追加します。

AppendRuleReference(String, String)

文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。

AppendWildcard()

文法要素の現在のシーケンスに、すべての入力に一致する認識文法要素を追加します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

演算子

Addition(Choices, GrammarBuilder)

GrammarBuilder オブジェクトが後続している Choices オブジェクトを含んでいる、新しい GrammarBuilder を作成します。

Addition(GrammarBuilder, Choices)

GrammarBuilder とその後ろに GrammarBuilder を含む新しい Choices を作成します。

Addition(GrammarBuilder, GrammarBuilder)

2 つの GrammarBuilder オブジェクトのシーケンスを含む新しい GrammarBuilder を作成します。

Addition(GrammarBuilder, String)

GrammarBuilder とその後ろにフレーズを含む新しい GrammarBuilder を作成します。

Addition(String, GrammarBuilder)

フレーズとその後ろに GrammarBuilder を含む新しい GrammarBuilder を作成します。

Implicit(Choices to GrammarBuilder)

Choices オブジェクトを GrammarBuilder オブジェクトに変換します。

Implicit(SemanticResultKey to GrammarBuilder)

SemanticResultKey オブジェクトを GrammarBuilder オブジェクトに変換します。

Implicit(SemanticResultValue to GrammarBuilder)

SemanticResultValue オブジェクトを GrammarBuilder オブジェクトに変換します。

Implicit(String to GrammarBuilder)

文字列を GrammarBuilder オブジェクトに変換します。

適用対象

こちらもご覧ください