SemanticValue SemanticValue SemanticValue SemanticValue Class

Définition

Représente l’organisation sémantique d’une expression reconnue.Represents the semantic organization of a recognized phrase.

public ref class SemanticValue sealed : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<System::String ^, System::Speech::Recognition::SemanticValue ^>>, System::Collections::Generic::IDictionary<System::String ^, System::Speech::Recognition::SemanticValue ^>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::String ^, System::Speech::Recognition::SemanticValue ^>>
[System.Serializable]
public sealed class SemanticValue : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<string,System.Speech.Recognition.SemanticValue>>, System.Collections.Generic.IDictionary<string,System.Speech.Recognition.SemanticValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,System.Speech.Recognition.SemanticValue>>
type SemanticValue = class
    interface IDictionary<string, SemanticValue>
    interface ICollection<KeyValuePair<string, SemanticValue>>
    interface seq<KeyValuePair<string, SemanticValue>>
    interface IEnumerable
Public NotInheritable Class SemanticValue
Implements ICollection(Of KeyValuePair(Of String, SemanticValue)), IDictionary(Of String, SemanticValue), IEnumerable(Of KeyValuePair(Of String, SemanticValue))
Héritage
SemanticValueSemanticValueSemanticValueSemanticValue
Attributs
Implémente

Exemples

L’exemple suivant montre un gestionnaire pour un SpeechRecognized événement conçu pour gérer des commandes pour modifier la couleur de premier plan et d’arrière-plan.The following example shows a handler for a SpeechRecognized event designed to handle commands to change foreground and background color.

Le gestionnaire identifie les expressions reconnues qui n’ont pas de structure sémantique sous- Count jacente en détectant Value un nullde zéro et un de.The handler identifies recognized phrases that have no underlying semantic structure by detecting a Count of zero and a Value of null. Ce résultat de reconnaissance est ensuite traité directement en analysant le texte brut.This recognition output is then processed directly by parsing the raw text.

Dans d’autres cas, le gestionnaire utilise des clés pour obtenir les composants RGB d’un nom de couleur, pour déterminer si la commande doit modifier le premier plan ou l’arrière-plan, ou pour indiquer qu’aucune clé valide n’a été trouvée.In other cases, the handler uses keys to obtain the RGB components of a color name, to determine whether the command will change the foreground or background, or to indicate that no valid key was found.


newGrammar.SpeechRecognized +=  
  delegate(object sender, SpeechRecognizedEventArgs eventArgs)   
  {  

    // Retrieve the value of the semantic property.  
    bool changeBackGround = true;  
    string errorString = "";  
    SemanticValue semantics = eventArgs.Result.Semantics;  

    Color newColor = Color.Empty;  

    try   
    {  
      if (semantics.Count == 0 && semantics.Value==null)  
      {  
        // Signifies recognition by a grammar with no semantics.  
        // Parse the string, assuming that the last word is color,  
        // and search for "background" or "foreground" in the input.  
        if (eventArgs.Result.Text.Contains("foreground"))   
        {  
          changeBackGround = false;  
        }  
        string cName = eventArgs.Result.Words[eventArgs.Result.Words.Count - 1].Text;  
        newColor = Color.FromName(cName);  

      }  
      else if (semantics.ContainsKey("colorStringList") ^ semantics.ContainsKey("colorRGBValueList"))   
      {  

        // Determine whether to change background or foreground.  
        if (semantics.ContainsKey("applyChgToBackground"))   
        {  
          changeBackGround = semantics["applyChgToBackground"].Value is bool;  
        }  

        // Get the RGB color value.  
        if (semantics.ContainsKey("colorStringList"))   
        {  
          newColor = Color.FromName((string)semantics["colorStringList"].Value);  
        }  
        if (semantics.ContainsKey("colorRGBValueList"))   
        {  
          newColor = System.Drawing.Color.FromArgb((int)semantics["colorRGBValueList"].Value);  
        }  
      }  
      else   
      {  

        // Throw an exception if the semantics do not contain the keys we  
        // support.  
        throw(new Exception("Unsupported semantics keys found."));  
      }  
    }  

    catch (Exception exp)   
    {  
      MessageBox.Show(String.Format("Unable to process color semantics.:\n{0}\n", exp.Message));  
      return;  
    }  

    // Change colors, either foreground or background.  
    if (changeBackGround)   
    {  
      BackColor = newColor;  
      float Bright = BackColor.GetBrightness();  
      float Hue = BackColor.GetHue();  
      float Sat = BackColor.GetSaturation();  

      // Make sure that text is readable regardless of the background.  
      if (BackColor.GetBrightness() <= .50)   
      {  
        ForeColor = Color.White;  
      }  
      else   
      {  
        ForeColor = Color.Black;  
      }  
    }  
    else   
    {  
      ForeColor = newColor;  
      float Bright = ForeColor.GetBrightness();  
      float Hue = ForeColor.GetHue();  
      float Sat = ForeColor.GetSaturation();  

      // Make sure that text is readable regardless of Foreground.  
      if (ForeColor.GetBrightness() <= .50)   
      {  
        BackColor = Color.White;  
      }  
      else   
      {  
        BackColor = Color.Black;  
      }  
    }  
    return;  
  };  

