SrgsNameValueTag 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示項目,用來將語意值與文法中的一個片語產生關聯。
public ref class SrgsNameValueTag : System::Speech::Recognition::SrgsGrammar::SrgsElement
public class SrgsNameValueTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
[System.Serializable]
public class SrgsNameValueTag : System.Speech.Recognition.SrgsGrammar.SrgsElement
type SrgsNameValueTag = class
inherit SrgsElement
[<System.Serializable>]
type SrgsNameValueTag = class
inherit SrgsElement
Public Class SrgsNameValueTag
Inherits SrgsElement
- 繼承
- 屬性
範例
下列範例會建立文法,以選擇航班城市。 此範例會使用 SrgsNameValueTag 將語意值指派給每個城市,也就是城市機場的程式碼。
此範例會建構兩 SrgsRuleRef 個實例,每個實例都會指定語意索引鍵。 這兩個規則參考都會以相同的 SrgsRule 物件為目標,名為 cities
,但以不同的語意索引鍵標記規則參考的辨識結果。 語意索引鍵會將已辨識的城市識別為航班的出發城市或抵達城市。 事件的處理常式 SpeechRecognized 會使用索引鍵來擷取從辨識結果中 SrgsNameValueTag 建立的語意值。
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")))
{
// Build a rule with a list of cities, assign a semantic value to each city.
SrgsItem chi = new SrgsItem("Chicago");
chi.Add(new SrgsNameValueTag("ORD"));
SrgsItem bos = new SrgsItem("Boston");
bos.Add(new SrgsNameValueTag("BOS"));
SrgsItem mia = new SrgsItem("Miami");
mia.Add(new SrgsNameValueTag("MIA"));
SrgsItem dal = new SrgsItem("Dallas");
dal.Add(new SrgsNameValueTag("DFW"));
SrgsOneOf cities = new SrgsOneOf(new SrgsItem[] { chi, bos, mia, dal });
SrgsRule citiesRule = new SrgsRule("flightCities");
citiesRule.Add(cities);
// Build the root rule, add rule references to the cities rule.
SrgsRule flightBooker = new SrgsRule("bookFlight");
flightBooker.Add(new SrgsItem("I want to fly from"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "departureCity"));
flightBooker.Add(new SrgsItem("to"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "arrivalCity"));
// Build an SrgsDocument object from the flightBooker rule and add the cities rule.
SrgsDocument cityChooser = new SrgsDocument(flightBooker);
cityChooser.Rules.Add(citiesRule);
// Create a Grammar object from the SrgsDocument and load it to the recognizer.
Grammar departArrive = new Grammar(cityChooser);
departArrive.Name = ("Cities Grammar");
recognizer.LoadGrammarAsync(departArrive);
// Configure recognizer input.
recognizer.SetInputToDefaultAudioDevice();
// Attach a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Start asynchronous recognition.
recognizer.RecognizeAsync();
Console.WriteLine("Starting asynchronous recognition...");
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechRecognized event.
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["departureCity"].Value);
Console.WriteLine(" The destination city is: " + e.Result.Semantics["arrivalCity"].Value);
}
}
}
備註
此物件類似于 tag
全球資訊網協會 (W3C) 語音辨識文法規格 (SRGS) 1.0 版所定義的元素。 不過, Value 這個物件的 屬性不能是腳本。 的內容 Value 可以是 、 Double 、 Int32 或 String 類型 Boolean 。 字串值必須以雙引號括住。
若要將語意新增為腳本,請使用 SrgsSemanticInterpretationTag 。
建構函式
SrgsNameValueTag() |
初始化 SrgsNameValueTag 類別的新執行個體。 |
SrgsNameValueTag(Object) |
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的值。 |
SrgsNameValueTag(String, Object) |
初始化 SrgsNameValueTag 類別的新執行個體,並指定執行個體的名稱和值。 |
屬性
Name |
取得或設定 SrgsNameValueTag 執行個體的名稱。 |
Value |
取得或設定 SrgsNameValueTag 執行個體中包含的值。 |
方法
CreateObjRef(Type) |
建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。 (繼承來源 MarshalByRefObject) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetLifetimeService() |
已淘汰.
擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。 (繼承來源 MarshalByRefObject) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
InitializeLifetimeService() |
已淘汰.
取得存留期服務物件,以控制這個執行個體的存留期原則。 (繼承來源 MarshalByRefObject) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
MemberwiseClone(Boolean) |
建立目前 MarshalByRefObject 物件的淺層複本。 (繼承來源 MarshalByRefObject) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |