GrammarBuilder GrammarBuilder GrammarBuilder GrammarBuilder Class

定義

音声認識文法の制約をプログラムでビルドするための機構を提供します。Provides a mechanism for programmatically building the constraints for a speech recognition grammar.

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

次の例でGrammarBuilderは、オブジェクトとオブジェクトを使用して、"背景色を選択する" または "背景をcolorchoiceに設定する" とChoicesいう2つのフレーズのいずれかを認識できる文法を作成します。The following example uses GrammarBuilder and Choices objects to construct a grammar that can recognize either of the two phrases, "Make background colorChoice" or "Set background to colorChoice".

この例ではChoices 、オブジェクトを使用して、オブジェクトのString配列からcolorchoiceに使用できる値のリストを作成します。The example uses a Choices object to create a list of acceptable values for colorChoice from an array of String objects. オブジェクトは、SRGS 仕様のone-of要素に似ています。また、オブジェクトは、話されたときに認識される可能性がある一連の代替語句で構成されています。 ChoicesA Choices object is analogous to the one-of element in the SRGS specification, and contains a set of alternate phrases, any of which can be recognized when spoken. また、オブジェクトをChoices使用して、2つGrammarBuilderのオブジェクトの配列を、結果の文法が認識できる代替語句のペアにグループ化します。The example also uses a Choices object to group an array of two GrammarBuilder objects into a pair of alternative phrases that the resultant grammar can recognize. 代替語または句は、ほとんどの文法のコンポーネントでChoicesあり、オブジェクトはを使用してGrammarBuilder構築された文法に対してこの機能を提供します。Alternate words or phrases are a component of most grammars, and the Choices object provides this functionality for grammars constructed with GrammarBuilder.

最後の例ではGrammarChoicesオブジェクトからGrammarBuilder構築されたからオブジェクトを作成します。The example finally creates a Grammar object from a GrammarBuilder constructed from a Choices object.

  
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 形式で作成されます。Speech recognition grammars are commonly authored in the XML format defined by the Speech Recognition Grammar Specification (SRGS) Version 1.0. Srgs に慣れていても、プログラムで文法を生成したい場合は、 System.Speech.Recognition.SrgsGrammar名前空間を使用できます。この名前空間は、そのメンバーが srgs によって定義される要素と属性に厳密に対応しています。If you are familiar with SRGS but want to generate the grammars programmatically, you can use the System.Speech.Recognition.SrgsGrammar namespace, whose members correspond closely to the elements and attributes defined by SRGS. SRGS に慣れていない場合、または多くの一般的なシナリオを効率的に実行できるように、軽量でプログラムによる文法を作成する必要がある場合は、クラスGrammarBuilderChoicesクラスを使用できます。If you are unfamiliar with SRGS, or you want a lightweight, programmatic approach to authoring grammars with which you can efficiently accomplish many common scenarios; you can use the GrammarBuilder and Choices classes.

オブジェクトGrammarBuilderを使用して、別のChoices語句を含むオブジェクトで構成される階層ツリーを構築します。また、各ノードにプリアンブルと後置語句を混在させることができるほか、適用.Use GrammarBuilder objects to build a hierarchical tree composed of Choices objects that contain alternate phrases, interspersed with preamble and post-amble phrases at each node, and seeded with semantic values that convey meaning back to the application.

を使用GrammarBuilderしてGrammarオブジェクトを作成するには、次の手順に従います。To use a GrammarBuilder to create a Grammar object, use the following steps.

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

  2. GrammarBuilderオブジェクト、SemanticResultKey GrammarBuilder 、、、 、および文法の制約を定義するその他のオブジェクトなど、に制約を追加します。DictationGrammar String Choices SemanticResultValueAppend constraints to the GrammarBuilder, such as String objects, Choices, SemanticResultKey, SemanticResultValue, DictationGrammar, and other GrammarBuilder objects that define the constraints for the grammar.

  3. Grammarコンストラクターのいずれかを使用してGrammar 、完成したGrammarBuilder文法からオブジェクトを作成します。Use one of the Grammar constructors to create a Grammar object from the completed GrammarBuilder grammar.

