SubsetMatchingMode 枚举

定义

枚举匹配模式的子集值。

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

字段

OrderedSubset 1

指示子集匹配模式是 OrderedSubset

OrderedSubsetContentRequired 3

指示子集匹配模式是 OrderedSubsetContentRequired

Subsequence 0

指示子集匹配模式是 Subsequence

SubsequenceContentRequired 2

指示子集匹配模式是 SubsequenceContentRequired

示例

下面是一个测试例程,该例程使用同一短语为每个 生成四 GrammarSubsetMatchingModes对象。 然后可以测试这些 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参数(用作 或 SrgsSubset 构造函数或 Append 方法的参数GrammarBuilder)来匹配部分短语。

下面说明了在包含短语“一车一车一船那架飞机”的语法中使用时,每个 SubsetMatchingMode 成员如何影响识别。

OrderedSubset

此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):

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

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

  • 匹配的字词只能由介词和项目组成。

使用 OrderedSubset 模式向语法添加短语“一辆汽车,卡车一艘飞机”在识别时产生以下结果:

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

OrderedSubsetContentRequired

此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):

  • 在音频输入中识别短语中的一个或多个单词,以及

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

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

使用 OrderedSubsetContentRequired 模式向语法添加短语“一车一船一艘飞机”,在识别时会生成以下结果:

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

子序列:

此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):

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

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

  • 匹配的字词只能由介词和项目组成。

使用 Subsequence 模式向语法添加短语“一车一船那架飞机”在识别时产生以下结果:

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

SubsequenceContentRequired

此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):

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

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

使用 SubsequenceContentRequired 模式向语法添加短语“一辆卡车的飞机”,在识别时会生成以下结果:

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

适用于

另请参阅