SemanticValue Klasa

Definicja

Reprezentuje semantyczną organizację rozpoznanej frazy.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))
Dziedziczenie
SemanticValue
Atrybuty
Implementuje

Przykłady

Poniższy przykład pokazuje procedurę obsługi dla SpeechRecognized zdarzenia, które służy do obsługi poleceń w celu zmiany koloru pierwszego planu i tła.The following example shows a handler for a SpeechRecognized event designed to handle commands to change foreground and background color.

Program obsługi identyfikuje rozpoznane frazy, które nie mają bazowej struktury semantycznej Count , przez wykrycie Value wartości nullzero i z.The handler identifies recognized phrases that have no underlying semantic structure by detecting a Count of zero and a Value of null. Dane wyjściowe rozpoznawania są następnie przetwarzane bezpośrednio przez analizowanie nieprzetworzonego tekstu.This recognition output is then processed directly by parsing the raw text.

W innych przypadkach program obsługi używa kluczy do uzyskania składników RGB nazwy koloru, aby określić, czy polecenie zmieni pierwszy plan lub tło, czy też wskazuje, że nie znaleziono prawidłowego klucza.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;  
  };  

Uwagi

SemanticValuejest obiektem podstawowym, który implementuje technologię semantyczną w System. Speech.SemanticValue is the primary object that implements the semantic technology in System.Speech. Interpretacja semantyczna umożliwia gramatykom definiowanie reguł używanych przez aparat rozpoznawania w celu prawidłowego interpretowania danych wejściowych audio.Semantic interpretation allows grammars to define rules for use by a recognition engine to correctly interpret audio input. Interpretacja semantyczna umożliwia również obsługę aparatów rozpoznawania w celu organizowania ich wyników, dzięki czemu można łatwiej przetwarzać, a nie zwracać tylko rozpoznane wyrazy i sekwencje wyrazów.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.

Na przykład dane wyjściowe aparatu rozpoznawania "Zmień tło na czerwony" byłyby musiały zostać przeanalizowane i zinterpretowane przez aplikację, zanim będzie mogła zostać podjęta.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. Grammar Obiekt może określać interpretację semantyczną, aby przetwarzać przetwarzanie przez określenie, że fraza ma dwie podstruktury semantyczne, jeden do wybierania tła lub pierwszego planu (reprezentowane przez tekst "tło"), a drugi do wybierania kolor (reprezentowany przez tekst "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 reprezentuje semantykę operacji rozpoznawania w drzewie SemanticValue obiektów.System.Speech represents the semantics of a recognition operation in a tree of SemanticValue objects.

Każde SemanticValue wystąpienie zawiera następujące elementy:Each SemanticValue instance includes the following:

Aparaty rozpoznawania w oparciu o system. Speech zapewniają poprawne SemanticValue wystąpienia dla wszystkich danych wyjściowych z rozpoznawania, nawet w przypadku fraz bez jawnej struktury semantycznej.Recognition engines based on System.Speech provide valid instances of SemanticValue for all output from recognition, even for phrases with no explicit semantic structure.

Wystąpienie dla frazy jest uzyskiwane Semantics przy użyciu właściwości RecognizedPhrase obiektu (lub obiektów dziedziczących z niego, takich jak RecognitionResult). SemanticValueThe SemanticValue instance for a phrase is obtained using the Semantics property on the RecognizedPhrase object (or objects that inherit from it, such as RecognitionResult).

SemanticValueobiekty uzyskane dla rozpoznanych fraz bez struktury semantycznej są scharakteryzowane przez:SemanticValue objects obtained for recognized phrases without semantic structure are characterized by:

  • Brak elementów podrzędnych (Count is 0).The lack of children (Count is 0).

  • Value Właściwość jestnull.The Value property is null.

  • Sztuczny poziom pewności semantycznej 1,0 (zwrócony przez Confidence).An artificial semantic confidence level of 1.0 (returned by Confidence).

SemanticValue Zwykle aplikacje tworzą wystąpienia pośrednio, dodając je do Grammar obiektów przy użyciu SemanticResultValue i SemanticResultKey wystąpień, w połączeniu z Choices obiektami GrammarBuilder i.Typically, applications create SemanticValue instances indirectly, adding them to Grammar objects by using SemanticResultValue and SemanticResultKey instances, in conjunction with Choices and GrammarBuilder objects.

Bezpośrednia konstrukcja SemanticValue wystąpienia jest przydatna podczas tworzenia gramatyki o jednoznacznie określonym typie.Direct construction of a SemanticValue instance is useful during the creation of strongly-typed grammars.

SemanticValueimplementuje interfejsy IDictionary<TKey,TValue>, ICollection<T>i IEnumerable<T> .SemanticValue implements the IDictionary<TKey,TValue>, ICollection<T>, and IEnumerable<T> interfaces.

Konstruktory

SemanticValue(Object)

Inicjuje nowe wystąpienie SemanticValue klasy i określa wartość semantyczną.Initializes a new instance of the SemanticValue class and specifies a semantic value.

SemanticValue(String, Object, Single)

Inicjuje nowe wystąpienie SemanticValue klasy i określa wartość semantyczną, nazwę klucza i poziom zaufania.Initializes a new instance of the SemanticValue class and specifies a semantic value, a key name, and a confidence level.

Właściwości

Confidence

Zwraca względną miarę pewności co do poprawności analizy semantycznej, która zwróciła bieżące wystąpienie SemanticValue.Returns a relative measure of the certainty as to the correctness of the semantic parsing that returned the current instance of SemanticValue.

Count

Zwraca liczbę obiektów podrzędnych SemanticValue w bieżącym SemanticValue wystąpieniu.Returns the number of child SemanticValue objects under the current SemanticValue instance.

Item[String]

Zwraca wystąpienia SemanticValue podrzędne należące do bieżącego SemanticValueelementu.Returns child SemanticValue instances that belong to the current SemanticValue.

Value

Właściwość tylko do odczytu, która zwraca informacje zawarte w bieżącym SemanticValue.A read-only property that returns the information contained in the current SemanticValue.

Metody

Contains(KeyValuePair<String,SemanticValue>)

Wskazuje, czy bieżąca SemanticValue kolekcja wystąpień zawiera określony klucz i określone SemanticValue wystąpienie wartości wyrażone jako para klucz/wartość.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)

