搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Windows下修复SSL/TLS协议信息泄露漏洞(CVE-2016-2183)_cve-2016-2183漏洞修复windows
2
Django(17):Cookie 和 Session_django会存cookies吗
3
Hybrid A *算法原理及实现步骤_hybrid a*
4
前端常用的设计模式_前端设计模式
5
计算机毕业设计Java游泳馆管理平台(系统+程序+mysql数据库+Lw文档)_大学游泳馆使用数据分析平台
6
Python爬取中文内容时乱码怎么办_为什么正则表达式爬取的数据是乱码
7
Android 复制 粘贴 剪贴板的使用 ClipboardManager
8
实现字符串复制(C语言)
9
【arduino】超声波垃圾桶_arduino垃圾桶程序
10
Java基础知识点总结_java知识点归纳大全
当前位置:
article
> 正文
SRILM的安装与使用_srilm make test
作者:花生_TL007 | 2024-05-13 06:56:58
赞
踩
srilm make test
安装
SRILM是一个统计和分析语言模型的工具,提供一些命令行工具,如ngram,ngram-count,可以很方便的统计NGRAM的语言模型。
1、安装依赖包
c/c++ compiler,GNU make,GNU gawk,GNU gzip,bzip2,P7zip,csh,Tcl。
Tcl 可嵌入式脚本语言。用于脚本编程和测试,这里是为了SRILM的测试。
下载地址 http://www.tcl.tk/software/tcltk/
解压 进入unix目录
./configure --prefix=/usr/local
make
make install
完成测试
make test
或命令行输入
tclsh
% exit
2、安装srilm
1、下载SRILM压缩包
下载链接为http://www.speech.sri.com/projects/srilm/download.html 当前版本为1.7.2,创建安装的目录,假设安装目录为:/home/xxx/srilm-1.7.2
2、修改Makefile文件(srilm-1.7.2目录下)
(a) 找到此行: # SRILM = /home/speech/stolcke/project/srilm/devel,另起一行输入srilm的安装路径,SRILM = /home/xxx/srilm-1.7.2
(b) 找到此行:MACHINE_TYPE := $(shell $(SRILM)/sbin/machine-type),在其前加#注释掉,并另起一行输入: MACHINE_TYPE := i686-gcc4。
注:此行告诉Makefile之后要使用/home/xxx/srilm-1.7.2/common /Makefile.machine.i686-gcc4文件中的配置。通过 uname -m 命令可以查询机器架构是i686,如果系统是 64 位的,请改为 i686-m64,同时也可能需要修改相应的 sbin/machine-type
3、修改上述Makefile中所提到的/home/xxx/srilm-1.7.2/common /Makefile.machine.i686-gcc4文件
(a)找到此行: #GCC_FLAGS = -mtune=pentium3 -Wall -Wno-unused-variable -Wno-uninitialized,修改为 GCC_FLAGS = -mtune=generic -Wall -Wno-unused-variable -Wno-uninitialized
若CPU为AMD 64位,则可能需要修改为GCC_FLAGS = -march=athlon64 -m64 -Wreturn-type -Wimplicit
(b) 找到:TCL_INCLUDE =
TCL_LIBRARY =
修改为:
TCL_INCLUDE = -I /user/local/include
TCL_LIBRARY = -L /user/local/lib/tcl8.6
注:TCL配置须保证tcl已安装,若未安装,可添加 #NO_TCL = X
(c) 找到:GAWK = /usr/bin/awk
修改为:
GAWK = /usr/bin/awk
注:各系统中(b)(c)的步骤安装情况可能不同,查找软件的安装位置,可使用命令:which is 个gwak等
4、编译工具
返回安装目录/home/xxx/srilm-1.7.2
在命令行输入:
gnumake World
或 make World (if the GNU version is the system default)
顺利的话,srilm就编译通过了。如果出现问题,很可能就是相应的依赖工具没有装完全。
5、测试工具
在安装目录/home/xxx/srilm-1.7.2下,运行
gnumake test
需要等待一段时间,如果出现都是 IDENTICAL,就证明 SRILM 编译成功了。运行顺利的话,会出现如下类似结果
*** Running test select-vocab ***
7.68user 0.06system 0:06.96elapsed 111%CPU (0avgtext+0avgdata 51728maxresident)k
0inputs+1944outputs (0major+12883minor)pagefaults 0swaps
select-vocab: stdout output IDENTICAL.
select-vocab: stderr output IDENTICAL.
make[1]: Leaving directory `/home/xxx/srilm/utils/test'
6、编译优化版本
在安装目录/home/xxx/srilm-1.7.2下,运行
gnumake World OPTION=_c
gnumake cleanest OPTION=_c
其中OPTION有多种参数可选择
OPTION=_c "compact" data structures
OPTION=_s "short" count representation
OPTION=_l "long long" count representation
OPTION=_g debuggable, non-optimized code
OPTION=_p profiling executables
使用
一、小数据
假设有去除特殊符号的训练文本trainfile.txt,以及测试文本testfile.txt,那么训练一个语言模型以及对其进行评测的步骤如下:
1:词频统计
ngram-count -text trainfile.txt -order 3 -write trainfile.count
其中-order 3为3-gram,trainfile.count为统计词频的文本
2:模型训练
ngram-count -read trainfile.count -order 3 -lm trainfile.lm -interpolate -kndiscount
其中trainfile.lm为生成的语言模型,-interpolate和-kndiscount为插值与折回参数
3:测试(困惑度计算)
ngram -ppl testfile.txt -order 3 -lm trainfile.lm -debug 2 > file.ppl
其中testfile.txt为测试文本,-debug 2为对每一行进行困惑度计算,类似还有-debug 0 , -debug 1, -debug 3等,最后 将困惑度的结果输出到file.ppl。
二、大数据(BigLM)
对于大文本的语言模型训练不能使用上面的方法,主要思想是将文本切分,分别计算,然后合并。步骤如下:
1:切分数据
split -l 10000 trainfile.txt filedir/
即每10000行数据为一个新文本存到filedir目录下。
2:对每个文本统计词频
make-bath-counts filepath.txt 1 cat ./counts -order 3
其中filepath.txt为切分文件的全路径,可以用命令实现:ls $(echo $PWD)/* > filepath.txt,将统计的词频结果存放在counts目录下
3:合并counts文本并压缩
merge-batch-counts ./counts
不解释
4:训练语言模型
make-big-lm -read ../counts/*.ngrams.gz -lm ../split.lm -order 3
用法同ngram-counts
5: 测评(计算困惑度)
ngram -ppl filepath.txt -order 3 -lm split.lm -debug 2 > file.ppl
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/562382
推荐阅读
article
dockerfile
创建自定义镜像_
dockerfile
run
make
install
...
是多个基础镜像和应用镜像结合起来的只读层,实际上,镜像就是一个只读文件,容器基于镜像实例,运行起来后,容器变成一个可读可...
赞
踩
article
FPGA VIVADO仿真详解
TEST
BENCH
_
vivado
testbench
...
面向新手,使用VIVADO自带仿真工具,
TEST
BENCH
_
vivado
testbench
vivado
testbe...
赞
踩
article
【
Linux
】
Linux
环境基础
开发工具
的使用 ———(
yum
、
vim
、
gcc
&g++、gdb、ma...
其实不要咋记,多写多敲就能记下,挺多知识点的【
Linux
】
Linux
环境基础
开发工具
的使用 ———(
yum
、
vim
、gc...
赞
踩
article
【
Linux
驱动】内核
模块
编译
——
make
modules
的使用(单
模块
编译
、多
模块
编译
)...
【
Linux
驱动】内核
模块
编译
——
make
modules
的使用(单
模块
编译
、多
模块
编译
)_
make
module...
赞
踩
article
Android
中的各种访问
权限
Permission
含义_
android
.
permission
.tes...
Android
6.0之后就对
权限
有了限制,敏感
权限
需要提示用户申请同意,所以在此整理将所有的
权限
含义记录下了,便已自己查...
赞
踩
article
Make
-An-
Audio
:
Text
-To-
Audio
Generation
with Promp...
做了什么事情?支持各种形式的输入(文本,音频,图片,视频),最终根据输入描述可控的生成音频。用到了文本、音频、视觉领域预...
赞
踩
article
Windows
平台下使用
Cygwin
安装
SRILM
_
cygwin
;
srilm
;
make
all...
主要参考了文章:
Windows
下基于
cygwin
安装
srilm
_在大海里翱翔的猪-CSDN博客
Cygwin
的安装可以直接...
赞
踩
article
srilm
-
1.7
.2
centos
安装
_
srilm
安装
教程
centos
...
1、
安装
第一步,得了解做什么的,来点简介吧,网上抄一段SRILM是一个建立和使用统计语言模型的开源工具包,从1995年开...
赞
踩
article
srilm...
将srilm-1.7.2解压到tools目录下面,重命名为srilm1.修改srilm目录下Makefile文件找到此行...
赞
踩
article
语言
模型
训练
工具
s
rilm
_
arpa
s
rilm
<
s
> 概率...
转载自:http
s
://www.jian
s
hu.com/p/85781d5baf2e
s
rilm
是著名的约翰霍...
赞
踩
相关标签
docker
fpga开发
vim
linux
git
运维
服务器
人工智能
python
语音识别
windows
java
语言模型
srilm