SemanticValue Classe

Definizione

Rappresenta l'organizzazione semantica di una frase riconosciuta.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))
Ereditarietà
SemanticValue
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato un gestore per SpeechRecognized un evento progettato per gestire i comandi per modificare il colore di primo piano e di sfondo.The following example shows a handler for a SpeechRecognized event designed to handle commands to change foreground and background color.

Il gestore identifica le frasi riconosciute che non dispongono di una struttura semantica Count sottostante mediante il rilevamento Value di nullun valore di zero e di.The handler identifies recognized phrases that have no underlying semantic structure by detecting a Count of zero and a Value of null. Questo output di riconoscimento viene quindi elaborato direttamente analizzando il testo non elaborato.This recognition output is then processed directly by parsing the raw text.

In altri casi, il gestore usa le chiavi per ottenere i componenti RGB di un nome di colore, per determinare se il comando cambierà il primo piano o lo sfondo oppure per indicare che non è stata trovata alcuna chiave valida.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;  
  };  

Commenti

SemanticValueè l'oggetto primario che implementa la tecnologia semantica in System. Speech.SemanticValue is the primary object that implements the semantic technology in System.Speech. L'interpretazione semantica consente alle grammatiche di definire regole per l'uso da un motore di riconoscimento per interpretare correttamente l'input audio.Semantic interpretation allows grammars to define rules for use by a recognition engine to correctly interpret audio input. L'interpretazione semantica consente inoltre ai motori di riconoscimento di organizzare i risultati in modo che possano essere elaborati più facilmente, anziché restituire solo parole e sequenze di parole riconosciute.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.

L'output del motore di riconoscimento, ad esempio, deve essere analizzato e interpretato da un'applicazione prima di poterlo eseguire.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 oggetto può specificare un'interpretazione semantica per rendere più chiara l'elaborazione specificando che la frase ha due sottostrutture semantiche, una per la selezione dello sfondo o del primo piano (rappresentata dal testo "sfondo") e l'altra per la selezione colore (rappresentato dal testo "rosso").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 rappresenta la semantica di un'operazione di riconoscimento in una struttura SemanticValue ad albero di oggetti.System.Speech represents the semantics of a recognition operation in a tree of SemanticValue objects.

Ogni SemanticValue istanza include quanto segue:Each SemanticValue instance includes the following:

I motori di riconoscimento basati su System. Speech forniscono istanze SemanticValue valide di per tutti gli output del riconoscimento, anche per le frasi senza struttura semantica esplicita.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 istanza di per una frase viene ottenuta Semantics utilizzando la proprietà RecognizedPhrase dell'oggetto o RecognitionResultgli oggetti che ereditano da esso, ad esempio.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).

SemanticValuegli oggetti ottenuti per le frasi riconosciute senza struttura semantica sono caratterizzati da:SemanticValue objects obtained for recognized phrases without semantic structure are characterized by:

  • La mancanza di elementi figlioCount (è 0).The lack of children (Count is 0).

  • La proprietà Value è null.The Value property is null.

  • Livello di confidenza della semantica artificiale di 1,0 Confidence(restituito da).An artificial semantic confidence level of 1.0 (returned by Confidence).

In genere, le SemanticValue applicazioni creano istanze indirettamente, le Grammar aggiungono agli SemanticResultValue oggetti SemanticResultKey usando le istanze e, Choices insieme GrammarBuilder agli oggetti e.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 costruzione diretta di SemanticValue un'istanza è utile durante la creazione di grammatiche fortemente tipizzate.Direct construction of a SemanticValue instance is useful during the creation of strongly-typed grammars.

SemanticValueimplementa le IDictionary<TKey,TValue>interfacce ICollection<T>, e IEnumerable<T> .SemanticValue implements the IDictionary<TKey,TValue>, ICollection<T>, and IEnumerable<T> interfaces.

Costruttori

SemanticValue(Object)

Inizializza una nuova istanza della classe SemanticValue e specifica un valore semantico.Initializes a new instance of the SemanticValue class and specifies a semantic value.

SemanticValue(String, Object, Single)

Inizializza una nuova istanza della classe SemanticValue e specifica un valore semantico, un nome di chiave e un livello di probabilità.Initializes a new instance of the SemanticValue class and specifies a semantic value, a key name, and a confidence level.

