SubsetMatchingMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
枚举匹配模式的子集值。
public enum class SubsetMatchingMode
public enum SubsetMatchingMode
type SubsetMatchingMode =
Public Enum SubsetMatchingMode
- 继承
字段
OrderedSubset | 1 | 指示子集匹配模式是 OrderedSubset。 |
OrderedSubsetContentRequired | 3 | 指示子集匹配模式是 OrderedSubsetContentRequired。 |
Subsequence | 0 | 指示子集匹配模式是 Subsequence。 |
SubsequenceContentRequired | 2 | 指示子集匹配模式是 SubsequenceContentRequired。 |
示例
下面是一个测试例程,该例程使用同一短语为每个 生成四 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参数(用作 或 SrgsSubset 构造函数或 Append 方法的参数GrammarBuilder)来匹配部分短语。
下面说明了在包含短语“一车一车一船那架飞机”的语法中使用时,每个 SubsetMatchingMode 成员如何影响识别。
OrderedSubset
此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):
在音频输入中识别短语中的一个或多个单词。
这些识别的字词的相对顺序与短语中的顺序相同。
匹配的字词只能由介词和项目组成。
使用 OrderedSubset 模式向语法添加短语“一辆汽车,卡车一艘飞机”在识别时产生以下结果:
输入短语 | 结果 |
---|---|
“一辆车卡车一艘船那架飞机” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“一辆车卡车一艘船” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“那架飞机的车” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 识别的子集不需要是原始字符串的序列。 |
“一辆车船一辆卡车那架飞机” | 识别不成功。 这些单词不按顺序排列。 |
“a” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 介词和项目用于识别。 |
OrderedSubsetContentRequired
此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):
在音频输入中识别短语中的一个或多个单词,以及
这些识别的字词的相对顺序与短语中的顺序相同。
匹配的字词不能仅包含介词和项目。
使用 OrderedSubsetContentRequired 模式向语法添加短语“一车一船一艘飞机”,在识别时会生成以下结果:
输入短语 | 结果 |
---|---|
“一辆车卡车一艘船那架飞机” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“一辆车卡车一艘船” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“那架飞机的车” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 识别的子集不需要是原始字符串的序列。 |
“一辆车船一辆卡车那架飞机” | 识别不成功。 这些单词不按顺序排列。 |
“a” | 识别不成功。 语音输入必须包含文章和介词以外的字词。 |
子序列:
此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):
短语中的一个或多个单词在音频输入中被识别为短语序列,以及
这些识别的字词的相对顺序与短语中的顺序相同。
匹配的字词只能由介词和项目组成。
使用 Subsequence 模式向语法添加短语“一车一船那架飞机”在识别时产生以下结果:
输入短语 | 结果 |
---|---|
“一辆车卡车一艘船那架飞机” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“一辆车卡车一艘船” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“那架飞机的车” | 识别不成功。 识别的子集必须是原始字符串的序列。 |
“一辆车船一辆卡车那架飞机” | 识别不成功。 这些单词不按顺序排列。 |
“a” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 介词和项目用于识别。 |
SubsequenceContentRequired
此模式指示短语的子集将用于成功识别整个短语(如果存在以下情况):
匹配字符串中的一个或多个单词在音频输入中被识别为短语序列。
匹配的字词不能仅包含介词和项目。
使用 SubsequenceContentRequired 模式向语法添加短语“一辆卡车的飞机”,在识别时会生成以下结果:
输入短语 | 结果 |
---|---|
“一辆车卡车一艘船那架飞机” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“一辆车卡车一艘船” | 可识别整个短语“一辆车卡车一艘船那架飞机”。 |
“那架飞机的车” | 识别不成功。 识别的子集必须是原始字符串的序列。 |
“一辆车船一辆卡车那架飞机” | 识别不成功。 这些单词不按顺序排列。 |
“a” | 识别不成功。 语音输入必须包含文章和介词以外的字词。 |