SemanticValue Klasse

Definition

Stellt die semantische Organisation eines erkannten Ausdrucks dar.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))
Vererbung
SemanticValue
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt einen Handler für ein SpeechRecognized -Ereignis, das zum Behandeln von Befehlen zum Ändern der Vordergrund-und Hintergrundfarbe entworfen wurde.The following example shows a handler for a SpeechRecognized event designed to handle commands to change foreground and background color.

Der-Handler identifiziert erkannte Ausdrücke, die keine zugrunde liegende Semantik Struktur Count aufweisen, indem Sie Value einen nullvon 0 (null) und einen von erkennenThe handler identifies recognized phrases that have no underlying semantic structure by detecting a Count of zero and a Value of null. Diese Erkennungs Ausgabe wird dann direkt verarbeitet, indem der Rohtext verarbeitet wird.This recognition output is then processed directly by parsing the raw text.

In anderen Fällen verwendet der Handler Schlüssel zum Abrufen der RGB-Komponenten eines Farbnamens, um zu bestimmen, ob der Befehl den Vordergrund oder den Hintergrund ändert, oder um anzugeben, dass kein gültiger Schlüssel gefunden wurde.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;  
  };  

Hinweise

SemanticValueist das primäre Objekt, das die Semantik Technologie in System. Speech implementiert.SemanticValue is the primary object that implements the semantic technology in System.Speech. Mithilfe der semantischen Interpretation können Grammatiken Regeln definieren, die von einer Erkennungs-Engine verwendet werden, um Audioeingaben ordnungsgemäß zu interpretieren.Semantic interpretation allows grammars to define rules for use by a recognition engine to correctly interpret audio input. Mithilfe der semantischen Interpretation können Erkennungs Module ihre Ergebnisse auch so organisieren, dass Sie leichter verarbeitet werden können, anstatt nur erkannte Wörter und Wörter Sequenzen zurückzugeben.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.

So müsste z. b. die Erkennungs-Engine-Ausgabe "Hintergrund in Rot ändern" analysiert und von einer Anwendung interpretiert werden, bevor Sie bearbeitet werden kann.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. Ein Grammar -Objekt kann eine semantische Interpretation angeben, um die Verarbeitung klarer zu gestalten, indem angegeben wird, dass der Ausdruck über zwei semantische Unterstrukturen verfügt, eine für die Auswahl von background oder Vordergrund (dargestellt durch den Text "Background") und die andere für die Auswahl Farbe (dargestellt durch den Text "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 stellt die Semantik eines Erkennungs Vorgangs in einer Struktur von SemanticValue Objekten dar.System.Speech represents the semantics of a recognition operation in a tree of SemanticValue objects.

Jede SemanticValue Instanz umfasst Folgendes:Each SemanticValue instance includes the following:

  • Eine Object, auf die über die Value -Eigenschaft zugegriffen wird, die zum SemanticValueSchlüssel der-Instanz verwendet wird.An Object, accessed by means of the Value property, used to key the instance of the SemanticValue.

  • Ein Measure der Genauigkeit der semantischen Verarbeitung, das von der Confidence -Eigenschaft zurückgegeben wird.A measure of the accuracy of semantic parsing, returned by the Confidence property.

  • Eine Auflistung von Name-Wert-PaarenKeyValuePair<TKey,TValue>() von untergeordneten-Objekten, SemanticValue die ebenfalls-Instanzen sind.A collection of name/value pairs (KeyValuePair<TKey,TValue>) of child objects, which are also SemanticValue instances. Auf untergeordnete Knoten kann über SemanticValue die Implementierung IDictionary<TKey,TValue> von zugegriffen werden, indem ein Schlüssel für SemanticValue die Zeichen folgen Suche und eine-Instanz verwendet wird, wie im folgenden Beispiel gezeigt.Child nodes are accessible through the SemanticValue implementation of IDictionary<TKey,TValue> using a string lookup key and a SemanticValue instance, as in the following example.

    foreach (KeyValuePair<String, SemanticValue> child in semantics)   
    {  
      Utils.CreateSemanticsTreeNodes(semanticsNode.Nodes, child.Value, child.Key);  
    }  
    

Erkennungs-Engines, die auf System. Speech basieren, SemanticValue stellen gültige Instanzen von für alle Ausgaben von der Erkennung bereit, selbst für Ausdrücke ohne explizite Semantik Struktur.Recognition engines based on System.Speech provide valid instances of SemanticValue for all output from recognition, even for phrases with no explicit semantic structure.

Die SemanticValue -Instanz für einen Ausdruck wird mithilfe der Semantics -Eigenschaft für RecognizedPhrase das-Objekt abgerufen (oder die- RecognitionResultObjekte, die davon erben, z. b.).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).

SemanticValueObjekte, die für erkannte Ausdrücke ohne semantische Struktur abgerufen werden, sind gekennzeichnet durch:SemanticValue objects obtained for recognized phrases without semantic structure are characterized by:

  • Der Mangel an untergeordnetenCount Elementen (ist 0).The lack of children (Count is 0).

  • Die Value-Eigenschaft ist null.The Value property is null.

  • Ein künstlicher semantischer Vertrauensgrad von 1,0 (zurück Confidencegegeben von).An artificial semantic confidence level of 1.0 (returned by Confidence).

