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

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
pip 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

Centos中安装kenlm


6.3 使用python

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

Centos中安装kenlm

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

相关文章:

  • 2021-04-01
  • 2021-06-05
  • 2021-09-02
  • 2021-05-24
  • 2021-07-31
  • 2021-08-19
  • 2021-10-13
猜你喜欢
  • 2021-09-10
  • 2021-09-09
  • 2021-11-10
  • 2021-11-26
  • 2021-11-03
  • 2021-09-16
相关资源
相似解决方案