语言模型训练工具:SRILM的使用
2014-04-17 16:16
1036 查看
一、小数据
假设有去除特殊符号的训练文本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
假设有去除特殊符号的训练文本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
相关文章推荐
- 语言模型训练工具SRILM详解
- 语言模型训练工具SRILM详解
- Mac OSX下安装配置SRILM语言模型训练工具
- SRILM 语言模型训练工具
- [转]语言模型训练工具SRILM
- SRILM---语言模型训练工具SRILM详解
- 语言模型训练工具SRILM
- SRILM使用之训练无平滑语言模型
- 语言模型训练工具SRILM详解
- SRILM使用之用平滑Katz回退训练语言模型
- 语言模型训练工具SRILM
- 利用开源工具搭一套汉英翻译系统(三):语言模型工具SRILM
- 语言模型(一) 工具和使用简介
- 对于无法连接外网的用户,如何编译语言模型训练工具bigfatlm
- 怎样使用已有的工具训练Tesseract 3.03–3.05来识别新的语言
- 使用TensorFlow训练循环神经网络语言模型
- SRILM语言模型工具
- 概率语言模型 Probabilistic Language Modeling (三) --- 训练工具汇总
- 使用PaddleFluid和TensorFlow训练RNN语言模型
- [session] 使用开源人工智能和机器学习工具训练现实世界的信用模型