を使用GrammarBuilderした作成は、リストを含む単一の規則、またはリストのリストを含む文法に最適です。Authoring with GrammarBuilder is best suited to grammars that have a single rule containing lists, or perhaps lists of lists. 複数の規則を持つ、または内部規則参照を作成する必要がある文法をプログラムで作成するSystem.Speech.Recognition.SrgsGrammarには、名前空間のクラスを使用します。To programmatically build grammars that have multiple rules, or that need to make internal rule references, use the classes of the System.Speech.Recognition.SrgsGrammar namespace.

GrammarBuilderインスタンスは、他の特定のクラスからの暗黙的な変換によってGrammarBuilder取得することもできます。また、を、文法の制約を含む2番目のオブジェクトと組み合わせることによって取得することもできます。Instances of GrammarBuilder can also be obtained by implicit conversions from certain other classes or by combining a GrammarBuilder with a second object that contains constraints for a grammar.. 詳細については、 ImplicitAddition and 演算子Add 」と「」を参照してください。For more information, see the Implicit and Addition operators and the Add methods.

既存GrammarBuilderのに規則を追加するにはAddAppend AppendDictation、、 AppendRuleReference、、 AppendWildcardおよびの各メソッドを使用します。To add rules to an existing GrammarBuilder, use the Add, Append, AppendDictation, AppendRuleReference, and AppendWildcard methods.

重要

同じキー名または複数のセマンティック要素を持つ重複するセマンティック要素が含まれている音声認識文法を使用すると、音声認識エンジンは例外をスローし、同じセマンティック要素の値を繰り返し変更する可能性があります。The speech recognizer can throw an exception when using a speech recognition grammar that contains duplicate semantic elements with the same key name or multiple semantic elements that could repeatedly modify the value of the same semantic element.

デバッグを支援するためにDebugShowPhrases 、プロパティはGrammarBuilderの現在の状態を文字列として返します。To help with debugging, the DebugShowPhrases property returns the current status of the GrammarBuilder as a string.

音声認識文法の作成と使用の詳細については、「音声認識GrammarBuilder 文法の作成」を参照してください。For more information about building and using speech recognition grammars, see Speech Recognition and Creating GrammarBuilder Grammars.

コンストラクター

GrammarBuilder() GrammarBuilder() GrammarBuilder() GrammarBuilder()

GrammarBuilder クラスの新しい空のインスタンスを初期化します。Initializes a new, empty instance of the GrammarBuilder class.

GrammarBuilder(Choices) GrammarBuilder(Choices) GrammarBuilder(Choices) GrammarBuilder(Choices)

代替のセットから GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class from a set of alternatives.

GrammarBuilder(GrammarBuilder, Int32, Int32) GrammarBuilder(GrammarBuilder, Int32, Int32) GrammarBuilder(GrammarBuilder, Int32, Int32) GrammarBuilder(GrammarBuilder, Int32, Int32)

繰り返し要素から GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class from a repeated element.

GrammarBuilder(SemanticResultKey) GrammarBuilder(SemanticResultKey) GrammarBuilder(SemanticResultKey) GrammarBuilder(SemanticResultKey)

セマンティクス キーから GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class from a semantic key.

GrammarBuilder(SemanticResultValue) GrammarBuilder(SemanticResultValue) GrammarBuilder(SemanticResultValue) GrammarBuilder(SemanticResultValue)

セマンティクス値から GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class from a semantic value.

GrammarBuilder(String) GrammarBuilder(String) GrammarBuilder(String) GrammarBuilder(String)

言葉のシーケンスから GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class from a sequence of words.

GrammarBuilder(String, Int32, Int32) GrammarBuilder(String, Int32, Int32) GrammarBuilder(String, Int32, Int32) GrammarBuilder(String, Int32, Int32)

