Centos中安装kenlm

注意:下面缺少任何一个依赖包都不能安装成功,建议在线安装,让系统自动配置。CentOS和Ubuntu安装的包有所不同

# Linux中离线下载软件包网站,主要提供RPM包:https://rpm.pbone.net/ ,https://pkgs.org/

1、安装boost

yum install boost-devel boost-test boost
# 如果boost的依赖包没有安装完整,安装过程中可能会出现以下错误
# /usr/share/cmake/Modules/FindBoost.cmake:1138 (message):   Unable to find the requested Boost libraries

2、安装 zlib、bzip2和xz

yum install zlib bzip2 xz

3、安装cmak和make

yum install cmake make

4、安装kenlm

# kenlm介绍
http://kheafield.com/code/kenlm/

# 下载kenlm
https://github.com/kpu/kenlm/

# 将kenlm-master.zip下载到/usr/local目录下
# 解压zip
unzip kenlm-master.zip
# 重新命名为kenlm
mv kenlm-master kenlm
# 进入kenlm
cd kenlm
# 建立目录
mkdir bulid
# 进入bulid,使用cmake编译,生成程序库
cmake ..
# 接着进行make编译
make

5、安装kenlm的python安装包

# 进入kenlm
python setup.py install 

6、简单使用

6.1 数据

# test数据,注意词必须要用空格隔开

# test
河南大学 真棒
中国 人民 我 爱 你
北京 欢迎 您

6.2 训练模型

# 训练模型,输出的模型为test.arpa
# 注意:lmplz是在bulid的bin目录下,不是在kenlm下,“<”表示将文件作为命令的参数输入,“>”表示输出到指定文件
bin/lmplz -o 3  <test  >test.arpa
# 也可以使用如下命令
bin/lmplz -o 3 --verbose_header --text test --arpa test.arpa

# 如果出现下面问题,添加--discount_fallback参数,即   bin/lmplz -o 3 --discount_fallback  <test >test.arpa 
Could not calculate Kneser-Ney discounts for 3-grams with adjusted count 4 because we didn't observe any 3-grams with adjusted count 3; Is this small or artificial data?
Try deduplicating the input.  To override this error for e.g. a class-based model, rerun with --discount_fallback


6.3 使用python

# test.py
import kenlm
model = kenlm.Model('test.arpa')
print(model.score('中国', bos=False, eos=False))

参考网站: https://kexue.fm/archives/3956

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值