SrgsSemanticInterpretationTag Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje značku, která obsahuje ECMAScript , která se spustí při shodě pravidla.
public ref class SrgsSemanticInterpretationTag : System::Speech::Recognition::SrgsGrammar::SrgsElement
public class SrgsSemanticInterpretationTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
[System.Serializable]
public class SrgsSemanticInterpretationTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
type SrgsSemanticInterpretationTag = class
inherit SrgsElement
[<System.Serializable>]
type SrgsSemanticInterpretationTag = class
inherit SrgsElement
Public Class SrgsSemanticInterpretationTag
Inherits SrgsElement
- Dědičnost
- Atributy
Příklady
Následující příklad vytvoří gramatiku pro výběr měst pro let. Příklad používá SrgsSemanticInterpretationTag k přiřazení sémantické hodnoty každému městu, což je kód pro letiště města. Příklad také používá SrgsSemanticInterpretationTag k přiřazení samostatného sémantického klíče pro každý ze dvou odkazů provedených objektem SrgsRuleRef s názvem cityRef
SrgsRule na objekt s názvem cities
. Sémantické klíče identifikují rozpoznané město jako město odletu nebo město příletu pro let. Obslužná rutina SpeechRecognized události používá klíče k načtení sémantiky z výsledku rozpoznávání.
V příkladu kódu "out" odkazuje na proměnnou pravidla obsahující SrgsRule. Výraz "out. LeavingFrom" odkazuje na vlastnost s názvem LeavingFrom
proměnné pravidla pro pravidlo s názvem bookFlight
.
Výraz "rules.flightCities" odkazuje na proměnnou pravidla pro pravidlo, jehož Id je flightCities
a které je cílem odkazu na pravidlo. V příkladu je výraz "out. LeavingFrom=rules.flightCities;" přiřadí hodnotu z pravidla, jehož Id vlastnost je flightCities
pojmenovaná LeavingFrom
proměnná pravidla pro pravidlo s názvem bookFlight
. Další informace najdete v tématech Obsah sémantických výsledků, Odkazování na název pravidla gramatiky a Odkazy na pravidla gramatiky .
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);
}
}
}
Následuje formát XML gramatiky vygenerované kódem ve výše uvedeném příkladu.
<?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>
Poznámky
Výchozí sémantický formát pro System.Speech odpovídá Sémantické interpretaci jazyka W3C pro rozpoznávání řeči (SISR) verze 1.0, kde formát pro tag
prvky, které obsahují skript, je semantics/1.0
. Musíte zadat skript pro SrgsSemanticInterpretationTag objekty pomocí tohoto formátu. V syntaxi :semantics/1.0
Proměnná pravidla elementu obsahujícího pravidla je identifikována "out".
Název objektu, který má přístup k proměnné pravidla elementů pravidla mimo element obsahující pravidlo je identifikován "rules".
Výsledek z posledního odkazovaného pravidla, které odpovídá promluvě, může být reprezentován výrazem "rules.latest()".
Sémantickou hodnotu můžete také přidružit k frázi v gramatice bez použití skriptu pomocí objektu SrgsNameValueTag .
Konstruktory
SrgsSemanticInterpretationTag() |
Vytvoří instanci objektu SrgsSemanticInterpretationTag třídy. |
SrgsSemanticInterpretationTag(String) |
Vytvoří instanci SrgsSemanticInterpretationTag třídy určující obsah skriptu značky. |
Vlastnosti
Script |
Získá nebo nastaví ECMAScript pro značku. |
Metody
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |