场景1: 文本文件包含5行文本。最大值= 4 如果我说,"多人游戏",它会说"多人游戏" (完美地运作)
因此,如果最大值是4,我可以说最多4个字
场景2: 文本文件包含500行文本。最大值= 4 如果我说,"多人游戏",它什么都不会说(没有用)
如果我说,"多人游戏多人游戏",它会说"多人游戏多人游戏" (完美地运作)
因此,如果我将其设置为4,那么它必须正好是4个单词。不像在Scenerio 1中,它最多可以是4个单词而不是4个单词
private static Grammar RFC_Grammar(int lineNum, string fileName, string grammarName, int maximum)
{
string[] choiceArray = File.ReadAllLines("C:\\Users\\Hehe\\Desktop\\" + fileName);
Choices choices = new Choices(choiceArray );
GrammarBuilder choicesGrammar = new GrammarBuilder();
choicesGrammar.Append(choices,0,maximum);
Grammar grammar = new Grammar(choicesGrammar);
grammar.Name = grammarName;
return grammar;
}
答案 0 :(得分:0)
在一个选项中使用一组500个单词,您可能会遇到识别器的限制,以正确消除各种选择之间的歧义。
语音识别器不需要详细介绍,就可以将音素序列与可能的单词进行匹配。
如果序列被认为“太不可能”,则将其修剪;如果音频序列进入但不会导致足够高的置信度,则拒绝整个识别(并且生成“错误识别”事件)。
单词的传播范围越广,个人信心就越低(实际上,更窄单词的传播,那么信心可能会不合理地高,导致误报肯定)
有了这么多单词,你可能需要某种听写识别模型(可以实现,但它要复杂得多)。