Condividi tramite


SrgsNameValueTag Classe

Definizione

Rappresenta un elemento per l'associazione di un valore semantico a una frase in una grammatica.

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
Ereditarietà
Attributi

Esempio

Nell'esempio seguente viene creata una grammatica per la scelta delle città per un volo. Nell'esempio viene SrgsNameValueTag usato per assegnare un valore semantico a ogni città, ovvero il codice per l'aeroporto della città.

Nell'esempio vengono create due SrgsRuleRef istanze, ognuna delle quali specifica una chiave semantica. Entrambi i riferimenti a regola fanno riferimento allo stesso SrgsRule oggetto, denominato cities, ma contrassegnano il risultato del riconoscimento dal riferimento alla regola con una chiave semantica diversa. La chiave semantica identifica una città riconosciuta come città di partenza o la città di arrivo per il volo. Il gestore per l'evento SpeechRecognized usa le chiavi per recuperare i valori semantici creati usando SrgsNameValueTag dal risultato del riconoscimento.

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

Commenti

Questo oggetto è simile all'elemento tag definito da World Wide Web Consortium (W3C) Speech Recognition Grammar Specification (SRGS) Version 1.0.. Tuttavia, la Value proprietà di questo oggetto non può essere script. Il contenuto di Value può essere di tipo Boolean, Double, Int32o String. I valori stringa devono essere racchiusi tra virgolette doppie.

Per aggiungere semantica come script, usare SrgsSemanticInterpretationTag.

Costruttori

Nome Descrizione
SrgsNameValueTag()

Inizializza una nuova istanza della classe SrgsNameValueTag.

SrgsNameValueTag(Object)

Inizializza una nuova istanza della SrgsNameValueTag classe , specificando un valore per l'istanza di .

SrgsNameValueTag(String, Object)

Inizializza una nuova istanza della SrgsNameValueTag classe , specificando un nome e un valore per l'istanza di .

Proprietà

Nome Descrizione
Name

Ottiene o imposta il nome dell'istanza SrgsNameValueTag .

Value

Ottiene o imposta il valore contenuto nell'istanza SrgsNameValueTag di .

Metodi

Nome Descrizione
CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject .

(Ereditato da MarshalByRefObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche