SemanticResultValue SemanticResultValue SemanticResultValue SemanticResultValue Class

定義

セマンティクス値を表し、必要に応じて、音声認識文法のコンポーネントに値を関連付けます。Represents a semantic value and optionally associates the value with a component of a speech recognition grammar.

public ref class SemanticResultValue
public class SemanticResultValue
type SemanticResultValue = class
Public Class SemanticResultValue
継承
SemanticResultValueSemanticResultValueSemanticResultValueSemanticResultValue

次の例を返します、 Grammar "設定/変更/変更の前景色や背景... コマンドを認識します。The following example returns a Grammar that recognizes the command "Set/Change/Alter Foreground/Background … [色 の一覧]"。[color list]". SemanticResultValue SemanticResultKeyインスタンス (と共にChoicesGrammarBuilderオブジェクト) 認識を解析できる形式を定義するために使用します。SemanticResultValue and SemanticResultKey instances (in conjunction with Choices and GrammarBuilder objects) are used to define semantics that can be parsed on recognition. 解析のセマンティクスは、どの色が要求されたおよび変更する前景色または背景が決定します。The parsed semantics will determine which color was requested and whether the foreground or background is to be modified.


private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow the command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(new SemanticResultValue(introGB, String.Format("Command: {0}", introString)));  
  }    

  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
        (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
  }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(  
                       cmdIntro,  
                       new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

注釈

使用SemanticResultValueSemanticResultKeyと共に、オブジェクトGrammarBuilderChoicesのセマンティックの構造を設計する最も簡単な方法は、Grammarします。Use of SemanticResultValue and SemanticResultKey objects, in conjunction with GrammarBuilder and Choices, is the easiest way to design a semantic structure for a Grammar. インスタンスを取得することによって、フレーズのセマンティック情報にアクセスSemanticValueを使用して、SemanticsプロパティRecognizedPhraseします。Semantic information for a phrase is accessed by obtaining an instance of SemanticValue, through the Semantics property on RecognizedPhrase.

注意

値によって管理されるSemanticResultValueによってオブジェクトが定義されているObjectインスタンスが、コンス トラクターに渡されます。Values managed by SemanticResultValue objects are defined by Object instances passed to their constructors. 基になる型Objectありますboolintfloat、またはstringします。The underlying type of this Object must be bool, int, float, or string. 構築により、その他の種類、Grammarインスタンス、SemanticResultValueします。Any other type will prevent construction of a Grammar instance with the SemanticResultValue.

一般的な使用、SemanticResultValueインスタンスの認識可能なコンポーネントのインスタンスに関連付けます、 Grammar、語句、ルールなど、Choicesオブジェクト。The typical use of a SemanticResultValue instance associates the instance with a recognizable component of a Grammar, such as a phrase, a rule, or a Choices object. 認識操作の一部として関連付けられているコンポーネントが使用されている場合、SemanticResultValue返された語句のセマンティクスに値を定義するために使用します。If the associated component is used as part of a recognition operation, the SemanticResultValue is used to define a value in the semantics of the returned phrase.

関連付けるための 2 つの基本的な方法がある、SemanticResultValueインスタンスを作成するために使用するコンス トラクターに応じての文法要素を持つ、SemanticResultValueします。There are two basic methods for associating a SemanticResultValue instance with a grammar element, depending on the constructor used to create the SemanticResultValue.

  • だけの場合、値 (のインスタンスで指定されたObject) を構築するために使用、SemanticResultValueオブジェクト、SemanticResultValueに加え、先行する文法コンポーネントに関連付けられて、GrammarBuilderオブジェクト。If only the value (specified by an instance of Object) is used to construct a SemanticResultValue object, the SemanticResultValue is associated with the grammar component that preceded it, in addition to a GrammarBuilder object.

    たとえば、次のコード フラグメントで、Grammarこれを使用して構築GrammarBuilderインスタンスは、単語"background"の値を認識true認識された語句セマンティクスで設定されます。For instance, in the code fragment below, if a Grammar constructed using this GrammarBuilder instance recognizes the word "background", a value of true is set in the recognized phrase semantics.

    GrammarBuilder backgroundGB=new GrammarBuilder("background");  
    backgroundGB.Append(new SemanticResultValue(true));  
    

    詳細については、SemanticResultValue(Object) の説明を参照してください。For more information, see the description of SemanticResultValue(Object).

  • 文字列値の語句または特定の場合GrammarBuilderインスタンスが使用されていると共に、Objectを指定する、SemanticResultValue値、値が文字列値という句で自動的に関連付けられていること、またはGrammarBuilderインスタンス。If a string value phrase or specific GrammarBuilder instance is used, together with a Object that specifies a SemanticResultValue value, that value is automatically associated with the string value phrase or the GrammarBuilder instance. 場合は、語句またはGrammarBuilder認識プロセスでオブジェクトを使用して、認識された語句のセマンティクスに、値が割り当てられます。If the phrase or GrammarBuilder object is used in the process of recognition, the value will be assigned to the semantics of the recognized phrase.

    次の例は、このし、は機能的には、前の例を明示的に呼び出すのために使用AppendSemanticResultValue(Object)します。The following example illustrates this, and is functionally equivalent to the preceding example, which used explicit calls to Append and SemanticResultValue(Object). 認識ロジックは語"background"値を使ってかどうかtrue認識されたセマンティクスに追加されます。If the recognition logic uses the word "background", the value true will be added to the recognized semantics.

    fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("background", true));  
    

    詳細については、の説明を参照してください。SemanticResultValue(GrammarBuilder, Object)SemanticResultValue(String, Object)します。For more information, see the description of SemanticResultValue(GrammarBuilder, Object) and SemanticResultValue(String, Object).

