SrgsSemanticInterpretationTag Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kural eşleştirildiğinde çalıştırılan ECMAScript içeren bir etiketi temsil eder.
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
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, uçuş için şehirleri seçmek için bir dil bilgisi oluşturur. Örnek, her şehre bir semantik değer atamak için kullanır SrgsSemanticInterpretationTag ve bu da şehrin havaalanının kodudur. Örnek, adlı nesne tarafından SrgsRuleRef yapılan iki başvurunun her biri için adlı cities
cityRef
nesneye ayrı bir semantik anahtar atamak için SrgsRule de kullanırSrgsSemanticInterpretationTag. Anlam anahtarları, tanınan bir şehri kalkış şehri veya uçuşun varış şehri olarak tanımlar. Olay işleyicisi SpeechRecognized , tanıma sonucundan semantiği almak için anahtarları kullanır.
Kod örneğinde , "out" içeren öğesinin Kural Değişkenine başvurur SrgsRule. "out. LeavingFrom", adlı kuraldaki Kural Değişkeninin adlı LeavingFrom
bookFlight
özelliğine başvurur.
"rules.flightCities" ifadesi, kural üzerinde kural başvurusunun hedefi olan ve olan IdflightCities
Kural Değişkenine başvurur. Örnekte "out. LeavingFrom=rules.flightCities;", kuraldaki değerini adlı kuraldaki IdflightCities
Kural Değişkeninin adlı LeavingFrom
özelliğine bookFlight
atar. Daha fazla bilgi için bkz. AnlamSal Sonuçlar İçeriği, Dil Bilgisi Kuralı Adına Başvuru ve Dil Bilgisi Kuralı Başvurusu Başvuruyor .
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);
}
}
}
Aşağıda, yukarıdaki örnekte yer alan kod tarafından oluşturulan dil bilgisinin XML biçimi verilmiştir.
<?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>
Açıklamalar
System.Speech için varsayılan anlam biçimi, W3C Semantic Interpretation for Speech Recognition (SISR) Version 1.0 ile uyumludur; burada betik içeren öğelerin biçimi tag
olur semantics/1.0
. Bu biçimi kullanarak nesneler için SrgsSemanticInterpretationTag betiği belirtmeniz gerekir. söz diziminde semantics/1.0
:
İçeren kural öğesinin Kural Değişkeni "out" ile tanımlanır.
İçeren kural öğesinin dışındaki kural öğelerinin Kural Değişkenine erişimi olan nesnenin adı "kurallar" ile tanımlanır.
Konuşmayla eşleşen en son başvuruda bulunılan kuralın sonucu "rules.latest()" ile temsil edilebilir.
Ayrıca, bir semantik değeri, nesnesini kullanarak SrgsNameValueTag betik kullanmadan dil bilgisi içindeki bir tümcecikle ilişkilendirebilirsiniz.
Oluşturucular
SrgsSemanticInterpretationTag() |
SrgsSemanticInterpretationTag sınıfının bir örneğini oluşturur. |
SrgsSemanticInterpretationTag(String) |
etiketinin SrgsSemanticInterpretationTag betik içeriğini belirterek sınıfının bir örneğini oluşturur. |
Özellikler
Script |
Etiketin ECMAScript'ini alır veya ayarlar. |
Yöntemler
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |