SrgsSemanticInterpretationTag Класс

Определение

Представляет тег, содержащий ECMAScript , который выполняется при сопоставлении правила.Represents a tag that contains ECMAScript that's run when the rule is matched.

public ref class SrgsSemanticInterpretationTag : System::Speech::Recognition::SrgsGrammar::SrgsElement
[System.Serializable]
public class SrgsSemanticInterpretationTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
[<System.Serializable>]
type SrgsSemanticInterpretationTag = class
    inherit SrgsElement
Public Class SrgsSemanticInterpretationTag
Inherits SrgsElement
Наследование
SrgsSemanticInterpretationTag
Атрибуты

Примеры

В следующем примере создается грамматика для выбора городов для рейса.The following example creates a grammar for choosing the cities for a flight. В примере используется SrgsSemanticInterpretationTag для назначения семантического значения каждому городу, которое является кодом для аэропорта в городе.The example uses SrgsSemanticInterpretationTag to assign a semantic value to each city, which is the code for the city's airport. В примере также используется SrgsSemanticInterpretationTag для назначения отдельного семантического ключа для каждой из двух ссылок, сделанных объектом, с SrgsRuleRef именем cityRef в SrgsRule объект с именем cities .The example also uses SrgsSemanticInterpretationTag to assign a separate semantic key for each of the two references made by the SrgsRuleRef object named cityRef to the SrgsRule object named cities. Семантические ключи определяют распознаваемый город как город отъезда или город прибытия для рейса.The semantic keys identify a recognized city as the departure city or the arrival city for the flight. Обработчик SpeechRecognized события использует ключи для получения семантики из результата распознавания.The handler for the SpeechRecognized event uses the keys to retrieve the semantics from the recognition result.

В примере кода «out» относится к переменной правила содержащего SrgsRule .In the code example, "out" refers to the Rule Variable of the containing SrgsRule. Выражение «out. Леавингфром "ссылается на свойство с именем LeavingFrom переменной правила в правиле с именем bookFlight .The expression "out.LeavingFrom" refers to the property named LeavingFrom of the Rule Variable on the rule named bookFlight.

Выражение "Rules. ФлигхтЦитиес" относится к переменной правила в правиле, где Id имеет значение flightCities , а это цель ссылки на правило.The expression "rules.flightCities" refers to the Rule Variable on the rule whose Id is flightCities, and which is the target of a rule reference. В примере выражение «out. Леавингфром = Rules. ФлигхтЦитиес; "назначает значение из правила, которое Id является flightCities свойством с именем LeavingFrom переменной правила в правиле с именем bookFlight .In the example, the expression "out.LeavingFrom=rules.flightCities;" assigns the value from the rule whose Id is flightCities to the property named LeavingFrom of the Rule Variable on the rule named bookFlight. Дополнительные сведения см. в разделе содержимое семантических результатов, ссылки на имя правила грамматикии ссылки на правила грамматики .See Semantic Results Content, Grammar Rule Name Referencing, and Grammar Rule Reference Referencing for more information.

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

Ниже приведена XML-форма грамматики, созданной кодом из приведенного выше примера.The following is the XML form of the grammar generated by the code in the example above.

<?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>  

Комментарии

Семантический формат по умолчанию для System. Speech соответствует семантической интерпретации W3C для распознавания речи (СИСР) версии 1,0, где для tag элементов, содержащих скрипт, используется формат semantics/1.0 .The default semantic format for System.Speech conforms to the W3C Semantic Interpretation for Speech Recognition (SISR) Version 1.0, where the format for tag elements that contain script is semantics/1.0. Необходимо указать скрипт для объектов, SrgsSemanticInterpretationTag использующих этот формат.You must specify the script for SrgsSemanticInterpretationTag objects using this format. В синтаксисе semantics/1.0 :In the syntax of semantics/1.0:

  • Переменная правила содержащего его элемента идентифицируется по «out».The Rule Variable of the containing rule element is identified by "out".

  • Имя объекта, имеющего доступ к переменной правила элементов правила за пределами содержащего его элемента Rule, определяется «Rules».The name of the object that has access to the Rule Variable of rule elements outside the containing rule element is identified by "rules".

  • Результат последнего упоминаемого правила, соответствующего utterance, можно представить с помощью "Rules. Latest ()".The result from the latest referenced rule that matches the utterance can be represented by "rules.latest()".

Можно также связать семантическое значение с фразой в грамматике без использования скрипта с помощью SrgsNameValueTag объекта.You can also associate a semantic value with a phrase in a grammar without using script, using the SrgsNameValueTag object.

Конструкторы

SrgsSemanticInterpretationTag()

Создает экземпляр класса SrgsSemanticInterpretationTag.Creates an instance of the SrgsSemanticInterpretationTag class.

SrgsSemanticInterpretationTag(String)

Создает экземпляр класса SrgsSemanticInterpretationTag, указывая содержимое скрипта тега.Creates an instance of the SrgsSemanticInterpretationTag class, specifying the script contents of the tag.

Свойства

Script

Возвращает или задает ECMAScript для тега.Gets or sets the ECMAScript for the tag.

Методы

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Унаследовано от MarshalByRefObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetLifetimeService()
Является устаревшей.

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InitializeLifetimeService()
Является устаревшей.

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Унаследовано от MarshalByRefObject)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к