本篇博客中我们将学习如何使用KenLM工具构建统计语言模型,并使用它完成一个典型的'智能纠错'文本任务。
目录
1.实验准备
- 安装依赖
# 安装依赖
!apt install libboost-all-dev
!apt install libbz2-dev
!apt install libeigen3-dev
- 下载KenLM并编译
#下载kenlm压缩包并在当前目录解压
!wget -O - https://kheafield.com/code/kenlm.tar.gz | tar xz
#在kenlm下新建build目录
!mkdir kenlm/build
#编译
!cd kenlm/build && cmake .. && make -j8
- 安装KenLM
!cd kenlm/build && make install
2.训练数据
使用预处理(stemming等)好的英文训练数据(语料库),查看部分内容:
!head -5 /data/NLP/Language_Models/lm_train_data #/代表根目录 ./表示当前目录(可以省略) ../表示当前目录的父目录
#head -5 查看前5行
3.训练语言模型
通过命令行的方式使用kenlm,在之前的语料库上训练语言模型(计算各种组合的条件概率),命令:
-o 后面的数字5代表使用N-gram的N取值为5。text.arpa 表示kenlm训练得到的文件格式为.arpa格式,名字为text。
# 我们训练一个简单的2-gram语言模型
!lmplz -o 2 </data/NLP/Language_Models/lm_train_data> /data/NLP/Language_Models/lm.arpa