部分语音识别

我目前正在与微软的语音引擎进行语音识别。 设置和使用C#非常简单,并且可以用比我想象的更少的代码行来实现很棒的function。

现在,重点是我真的不知道要处理这个问题:我理解引擎需要开始监听,然后你说一个单词或一个句子,并在字典中进行比较,看它是否能看到匹配。 如果是这样,程序会做你想做的任何事情。

我正在摸不着头脑的是,我希望引擎能够“检测”他词典中的单词,包含一个或所有单词的完整随机短语。

例如,让我们假设词典有以下词: – “阅读” – “新闻”

每当我说的时候,我想编写能够检测出那些特定词语的东西: – “给我读新闻” – “你能看到新闻” – “阅读新闻”……

我怎样才能做到这一点?

此function称为“关键字定位”。 通常您无法使用语音识别引擎执行关键字定位,您需要一个特定的定位包。 关键问题是引擎应该不断地比较两个结果 – 找到单词并找不到单词。 语音识别仅查找语法中的单词并且不考虑其他声音。 发现只需要一个不同的算法。

有一种解决方法可以将许多可能的音节或其他声音添加到语音识别语法中,并希望引擎能够找到它们而不是关键字,但与特定关键字识别器相比,它在准确性方面不是一个非常好的解决方案。

如果您没有与Microsoft的引擎紧密相关,并且您需要使用美国英语或法语等通用语言,则可以使用开源软件工具包(如CMUSphinx)实现关键字定位。