我们在C#.net中使用一个解决方案,在那里有人可以拨打电话号码并先说出一个人,然后说出姓氏.然后在我们网站的访客注册表中输入该名称.我们使用的
XML字典文件包含5,000个名字和89,000个姓氏,这些名字来自美国人口普查.我们正在使用Microsoft.Speech.Recognition库(也许这就是问题所在).
我们的问题是,即使是像Joshua McDaniels这样相对容易的名字,我们也会得到大约30%的失败率.性能(速度方面)很好,它只是没有抓住很多名字.
现在,我明白最终会说出口语名称的质量,对双关语来说,系统表现得有多好,但我们希望在“实验室”条件下接近99%,完美的发音和没有重音然后称之为好.但是,即使在同一个人说话,同名,同一部电话,相同环境的几次试验之后,我们的失败率也达到了25%.
我的问题是:有没有人知道更好的方法去追求这个?我们想过可能尝试使用API,这样匹配就更具相关性和最新性.
最佳答案 该技术的当前状态是很难识别名称,而且还有很多名称.您可以从电话簿(500个条目)中识别出质量良好的名称,但对于成千上万的名称来说,这非常困难.语音识别引擎当然不是为此而设计的,特别是像System.Speech这样的离线语言.
使用高级DNN声学模型和更大词汇表的在线系统(如https://www.projectoxford.ai)可能会获得更好的结果.
围绕识别大型名单的能力建立了大型公司,例如Novauris
使用专利技术.您可以考虑使用开源引擎构建类似的东西,但无论如何这将是一项艰巨的任务.