Ubuntu 安装/使用统计语言模型kenlm
最近接触的都是深度学习那一套,有些…来一个最naive但效果其实并不差的统计模型
也是不错的。(说实话真心觉得模型背后强大的数学理论、信息论真的牛。各种各变体的基于深度学习的重构/自编解码的根基不都是建立在其上吗~~~来自一个深度学习(使用深度学习作为工具)小白的拙见)
一、Kenlm安装步骤
- 获取安装包
wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz
- 创建目录
mkdir kenlm/build
- 进入目录
cd kenlm/build
- 安装
cmake ..
make -j2
注:
需要额外安装cmake
sudo apt-get install cmake
如果make出错(我这里没有记录了,大概有这种错误:make: *** 没有指明目标并且找不到 makefile。 停止)
,根据具体情况,可能需要安装gcc或boost
sudo apt-get install gcc
or
sudo apt-get install build-essential
sudo apt-get install libboost-all-dev
二、使用
- 训练指定语言模型
build/bin/lmplz -o 5 <text > text.arpa
示例:
build/bin/lmplz -o 3 --verbose_header --text /home/zhutingting/people2014_words.txt --arpa /home/zhutingting/result/people2014corpus_words.arps
注
:
(1). -o 3 代表使用3ngram
(2). 待训练的文件必须是分词以后的文件(如果粒度在字上就是空格隔开的字)
- 压缩训练得到的文件
build/bin/build_binary text.arpa text.klm
示例:
build/bin/build_binary /home/zhutingting/result/people2014corpus_words.arps /home/zhutingting/result/people2014corpus_words.klm
参考
kenlm官网
使用kenlm模型判别a/an错别字
使用kenlm工具训练统计语言模型
linux/ubuntu install boost