kenlm N-gram语言模型的安装踩坑及使用
1. 安装步骤
1.1 确认工作环境
一般来说,kenlm只支持在Linux环境下进行训练,因此想用kenlm训练自己的语言模型的小伙伴最好准备一个Linux
环境;至于其他平台的操作方法可能会有, 蛋酥我没找到。。。
1.2 确认kenlm的依赖环境
请先确认Linux环境下是否已经安装boost、zlib、bzip2、xz等依赖环境是否安装完好!!!
等等… 你说怎么查看Linux已安装程序或软件???
准备好了...... 大招已放出 ---> 准备接招吧, 接不住我也不会笑话你(PS:我看不到鸭@_@)
1.2.1 看我—千里眼:
rpm -qa # 还能过得去,最起码是将安装程序都列出来了
1.2.2 看我—火眼金睛:
dpkg -l # 这个以列表形式列出并经过排序,而且——有标注详细信息
1.3 kenlm的依赖环境具体安装步骤:
1.3.1 boost环境安装:
特别需要注意的一点是boost最好不要多次重复安装不同版本
首先我们可以move
到官网去撸各种版本的boost
:http://www.boost.org/.
wget https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.gz
tar xzvf boost_1_71_0.tar.gz
cd boost_1_71_0
./bootstrap.sh
./b2 install
不想动手的话直接按下面操作:
boost:
yum install boost
yum install boost-devel
1.3.2 xz环境安装:
wget http://tukaani.org/xz/xz-5.2.2.tar.gz
tar xzvf xz-5.2.2.tar.gz
cd xz-5.2.2
./configure
make
make install
另一种xz安装方法:
xz:
yum install xz-libs
yum install xz-devel
1.3.3 zlib环境安装:
wget http://zlib.net/zlib-1.2.8.tar.gz
tar xzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
另一种zlib安装方法:
zlib:
yum install zlib
yum install zlib-devel
1.3.4 bzip2环境安装:
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar xzvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6/
make
make install
另一种bzip2安装方法:
yum install libbz2-dev
yum install liblzma-dev
1.4 最最重要的过程来了——kenlm安装:
首先给出官方路径及编译方法:
wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz
mkdir kenlm/build
cd kenlm/build
cmake ..
# 编译
make -j2
当我们执行到第四步:cmake ..
, 如果有报错,说明我们需要安装cmake:
1.5 cmake安装:
安装cmake参考(无坑):https://blog.csdn.net/fxnawm/article/details/78489586.
- 请按照上面的教程进行操作,下载最新版本的cmake包;
- 然后解压安装包:
tar -zxvf cmake-3.15.3-Linux-x86_64.tar.gz
- 接下来重命名:
mv cmake-3.15.3-Linux-x86_64 cmake
- 最后配置环境变量:
4.1. 全局建议修改这个文件/etc/profile
4.2 系统级环境变量,全局(公有)配置一般修改~/.bash_profile
,bash shell执行时,不管是何种方式,都会读取此文件
//环境变量路径是最好填本地cmake包绝对路径# added by cmake installerexport PATH="/home/work/cmake/bin:$PATH"
- 配置完成后,重新打开一个窗口,执行:
cmake --version
, 显示如下,说明安装成功
cmake version 3.15.3CMake suite maintained and supported by Kitware (kitware.com/cmake).
1.6 eigen3安装:
wget https://bitbucket.org/eigen/eigen/get/3.2.8.tar.bz2
tar -jxvf eigen-eigen-07105f7124f9.tar.bz2
mv eigen-eigen-07105f7124f9 eigen3
然后将eigen3加入到环境变量
export EIGEN3_ROOT=$HOME/work/eigen3
接下来就是我们环境安装部分的收尾阶段了!
上面依赖环境安装完成后,删除上次编译缺失的编译文件: rm CMakeCache.txt
然后进入kenlm/build文件夹下继续运行kenlm编译过程:
cd kenlm/build
cmake ..
# 编译
make -j2
接下来我们会看到一个kenlm的编译进度,等待编译完成。
2. kenlm的使用:
在我大华夏环境下,我们最常接触的还是各种各样的中文处理任务,中文语言模型也就不可避免的会接触到。那么怎么理解kenlm语言模型呢?
这里我们可以简单了解下:kenlm可以根据需要训练字符级别语言模型和词级别语言模型。
那么如何使用kenlm进行N-gram语言model的训练呢?
2.1 字符级别n-gram语言模型训练
先将语料按字拆分,用空格将每个字符隔开,并连接成字符串,按行存入txt作为训练语料进行训练。
训练的命令如下:我们可以根据自己的需要去选择gram大小,一般来说5是一个比较合适的值
先进入kenlm/build/目录下
bin/lmplz -o 5 --verbose_header --text data/corpus_cut_char.txt --arpa result/corpus_cut_char.arpa
参数介绍:
-o n:最高采用n-gram语法
-verbose_header:在生成的文件头位置加上统计信息
–text text_file:指定存放预料的txt文件,.txt文件必须是分词以后的文件。
–arpa:指定输出的arpa文件
2.2 词级n-gram语言模型训练
先将语料分词,然后用空格将分词连接成字符串,存入txt作为训练语料进行训练。
训练的命令如下:我们可以根据自己的需要去选择gram大小,一般来说3是一个比较合适的值
先进入kenlm/build/目录下
bin/lmplz -o 3 --verbose_header --text data/corpus_cut_word.txt --arpa result/corpus_cut_word.arpa
2.3 压缩模型
训练完模型后一般需要将arpa文件变为二进制文件,压缩。压缩模型为二进制,方便模型快速加载:
bin/build_binary -s result/corpus_cut_word.arpa result/corpus_cut_word.klm
执行完后会在当前result/目录下保存两个文件,一个是corpus_cut_word.arpa,另一个是corpus_cut_word.klm,arpa
文件失效,所以只能用klm文件。
kenlm N-gram语言模型的安装踩坑及使用相关推荐
- Android Studio安装踩坑
title: Android Studio安装踩坑 date: 2018-09-07 19:31:32 updated: tags: [Android,Android Studio,坑] descri ...
- anaconda+cuda+cudnn+pytorch安装踩坑大全
windows环境下anaconda+pycharm+cuda+cudnn+pytorch安装踩坑大全 anaconda安装 pycharm安装 cuda cudnn pytorch gym环境安装 ...
- windos下 elasticksearch7.13安装踩坑记
windos下 elasticksearch7.13安装踩坑记 一,环境配置 环境要求 java jdk16下载安装 elasticksearch7.13下载安装 遇到的问题 (待更新) 一,环境配置 ...
- Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)
Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...
- Windows环境下PyTorch_geometric安装踩坑
Windows环境下PyTorch_geometric安装踩坑 pytorch geometric在windows环境下安装非常恶心,莫名其妙各种报错.本帖针对GCC的编译error提供解决方案. 一 ...
- 坑!mongodb安装踩坑坑坑坑!
MongoDB安装踩坑坑坑坑! 鉴于网上有很多手把手的教程,我就不ctrl cv了,主要说一下我参考了哪些教程以及踩的坑 进官网进了半天进不去,爬了个楼梯才上去 进去之后,迅雷没会员根本下 ...
- YOLO V5 CPU版本安装踩坑记录
YOLO V5 CPU版本安装踩坑记录 单纯的记录下yolov5进行检测遇到了点问题的解决方法 安装过程: 准备: 1,下载YOLOv5 github项目:https://github.com/ult ...
- nnUNet安装踩坑记录
nnUNet安装踩坑记录 论文地址:https://arxiv.org/abs/1809.10486 https://github.com/MIC-DKFZ/nnUNet 更新于2020/12/04: ...
- pyqt5安装踩坑记录
pyqt5安装踩坑记录
最新文章
- Webform(Linq高级查、分页、组合查询)
- Python的 is 和 == 弄懂了吗?
- SpringMVC_2.搭建SpringMVC
- linux挂载fat分区,[实例]用fstab在Linux下自动挂载Win的FAT和NTFS分区
- Asp.Net 设计模式 之 “简单工厂”模式
- cowboy源码分析
- 字符串匹配算法(Trie树)
- 搞定mac的bashrc
- 总结一下矩阵的基本操作
- rsync数据同步工具
- 交换机的VLAN技术
- FleaPHP 1.0.70 开发进度汇报专贴
- 系统U盘还原成普通U盘
- vmware虚拟机网络设置方法(轻松版)
- 美团校招笔试题-算法8.20-python
- 2013年 macbookair bootcamp 安装win10双系统
- 《人类简史-从动物到上帝》读后感
- eclipes创建web项目
- DFS(深度优先搜索算法)入门
- 视频监控ai分析系统 yolo