Wskazuje, czy bieżące SemanticValue kolekcje wystąpień zawierają wystąpienie podrzędne SemanticValue z danym ciągiem klucza.Indicates whether the current SemanticValue instance collection contains a child SemanticValue instance with a given key string.

Equals(Object)

Określa, czy określony obiekt jest wystąpieniem elementu SemanticValue i jest równy bieżącemu wystąpieniu elementu SemanticValue.Determines whether a specified object is an instance of SemanticValue and equal to the current instance of SemanticValue.

GetHashCode()

Zawiera kod skrótu dla obiektu SemanticValue .Provides a hash code for a SemanticValue object.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Dodaje określony klucz i SemanticValue do kolekcji.Adds the specified key and SemanticValue to the collection.

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

Usuwa wszystkie pary klucz/wartość z kolekcji.Removes all key/value pairs from the collection.

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

Kopiuje parę klucz/wartość do określonej lokalizacji w tablicy dostosowanej.Copies a key/value pair to a specific location in a targeted array.

ICollection<KeyValuePair<String,SemanticValue>>.IsReadOnly

Pobiera wartość wskazującą, czy kolekcja jest tylko do odczytu.Gets a value that indicates whether the collection is read-only.

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

Usuwa określony klucz i SemanticValue z kolekcji.Removes the specified key and SemanticValue from the collection.

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

Dodaje określony klucz i SemanticValue do słownika.Adds the specified key and SemanticValue to the dictionary.

IDictionary<String,SemanticValue>.Keys

Pobiera kolekcję zawierającą klucze z słownika par klucz/wartość.Gets a collection that contains the keys from a dictionary of key/value pairs.

IDictionary<String,SemanticValue>.Remove(String)

Usuwa określony klucz i SemanticValue ze słownika.Removes the specified key and SemanticValue from the dictionary.

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

SemanticValue Pobiera skojarzoną z określonym kluczem.Gets the SemanticValue associated with the specified key.

IDictionary<String,SemanticValue>.Values

Pobiera kolekcję zawierającą wartości ze słownika par klucz/wartość.Gets a collection that contains the values from a dictionary of key/value pairs.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

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

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

Metody rozszerzania

CopyToDataTable<T>(IEnumerable<T>)

Zwraca DataTable, który zawiera kopie obiektów DataRow, przy użyciu obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest 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)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest 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)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a collection of elements that contains the ancestors of every node in the source collection.

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

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

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

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Zwraca kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of the child elements of every element and document in the source collection.

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

Zwraca filtrowaną kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of the child elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Zwraca kolekcję węzłów, która zawiera wszystkie węzły w kolekcji źródłowej, posortowane w kolejności dokumentu.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.Removes every node in the source collection from its parent node.

Dotyczy

Zobacz też