Siri等软件采用语音命令并适当回应这些问题(98%)。我想知道,当我们编写一个软件来获取语音信号的输入流并回答这些问题时,
我们是否需要将输入转换为人类可读的语言?比如英语?
在自然界中,我们有很多不同的语言,但是当我们说话时,我们基本上会产生不同的噪音。而已。但是,我们创建了所谓的字母表来表示那些噪音变化。
所以,我的问题是,当我们编写语音识别算法时,我们是否将这些噪声变化信号与我们的数据库匹配,或者首先将这些噪声变化转换为英语,然后检查从数据库中回答什么?
答案 0 :(得分:2)
您所指的“噪音变化信号”称为phonemes。语音识别系统如何将这些音素翻译成单词取决于系统的类型。 Siri不是一个基于语法的系统,你可以根据一套规则告诉语音识别系统你期望什么类型的短语。由于Siri在开放的环境中翻译语音,它可能使用某种类型的统计建模。当今流行的语音识别统计模型是隐马尔可夫模型。虽然有一个涉及各种类型的数据库,但它并不是简单地将一组音素搜索成单词。翻译here的过程和问题有很好的高级描述。
答案 1 :(得分:2)
Apple的Siri基于对自然语言的理解
我相信Nuance是幕后的人。Refer This Article
Nuance是语音识别系统开发的领导者。
Nuance Dragon Engine的准确性令人惊叹......
我工作的客户是为他们的IVR系统消费Nuance NOD服务......
我试过Nuance Dragon SDK for Android ...
根据我的经验,如果你使用Nuance,你不必担心噪音变化等等...
但是当你要企业发布你的应用Nuance可能是昂贵的..
如果您打算使用Power of Voice来驱动您的应用,那么Google API也是更好的选择......
像Sphinx这样的API和pocket sphinx也可以帮助您更好地进行语音应用程序开发。所有上述API都会处理噪声抑制和将语音转换为文本等等。< / p>
您需要担心的是构建系统以理解给定String或语音内容的语义含义.Apple应具有非常好的语义翻译功能。所以试试Nuance SDK吧。它适用于Android,iOS,Windows手机和HTTP客户端版本。
我希望它可以帮到你