SubsetMatchingMode 枚举

定义

枚举子集匹配模式的值。

public enum class SubsetMatchingMode
public enum SubsetMatchingMode
type SubsetMatchingMode = 
Public Enum SubsetMatchingMode
继承
SubsetMatchingMode

字段

名称 说明
Subsequence 0

指示子集匹配模式为 Subsequence

OrderedSubset 1

指示子集匹配模式为 OrderedSubset

SubsequenceContentRequired 2

指示子集匹配模式为 SubsequenceContentRequired

OrderedSubsetContentRequired 3

指示子集匹配模式为 OrderedSubsetContentRequired

示例

下面是一个测试例程,它为每个Grammar对象生成SubsetMatchingModes四个对象,使用相同的短语。 然后,可以测试这些 Grammar 对象。

private void CreateSubsetMatchTest()
{
  foreach ( System.Speech.Recognition.SubsetMatchingMode mode
              in Enum.GetValues(typeof(System.Speech.Recognition.SubsetMatchingMode)))
  {
    GrammarBuilder gb = new GrammarBuilder("a car the truck a boat that plane",mode);
    Grammar grammar = new Grammar(gb);
    grammar.Name = mode.ToString();
    grammar.Enabled=true;
    _recognizer.LoadGrammar(grammar);
  }
}

注解

在 System.Speech 中,可以构造一个语法,该语法可以成功识别短语,即使音频输入中只找到其内容的子集。

默认情况下,识别引擎需要与整个短语完全匹配。 识别引擎还可以根据成员定义的参数匹配部分短语,这些 SubsetMatchingMode 参数用作 GrammarBuilder 参数或 SrgsSubset 构造函数或 Append 方法。

下面说明了每个 SubsetMatchingMode 成员在语法中使用时如何影响识别,该语法包含“一辆汽车卡车一艘飞机”。

OrderedSubset

此模式表示,如果存在以下情况,将使用短语的子集成功识别整个短语:

  • 短语中的一个或多个单词在音频输入中被识别。

  • 这些已识别字词的相对顺序与短语中的顺序相同。

  • 匹配的字词只能包含介词和文章。

使用 OrderedSubset 模式将“一辆卡车一艘飞机的汽车”添加到语法时,生成以下识别结果:

输入短语 结果
“一辆汽车卡车一艘船那架飞机” 识别出整个短语“汽车卡车一艘飞机”。
“一辆汽车卡车一艘船” 识别出整个短语“汽车卡车一艘飞机”。
“那架飞机上的汽车” 识别出整个短语“汽车卡车一艘飞机”。 不需要识别的子集是原始字符串的序列。
“一辆车船一辆卡车那架飞机” 识别不成功。 这些单词不按顺序排列。
“a” 识别出整个短语“汽车卡车一艘飞机”。 谓词和文章用于识别。

OrderedSubsetContentRequired

此模式表示,如果存在以下情况,将使用短语的子集成功识别整个短语:

  • 短语中的一个或多个单词在音频输入中被识别,并且

  • 这些已识别字词的相对顺序与短语中的顺序相同。

  • 匹配的字词不能仅包含谓词和项目。

使用 OrderedSubsetContentRequired 模式将短语“一辆卡车一艘船”添加到语法中,在识别时产生以下结果:

输入短语 结果
“一辆汽车卡车一艘船那架飞机” 识别出整个短语“汽车卡车一艘飞机”。
“一辆汽车卡车一艘船” 识别出整个短语“汽车卡车一艘飞机”。
“那架飞机上的汽车” 识别出整个短语“汽车卡车一艘飞机”。 不需要识别的子集是原始字符串的序列。
“一辆车船一辆卡车那架飞机” 识别不成功。 这些单词不按顺序排列。
“a” 识别不成功。 语音输入必须包含项目和谓词以外的字词。

Subsequence:

此模式表示,如果存在以下情况,将使用短语的子集成功识别整个短语:

  • 短语中的一个或多个单词在音频输入中识别为短语序列,并且

  • 这些已识别字词的相对顺序与短语中的顺序相同。

  • 匹配的字词只能包含介词和文章。

使用 Subsequence 模式将“一辆汽车将卡车一艘船”添加到语法中会生成以下识别结果:

输入短语 结果
“一辆汽车卡车一艘船那架飞机” 识别出整个短语“汽车卡车一艘飞机”。
“一辆汽车卡车一艘船” 识别出整个短语“汽车卡车一艘飞机”。
“那架飞机上的汽车” 识别不成功。 识别的子集必须是原始字符串的序列。
“一辆车船一辆卡车那架飞机” 识别不成功。 这些单词不按顺序排列。
“a” 识别出整个短语“汽车卡车一艘飞机”。 谓词和文章用于识别。

SubsequenceContentRequired

此模式表示,如果存在以下情况,将使用短语的子集成功识别整个短语:

  • 匹配字符串中的一个或多个单词在音频输入中被识别为短语序列。

  • 匹配的字词不能仅包含谓词和项目。

使用 SubsequenceContentRequired 模式将短语“一辆卡车一艘飞机的汽车”添加到语法中会生成以下识别结果:

输入短语 结果
“一辆汽车卡车一艘船那架飞机” 识别出整个短语“汽车卡车一艘飞机”。
“一辆汽车卡车一艘船” 识别出整个短语“汽车卡车一艘飞机”。
“那架飞机上的汽车” 识别不成功。 识别的子集必须是原始字符串的序列。
“一辆车船一辆卡车那架飞机” 识别不成功。 这些单词不按顺序排列。
“a” 识别不成功。 语音输入必须包含项目和谓词以外的字词。

适用于

另请参阅