SrgsNameValueTag Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент для связывания семантического значения с фразой в грамматике.
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 может иметь тип Boolean, Double, Int32или String. Строковые значения должны быть заключены в двойные кавычки.
Чтобы добавить семантику в качестве скрипта, используйте .SrgsSemanticInterpretationTag
Конструкторы
SrgsNameValueTag() |
Инициализирует новый экземпляр класса SrgsNameValueTag. |
SrgsNameValueTag(Object) |
Инициализирует новый экземпляр класса SrgsNameValueTag, задавая значение для экземпляра. |
SrgsNameValueTag(String, Object) |
Инициализирует новый экземпляр класса SrgsNameValueTag, указывая имя и значение для экземпляра. |
Свойства
Name |
Возвращает или задает имя экземпляра SrgsNameValueTag. |
Value |
Получает или задает значение, содержащееся в экземпляре SrgsNameValueTag. |
Методы
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Устаревшие..
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |