KenLM语言模型工具

KenLM生成[语言模型] 的整理
PS:1.生成[语言模型]的同时,一定要注意生成的模型文件及路径是否正确,防止覆盖之前的模型
2. 使用xz解压.xz文件

自己训练语言模型(language model):
kenlm
工具包
使用kenlm构建语言模型教程:
参考链接1
参考链接2
参考链接3
参考链接4
参考链接5
kenlm的-help
训练语言模型的步骤:
先进入kenlm/build文件夹

用-o 5 训练成.arpa格式的文件
可用:bin/lmplz -o 5 --verbose header --text mytext/19-01-au.txt mylmmodel/log3.arpa
可用:bin/lmplz -o 3 --verbose header --text mytext/19-01-au.txt --arpa mylmmodel/log3.arpa
可用:bin/lmplz -o 5 --prune 0 1 1 1 1 --text mytext/19-01-au.txt --arpa mylmmodel/log3.arpa

在en.00(没有预处理的)上进行训练,修剪模型
可用:bin/lmplz -o 5 --prune 0 1 1 1 1 --text mytext/lm_text/en.00.deduped --arpa mylmmodel/en.arpa
但:Special word is not allowed in the corpus. I plan to support models containing in the future. Pass --skip_symbols to convert these symbols to whitespace.
跳过空白字符:–skip_symbols
可用:bin/lmplz -o 5 --skip_symbols --prune 0 1 1 1 1 --text mytext/lm_text/en.00.deduped --arpa mylmmodel/en.arpa

不修剪模型:
bin/lmplz -o 5 mytext/lm_text/en.00.deduped mylmmodel/en.arpa

将生成的.arpa改成trie文件格式,并采用量化和指针压缩,也放到mylmmodel文件夹下
可用:bin/build_binary trie -a 22 -q 8 -b 8 mylmmodel/log3.arpa mylmmodel/log3.binary

将arpa文件改为.klm文件
可用:bin/build_binary trie -a 22 -q 8 -b 8 mylmmodel/log3.arpa mylmmodel/log3.klm
可用:bin/build_binary trie -a 22 -q 8 -b 8 mylmmodel/en.arpa mylmmodel/en.klm

!!!在生成.arpa文件的时候,必须加上–arpa 使用txt文件的时候,也需要加上–text

klm是kenlm定义的二进制格式,klm格式占用空间更少。
参考链接1

采用log4.arpa语言模型先把deepspeech2的语言模型执行完再说
生成log4.arpa文件
可用:bin/lmplz -o 5 --prune 0 1 1 1 1 --text mytext/19-01-au.txt --arpa mylmmodel/log4.arpa
可用:bin/lmplz -o 5 --skip_symbols --prune 0 1 1 1 1 --text mytext/19-01-au.txt --arpa mylmmodel/log4.arpa
使用–skip_symbols得到的模型才能被deepspeech2的sh run_infer.sh使用

生成二进制文件.klm
可用:bin/build_binary trie -a 22 -q 8 -b 8 mylmmodel/log3.arpa mylmmodel/log3.klm
可用:bin/build_binary trie -a 22 -q 8 -b 8 mylmmodel/log4.arpa mylmmodel/log4.klm

xz的使用
压缩的时候保留源文件的方式:xz -k file.txt
解压的时候保留源文件的方式:xz -d -k sources-19-01.txt.xz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值