SemanticResultValue Конструкторы

Определение

Инициализирует новый экземпляр класса SemanticResultValue.

Перегрузки

SemanticResultValue(Object)

Инициализирует новый экземпляр класса SemanticResultValue и указывает семантическое значение.

SemanticResultValue(GrammarBuilder, Object)

Инициализирует новый экземпляр класса SemanticResultValue и связывает семантическое значение с объектом GrammarBuilder.

SemanticResultValue(String, Object)

Инициализирует новый экземпляр класса SemanticResultValue и связывает семантическое значение с объектом String.

Комментарии

SemanticResultValueКонструкторы поддерживают указание Object экземпляра с базовым типом данных bool ,, int float или string .

Конструктор может создать SemanticResultValue экземпляр в одном из двух случаев:

  • SemanticResultValueЭкземпляр должен быть явно связан с элементом грамматики при использовании GrammarBuilder для создания Grammar .

  • SemanticResultValueОбъект уже связан с фразой строки или GrammarBuilder объектом.

SemanticResultValue(Object)

Инициализирует новый экземпляр класса SemanticResultValue и указывает семантическое значение.

public:
 SemanticResultValue(System::Object ^ value);
public SemanticResultValue (object value);
new System.Speech.Recognition.SemanticResultValue : obj -> System.Speech.Recognition.SemanticResultValue
Public Sub New (value As Object)

Параметры

value
Object

Значение, управляемое объектом SemanticResultValue. Должен иметь тип bool, int, float или string.

Примеры