GrammarBuilder の単語のシーケンスから String クラスの新しいインスタンスを初期化し、String を繰り返すことができる回数を指定します。Initializes a new instance of the GrammarBuilder class from the sequence of words in a String and specifies how many times the String can be repeated.

GrammarBuilder(String, SubsetMatchingMode) GrammarBuilder(String, SubsetMatchingMode) GrammarBuilder(String, SubsetMatchingMode) GrammarBuilder(String, SubsetMatchingMode)

言葉のシーケンスのサブセットについて、GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the GrammarBuilder class for a subset of a sequence of words.

プロパティ

Culture Culture Culture Culture

音声認識文法のカルチャを取得または設定します。Gets or sets the culture of the speech recognition grammar.

DebugShowPhrases DebugShowPhrases DebugShowPhrases DebugShowPhrases

GrammarBuilder に含まれる文法の内容と構造を表す文字列を取得します。Gets a string that shows the contents and structure of the grammar contained by the GrammarBuilder.

メソッド

Add(Choices, GrammarBuilder) Add(Choices, GrammarBuilder) Add(Choices, GrammarBuilder) Add(Choices, GrammarBuilder)

GrammarBuilder オブジェクトが後続している Choices オブジェクトを含んでいる、新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Add(GrammarBuilder, Choices) Add(GrammarBuilder, Choices) Add(GrammarBuilder, Choices) Add(GrammarBuilder, Choices)

Choices オブジェクトが後続している GrammarBuilder オブジェクトを含んでいる、新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a Choices object.

Add(GrammarBuilder, GrammarBuilder) Add(GrammarBuilder, GrammarBuilder) Add(GrammarBuilder, GrammarBuilder) Add(GrammarBuilder, GrammarBuilder)

2 つの GrammarBuilder オブジェクトのシーケンスを含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Add(GrammarBuilder, String) Add(GrammarBuilder, String) Add(GrammarBuilder, String) Add(GrammarBuilder, String)

GrammarBuilder オブジェクトとその後ろにフレーズを含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a GrammarBuilder object followed by a phrase.

Add(String, GrammarBuilder) Add(String, GrammarBuilder) Add(String, GrammarBuilder) Add(String, GrammarBuilder)

フレーズとその後ろに GrammarBuilder オブジェクトを含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder object.

Append(Choices) Append(Choices) Append(Choices) Append(Choices)

文法要素の現在のシーケンスに代替のセットを追加します。Appends a set of alternatives to the current sequence of grammar elements.

Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder) Append(GrammarBuilder)

文法要素の現在のシーケンスに文法要素を追加します。Appends a grammar element to the current sequence of grammar elements.

Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32) Append(GrammarBuilder, Int32, Int32)

文法要素の現在のシーケンスに繰り返される文法要素を追加します。Appends a repeated grammar element to the current sequence of grammar elements.

Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey) Append(SemanticResultKey)

文法要素の現在のシーケンスにセマンティクス キーを追加します。Appends a semantic key to the current sequence of grammar elements.

Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue) Append(SemanticResultValue)

文法要素の現在のシーケンスにセマンティクス値を追加します。Appends a semantic value to the current sequence of grammar elements.

Append(String) Append(String) Append(String) Append(String)

文法要素の現在のシーケンスに語句を追加します。Appends a phrase to the current sequence of grammar elements.

Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32) Append(String, Int32, Int32)

文法要素の現在のシーケンスに繰り返される語句を追加します。Appends a repeated phrase to the current sequence of grammar elements.

Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode) Append(String, SubsetMatchingMode)

文法要素の現在のシーケンスに、語句のサブセットの要素を追加します。Appends an element for a subset of a phrase to the current sequence of grammar elements.

AppendDictation() AppendDictation() AppendDictation() AppendDictation()

文法要素の現在のシーケンスに既定の口述文法を追加します。Appends the default dictation grammar to the current sequence of grammar elements.