Remarques

SemanticValueest l’objet principal qui implémente la technologie sémantique dans System. Speech.SemanticValue is the primary object that implements the semantic technology in System.Speech. L’interprétation sémantique permet aux grammaires de définir des règles à utiliser par un moteur de reconnaissance pour interpréter correctement l’entrée audio.Semantic interpretation allows grammars to define rules for use by a recognition engine to correctly interpret audio input. L’interprétation sémantique permet également aux moteurs de reconnaissance d’organiser leurs résultats de manière à ce qu’ils puissent être traités plus facilement, au lieu de retourner uniquement des mots et des séquences de mots reconnus.Semantic interpretation also enables recognition engines to organize their results so that they can be more easily processed, rather than returning only recognized words and sequences of words.

Par exemple, la sortie du moteur de reconnaissance «changer l’arrière-plan en rouge» devrait être analysée et interprétée par une application pour qu’elle puisse être traitée.For example, the recognition engine output "Change background to red" would have to be parsed and interpreted by an application before it could be acted upon. Un Grammar objet peut spécifier une interprétation sémantique pour rendre le traitement plus clair en spécifiant que l’expression a deux sous-structures sémantiques, une pour sélectionner l’arrière-plan ou le premier plan (représenté par le texte «arrière-plan»), et l’autre pour la sélection couleur (représentée par le texte «Red»).A Grammar object can specify a semantic interpretation to make processing clearer by specifying that the phrase has two semantic substructures, one for selecting background or foreground (represented by the text "background"), and the other for selecting color (represented by the text "red").

System. Speech représente la sémantique d’une opération de reconnaissance dans une arborescence d' SemanticValue objets.System.Speech represents the semantics of a recognition operation in a tree of SemanticValue objects.

Chaque SemanticValue instance comprend les éléments suivants:Each SemanticValue instance includes the following:

Les moteurs de reconnaissance basés sur System. Speech fournissent des SemanticValue instances valides de pour toutes les sorties de la reconnaissance, même pour les expressions sans structure sémantique explicite.Recognition engines based on System.Speech provide valid instances of SemanticValue for all output from recognition, even for phrases with no explicit semantic structure.

L' SemanticValue instance d’une expression est obtenue à l' Semantics aide de la RecognizedPhrase propriété sur l’objet (ou les objets qui héritent RecognitionResultde celui-ci, tel que).The SemanticValue instance for a phrase is obtained using the Semantics property on the RecognizedPhrase object (or objects that inherit from it, such as RecognitionResult).

SemanticValueles objets obtenus pour les expressions reconnues sans structure sémantique sont caractérisés par:SemanticValue objects obtained for recognized phrases without semantic structure are characterized by:

  • Le manque d’enfants (Count est 0).The lack of children (Count is 0).

  • La propriété Value est null.The Value property is null.

  • Niveau de confiance sémantique artificiel de 1,0 (retourné par Confidence).An artificial semantic confidence level of 1.0 (returned by Confidence).