В следующем примере возвращается объект Grammar , который распознает команду Set/Change/ALTER переднего плана/Background... [список цветов] ". SemanticResultValueSemanticResultKeyэкземпляры и (в сочетании с Choices GrammarBuilder объектами и) используются для определения семантики, которая может быть проанализирована при распознавании. Проанализированная семантика определяет, какой цвет был запрошен, а также будет ли изменен передний план или фон.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow the command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }           

  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
                 (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
  }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(  
        cmdIntro,   
        new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Комментарии

Объект, SemanticResultValue возвращенный этим конструктором, не связан с каким-либо определенным элементом грамматики. Связь необходимо сделать явной с помощью экземпляра SemanticResultValue в сочетании с GrammarBuilder .

Например, в приведенном ниже фрагменте кода, если Grammar созданный с помощью этого GrammarBuilder экземпляра код распознает слово "Background", значение true задается в распознанной семантике фразы.

GrammarBuilder backgroundGB=new GrammarBuilder("background");  
backgroundGB.Append(new SemanticResultValue(true));  

Применяется к

SemanticResultValue(GrammarBuilder, Object)

Инициализирует новый экземпляр класса SemanticResultValue и связывает семантическое значение с объектом GrammarBuilder.

public:
 SemanticResultValue(System::Speech::Recognition::GrammarBuilder ^ builder, System::Object ^ value);
public SemanticResultValue (System.Speech.Recognition.GrammarBuilder builder, object value);
new System.Speech.Recognition.SemanticResultValue : System.Speech.Recognition.GrammarBuilder * obj -> System.Speech.Recognition.SemanticResultValue
Public Sub New (builder As GrammarBuilder, value As Object)

Параметры

builder
GrammarBuilder

Компонент грамматики, используемый при распознавании.

value
Object

Значение, управляемое объектом SemanticResultValue. Должен иметь тип bool, int, float или string.

Примеры

В следующем примере возвращается объект Grammar , который распознает команду Set/Change/ALTER переднего плана/Background... [список цветов] ". SemanticResultValueSemanticResultKeyэкземпляры и (в сочетании с Choices GrammarBuilder объектами и) используются для определения семантики, которая может быть проанализирована при распознавании. Проанализированная семантика определяет, какой цвет был запрошен, а также будет ли изменен передний план или фон.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow the command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }           
  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
              (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
    }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(  
                      cmdIntro,  
                      new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Комментарии

Если элемент грамматики, заданный параметром, GrammarBuilder используется в логике распознавания, value будет установлен в семантике распознаваемых выходных данных.

В приведенном ниже фрагменте кода, если логика распознавания, созданная с помощью GrammarBuilder экземпляра ( myGb ), использует Choices объект ( myChoice ) для обнаружения входных данных, значение true добавляется к распознанной семантике.

myGb.Append(new SemanticResultValue(myChoice, true);  

Так как GrammarBuilder поддерживает неявное преобразование для Choices , SemanticResultValue и SemanticResultKey , этот конструктор также может использовать эти объекты.

Применяется к

SemanticResultValue(String, Object)

Инициализирует новый экземпляр класса SemanticResultValue и связывает семантическое значение с объектом String.

public:
 SemanticResultValue(System::String ^ phrase, System::Object ^ value);
public SemanticResultValue (string phrase, object value);
new System.Speech.Recognition.SemanticResultValue : string * obj -> System.Speech.Recognition.SemanticResultValue
Public Sub New (phrase As String, value As Object)

Параметры

phrase
String

Фраза, используемый при распознавании.

value
Object

Значение, управляемое объектом SemanticResultValue. Должен иметь тип bool, int, float или string.

Примеры

В следующем примере возвращается объект Grammar , который распознает команду Set/Change/ALTER переднего плана/Background... [список цветов] ". SemanticResultValueSemanticResultKeyэкземпляры и (в сочетании с Choices GrammarBuilder объектами и) используются для определения семантики, которая может быть проанализирована при распознавании. Проанализированная семантика определяет, какой цвет был запрошен, а также будет ли изменен передний план или фон.

private Grammar FgBgColorGrammar()   
{  
  Grammar grammar = null;  

  // Allow command to begin with set, alter, change.  
  Choices introChoices = new Choices();  
  foreach (string introString in new string[] { "Change", "Set", "Alter" })   
  {  
    GrammarBuilder introGB = new GrammarBuilder(introString);  
    introChoices.Add(  
                  new SemanticResultValue(introGB,  
                  String.Format("Command: {0}", introString)));  
  }  

  GrammarBuilder cmdIntro = new GrammarBuilder(introChoices);  

  // Define the arguments for the command to select foreground or background   
  // and to change their color as semantic values.  
  Choices fgOrbgChoice = new Choices();  
  GrammarBuilder backgroundGB=new GrammarBuilder("background");  
  backgroundGB.Append(new SemanticResultValue(true));  
  fgOrbgChoice.Add(backgroundGB);  
  fgOrbgChoice.Add((GrammarBuilder)new SemanticResultValue("foreground", false));  
  SemanticResultKey fgOrbgChoiceKey = new SemanticResultKey("BgOrFgBool", fgOrbgChoice);  
  Choices colorChoice = new Choices();  
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor)))   
  {  

    // Use implicit conversion of SemanticResultValue to GrammarBuilder.      
    colorChoice.Add(  
          (GrammarBuilder) (new SemanticResultValue(colorName, (Color.FromName(colorName)).Name)));  
  }  

  // Create a GrammarBuilder for CmdArgs to be appended to CmdIntro using  
  // semantic keys.  
  GrammarBuilder cmdArgs = new GrammarBuilder();  
  cmdArgs.Append(new SemanticResultKey("BgOrFgBool", fgOrbgChoice));  
  cmdArgs.AppendWildcard();  
  cmdArgs.Append(new SemanticResultKey("colorStringList", colorChoice));  

  GrammarBuilder cmds =   
      GrammarBuilder.Add(cmdIntro,  
                         new GrammarBuilder(new SemanticResultKey("Cmd Args", cmdArgs)));  
  grammar = new Grammar(cmds);  
  grammar.Name = "Tree [Set,change,alter] [foreground,background] * color";  
  return grammar;  
}  

Комментарии

Если строка, заданная параметром, phrase используется в логике распознавания, value будет задана семантика распознаваемых выходных данных.

В следующем фрагменте кода, если логика распознавания, созданная с помощью GrammarBuilder экземпляра ( myGb ), использует строку "Моя закладная" для обозначения входных данных, значение true будет добавлено к распознанной семантике.

myGb.Append(new SemanticResultValue("my mortgage", true);  

Применяется к