下载ActivePerl-5.18.4.1805-MSWin32-x86-64int-299195.msi文件后双击安装即可。
建议:
1. 假设C:为系统盘,则默认安装路径是 “C:\Perl”,也可以自己选择安装路径,但建议选没有中文字符与特殊字符的路径,下文中所提到的 “D:\Program Files\Perl” 是我计算机上Perl的安装路径.
2. 不要去掉PPM (perl package manager)组件, 方便我们安装XML::DOM插件.
3. 选上“Add perl path to System Environment Paths” (在环境变量中添加perl路径).
备注:
1. 若提示安装出错,可能是当前系统登陆用户没有某些文件夹的权限,可以尝试右键以管理员身份运行来安装。
2. 没有试过其他版本的ActivePerl,目前(2017.6)最新版本是5.24,不知道不同Perl版本下pyrouge使用中是否会出错。
XML::DOM是Perl可用的分析与生成XML文档的插件。我们需要这个插件来支持pyrouge中生成rouge_config.xml的功能。因为安装了ppm模块,并在系统环境变量中添加了perl路径,安装XML::DOM很方便, 只需在CMD中输入一条命令:
ppm install XML::DOM
备注:
1. Pyrouge-0.1.3实际上还要求Perl安装DB_File插件,但该插件在Windows上没法工作,所以windows系统的用户们可以不用安装了,后面修改pyrouge的文件中会将去掉这个插件的调用。
2. rouge_config.xml是记录文档,方便用户检查每篇文章自动摘要与标准摘要之间的对应是否正确。如figure1所示,关于f0001文档共有01~29共18个自动摘要算法产生的自动摘要,共有A,B,C三个标准摘要,rouge_config.xml记录在rouge评分时而自动生成的这样的对应关系,提供给用户检查对应是否正确,是否有遗漏的自动摘要和标准摘要。
3. 目前最新的XML::DOM版本是1.45,以验可以使用。
2015年的时候还需要向作者发邮件申请下载,昨天查了一下发现Github上竟然挂的有。
https://github.com/andersjo/pyrouge/tree/master/tools/ROUGE-1.5.5
下载该页面上所有文件后,放在一个合适的路径下(建议路径上没有中文或特殊字符以及空格), 并记住该路径。 我计算机上为 “E:\Programs\Eclipse\ROUGE-1.5.5\RELEASE-1.5.5”
python get-pip.py install
备注:
如果出现错误 “ascii cannot decode 0xb0 … beyond (0-128)” 之类的错误,则在get-pip.py 所有import语句后添加如下代码:
default_encoding = 'gb2312'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding)
有了之前的准备工作,这一步很简单,只需在CMD中输入pip install pyrouge
Pyrouge只是方便python调用ROUGE-1.5.5的插件,故需要告诉pyrouge要调用的文件在哪里。
老版的pyrouge在win XP系统中安装时会在C:\Users\xxx\AppData\Roaming\pyrouge中生成settings.ini文件,我们修改settings.ini文件的内容为如下两行代码即可:
[pyrouge settings]
home_dir = E:\Programs\Eclipse\ROUGE-1.5.5\RELEASE-1.5.5
备注:请将上述代码中的路径改为你计算机中存放ROUGE-1.5.5的路径
但是pyrouge-0.1.0 (我所尝试的最早的版本)之后的版本安装在win8.1与win10时,不会再创建该settings.ini文件, 我们就算自己去该文件夹下创建pyrouge\settings.ini也是没有用的。阅读pypi 中的pyrouge-0.1.3的介绍后发现,设置方法更改为使用pyrouge提供的pyrouge_set_rouge_path文件进行安装。具体过程如下:
python pyrouge_set_rouge_path E:\Programs\Eclipse\ROUGE-1.5.5\RELEASE-1.5.5
Pyrouge原本的代码不能很好的支持windows调用,我们需要对python代码进行修改。
已经修改好的代码见https://github.com/Angela7126/pyrouge_for_windows,将该页面的所有文件下载下来。
感谢计算所孙晓平副研究员,他是该修改版代码的作者。
本地pyrouge文件在 “python安装路径\Lib\site-packages\pyrouge”文件夹下。我计算机上路径为“D:\Program Files\Python27\Lib\site-packages\pyrouge”
修改步骤如下:
1. 打开该文件夹,将上一步下载的文件剪切到该文件夹中,重名文件全部选择替换。
2. (如果操作系统是win8.1,win10,且在5.3节中通过命令行设置了ROUGE-1.5.5路径,请跳过这一步)打开MyRouge155.py文件,将87行中的的路径修改为 “你计算机中python安装路径\Lib\site-packages\pyrouge\settings.ini”
3. 如果之前安装ActivePerl时选择了添加perl路径至系统环境变量,则保存MyRouge155.py退出即可
4. 若没有选择添加,则需要修改321行中perlpathname为perl的安装路径。然后保存退出。
至此所有安装工作全部进行完成了。使用方法与原本pyrouge中Rouge155类是相似的:
from pyrouge import MyRouge155
### system_path means the directory where stores automatically generated summaries that your summarization models produced.
### model_path means the directory of standard summaries.
### modelpattern means the regular expression for the name pattern of your standard summaries.
### systempattern means the regular expression for the name pattern of your standard summaries.
### config_file_path means the path where you want to store the rouge_conf.xml file.
### system_idstr is a list storing the IDs of your automatic summarization models that you want to test, such as ['01','02','03'].
def RunPaperMyRougeHtml(system_path, model_path, modelpattern, systempattern, config_file_path=None, perlpath=r'D:\path_to_perl\bin\perl', system_idstr=['None']):
r = MyRouge155()
r.system_dir = system_path
r.config_file = config_file_path
r.model_dir = model_path
r.system_filename_pattern = systempattern
r.model_filename_pattern = modelpattern
output = r.evaluate(system_id=system_idstr, conf_path=config_file_path, PerlPath=perlpath)
print(output)
return output