我想在我的voicexml文件中使用动态语法(阅读单个产品并使用php创建语法)
我的问题是,如果有任何建议或经验,应该从我阅读产品的地方写入多少字。 我不太了解单词的结构或发音,所以让我们说
a)这些词语彼此不同 b)单词具有相同的结构或发音 c)a)和b)的混合物
提前致谢
答案 0 :(得分:3)
当你指出VoiceXML的动态语法时,我假设你的意思是SRGS语法。
不幸的是,你必须在合理的负载下进行性能测试才能确定。我在某些条件下成功传输了1M +语法。我还做了10,000个名单。我也遇到过只能使用几十个条目的平台。
语音识别(ASR)和VoiceXML平台将对您的结果产生重大影响。并且,具有该语法的并发识别的数量也将与总体识别负载相关。
您提到的因素会对识别性能和CPU负载产生影响,但我通常会发现语法大小和条目的长度/可变性更重要。例如,是/否语法通常具有更高的CPU负载,然后是复杂的菜单语法(短语往往需要更多的传递并且在处理时留下更多的可能性)。我从广泛的数字语法(9-31位数字语法)中看到了一些可怕的数字。声音很短,难以消除歧义。组件的可变性再次创建了大量的路径,必须不断检查解决方案。大多数菜单或自然发音的短语都有较长的单词,听起来有很大的不同,因此可以快速排除许多路径。
一些提示:
大多数企业级ASR系统都支持缓存。如果您可以识别带有URL参数的语法并设置ASR需要的任何HTTP头信息(不要假设它们符合标准),您可能会看到显着的性能提升。
提示通常可以隐藏语法加载/编译阶段。如果你有一个相对较长的提示,人们会倾向于插入,你会发现你可以隐藏一些相当大的语法提取。同样,并非所有平台都能很好地并行处理这些任务。注意,大多数ASR引擎可以收集音频并执行结束指向,同时仍然可以获取和编译语法。这会给你带来更多时间,但你会看到更长时间的影响。
大多数ASR引擎提供的工具可让您使用示例音频分析语法。这些工具通常会为您提供cpu资源指标。由于识别并发性的复杂性,我很少发现你可以计算/预测整体性能,但它们可以给你一个与其他语法相比的影响。我还没有找到一个能够轻松跟踪语法处理时间的引擎,甚至可能难以粗略地猜测并发性挑战。在大多数情况下,必须进行大规模测试。
在语法加载/编译时间之后,识别并发性是最重要的性能影响。我在电话会议开始时看到了一些具有高度复杂语法的应用程序。存在高水平的识别并发性而没有机会缓存(当时的平台问题),这导致了扩展挑战(识别处理中的间歇性,大延迟)。