3

Siri 等软件接受语音命令并适当地回答这些问题 (98%)。我想知道,当我们编写一个软件来获取语音信号的输入流并回答这些问题时,

我们是否需要将输入转换为人类可读的语言?比如英语?

在自然界中,我们有很多不同的语言,但是当我们说话时,我们基本上会发出不同的声音。而已。但是,我们创建了所谓的字母表来表示这些噪声变化。

所以,我的问题是,当我们编写语音识别算法时,我们是将这些噪声变化信号与我们的数据库匹配还是首先将这些噪声变化转换为英语,然后检查从数据库中回答什么?

4

2 回答 2

2

Apple 基于自然语言理解的 Siri.. 我相信 Nuance 在幕后..参考这篇文章
Nuance 是语音识别系统开发的领导者。Nuance Dragon 引擎的准确性令人惊叹……我为之工作的客户正在为他们的 IVR 系统使用 Nuance NOD 服务……
我已经尝试过适用于 Android 的 Nuance Dragon SDK ……

根据我的经验,如果你使用 Nuance,你不需要担心噪音变化等......
但是当你去企业发布你的应用程序时,Nuance 可能会很昂贵......

如果您打算使用 Power of voice 来驱动您的应用程序,Google API 也是一个更好的选择...

有像Sphinx袖珍 sphinx之类的 API也可以帮助您更好地进行语音应用程序开发。以上所有 API 都会处理噪声抑制和将语音转换为文本等。

所有你需要担心的是构建你的系统来理解给定字符串或识别语音内容的语义。苹果应该有非常好的语义解释器。所以试试 Nuance SDK。它适用于 Android、iOS、Windows 手机和 HTTP 客户端版本。

我希望它可以帮助你

于 2012-07-16T17:47:42.483 回答
2

您所指的“噪声变化信号”称为音素。语音识别系统如何将这些音素翻译成单词取决于系统的类型。Siri 不是一个基于语法的系统,您可以根据一组规则告诉语音识别系统您期望的短语类型。由于 Siri 在开放环境中翻译语音,它可能使用某种类型的统计模型。当今流行的语音识别统计模型是隐马尔可夫模型。虽然涉及到各种数据库,但它并不是将音素组简单地搜索为单词。这里有一个非常好的过程和翻译问题的高级描述。

于 2012-07-16T14:21:19.047 回答