语言模型
语言模型是语音识别中最重要的组件之一,它告诉解码器应该去识别哪些单词序列。语言模型有这么几种,一种是关键词列表,第二种是语法和统计语言模型,第三种是音节语言模型,功能和性能均有所差别。
关键词列表
Pocketsphinx支持关键词列表语言模型,这种模式支持用户给出一系列的关键词用作查询。这种模式的优点在于:你可以为每一个关键词指定一个阈值,阈值的大小与关键词的长度有关,关键词越长,阈值越大,从而便于在连续的语音中检测出关键词。除了关键词列表模型外,其他两种模型都是试图检测语法中的单词,即使你使用的单词并不在语法当中。一个典型的关键词列表如下:
oh mighty computer /1e-40/
hello world /1e-30/
other phrase /1e-20/
每一个关键词词组必须指定阈值,短的关键词,可以用短的阈值例如1e-1,长的关键词的阈值要大一点,最大不超过1e-50。如果一个关键词非常长,超过10个音节,在这种情况下,建议将该关键词分割成短的词组,分别用来识别。在语言模型中,我们需要基于以下两个因素调节阈值的大小:
- 识别错误率;
- 识别遗漏;
最佳方式是用一段已经录制好的音频文,具体步骤如下:
- 找一段长的录音,这段录音包含你想要的关键词和其他一些声音。比如,你可以着一段电影原声,这段音频的时间大约1小时;</