SRILM 语言模型训练工具

来源:互联网 发布:企业淘宝费用是多少 编辑:程序博客网 时间:2024/04/28 04:28

1,下载

2,安装

make SRILM=$PWD
3,配置

将bin和bin/i686-m64添加到PATH环境变量中

4,测试

./ngram-count -help

5,海量语料训练

由于对于大规模语料进行语言模型的训练,经常会导致内存问题。

经过测试,用srilm处理一个3G的语料,训练3元语言模型,32G内存根本就不够用。

解决方案:把文件给分开了,然后分别算词频并merge起来,做成一个语言模型,具体参见。

操作步骤:

1 把文件给分割开,放在一个目录下,然后生成一个文件名列表文件,如filelist ,一般使用按行分割的形式,split -l100 test.txt out

使用make-batch-counts分别统计各个文件中的词频make-batch-countsfilelist 5 cat counts -order3,其中filelist为需要统计的文件名列表,5为文件batch的个数,就是5个小文件分成一组进行处理。catlmcount 表示输出到counts,后续则是提交给ngram-count的参数,需要什么写什么就行了。

使用merge-batch-counts合并统计文件merge-batch-countscounts,然后在counts下把文件都合成了一个文件*.gz

4 使用make-big-lm生成模型,make-big-lm -readcounts/??.gz -order 3 -lm test.lm,和ngram-count 的用法一致


参考文档:srilm 语言模型的内存问题

原创粉丝点击