AppendDictation(String) AppendDictation(String) AppendDictation(String) AppendDictation(String)

文法要素の現在のシーケンスに指定された口述文法を追加します。Appends the specified dictation grammar to the current sequence of grammar elements.

AppendRuleReference(String) AppendRuleReference(String) AppendRuleReference(String) AppendRuleReference(String)

文法要素の現在のシーケンスに文法定義ファイルを追加します。Appends a grammar definition file to the current sequence of grammar elements.

AppendRuleReference(String, String) AppendRuleReference(String, String) AppendRuleReference(String, String) AppendRuleReference(String, String)

文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。Appends the specified rule of a grammar definition file to the current sequence of grammar elements.

AppendWildcard() AppendWildcard() AppendWildcard() AppendWildcard()

文法要素の現在のシーケンスに、すべての入力に一致する認識文法要素を追加します。Appends a recognition grammar element that matches any input to the current sequence of grammar elements.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

演算子

Addition(Choices, GrammarBuilder) Addition(Choices, GrammarBuilder) Addition(Choices, GrammarBuilder) Addition(Choices, GrammarBuilder)

GrammarBuilder オブジェクトが後続している Choices オブジェクトを含んでいる、新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a Choices object followed by a GrammarBuilder object.

Addition(GrammarBuilder, Choices) Addition(GrammarBuilder, Choices) Addition(GrammarBuilder, Choices) Addition(GrammarBuilder, Choices)

GrammarBuilder とその後ろに GrammarBuilder を含む新しい Choices を作成します。Creates a new GrammarBuilder that contains a GrammarBuilder followed by a Choices.

Addition(GrammarBuilder, GrammarBuilder) Addition(GrammarBuilder, GrammarBuilder) Addition(GrammarBuilder, GrammarBuilder) Addition(GrammarBuilder, GrammarBuilder)

2 つの GrammarBuilder オブジェクトのシーケンスを含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a sequence of two GrammarBuilder objects.

Addition(GrammarBuilder, String) Addition(GrammarBuilder, String) Addition(GrammarBuilder, String) Addition(GrammarBuilder, String)

GrammarBuilder とその後ろにフレーズを含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a GrammarBuilder followed by a phrase.

Addition(String, GrammarBuilder) Addition(String, GrammarBuilder) Addition(String, GrammarBuilder) Addition(String, GrammarBuilder)

フレーズとその後ろに GrammarBuilder を含む新しい GrammarBuilder を作成します。Creates a new GrammarBuilder that contains a phrase followed by a GrammarBuilder.

Implicit(Choices to GrammarBuilder) Implicit(Choices to GrammarBuilder) Implicit(Choices to GrammarBuilder) Implicit(Choices to GrammarBuilder)

Choices オブジェクトを GrammarBuilder オブジェクトに変換します。Converts a Choices object to a GrammarBuilder object.

Implicit(SemanticResultKey to GrammarBuilder) Implicit(SemanticResultKey to GrammarBuilder) Implicit(SemanticResultKey to GrammarBuilder) Implicit(SemanticResultKey to GrammarBuilder)

SemanticResultKey オブジェクトを GrammarBuilder オブジェクトに変換します。Converts a SemanticResultKey object to a GrammarBuilder object.

Implicit(SemanticResultValue to GrammarBuilder) Implicit(SemanticResultValue to GrammarBuilder) Implicit(SemanticResultValue to GrammarBuilder) Implicit(SemanticResultValue to GrammarBuilder)

SemanticResultValue オブジェクトを GrammarBuilder オブジェクトに変換します。Converts a SemanticResultValue object to a GrammarBuilder object.

Implicit(String to GrammarBuilder) Implicit(String to GrammarBuilder) Implicit(String to GrammarBuilder) Implicit(String to GrammarBuilder)

文字列を GrammarBuilder オブジェクトに変換します。Converts a string to a GrammarBuilder object.

適用対象

こちらもご覧ください