SrgsNameValueTag Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент для связывания семантического значения с фразой в грамматике.
public ref class SrgsNameValueTag : System::Speech::Recognition::SrgsGrammar::SrgsElement
[System.Serializable]
public class SrgsNameValueTag : System.Speech.Recognition.SrgsGrammar.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 (W3C) версии 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) |