【问题标题】:Speech recognition of the large name list大名单的语音识别
【发布时间】:2016-12-24 14:18:32
【问题描述】:

我们在 C#.net 中使用了一个解决方案,在该解决方案中,某人可以拨打电话号码并先说出一个人,然后是姓氏。然后在我们网站上的来宾注册表中输入该名称。我们使用从美国人口普查中获得的包含 5,000 个名字和 89,000 个姓氏的 XML 字典文件。我们正在使用 Microsoft.Speech.Recognition 库,(也许这就是问题所在)。

我们的问题是,即使使用像 Joshua McDaniels 这样相对简单的名字,我们的失败率也只有 30%。性能(速度方面)很好,只是没有抓住大部分名称。

现在,我知道最终口语名称的质量将决定系统的性能,但对于双关语,我们希望在“实验室”条件下达到接近 99%,发音完美,没有口音,然后称其为好。但即使经过多次试验,同一个人说话、同一个名字、同一个电话、同一个环境,我们的失败率仍然是 25%。

我的问题是:有人知道更好的方法吗?我们考虑过可能会尝试使用 API,这样匹配会更加相关和最新。

【问题讨论】:

    标签: c# speech-recognition speech-to-text speech


    【解决方案1】:

    目前的技术状态是很难识别名字,而且名字很多。您可以从电话簿(500 个条目)中识别出高质量的姓名,但对于成千上万的人来说,这非常困难。语音识别引擎当然不是为此而设计的,尤其是像 System.Speech 这样的离线引擎。

    使用像 https://www.projectoxford.ai 这样的在线系统可能会获得更好的结果,这些系统使用高级 DNN 声学模型和更大的词汇表。

    有很多大公司都是围绕着识别大名单的能力而建立的,例如Novauris 为此使用了专利技术。您可能会考虑使用开源引擎构建类似的东西,但无论如何这将是一项艰巨的任务。

    【讨论】:

    • 我用 MS Speech API 做了一些实验。它适用于句子,因为它使用意图,因此它会查看第一个单词,进行猜测,然后继续下一个单词。 SDK 中的示例显示它为一个简短的句子经历了多次迭代。不幸的是,它根本不适用于名称。我们决定取消此功能。我们听了几个 .wav 文件,作为人类,我们甚至不知道他们在说什么。所以我们认为,即使我们可以让它在实验室条件下 100% 的工作,它也会下降到目前的 70-80%,所以何必费心呢。
    • @Nikolay Shmyrev “您可以从电话簿(500 个条目)中识别出高质量的姓名”——哪个软件、API 或库可以做到这一点?我正在做一些研究,但找不到可以与自定义列表匹配的内容。
    • 任何预先支持列表规范的现代 - at&t, ms project oxford。来自开源解决方案 Kaldi。
    猜你喜欢
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 2023-03-17
    相关资源
    最近更新 更多