使用される、Grammar認識では、すべてSemanticResultValueインスタンスは、のいずれかに関連付ける必要がある、SemanticValueをで使用されるオブジェクトGrammarします。To be used by a Grammar in recognition, all SemanticResultValue instances must be associated with one of the SemanticValue objects used by that Grammar. セマンティクス キーを関連付けることによってこれは、SemanticResultValueします。This is done by associating a semantic key with the SemanticResultValue.

セマンティック キーを明示的に接続できる、SemanticResultValueを使用して、SemanticResultKeyオブジェクト。Semantic keys can be explicitly attached to a SemanticResultValue, using a SemanticResultKey object. SemanticResultValue インスタンス キーに明示的にアタッチされているが、既定のルート キーに関連付けられているSemanticValueします。SemanticResultValue instances not explicitly attached to a key are attached to the root key of the default SemanticValue.

後に、SemanticResultValue設定に使用されている、Valueタグ付けされた既定のルート キー、または、特定であるかどうか、 SemanticResultKey、その値を変更する必要がない、または認識操作中に例外が発生します。After a SemanticResultValue has been used to set the Value, whether it is tagged with the default root key or by any particular SemanticResultKey, that value must not be modified or an exception will occur during recognition operations.

設定し、ルートを変更し、ために、次の例の例外が発生するValueGrammarします。The following example will cause an exception because it sets and then modifies the root Value of a Grammar.

GrammarBuilder gb=new GrammarBuilder();  
gb.Append(new SemanticResultValue("One"));  
gb.Append(new SemanticResultValue("Two"));  

その一方で、次の例のコードが許可されます。On the other hand, the code in the following example is permitted. 複数のインスタンスを定義しています。 SemanticResultValue、に含まれる、Choicesオブジェクト、およびキーの値の設定に使用される 1 つだけがbgOrfgTextします。Although it defines multiple instances of SemanticResultValue, they are included in a Choices object, and only one will ever be used to set the value of the key bgOrfgText.

Choices fgOrbgChoice = new Choices();  
fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("background"));  
fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground"));  
SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgText", fgOrbgChoice);  

コンストラクター

SemanticResultValue(GrammarBuilder, Object) SemanticResultValue(GrammarBuilder, Object) SemanticResultValue(GrammarBuilder, Object) SemanticResultValue(GrammarBuilder, Object)

SemanticResultValue クラスの新しいインスタンスを初期化して、セマンティクス値と GrammarBuilder オブジェクトを関連付けます。Initializes a new instance of the SemanticResultValue class and associates a semantic value with a GrammarBuilder object.

SemanticResultValue(Object) SemanticResultValue(Object) SemanticResultValue(Object) SemanticResultValue(Object)

SemanticResultValue クラスの新しいインスタンスを初期化して、セマンティクス値を指定します。Initializes a new instance of the SemanticResultValue class and specifies a semantic value.

SemanticResultValue(String, Object) SemanticResultValue(String, Object) SemanticResultValue(String, Object) SemanticResultValue(String, Object)

SemanticResultValue クラスの新しいインスタンスを初期化して、セマンティクス値と String オブジェクトを関連付けます。Initializes a new instance of the SemanticResultValue class and associates a semantic value with a String object.

メソッド

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)
ToGrammarBuilder() ToGrammarBuilder() ToGrammarBuilder() ToGrammarBuilder()

現在の GrammarBuilder インスタンスから構築された SemanticResultValue のインスタンスを返します Returns an instance of GrammarBuilder constructed from the current SemanticResultValue instance.

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

適用対象

こちらもご覧ください