Windows 系统下配置 pyrouge

来源:互联网 发布:手机数据连接总是断开 编辑:程序博客网 时间:2024/06/05 22:39

1. 所涉及的安装包版本:

  • Windows: winXP, win8.1, win10 (已试,推测可能还支持win7, win8)
  • Perl: ActivePerl-5.18.4.1805-MSWin32-x86-64int-299195.msi
  • XML::DOM: XML-DOM 1.45
  • Python: python 2.7.9
  • Pyrouge: pyrouge-0.1.3
  • ROUGE: ROUGE-1.5.5

2. 安装perl

下载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使用中是否会出错。

3. Perl安装XML::DOM插件

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,以验可以使用。

4. 下载ROUGE-1.5.5

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”

5. 安装pyrouge

5.1 准备

  1. 安装python 2.7.9 (其他版本没试),并将安装路径加入系统环境变量中。若环境变量中存在其他python版本,则保持python2.7.9版本的路径在其他版本的python路径之前。
  2. 添加python2.7.9路径时也将Scripts的路径加入。
    这里写图片描述
  3. 安装pip模块。我使用的安装方法如下:
    • 打开https://bootstrap.pypa.io/get-pip.py 右键另存为get-pip.py 保存至桌面。
    • 打开CMD界面,将当前路径转至桌面
    • 输入命令: 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)

5.2 pip安装pyrouge

有了之前的准备工作,这一步很简单,只需在CMD中输入pip install pyrouge

5.3 设置pyrouge中ROUGE-1.5.5的路径

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文件进行安装。具体过程如下:

  1. 打开CMD,将当前路径转移至python安装路径下的Scripts文件夹
    这里写图片描述
  2. 输入命令python pyrouge_set_rouge_path E:\Programs\Eclipse\ROUGE-1.5.5\RELEASE-1.5.5
    备注:请将上述代码中的路径改为你计算机中存放ROUGE-1.5.5的路径

5.4 下载修改版本的pyrouge文件

Pyrouge原本的代码不能很好的支持windows调用,我们需要对python代码进行修改。
已经修改好的代码见https://github.com/Angela7126/pyrouge_for_windows,将该页面的所有文件下载下来。
感谢计算所孙晓平副研究员,他是该修改版代码的作者。

5.5 修改本地pyrouge文件

本地pyrouge文件在 “python安装路径\Lib\site-packages\pyrouge”文件夹下。我计算机上路径为“D:\Program Files\Python27\Lib\site-packages\pyrouge”

修改步骤如下:
1. 打开该文件夹,将上一步下载的文件剪切到该文件夹中,重名文件全部选择替换。
2. 打开MyRouge155.py文件,将87行中的的路径修改为 “你计算机中python安装路径\Lib\site-packages\pyrouge\settings.ini”
3. 如果之前安装ActivePerl时选择了添加perl路径至系统环境变量,则保存MyRouge155.py退出即可
4. 若没有选择添加,则需要修改321行中perlpathname为perl的安装路径。然后保存退出。

6 pyrouge的使用

至此所有安装工作全部进行完成了。使用方法与原本pyrouge中Rouge155类是相似的:

from pyrouge import MyRouge155def 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
原创粉丝点击