Proprietà

Confidence

Restituisce una dimensione relativa dell'attendibilità della correttezza dell'analisi semantica che ha restituito l'istanza corrente di SemanticValue.Returns a relative measure of the certainty as to the correctness of the semantic parsing that returned the current instance of SemanticValue.

Count

Restituisce il numero di oggetti SemanticValue figlio nell'istanza SemanticValue corrente.Returns the number of child SemanticValue objects under the current SemanticValue instance.

Item[String]

Restituisce le istanze SemanticValue figlio che appartengono all'elemento SemanticValue corrente.Returns child SemanticValue instances that belong to the current SemanticValue.

Value

Proprietà di sola lettura che restituisce le informazioni contenute nell'elemento SemanticValuecorrente.A read-only property that returns the information contained in the current SemanticValue.

Metodi

Contains(KeyValuePair<String,SemanticValue>)

Indica se la raccolta di istanze dell'oggetto SemanticValue corrente contiene una chiave e un'istanza specifiche dell'oggetto SemanticValue espresso come coppia chiave/valore.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)

Indica se la raccolta di istanze dell'oggetto SemanticValue corrente contiene un'istanza dell'oggetto SemanticValue figlio con una stringa di chiave specificata.Indicates whether the current SemanticValue instance collection contains a child SemanticValue instance with a given key string.

Equals(Object)

Determina se un oggetto specificato è un'istanza di SemanticValue ed è uguale all'istanza corrente di SemanticValue.Determines whether a specified object is an instance of SemanticValue and equal to the current instance of SemanticValue.

GetHashCode()

Specifica un codice hash per un oggetto SemanticValue.Provides a hash code for a SemanticValue object.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Aggiunge la chiave e l'oggetto SemanticValue specificati alla raccolta.Adds the specified key and SemanticValue to the collection.

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

Rimuove tutte le coppie chiave/valore dalla raccolta.Removes all key/value pairs from the collection.

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

Copia una coppia chiave/valore in una posizione specifica in una matrice di destinazione.Copies a key/value pair to a specific location in a targeted array.

ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly

Ottiene un valore che indica se la raccolta è di sola lettura.Gets a value that indicates whether the collection is read-only.

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

Rimuove la chiave e l'oggetto SemanticValue specificati dalla raccolta.Removes the specified key and SemanticValue from the collection.

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

Aggiunge la chiave e l'oggetto SemanticValue specificati al dizionario.Adds the specified key and SemanticValue to the dictionary.

IDictionary<String,SemanticValue>.Keys

Ottiene una raccolta contenente le chiavi presenti in un dizionario di coppie chiave/valore.Gets a collection that contains the keys from a dictionary of key/value pairs.

IDictionary<String,SemanticValue>.Remove(String)

Rimuove la chiave e l'oggetto SemanticValue specificati dal dizionario.Removes the specified key and SemanticValue from the dictionary.

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

Ottiene l'oggetto SemanticValue associato alla chiave specificata.Gets the SemanticValue associated with the specified key.

IDictionary<String,SemanticValue>.Values

Ottiene una raccolta contenente i valori presenti in un dizionario di coppie chiave/valore.Gets a collection that contains the values from a dictionary of key/value pairs.

IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.Returns an enumerator that iterates through a collection.

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

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.Returns an enumerator that iterates through a collection.

Metodi di estensione

CopyToDataTable<T>(IEnumerable<T>)

Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input dove il parametro generico T è 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)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è 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)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a collection of elements that contains the ancestors of every node in the source collection.

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

Restituisce una raccolta di elementi filtrati che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi discendenti di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

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

Restituisce una raccolta filtrata di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Restituisce una raccolta di elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a collection of the child elements of every element and document in the source collection.

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

Restituisce una raccolta filtrata degli elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of the child elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Restituisce una raccolta di nodi che contiene tutti i nodi nella raccolta di origine ordinati in base all'ordine con cui sono riportati nel documento.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi figlio di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Rimuove ciascun nodo nella raccolta di origine dal nodo padre.Removes every node in the source collection from its parent node.

Si applica a

Vedi anche