En règle générale, SemanticValue les applications créent des instances indirectement Grammar , en les SemanticResultValue ajoutant SemanticResultKey aux objets à l’aide d' GrammarBuilder instances et, conjointement avec Choices les objets et.Typically, applications create SemanticValue instances indirectly, adding them to Grammar objects by using SemanticResultValue and SemanticResultKey instances, in conjunction with Choices and GrammarBuilder objects.

La construction directe d' SemanticValue une instance est utile lors de la création de grammaires fortement typées.Direct construction of a SemanticValue instance is useful during the creation of strongly-typed grammars.

SemanticValueimplémente les IDictionary<TKey,TValue>interfaces ICollection<T>, et IEnumerable<T> .SemanticValue implements the IDictionary<TKey,TValue>, ICollection<T>, and IEnumerable<T> interfaces.

Constructeurs

SemanticValue(Object) SemanticValue(Object) SemanticValue(Object) SemanticValue(Object)

Initialise une nouvelle instance de la classe SemanticValue et spécifie une valeur sémantique.Initializes a new instance of the SemanticValue class and specifies a semantic value.

SemanticValue(String, Object, Single) SemanticValue(String, Object, Single) SemanticValue(String, Object, Single) SemanticValue(String, Object, Single)

Initialise une nouvelle instance de la classe SemanticValue et spécifie une valeur sémantique, un nom de clé et un niveau de confiance.Initializes a new instance of the SemanticValue class and specifies a semantic value, a key name, and a confidence level.

Propriétés

Confidence Confidence Confidence Confidence

Retourne une mesure relative de la certitude quant à l'exactitude de l'analyse sémantique retournée à l'instance SemanticValue actuelle.Returns a relative measure of the certainty as to the correctness of the semantic parsing that returned the current instance of SemanticValue.

Count Count Count Count

Retourne le nombre d'objets SemanticValue enfants sous l'instance SemanticValue actuelle.Returns the number of child SemanticValue objects under the current SemanticValue instance.

Item[String] Item[String] Item[String] Item[String]

Retourne les instances de SemanticValue enfants qui appartiennent à l’objet SemanticValue actuel.Returns child SemanticValue instances that belong to the current SemanticValue.

Value Value Value Value

Propriété en lecture seule qui retourne les informations contenues dans la SemanticValueactuelle.A read-only property that returns the information contained in the current SemanticValue.

Méthodes

Contains(KeyValuePair<String,SemanticValue>) Contains(KeyValuePair<String,SemanticValue>) Contains(KeyValuePair<String,SemanticValue>) Contains(KeyValuePair<String,SemanticValue>)

Indique si la collection actuelle d'instance de SemanticValue contient une clé et une instance spécifiques de SemanticValue exprimées comme une paire clé/valeur.Indicates whether the current SemanticValue instance collection contains a specific key and a specific instance of SemanticValue expressed as a key/value pair.

ContainsKey(String) ContainsKey(String) ContainsKey(String) ContainsKey(String)

Indique si la collection actuelle d'instance de SemanticValue contient une instance enfant de SemanticValue avec une chaîne clé donnée.Indicates whether the current SemanticValue instance collection contains a child SemanticValue instance with a given key string.

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

Détermine si un objet spécifié est une instance de SemanticValue et est égal à l’instance actuelle de SemanticValue.Determines whether a specified object is an instance of SemanticValue and equal to the current instance of SemanticValue.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fournit un code de hachage pour un objet SemanticValue.Provides a hash code for a SemanticValue 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)
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)

Implémentations d’interfaces explicites

