码迷,mamicode.com
首页 > Web开发 > 详细

Recurrent Neural Network Language Modeling Toolkit by Tomas Mikolov使用示例

时间:2014-08-02 12:58:53      阅读:2700      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   strong   文件   数据   2014   

递归神经网络语言模型工具地址:http://www.fit.vutbr.cz/~imikolov/rnnlm/


1. 工具的简单使用

工具为:rnnlm-0.3e 

step1. 文件解压,解压后的文件为:

bubuko.com,布布扣

图1.rnnlm-0.3e解压后的文件


step2. 编译工具

命令:

make clean

make

可能报错 说这个x86_64-linux-g++-4.6 命令找不到

如果出现上述错误,简单的将makefile文件的第一行CC = x86_64-linux-g++-4.6 改为 CC = g++

编译后,有如下新文件生成

bubuko.com,布布扣

图2. 编译完后,有rmmlm可执行文件生成


step3. 执行rnnlm

example.sh文件中有执行的命令,在此简单的拷贝出来执行,看看效果。

bubuko.com,布布扣

图3. 执行的rnn的命令


执行命令后的输出:

bubuko.com,布布扣

图4. 执行rnnlm后的输出

输出中有一堆参数,目前不清楚这些参数有什么用,以后弄清楚了再补上。


至此,rnnlm运行完毕,模型文件也有生成。如下图:

bubuko.com,布布扣

图5. rnn模型文件

model是训练出rnnlm的参数文件,model.output.txt是模型在验证集(valid dataset)上的表现。


**工具包中自带的train valid test数据分别包含10000, 999, 1000个英语句子。语料规模很小。


step4. 使用训练好的模型对测试集test进行测试

命令./rnnlm -rnnlm model -test test

bubuko.com,布布扣

图6. 训练好的模型在测试集上的性能


后面的是将rnnlm和普通的n-gram进行对比

step5. 训练普通的n-gram model[此处的srilm工具需要自己安装]

命令:ngram-count -text train -order 5 -lm templm -kndiscount -interpolate -gt3min 1 -gt4min 1

bubuko.com,布布扣

图7. 训练出的名为templm的5元n-gram model


step6. 使用训练出的templm对test进行测试

命令:ngram -lm templm -order 5 -ppl test -debug 2 > temp.ppl

测试完毕后,当面目录下有temp.ppl文件生成。temp.ppl文件记录templm在test上的表现

bubuko.com,布布扣

图8. temp.ppl文件最后2行。


**example还有convert的命令:

 gcc convert.c -O2 -o convert
./convert <temp.ppl >srilm.txt

后面step9的执行需要此步骤中的srilm.txt文件


**关于convert.cc文件,其源文件中对其功能有简单说明:this simple program converts srilm output obtained in -debug 2 test mode to raw per-word probabilities。

[在工具包给定的语料实验中,对比rnnlm和n-gram模型的模型大小,模型在test上的表现,此处应有几点结论。]


step7. 对rnlm和n-gram进行加权使用

命令:./rnnlm -rnnlm model -test test -lm-prob srilm.txt -lambda 0.5

加权后模型在test的表现如下图:

bubuko.com,布布扣


关于RNNLM的使用,至此,剧终.....


#我自己的语料上的表现:

语料统计

语料 train valid test
句数 2500000 250000 184985
词数 7030251 8 9113721 6993456

程序运行中.......

Recurrent Neural Network Language Modeling Toolkit by Tomas Mikolov使用示例,布布扣,bubuko.com

Recurrent Neural Network Language Modeling Toolkit by Tomas Mikolov使用示例

标签:style   blog   http   使用   strong   文件   数据   2014   

原文地址:http://blog.csdn.net/wangxinginnlp/article/details/38345567

(0)
(2)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!