当前位置:   article > 正文

Rouge的安装与使用_初始化 rouge155

初始化 rouge155

这个坑实在太深了,总结几位大佬博客,汇总了可能出现的问题。愿为后人照福吧。

步骤

1. 需要安装perl解释器(ubuntu 系统已自带, 通过perl -v可查看当前版本);

2. 需要额外安装perl解释器的XML::DOM模块以及DB_File模块,而XML::DOM的安装又需要XML::RegExp、XML::Parser、LWP::UserAgent和XML::Parser::PerlSAX模块(对,就是这么恶心);

3. 设置系统环境变量ROUGE_EVAL_HOME,需要设置为ROUGE安装目录下词库data所在路径

4.修改执行路径
获取

可以从github上获取,也可以从我的百度网盘(1.5.5版本)获取,另外其他依赖的模块包我也放进这个网盘链接里了,可以一起下载省去寻找的麻烦

安装

step1: 检查perl版本

因为DOM要求perl版本要在5.6.0以上,所以先在终端用perl -v查看一下当前版本,版本较低的话先升级一下perl。

step2: 安装XML::Parser

假设使用我百度网盘里的文件,将XML-Parser-2.44.tar解压到当前文件夹或指定路径
 

  1. tar -zxvf XML-Parser-2.44.tar.gz
  2. cd XML-Parser-2.44
  3. perl Makefile.PL 
  4. make 
  5. make test # if %%%Result看到PASS为成功就继续,否则仔细看哪个case报错了 
  6. sudo make install # if %%%必须要sudo,否则可能没有读写文件的权限

step3: 安装XML::RegExp

step2

step4: 安装LWP::UserAgent

LWP::UserAgent是libwww-perl中的一部分,直接用apt-get安装就好啦。

  1. sudo apt-get update
  2. sudo apt-get install libwww-perl

step5: 安装XML::Parser::PerlSAX

这个模块是libxml-perl中的一部分,也可以直接用apt-get安装(其实我在想前面几个模块能不能也这么安装)。

sudo apt-get install libxml-perl

step6: 安装XML::DOM

如果前面几个都没问题的话,到这里应该也能一遍过了,继续参考step2的方法,进入XML::DOM的安装包路径,用perl安装即可。如果在make test的时候还报错如下:

  1. Test Summary Report
  2. -------------------
  3. t/build_dom.t (Wstat: 512 Tests: 1 Failed: 1)
  4. Failed test: 1
  5. Non-zero exit status: 2
  6. Parse errors: Bad plan. You planned 2 tests but ran 1.
  7. Files=21, Tests=128, 2 wallclock secs ( 0.07 usr 0.01 sys + 1.56 cusr 0.10 csys = 1.74 CPU)
  8. Result: FAIL
  9. Failed 1/21 test programs. 1/128 subtests failed.
  10. Makefile:968: recipe for target 'test_dynamic' failed
  11. make: *** [test_dynamic] Error 255

可以用这两行命令修复一下。

  1. sudo apt-get install -f
  2. sudo apt-get update --fix-missing

step7: 安装DB_File

同step2

在make的时候如果出错如下:

  1. version.c:30:16: fatal error: db.h: 没有那个文件或目录
  2. compilation terminated.
  3. Makefile:360: recipe for target 'version.o' failed
  4. make: *** [version.o] Error 1

说明未安装Berkeley DB library,或安装不正确。解决方法如下:

sudo apt-get install libdb-dev

如果还没有用,可能是没有安装对应的版本,先使用

sudo apt-cache search libdb

查看当前Berkeley DB library 的版本,然后再安装对应的版本.

sudo apt-get install libdb5.3-dev

step8: 设置ROUGE环境变量

设置环境变量ROUGE_EVAL_HOME,假设你解压的ROUGE-1.5.5在/usr/local/RELEASE-1.5.5,则:(二选一)

  1. sudo gedit etc/profile %%%这样对所有用户有效
  2. sudo gedit ~/.profile %%%这样对当前用户有效

在跳出来的文本编辑器末尾添加 :

export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data"

step9: 测试安装是否成功

以上步骤都进行完毕后,怎么知道自己的ROUGE是否安装配置成功了呢?可以进入ROUGE文件所在路径(即RELEASE-1.5.5),然后运行一下runROUGE-test.pl文件。

perl runROUGE-test.pl

如果有以下输出,且sample-output路径下各个文件都有内容的话,基本是安装成功了。

  1. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a.out
  2. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a-m.out
  3. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a-m-s.out
  4. ^C../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a.out
  5. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a-m.out
  6. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a-m-s.out
  7. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a.out
  8. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a-m.out
  9. ../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a-m-s.out
  10. ../ROUGE-1.5.5.pl -e ../data -3 HM -z SIMPLE DUC2002-BE-F.in.26.lst 26 > ../sample-output/DUC2002-BE-F.in.26.lst.out
  11. ../ROUGE-1.5.5.pl -e ../data -3 HM DUC2002-BE-F.in.26.simple.xml 26 > ../sample-output/DUC2002-BE-F.in.26.simple.out
  12. ../ROUGE-1.5.5.pl -e ../data -3 HM -z SIMPLE DUC2002-BE-L.in.26.lst 26 > ../sample-output/DUC2002-BE-L.in.26.lst.out
  13. ../ROUGE-1.5.5.pl -e ../data -3 HM DUC2002-BE-L.in.26.simple.xml 26 > ../sample-output/DUC2002-BE-L.in.26.simple.out
  14. ../ROUGE-1.5.5.pl -e ../data -n 4 -z SPL DUC2002-ROUGE.in.26.spl.lst 26 > ../sample-output/DUC2002-ROUGE.in.26.spl.lst.out
  15. ../ROUGE-1.5.5.pl -e ../data -n 4 DUC2002-ROUGE.in.26.spl.xml 26 > ../sample-output/DUC2002-ROUGE.in.26.spl.out

step10:执行路径修改

如果执行时候报以下错误:

  1. Traceback (most recent call last):
  2. File "/usr/local/lib/python3.6/dist-packages/pyrouge/tests/Rouge155_test.py", line 138, in test_config_file
  3. rouge = Rouge155()
  4. File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 88, in __init__
  5. self.__set_rouge_dir(rouge_dir)
  6. File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 402, in __set_rouge_dir
  7. self._home_dir = self.__get_rouge_home_dir_from_settings()
  8. File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 416, in __get_rouge_home_dir_from_settings
  9. with open(self._settings_file) as f:
  10. FileNotFoundError: [Errno 2] No such file or directory: '/home/admin/.pyrouge/settings.ini'

最后需要用命令pyrouge执行到当前变量路径:

pyrouge_set_rouge_path /usr/local/ROUGE-1.5.5

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/865954
推荐阅读
相关标签
  

闽ICP备14008679号