SemanticResultValue SemanticResultValue SemanticResultValue SemanticResultValue Class

Définition

Représente une valeur sémantique et associe éventuellement la valeur au composant d'une syntaxe de reconnaissance vocale.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
Héritage
SemanticResultValueSemanticResultValueSemanticResultValueSemanticResultValue

Exemples

L’exemple suivant retourne un Grammar qui reconnaît la commande «Set/change/ALTER Foreground/background...The following example returns a Grammar that recognizes the command "Set/Change/Alter Foreground/Background … [liste des couleurs]».[color list]". SemanticResultValueles SemanticResultKey instances et (conjointement avec Choices les GrammarBuilder objets et) sont utilisées pour définir la sémantique qui peut être analysée lors de la reconnaissance.SemanticResultValue and SemanticResultKey instances (in conjunction with Choices and GrammarBuilder objects) are used to define semantics that can be parsed on recognition. La sémantique analysée détermine la couleur qui a été demandée et si le premier plan ou l’arrière-plan doit être modifié.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;  
}  

Remarques

L’utilisation SemanticResultValue d' SemanticResultKey objets et, conjointement avec GrammarBuilder et Choices, est le moyen le plus simple de concevoir une structure sémantique Grammarpour un.Use of SemanticResultValue and SemanticResultKey objects, in conjunction with GrammarBuilder and Choices, is the easiest way to design a semantic structure for a Grammar. Les informations sémantiques pour une expression sont accessibles en obtenant SemanticValueune instance de Semantics , via RecognizedPhrasela propriété sur.Semantic information for a phrase is accessed by obtaining an instance of SemanticValue, through the Semantics property on RecognizedPhrase.

Notes

Les valeurs gérées par SemanticResultValue les objets sont définies par Object les instances passées à leurs constructeurs.Values managed by SemanticResultValue objects are defined by Object instances passed to their constructors. Le type sous-jacent Object de ce booldoit intêtre float,, stringou.The underlying type of this Object must be bool, int, float, or string. Tout autre type empêchera la construction d’une Grammar instance avec le SemanticResultValue.Any other type will prevent construction of a Grammar instance with the SemanticResultValue.

L’utilisation classique d’une SemanticResultValue instance associe l’instance à un composant reconnaissable d' Grammarun, tel qu’une expression, une règle ou un Choices objet.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. Si le composant associé est utilisé dans le cadre d’une opération de reconnaissance SemanticResultValue , est utilisé pour définir une valeur dans la sémantique de l’expression retournée.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.

Il existe deux méthodes de base pour associer une SemanticResultValue instance à un élément de grammaire, en fonction du constructeur utilisé pour créer le SemanticResultValue.There are two basic methods for associating a SemanticResultValue instance with a grammar element, depending on the constructor used to create the SemanticResultValue.

  • Si seule la valeur (spécifiée par une instance de Object) est utilisée pour construire un SemanticResultValue objet, le SemanticResultValue est associé au composant de grammaire qui l’a précédé, en plus d’un GrammarBuilder objet.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.

    Par exemple, dans le fragment de code ci-dessous Grammar , si un GrammarBuilder construit à l’aide de cette instance reconnaît le mot « true background», la valeur est définie dans la sémantique d’expression reconnue.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));  
    

    Pour plus d'informations, voir la description de SemanticResultValue(Object).For more information, see the description of SemanticResultValue(Object).

  • Si une expression de valeur de chaîne GrammarBuilder ou une instance spécifique est utilisée, Object ainsi qu’un SemanticResultValue qui spécifie une valeur, cette valeur est automatiquement associée à la phrase GrammarBuilder de valeur de chaîne ou à l’instance.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. Si l’expression ou GrammarBuilder l’objet est utilisé dans le processus de reconnaissance, la valeur sera assignée à la sémantique de l’expression reconnue.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.

    L’exemple suivant illustre cela, et est fonctionnellement équivalent à l’exemple précédent, qui utilisait des appels explicites SemanticResultValue(Object)à Append et.The following example illustrates this, and is functionally equivalent to the preceding example, which used explicit calls to Append and SemanticResultValue(Object). Si la logique de reconnaissance utilise le mot «background», la true valeur sera ajoutée à la sémantique reconnue.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));  
    

    Pour plus d’informations, consultez la description SemanticResultValue(GrammarBuilder, Object) de SemanticResultValue(String, Object)et.For more information, see the description of SemanticResultValue(GrammarBuilder, Object) and SemanticResultValue(String, Object).

Pour être utilisé par un Grammar dans la SemanticValue reconnaissance, SemanticResultValue toutes les instances doivent être associées à l’un des objets utilisés Grammarpar ce.To be used by a Grammar in recognition, all SemanticResultValue instances must be associated with one of the SemanticValue objects used by that Grammar. Pour ce faire, associez une clé sémantique à SemanticResultValue.This is done by associating a semantic key with the SemanticResultValue.

Les clés sémantiques peuvent être attachées SemanticResultValueexplicitement à un SemanticResultKey , à l’aide d’un objet.Semantic keys can be explicitly attached to a SemanticResultValue, using a SemanticResultKey object. SemanticResultValueles instances qui ne sont pas explicitement attachées à une clé sont attachées à SemanticValuela clé racine de la valeur par défaut.SemanticResultValue instances not explicitly attached to a key are attached to the root key of the default SemanticValue.

Une fois que Value SemanticResultKeya été utilisé pour définir le, qu’il soit marqué avec la clé racine par défaut ou par un particulier, cette valeur ne doit pas être modifiée ou une exception se produit pendant les opérations de reconnaissance. SemanticResultValueAfter 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.

L’exemple suivant lève une exception, car il définit puis modifie la racine Value d’un. GrammarThe 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"));  

En revanche, le code de l’exemple suivant est autorisé.On the other hand, the code in the following example is permitted. Bien qu’il définisse plusieurs SemanticResultValueinstances de, celles-ci Choices sont incluses dans un objet, et une seule sera utilisée pour définir la valeur de bgOrfgTextla clé.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);  

Constructeurs

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

Initialise une nouvelle instance de la classe SemanticResultValue et associe une valeur sémantique à un objet 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)

Initialise une nouvelle instance de la classe SemanticResultValue et spécifie une valeur sémantique.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)

Initialise une nouvelle instance de la classe SemanticResultValue et associe une valeur sémantique à un objet String.Initializes a new instance of the SemanticResultValue class and associates a semantic value with a String object.

Méthodes

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

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

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

Fait office de fonction de hachage par défaut.Serves as the default hash function.

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

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

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

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToGrammarBuilder() ToGrammarBuilder() ToGrammarBuilder() ToGrammarBuilder()

Retourne une instance de GrammarBuilder construite à partir de l'instance SemanticResultValue actuelle.Returns an instance of GrammarBuilder constructed from the current SemanticResultValue instance.

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

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à

Voir aussi