ICollection<KeyValuePair<String,SemanticValue>>.Add(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Add(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Add(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Add(KeyValuePair<String,SemanticValue>)

Ajoute la clé et la SemanticValue spécifiées à la collection.Adds the specified key and SemanticValue to the collection.

ICollection<KeyValuePair<String,SemanticValue>>.Clear() ICollection<KeyValuePair<String,SemanticValue>>.Clear() ICollection<KeyValuePair<String,SemanticValue>>.Clear() ICollection<KeyValuePair<String,SemanticValue>>.Clear()

Supprime toutes les paires clé-valeur de la collection.Removes all key/value pairs from the collection.

ICollection<KeyValuePair<String,SemanticValue>>.CopyTo(KeyValuePair<String,SemanticValue>[], Int32) ICollection<KeyValuePair<String,SemanticValue>>.CopyTo(KeyValuePair<String,SemanticValue>[], Int32) ICollection<KeyValuePair<String,SemanticValue>>.CopyTo(KeyValuePair<String,SemanticValue>[], Int32) ICollection<KeyValuePair<String,SemanticValue>>.CopyTo(KeyValuePair<String,SemanticValue>[], Int32)

Copie une paire clé/valeur à un emplacement spécifique dans un tableau cible.Copies a key/value pair to a specific location in a targeted array.

ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly

Obtient une valeur qui indique si la collection est en lecture seule.Gets a value that indicates whether the collection is read-only.

ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>)

Supprime la clé et le SemanticValue spécifiés de la collection.Removes the specified key and SemanticValue from the collection.

IDictionary<String,SemanticValue>.Add(String, SemanticValue) IDictionary<String,SemanticValue>.Add(String, SemanticValue) IDictionary<String,SemanticValue>.Add(String, SemanticValue) IDictionary<String,SemanticValue>.Add(String, SemanticValue)

Ajoute la clé et la SemanticValue spécifiées au dictionnaire.Adds the specified key and SemanticValue to the dictionary.

IDictionary<String,SemanticValue>.Keys IDictionary<String,SemanticValue>.Keys IDictionary<String,SemanticValue>.Keys IDictionary<String,SemanticValue>.Keys

Obtient une collection qui contient les clés d'un dictionnaire de paires clé/valeur.Gets a collection that contains the keys from a dictionary of key/value pairs.

IDictionary<String,SemanticValue>.Remove(String) IDictionary<String,SemanticValue>.Remove(String) IDictionary<String,SemanticValue>.Remove(String) IDictionary<String,SemanticValue>.Remove(String)

Supprime la clé et le SemanticValue spécifiés du dictionnaire.Removes the specified key and SemanticValue from the dictionary.

IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue) IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue) IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue) IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue)

Obtient le SemanticValue associé à la clé spécifiée.Gets the SemanticValue associated with the specified key.

IDictionary<String,SemanticValue>.Values IDictionary<String,SemanticValue>.Values IDictionary<String,SemanticValue>.Values IDictionary<String,SemanticValue>.Values

Obtient une collection qui contient les valeurs d'un dictionnaire de paires clé/valeur.Gets a collection that contains the values from a dictionary of key/value pairs.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Retourne un énumérateur qui itère au sein d’une collection.Returns an enumerator that iterates through a collection.

IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator() IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator() IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator() IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator()

Retourne un énumérateur qui itère au sein d’une collection.Returns an enumerator that iterates through a collection.

Méthodes d’extension

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Retourne un DataTable qui contient des copies des objets DataRow, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les ancêtres de chaque nœud de la collection source.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Retourne une collection d'éléments filtrée qui contient les ancêtres de chaque nœud de la collection source.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Retourne une collection des nœuds descendants de chaque document et élément de la collection source.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Retourne une collection d'éléments filtrée qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Retourne une collection des éléments enfants de chaque élément et document de la collection source.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Retourne une collection filtrée des éléments enfants de chaque élément et document de la collection source.Returns a filtered collection of the child elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Retourne une collection de nœuds qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Retourne une collection des nœuds enfants de chaque document et élément de la collection source.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Supprime chaque nœud de la collection source de son nœud parent.Removes every node in the source collection from its parent node.

S’applique à

Voir aussi