SrgsSemanticInterpretationTag Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Tag dar, das ECMAScript enthält, das ausgeführt wird, wenn die Regel übereinstimmt.
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
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel wird eine Grammatik zum Auswählen der Städte für ein Flug erstellt. Im Beispiel wird SrgsSemanticInterpretationTag jeder Stadt ein semantischer Wert zugewiesen, bei dem es sich um den Code für den Flughafen der Stadt handelt. Im Beispiel wird SrgsSemanticInterpretationTag auch ein separater semantischer Schlüssel für jeden der beiden Verweise verwendet, die SrgsRuleRef vom Objekt mit dem Namen des SrgsRule Objekts erstellt cityRefcitieswurden. Die semantischen Schlüssel identifizieren eine anerkannte Stadt als Abflugstadt oder die Ankunftsstadt für den Flug. Der Handler für das SpeechRecognized Ereignis verwendet die Schlüssel, um die Semantik aus dem Erkennungsergebnis abzurufen.
Im Codebeispiel bezieht sich "out" auf die Regelvariable der enthaltenden SrgsRule. Der Ausdruck "out. LeavingFrom" bezieht sich auf die Eigenschaft namens LeavingFrom der Regelvariable für die Regel mit dem Namen bookFlight.
Der Ausdruck "rules.flightCities" bezieht sich auf die Regelvariable für die Regel, deren Id Ziel ein Regelverweis ist flightCities. Im Beispiel lautet der Ausdruck "out". LeavingFrom=rules.flightCities;" weist den Wert aus der Regel zu, deren IdflightCities Eigenschaft der Regel mit dem Namen LeavingFrom der Regelvariablen entspricht bookFlight.
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);
}
}
}
Nachfolgend sehen Sie die XML-Form der Grammatik, die vom Code im obigen Beispiel generiert wird.
<?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>
Hinweise
Das Standardsemantikformat für System.Speech entspricht der W3C-Semantikinterpretation für die Spracherkennung (SISR) Version 1.0, wobei das Format für tag Elemente, die Skript enthalten, lautet semantics/1.0. Sie müssen das Skript für SrgsSemanticInterpretationTag Objekte angeben, die dieses Format verwenden. In der Syntax von semantics/1.0:
- Die Regelvariable des enthaltenden Regelelements wird durch "out" identifiziert.
- Der Name des Objekts, das Zugriff auf die Regelvariable von Regelelementen außerhalb des enthaltenden Regelelements hat, wird durch "rules" identifiziert.
- Das Ergebnis der neuesten referenzierten Regel, die der Äußerung entspricht, kann durch "rules.latest()" dargestellt werden.
Sie können auch einen semantischen Wert einem Ausdruck in einer Grammatik zuordnen, ohne das Skript zu verwenden, indem Sie das SrgsNameValueTag Objekt verwenden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| SrgsSemanticInterpretationTag() |
Erstellt eine Instanz der SrgsSemanticInterpretationTag-Klasse. |
| SrgsSemanticInterpretationTag(String) |
Erstellt eine Instanz der SrgsSemanticInterpretationTag Klasse, die den Skriptinhalt des Tags angibt. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Script |
Dient zum Abrufen oder Festlegen des ECMAScript für das Tag. |
Methoden
| Name | Beschreibung |
|---|---|
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Dient als die Standard-Hashfunktion (Geerbt von Object) |
| GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der 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) |