将zamia-speech.org中的kaldi asr nnet3链模型调整为不同的语言模型。

kaldi-adapt-lm的Python项目详细描述


#Kaldi改编lm

将zamia-speech.org中的kaldi asr nnet3链模型调整为不同的 语言模型。

建设性的意见,补丁和拉请求是非常受欢迎的。

教程

为了创建我们想要调整kaldi模型的语言模型,我们首先 需要创建一组句子。要开始,请下载并解压缩通用集 为您的语言的句子,例如

wget ‘http://goofy.zamia.org/zamia-speech/misc/sentences-en.txt.xz’ unxz sentences-en.txt.xz

现在假设文件utts.txt包含您希望模型执行的语句 以比其他人更高的概率认识。为了达到这个目的,我们添加了 将本例中的五个句子转换为正文:

cat utts.txt utts.txt utts.txt utts.txt utts.txt sentences-en.txt >lm.txt

我们还希望将语言模型限制在音频模型支持的词汇表范围内, 接下来,我们提取词汇:

MODEL=”models/kaldi-generic-en-tdnn_sp-latest” cut -f 1 -d ‘ ‘ ${MODEL}/data/local/dict/lexicon.txt >vocab.txt

有了这些文件,我们现在可以使用kenlm:

lmplz -o 4 –prune 0 1 2 3 –limit_vocab_file vocab.txt –interpolate_unigrams 0 <lm.txt >lm.arpa

现在我们可以开始kaldi模型的适应过程:

kaldi-adapt-lm ${MODEL} lm.arpa mymodel

现在您应该能够在work子目录中找到结果模型的tarball。

要求

  • Python2
  • 卡尔迪ASR

许可证

我自己的代码是apache-2.0许可的,除非在 脚本的版权标题。

作者

格恩特·巴特希<;guenter@zamia.org>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序