前言
最近开始学习自然语言处理方面的知识,其中ROUGE是对文本摘要进行自动评价的一些标准。本文参照在Ubuntu系统下安装ROUGE。
准备工作
- Perl解释器,在Ubuntu系统下自带,有的CentOS系统会有(通过perl -v查看版本,需要在5.6.0版本以上)
- 需要额外安装perl解释器的XML::DOM模块以及DB_File模块,而XML::DOM的安装又需要XML::RegExp、XML::Parser、LWP::UserAgent和XML::Parser::PerlSAX模块;
- 设置系统环境变量ROUGE_EVAL_HOME,需要设置为ROUGE安装目录下词库data所在路径
下载方式:github 里面只有ROUGE的Release1.5.5版本,百度网盘 里面会有一些依赖的模块下载。
安装步骤
step 1:检查Perl版本
因为我之前已经安装过perl了,且版本在5.6.0以上,这里就不再赘述,需要的自行查找在CentOS下安装和升级perl。
但是CentOS系统中有很多perl的扩展包不全,需要自行下载。
yum install perl-GD perl-Module-Build perl-CPAN perl-IO-String perl-Capture-Tiny perl-CGI-Session\
perl-JSON perl-JSON-Any perl-libwww-perl perl-DBD-SQLite perl-File-NFSLock perl-Net-SMTP-SSL\
perl-Crypt-SSLeay perl-Net-SSLeay perl-Template-Toolkit
step2: 安装XML::Parser
假如使用网盘中的文件的话。
tar -zxvf XML-Parser-2.44.tar.gz
cd XML-Parser-2.44
perl Makefile.PL
make
make test # if %%%Result看到PASS为成功就继续,否则仔细看哪个case报错了
sudo make install # if %%%必须要sudo,否则可能没有读写文件的权限
step3: 安装XML::RegExp
参照step 2 的安装方式。
tar -zxvf XML-RegExp-0.04.tar.gz
cd XML-RegExp-0.04
perl Makefile.PL
make
make test # if %%%Result看到PASS为成功就继续,否则仔细看哪个case报错了
sudo make install # if %%%必须要sudo,否则可能没有读写文件的权限
step4: 安装LWP::UserAgent
UserAgent 是 libwww-perl 中的一个组件,因为在第一步安装必要的perl包的时候已经安装了,如果在第一步安装过libwww-perl的用户可以跳过该步骤。
##step5: 安装XML::Parser::PerlSAX
因为 XML::Parser::PerlSAX 是 libxml-perl 包中的一部分,所以直接在CentOS上安装该包就行了。
在此提出一种新的安装方案,利用perl的CPAN来安装perl的一些依赖包。
1.切换到root用户 su -
2.进入CPAN命令行 perl -e shell -MCPAN
3.安装自己所需要的包 install XML::Parser::PerlSAX
step6: 安装XML::DOM
同样的参照step 2
tar -zxvf XML-DOM-1.46.tar.gz
cd XML-DOM-1.46
perl Makefile.PL
make
make test # if %%%Result看到PASS为成功就继续,否则仔细看哪个case报错了
sudo make install # if %%%必须要sudo,否则可能没有读写文件的权限
step7: 安装DB_File
可以直接从网上下载,也可以直接从我的网盘中获取
安装步骤和step 2 类似
tar -zxvf DB_File-1.835.tar.gz
cd DB_File-1.835
perl Makefile.PL
make
make test # if %%%Result看到PASS为成功就继续,否则仔细看哪个case报错了
sudo make install # if %%%必须要sudo,否则可能没有读写文件的权限
我在这里直接就安装成功了,据说安装失败的话说明未安装Berkeley DB library,或安装不正确。
##step8: 设置ROUGE环境变量
这里也需要解压ROUGE的 tar 包,然后配置环境变量。
这个文件是对所有用户生效,如果只想对当前用户生效的话打开文件 ~/.bash_profile
sudo vim /etc/profile
在该文件的末尾加上
export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data"
最后,让环境变量生效
source /etc/profile
step9: 测试安装是否成功
以上步骤都进行完毕后,怎么知道自己的ROUGE是否安装配置成功了呢?可以进入ROUGE文件所在路径(即RELEASE-1.5.5),然后运行一下runROUGE-test.pl文件。
perl runROUGE-test.pl
如果有以下输出,且sample-output路径下各个文件都有内容的话,基本是安装成功了。
../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
../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
../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
^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
../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
../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
../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
../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
../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
../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
../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
../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
../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
../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
../ROUGE-1.5.5.pl -e ../data -n 4 DUC2002-ROUGE.in.26.spl.xml 26 > ../sample-output/DUC2002-ROUGE.in.26.spl.out
到此ROUGE就已经安装完成了。
欢迎交流讨论~