Normal SemanticValue erweise erstellen Anwendungen Instanzen indirekt, indem Grammar Sie Sie Objekten mithilfe SemanticResultValue von- SemanticResultKey und-Instanzen in Verbindung Choices mit GrammarBuilder -und-Objekten hinzufügen.Typically, applications create SemanticValue instances indirectly, adding them to Grammar objects by using SemanticResultValue and SemanticResultKey instances, in conjunction with Choices and GrammarBuilder objects.

Die direkte Erstellung einer SemanticValue -Instanz ist während der Erstellung stark typisierter Grammatiken nützlich.Direct construction of a SemanticValue instance is useful during the creation of strongly-typed grammars.

SemanticValueimplementiert die IDictionary<TKey,TValue>Schnitt ICollection<T>stellen, IEnumerable<T> und.SemanticValue implements the IDictionary<TKey,TValue>, ICollection<T>, and IEnumerable<T> interfaces.

Konstruktoren

SemanticValue(Object)

Initialisiert eine neue Instanz der SemanticValue-Klasse und gibt einen semantischen Wert an.Initializes a new instance of the SemanticValue class and specifies a semantic value.

SemanticValue(String, Object, Single)

Initialisiert eine neue Instanz der SemanticValue-Klasse und gibt einen semantischen Wert, einen Schlüsselnamen und einen Confidence Level an.Initializes a new instance of the SemanticValue class and specifies a semantic value, a key name, and a confidence level.

Eigenschaften

Confidence

Gibt ein relatives Maß der Sicherheit hinsichtlich der Korrektheit der semantischen Analyse zurück, die die aktuelle Instanz von SemanticValue zurückgegeben hat.Returns a relative measure of the certainty as to the correctness of the semantic parsing that returned the current instance of SemanticValue.

Count

Gibt die Anzahl der untergeordneten SemanticValue-Objekte unter der aktuellen SemanticValue-Instanz zurück.Returns the number of child SemanticValue objects under the current SemanticValue instance.

Item[String]

Gibt untergeordnete SemanticValue-Instanzen zurück, die zu dem aktuellen Element SemanticValue gehören.Returns child SemanticValue instances that belong to the current SemanticValue.

Value

Eine schreibgeschützte Eigenschaft, die die Informationen zurückgibt, die in der aktuellen SemanticValue enthalten sind.A read-only property that returns the information contained in the current SemanticValue.

Methoden

Contains(KeyValuePair<String,SemanticValue>)

Gibt an, ob die aktuelle SemanticValue-Instanzauflistung einen bestimmten Schlüssel und eine bestimmte Instanz von SemanticValue enthält, die als Schlüssel-Wert-Paar ausgedrückt werden.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)

Gibt an, ob die aktuelle SemanticValue-Instanzauflistung eine untergeordnete SemanticValue-Instanz mit einer angegebenen Schlüsselzeichenfolge enthält.Indicates whether the current SemanticValue instance collection contains a child SemanticValue instance with a given key string.

Equals(Object)

Bestimmt, ob ein angegebenes Objekt eine Instanz von SemanticValue und gleich der aktuellen Instanz von SemanticValue ist.Determines whether a specified object is an instance of SemanticValue and equal to the current instance of SemanticValue.

GetHashCode()

Stellt einen Hashcode für ein SemanticValue-Objekt bereit.Provides a hash code for a SemanticValue object.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Fügt der Auflistung den angegebenen Schlüssel und SemanticValue hinzu.Adds the specified key and SemanticValue to the collection.

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

Entfernt alle Schlüssel-Wert-Paare aus der Auflistung.Removes all key/value pairs from the collection.

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

Kopiert ein Schlüssel-Wert-Paar an eine bestimmte Position in einem Zielarray.Copies a key/value pair to a specific location in a targeted array.

ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly

Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist.Gets a value that indicates whether the collection is read-only.

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

Entfernt den angegebenen Schlüssel und SemanticValue aus der Auflistung.Removes the specified key and SemanticValue from the collection.

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

Fügt dem Wörterbuch den angegebenen Schlüssel und SemanticValue hinzu.Adds the specified key and SemanticValue to the dictionary.

IDictionary<String,SemanticValue>.Keys

Gibt eine Auflistung ab, die die Schlüssel von einem Wörterbuch von Schlüssel-Wert-Paaren enthält.Gets a collection that contains the keys from a dictionary of key/value pairs.

IDictionary<String,SemanticValue>.Remove(String)

Entfernt den angegebenen Schlüssel und SemanticValue aus dem Wörterbuch.Removes the specified key and SemanticValue from the dictionary.

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

Ruft den SemanticValue-Wert ab, der dem angegebenen Schlüssel zugeordnet ist.Gets the SemanticValue associated with the specified key.

IDictionary<String,SemanticValue>.Values

Ruft eine Auflistung ab, die die Werte von einem Wörterbuch von Schlüssel-Wert-Paaren enthält.Gets a collection that contains the values from a dictionary of key/value pairs.

IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

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

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

Erweiterungsmethoden

CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable zurück, die Kopien der DataRow-Objekte enthält, wenn ein IEnumerable<T>-Eingabeobjekt vorhanden ist, bei dem der generische Parameter T den Wert DataRow hat.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)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.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)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a collection of elements that contains the ancestors of every node in the source collection.

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

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

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

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a collection of the child elements of every element and document in the source collection.

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

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a filtered collection of the child elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Gilt für:

Siehe auch