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 abgeglichen wird.
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 einen Flug erstellt. Im Beispiel wird verwendet SrgsSemanticInterpretationTag , um jeder Stadt einen semantischen Wert zuzuweisen, der der Code für den Flughafen der Stadt ist. Im Beispiel wird auch verwendetSrgsSemanticInterpretationTag, um einen separaten semantischen Schlüssel für jeden der beiden Verweise zuzuweisen, die SrgsRuleRef vom -Objekt mit dem Namen dem -Objekt mit dem SrgsRule Namen cityRef
cities
erstellt werden. Die semantischen Schlüssel identifizieren eine erkannte Stadt als Abflugort oder Ankunftsort 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 des enthält SrgsRule. Der Ausdruck "out. LeavingFrom" bezieht sich auf die Eigenschaft namens LeavingFrom
der Regelvariablen für die Regel mit dem Namen bookFlight
.
Der Ausdruck "rules.flightCities" bezieht sich auf die Regelvariable für die Regel, deren Id ist flightCities
, und die das Ziel eines Regelverweis ist. Im Beispiel wird der Ausdruck "out. LeavingFrom=rules.flightCities;" weist den Wert aus der Regel zu, deren Id Eigenschaft LeavingFrom
der Regelvariablen für die Regel namens bookFlight
istflightCities
. Weitere Informationen finden Sie unter Inhalt semantischer Ergebnisse, Referenzieren von Grammatikregelnamen und Referenz zur Grammatikregel .
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);
}
}
}
Im Folgenden finden 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 standardmäßige semantische Format für System.Speech entspricht der Version 1.0 (W3C Semantic Interpretation for Speech Recognition, SISR), wobei das Format für tag
Elemente, die Skript enthalten, ist semantics/1.0
. Sie müssen das Skript für SrgsSemanticInterpretationTag Objekte mit diesem Format angeben. 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 zuletzt referenzierten Regel, die mit der Äußerung übereinstimmt, kann durch "rules.latest()" dargestellt werden.
Sie können auch einen semantischen Wert mit einem Ausdruck in einer Grammatik zuordnen, ohne ein Skript zu verwenden, indem Sie das SrgsNameValueTag -Objekt verwenden.
Konstruktoren
SrgsSemanticInterpretationTag() |
Erstellt eine Instanz der SrgsSemanticInterpretationTag-Klasse. |
SrgsSemanticInterpretationTag(String) |
Erstellt eine Instanz der SrgsSemanticInterpretationTag-Klasse, die den Skriptinhalt des Tags angibt. |
Eigenschaften
Script |
Ruft die ECMAScript für den Tag ab oder legt diese fest. |
Methoden
CreateObjRef(Type) |
Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Geerbt von MarshalByRefObject) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des 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) |