自然语言处理 | (13)kenLM统计语言模型构建与应用

本篇博客中我们将学习如何使用KenLM工具构建统计语言模型,并使用它完成一个典型的'智能纠错'文本任务。

目录

1.实验准备

2.训练数据

3.训练语言模型

4.模型压缩

5.模型加载

6.智能纠错


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值