SemanticValue SemanticValue SemanticValue SemanticValue Class

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à
SemanticValueSemanticValueSemanticValueSemanticValue
Attributi
Implementazioni

Esempi

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

Il gestore identifica riconosciute frasi che non presentano alcuna struttura di semantica sottostante grazie al rilevamento di un Count pari a zero e un Value di null.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 per l'analisi del testo non elaborato.This recognition output is then processed directly by parsing the raw text.

In altri casi, il gestore Usa chiavi per ottenere i componenti RGB di un nome di colore, per determinare se il comando modificherà la foreground o background o per indicare che è 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 principale che implementa la tecnologia di semantica nel Speech.SemanticValue is the primary object that implements the semantic technology in System.Speech. Interpretazione semantica consente grammatiche definire le regole per l'uso da un motore di riconoscimento di interpretare correttamente l'input audio.Semantic interpretation allows grammars to define rules for use by a recognition engine to correctly interpret audio input. Interpretazione semantica consente inoltre di motori di riconoscimento organizzare i risultati in modo che possono essere più facilmente elaborati, anziché restituire riconosciuto solo parole e le sequenze di parole.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.

Ad esempio, il motore di riconoscimento di output "Modificato in background in rosso" dovrà essere analizzati e interpretati da un'applicazione prima che è stato possibile intervenire.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. Oggetto Grammar oggetto può specificare un'interpretazione semantica per velocizzare l'elaborazione più chiara, specificando che la frase ha due sottostrutture semantiche, uno per la selezione in background o in primo piano (rappresentato dal testo "background") e l'altro per la selezione colore (rappresentato dal testo "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").

Speech rappresenta la semantica di un'operazione di riconoscimento in un albero di SemanticValue 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:

Motori di riconoscimento basati Speech forniscono istanze valide di SemanticValue per tutto l'output dal riconoscimento, anche per le frasi con struttura alcuna 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.

Il SemanticValue dell'istanza per una frase viene ottenuta usando il Semantics proprietà le RecognizedPhrase oggetto (o gli oggetti che ereditano da essa, ad esempio RecognitionResult).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).

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

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

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

  • Un livello di confidenza semantica artificiali pari a 1,0 (restituito da Confidence).An artificial semantic confidence level of 1.0 (returned by Confidence).

In genere, le applicazioni creano SemanticValue istanze indirettamente, aggiungerli alla Grammar gli oggetti utilizzando SemanticResultValue e SemanticResultKey istanze, in combinazione con Choices e GrammarBuilder oggetti.Typically, applications create SemanticValue instances indirectly, adding them to Grammar objects by using SemanticResultValue and SemanticResultKey instances, in conjunction with Choices and GrammarBuilder objects.

Indirizzare la costruzione di un SemanticValue istanza è utile durante la creazione della grammatica fortemente tipizzata.Direct construction of a SemanticValue instance is useful during the creation of strongly-typed grammars.

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

Costruttori

SemanticValue(Object) SemanticValue(Object) SemanticValue(Object) 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) SemanticValue(String, Object, Single) SemanticValue(String, Object, Single) 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 Confidence Confidence 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 Count Count 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] Item[String] Item[String] Item[String]

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

Value Value Value 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>) Contains(KeyValuePair<String,SemanticValue>) Contains(KeyValuePair<String,SemanticValue>) 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) ContainsKey(String) ContainsKey(String) 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) Equals(Object) Equals(Object) 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() GetHashCode() GetHashCode() GetHashCode()

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

GetType() GetType() GetType() GetType()

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

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

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

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

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

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Aggiunge la chiave e l'oggetto SemanticValue specificati alla raccolta.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()

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

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 ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly 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>) ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>) ICollection<KeyValuePair<String,SemanticValue>>.Remove(KeyValuePair<String,SemanticValue>) 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) IDictionary<String,SemanticValue>.Add(String, SemanticValue) IDictionary<String,SemanticValue>.Add(String, SemanticValue) 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 IDictionary<String,SemanticValue>.Keys IDictionary<String,SemanticValue>.Keys 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) IDictionary<String,SemanticValue>.Remove(String) IDictionary<String,SemanticValue>.Remove(String) 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) IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue) IDictionary<String,SemanticValue>.TryGetValue(String, SemanticValue) 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 IDictionary<String,SemanticValue>.Values IDictionary<String,SemanticValue>.Values 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() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() 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() IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator() IEnumerable<KeyValuePair<String,SemanticValue>>.GetEnumerator() 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.

Extension Methods

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

Restituisce un DataTable che contiene copie del DataRow oggetti, dato un input IEnumerable<T> oggetto in cui 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) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Le copie DataRow oggetti specificata DataTable, un giudizio IEnumerable<T> oggetto in cui 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) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Le copie DataRow oggetti specificata DataTable, un giudizio IEnumerable<T> oggetto in cui 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) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) 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) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) 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) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

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

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

Converte un' IEnumerable a un IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) 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) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) 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>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) 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>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) 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) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) 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>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) 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) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) 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>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) 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>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) 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>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) 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