Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SrgsSemanticInterpretationTag classe

 

Date de publication : novembre 2016

Représente une balise qui contient ECMAScript qui est exécuté lorsque la règle est mis en correspondance.

Espace de noms:   System.Speech.Recognition.SrgsGrammar
Assembly:  System.Speech (dans System.Speech.dll)

System.Object
  System.MarshalByRefObject
    System.Speech.Recognition.SrgsGrammar.SrgsElement
      System.Speech.Recognition.SrgsGrammar.SrgsSemanticInterpretationTag

[SerializableAttribute]
public class SrgsSemanticInterpretationTag : SrgsElement

NomDescription
System_CAPS_pubmethodSrgsSemanticInterpretationTag()

Crée une instance de la classe SrgsSemanticInterpretationTag.

System_CAPS_pubmethodSrgsSemanticInterpretationTag(String)

Crée une instance de la SrgsSemanticInterpretationTag classe, en spécifiant le contenu de la balise du script.

NomDescription
System_CAPS_pubpropertyScript

Obtient ou définit le ECMAScript pour la balise.

NomDescription
System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l’objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crée une copie superficielle de l’utilisateur actuel MarshalByRefObject objet.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Le format par défaut sémantique System.Speech est conforme à la W3C Semantic Interpretation for Speech Recognition (SISR) Version 1.0, où le format de tag les éléments qui contiennent un script est semantics/1.0. Vous devez spécifier le script pour SrgsSemanticInterpretationTag des objets à l’aide de ce format. Dans la syntaxe de semantics/1.0:

  • La Variable de règle de l’élément de règle contenant est identifiée par « out ».

  • Le nom de l’objet qui a accès à la Variable de règle d’éléments de règle à l’extérieur de l’élément de règle contenant est identifié par « règles ».

  • Le résultat de la dernière règle référencée qui correspond à l’expression peut être représenté par « rules.latest() ».

Vous pouvez également associer une valeur sémantique avec une expression dans une grammaire sans utiliser le script, à l’aide de la SrgsNameValueTag objet.

L’exemple suivant crée une grammaire pour le choix d’un vol villes. L’exemple utilise SrgsSemanticInterpretationTag pour affecter une valeur sémantique dans chaque ville, le code de l’aéroport de la ville. L’exemple utilise également SrgsSemanticInterpretationTag pour attribuer une clé sémantique distincte pour chacune des deux références effectuées par le SrgsRuleRef objet nommé cityRef à la SrgsRule objet nommé cities. Les sémantiques clés identifient une ville reconnue en tant que la ville de départ ou de la ville d’arrivée du vol. Le gestionnaire pour le SpeechRecognized événement utilise les clés pour extraire la sémantique du résultat de la reconnaissance.

Dans l’exemple de code, « out » fait référence à la Variable de règle du contenant SrgsRule. L’expression « out. LeavingFrom » fait référence à la propriété nommée LeavingFrom de la Variable de règle sur la règle nommée bookFlight.

L’expression « rules.flightCities » fait référence à la Variable de règle sur la règle dont Id est flightCities, et qui est la cible d’une référence de règle. Dans l’exemple, l’expression « out. LeavingFrom=rules.flightCities ; » affecte la valeur de la règle dont Id est flightCities à la propriété nommée LeavingFrom de la Variable de règle sur la règle nommée bookFlight. Consultez Semantic Results Content, Grammar Rule Name Referencing, et Grammar Rule Reference Referencing Pour plus d’informations.

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

        // Create a rule for the cities, assign a semantic value to each city.
        SrgsRule cities = new SrgsRule("flightCities");
        SrgsItem chi = new SrgsItem("Chicago");
        chi.Add(new SrgsSemanticInterpretationTag("out = \"ORD\";"));
        SrgsItem bos = new SrgsItem("Boston");
        bos.Add(new SrgsSemanticInterpretationTag("out = \"BOS\";"));
        SrgsItem mia = new SrgsItem("Miami");
        mia.Add(new SrgsSemanticInterpretationTag("out = \"MIA\";"));
        SrgsItem dal = new SrgsItem("Dallas");
        dal.Add(new SrgsSemanticInterpretationTag("out = \"DFW\";"));

        SrgsOneOf airports = new SrgsOneOf(chi, bos, mia, dal);
        cities.Add(airports);
        cities.Scope = SrgsRuleScope.Private;

        // Create a rule reference to the rule for cities.
        SrgsRuleRef cityRef = new SrgsRuleRef(cities);

        // Create the root rule for the grammar.
        SrgsRule bookFlight = new SrgsRule("flightBooker");
        bookFlight.Add(new SrgsItem("I want to fly from"));
        bookFlight.Add(cityRef);
        bookFlight.Add(new SrgsSemanticInterpretationTag("out.LeavingFrom=rules.flightCities;"));
        bookFlight.Add(new SrgsItem("to"));
        bookFlight.Add(cityRef);
        bookFlight.Add(new SrgsSemanticInterpretationTag("out.GoingTo=rules.flightCities;"));
        bookFlight.Scope = SrgsRuleScope.Public;

        // Initialize the SrgsDocument, set the root rule, add rules to the collection.
        SrgsDocument itinerary = new SrgsDocument(bookFlight);
        itinerary.Rules.Add(cities);

        // Create a Grammar object and load it to the recognizer.
        Grammar g = new Grammar(itinerary);
        g.Name = ("City Chooser");
        recognizer.LoadGrammarAsync(g);

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

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

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

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

    // Write to the console the text and the semantics from the recognition result.
    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["LeavingFrom"].Value);
      Console.WriteLine("  The arrival city is: " + e.Result.Semantics["GoingTo"].Value);
    }
  }
}


Voici la forme XML de la grammaire générée par le code dans l’exemple ci-dessus.

<?xml version="1.0" encoding="utf-8"?>
<grammar xml:lang="en-US" root="flightBooker" tag-format="semantics/1.0" 
version="1.0" xmlns="http://www.w3.org/2001/06/grammar">

  <rule id="flightBooker" scope="public">
    <item> I want to fly from </item>
    <ruleref uri="#flightCities" /> 
    <tag> out.LeavingFrom=rules.flightCities; </tag>
    <item> to </item>
    <ruleref uri="#flightCities" /> 
    <tag> out.GoingTo=rules.flightCities; </tag>
  </rule>

  <rule id="flightCities" scope="private">
    <one-of>
      <item> Chicago <tag> out="ORD"; </tag></item>
      <item> Boston <tag> out="BOS"; </tag></item>
      <item> Miami <tag> out="MIA"; </tag></item>
      <item> Dallas <tag> out="DFW"; </tag></item>
    </one-of>
  </rule>

</grammar>

.NET Framework
Disponible depuis 3.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: