我想拥有一个带有训练有素的平台的自动语音识别器,即语音模块。例如:- 我有两个非常相似的词,所以系统必须听完整的词和任何 dilax 并验证它并给出输出。
怎么做。
我已经搜索过,但在这一点上我完全空白。
我想拥有一个带有训练有素的平台的自动语音识别器,即语音模块。例如:- 我有两个非常相似的词,所以系统必须听完整的词和任何 dilax 并验证它并给出输出。
怎么做。
我已经搜索过,但在这一点上我完全空白。
从这个角度来看,使用 Android 语音识别 API 进行微调是不可能的。您可能需要从头开始执行此操作..
如果您想继续使用谷歌语音识别 API,那么您需要进行后期处理……这称为 NLU(自然语言理解)或 NLP(自然语言处理)。
简单的概念是来自谷歌 API 的任何 STT(语音到文本)结果,您需要将它们分组到一个最终输出中。你有什么不同的口音或语调要合一。或者这个过程在需要一些内容来理解和做一些动作时有价值,比如首尔的天气怎么样?
回到你的问题,为了区分相似的发音词而进行微调需要有 AM(声学模型)和 LM(语言模型),它们被训练了相应的类型的词。因此,您需要从头开始训练模型,或者使用具有声学模型适应的现有模型也可以。
使用开源的良好起点是 HTK 或 Sphinx。如果您有预算购买,那么 AT&T 的 watson 是迄今为止语音识别领域最好的工具。
您想使用哪种技术?有不同的框架可用,例如 Dragonfly 框架 ( https://code.google.com/p/dragonfly ) 或 .net 项目的 System.Speech.Recognition 命名空间。对于移动设备,您可以仔细查看 Google 提供的语音识别 API。
我认为你应该采取不同的方法,这比试图让 Sphinx 工作更简单。
使用诸如 soundEx 之类的语音匹配算法来确定用户是否更有可能说出一个词或另一个词。我会修改 soundEx 算法,使其更容易匹配字符串。如果你的话足够不同,它应该做得很好。