部分语音识别技术

5
我目前在使用Microsoft的语音引擎进行语音识别,非常好用。通过C#,它十分容易设置和使用,并且可以实现比我最初想象的更少的代码行数。
现在,关键是我不知道如何处理这个问题: 我知道引擎需要开始监听,然后你说一个单词或句子,它就会在字典中进行匹配。如果匹配成功,则程序执行你想要它做的事情。
但是我有一个疑问,我希望引擎可以“检测”出包含其字典中某个或所有特定单词的完全随机短语。
例如,假设字典中有以下单词: - "Read" - "News"
我想编写一些代码,以便在我说出以下任意短语时,引擎可以检测到这些特定单词: - “Read me the news” - “Can you read the news” - “Read news”
我该如何实现这一点?
1个回答

7
这种功能称为“关键词检测”。通常,语音识别引擎无法执行关键词检测,需要使用特定的检测包。关键问题在于引擎应该不断比较两个结果 - 找到单词和未找到单词。语音识别只寻找语法中的单词,而不考虑其他声音。检测只需要不同的算法。
有一个解决方法是将许多可能的音节或其他声音添加到语音识别语法中,并希望引擎能够找到它们而不是关键词,但与特定的关键词检测器相比,这并不是非常准确的解决方案。
如果您与微软引擎没有密切联系,并且需要像美式英语或法语这样的通用语言,则可以使用语音识别的开源软件工具包(例如CMUSphinx)实现关键词检测。

太棒了,简单明了。我终于知道从哪里开始了,谢谢! - Jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接