SrgsNameValueTag Klasse

Definition

Stellt ein Element für das Zuordnen eines semantischen Werts zu einem Ausdruck in einer Grammatik dar.

public ref class SrgsNameValueTag : System::Speech::Recognition::SrgsGrammar::SrgsElement
public class SrgsNameValueTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
[System.Serializable]
public class SrgsNameValueTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
type SrgsNameValueTag = class
    inherit SrgsElement
[<System.Serializable>]
type SrgsNameValueTag = class
    inherit SrgsElement
Public Class SrgsNameValueTag
Inherits SrgsElement
Vererbung
Attribute

Beispiele

Im folgenden Beispiel wird eine Grammatik zum Auswählen der Städte für einen Flug erstellt. Im Beispiel wird verwendet SrgsNameValueTag , um jeder Stadt einen semantischen Wert zuzuweisen, der der Code für den Flughafen der Stadt ist.

Im Beispiel werden zwei SrgsRuleRef Instanzen erstellt, von denen jede einen semantischen Schlüssel angibt. Beide Regelverweise zielen auf dasselbe SrgsRule Objekt namens citiesab, kennzeichnen das Erkennungsergebnis aus dem Regelverweis jedoch mit einem anderen semantischen Schlüssel. Der semantische Schlüssel identifiziert eine erkannte Stadt als Abflugort oder Ankunftsort für den Flug. Der Handler für das SpeechRecognized Ereignis verwendet die Schlüssel, um die semantischen Werte abzurufen, die mit SrgsNameValueTag erstellt wurden, aus dem Erkennungsergebnis.

using System;  
using System.Speech.Recognition;  
using System.Speech.Recognition.SrgsGrammar;  

namespace SampleRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  

    // Initialize a SpeechRecognitionEngine object.  
    {  
      using (SpeechRecognitionEngine recognizer =  
         new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  

        // Build a rule with a list of cities, assign a semantic value to each city.  
        SrgsItem chi = new SrgsItem("Chicago");  
        chi.Add(new SrgsNameValueTag("ORD"));  
        SrgsItem bos = new SrgsItem("Boston");  
        bos.Add(new SrgsNameValueTag("BOS"));  
        SrgsItem mia = new SrgsItem("Miami");  
        mia.Add(new SrgsNameValueTag("MIA"));  
        SrgsItem dal = new SrgsItem("Dallas");  
        dal.Add(new SrgsNameValueTag("DFW"));  

        SrgsOneOf cities = new SrgsOneOf(new SrgsItem[] { chi, bos, mia, dal });  
        SrgsRule citiesRule = new SrgsRule("flightCities");  
        citiesRule.Add(cities);  

        // Build the root rule, add rule references to the cities rule.  
        SrgsRule flightBooker = new SrgsRule("bookFlight");  
        flightBooker.Add(new SrgsItem("I want to fly from"));  
        flightBooker.Add(new SrgsRuleRef(citiesRule, "departureCity"));  
        flightBooker.Add(new SrgsItem("to"));  
        flightBooker.Add(new SrgsRuleRef(citiesRule, "arrivalCity"));  

        // Build an SrgsDocument object from the flightBooker rule and add the cities rule.  
        SrgsDocument cityChooser = new SrgsDocument(flightBooker);  
        cityChooser.Rules.Add(citiesRule);  

        // Create a Grammar object from the SrgsDocument and load it to the recognizer.  
        Grammar departArrive = new Grammar(cityChooser);  
        departArrive.Name = ("Cities Grammar");  
        recognizer.LoadGrammarAsync(departArrive);  

        // Configure recognizer input.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Attach a handler for the SpeechRecognized event.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Start asynchronous recognition.  
        recognizer.RecognizeAsync();  
        Console.WriteLine("Starting asynchronous recognition...");  

        // Keep the console window open.  
        Console.ReadLine();  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Speech recognized: " + e.Result.Text);  
      Console.WriteLine();  
      Console.WriteLine("Semantic results:");  
      Console.WriteLine("  The departure city is: " + e.Result.Semantics["departureCity"].Value);  
      Console.WriteLine("  The destination city is: " + e.Result.Semantics["arrivalCity"].Value);  
    }  
  }  
}  

Hinweise

Dieses Objekt ähnelt dem Element, das tag von der Version 1.0 der Speech Recognition Grammar Specification (SRGS) des World Wide Web Consortium (W3C) definiert wird. Die Value -Eigenschaft dieses Objekts kann jedoch kein Skript sein. Der Inhalt von Value kann vom Typ Boolean, Double, Int32oder Stringsein. Zeichenfolgenwerte müssen in doppelte Anführungszeichen eingeschlossen werden.

Um Semantik als Skript hinzuzufügen, verwenden Sie SrgsSemanticInterpretationTag.

Konstruktoren

SrgsNameValueTag()

Initialisiert eine neue Instanz der SrgsNameValueTag-Klasse.

SrgsNameValueTag(Object)

Initialisiert eine neue Instanz der SrgsNameValueTag-Klasse unter Angabe eines Werts für die Instanz.

SrgsNameValueTag(String, Object)

Initialisiert eine neue Instanz der SrgsNameValueTag-Klasse und gibt einen Namen und einen Wert für die Instanz an.

Eigenschaften

Name

Ruft den Namen der SrgsNameValueTag-Instanz ab oder legt diesen fest.

Value

Ruft den in der SrgsNameValueTag-Instanz enthaltenen Wert ab oder legt diesen fest.

Methoden

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen