先rouge

https://blog.csdn.net/Hay54/article/details/78744912

再pyrouge

https://blog.csdn.net/MerryCao/article/details/49174283

具体流程:

一,ROUGE

ROUGE是由微软亚洲研究院知识挖掘组(The Knowledge Mining group at Microsoft Research Asia)调研经理(research manager) Chin-Yew Lin 研发的,用于摘要的自动评价,通过比较机器自动生成的摘要(called system_summary)与人工生成的摘要(called model_summary, 认为它是理想的)中重叠单元的数量,来评价机器自动生成的摘要。该方法中考虑的重叠单元有n-gram, word sequences, word-pairs等,并提出了四个测量标准ROUNG-N, ROUNG-L, ROUNG-W, ROUNG-S [1]。

  该包用Perl语言编写,目前版本为ROUGE-1.5.5。

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

2,进入cpan命令

(此处省略若干日志信息)

3,安装XML::Parser

(此处省略若干日志信息)

注意:如果出现报错:

则是因为缺少Expat组件,需要用管理员权限执行:

sudo apt-get install expat

sudo apt-get install libexpat1-dev

4,安装XML::RegExp

5,安装LWP::UserAgent(时间略长)

(此处省略若干日志信息)

6,安装XML::Parser::PerlSAX

7,安装XML::DOM

(省略若干日志信息)

8,安装DB_File

此处报错为libdb,说明未安装Berkeley DB library,或安装不正确。应先退出cpan命令再输入如下命令

sudo apt-get install libdb-dev

如果还没有用,可能是没有安装对应的版本,先使用如下命令,先查看当前Berkeley DB library 的版本,然后再安装对应的版本.

sudo apt-cache search libdb
sudo apt-get install libdb5.3-dev

9,下载ROUGE-1.5.5(二者应该都可)

https://github.com/andersjo/pyrouge/tree/master/tools/ROUGE-1.5.5

https://github.com/summanlp/evaluation/tree/master/ROUGE-RELEASE-1.5.5

10,设置ROUGE环境变量

  假设你解压的ROUGE-1.5.5在/usr/local/RELEASE-1.5.5,则:

sudo edit etc/profile %%%这样对所有用户都有效,若希望仅对当前用户有效则输入sudo gedit ~/.profile 

在文本编辑器末尾添加 :

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

11,测试安装是否成功

  以上步骤都进行完毕后,可以进入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

二,pyrouge

1,进入conda环境下使用pip安装pyrouge

pip install pyrouge

2,假设之前安装的ROUGE-1.5.5在/usr/local/ROUGE-1.5.5, 运行指令

pyrouge_set_rouge_path /usr/local/ROUGE-1.5.5

3,检查是否安装正确

python -m pyrouge.test

若看到以下信息表示安装正确了

Ran 10 tests in 18.055s

OK

三,Windows 系统下配置 pyrouge

可参照linux系统下的配置。

https://blog.csdn.net/MerryCao/article/details/73477543

在执行runRouge-test.pl进行验证时,可能会出现如下报错

报错1:‘..’既不是内部或外部命令,也不是可运行的程序

原因:系统将‘..’当做执行命令了

解决:修改runRouge-test.pl,将$ROUGE 变量由../ROUGE-1.5.5.pl修改为ROUGE-1.5.5.pl

报错2:Cannot open exception db file for reading

解决方法:删除pyrouge/tools/ROUGE-1.5.5/data下的WordNet-2.0.exc.db,然后进入WordNet-2.0-Exceptions文件夹下运行

buildExeptionDB.pl ../WordNet-2.0-Exceptions ../smart_common_words.txt ../WordNet-2.0.exc.db

报错3:“can t spawn cmd.exe......”

解决方法:查看环境变量,若环境变量缺少%SystemRoot%\System32,加进去即可

安装rouge和pyrouge相关推荐

  1. ROUGE和pyrouge的安装

    ROUGE是由微软亚洲研究院知识挖掘组Chin-Yew Lin 研发的,用于摘要的自动评价,通过比较机器自动生成的摘要与人工生成的摘要中重叠单元的数量,来评价机器自动生成的摘要.该方法中考虑的重叠单元 ...

  2. Install Rouge and Pyrouge for python 2.7 (conda virtual env) on Linux 64

    Who to complain to about this terrible package???? Its official website was down, its bugs and excep ...

  3. pyrouge和rouge在Linux上的安装方法以及结果比较

    诸神缄默不语-个人CSDN博文目录 这里的pyrouge安装的是这个:pyrouge · PyPI,也就是这个项目:bheinzerling/pyrouge: A Python wrapper for ...

  4. python中rouge是什么程序_rouge与pyrouge使用事项

    1.rouge介绍 ROUGE评价方法与pyramid,BLUE方法一起作为评价自动摘要质量的内部评价方法的三大中流砥柱. ROUGE:recall-oriented understand for g ...

  5. 常用的ROUGE得分计算Python库(pyrouge,files2rouge,rouge,py-rouge)

    前言 ROUGE得分是文本摘要任务中最常用的自动评测指标,关于rouge得分的计算,可以查看原始论文 https://www.aclweb.org/anthology/W04-1013.pdf 要注意 ...

  6. 自然语言处理NLP——中文抽取式自动文摘(包括中文语料库处理、三种方法实现自动文摘、Rouge评价方法对自动文摘进行打分)

    利用三种方法实现抽取式自动摘要,并给摘要结果打分(一.textrank 二.word2vec+textrank 三.MMR 四.Rouge评测) 具体代码我上传到了Github上,其中有45篇小论文( ...

  7. 语法高亮不够漂亮?这里有你想要的 Rouge 主题

    写了那么久的代码,找到了满意的代码着色风格吗?想必文本编辑器的代码着色风格你已经找到了中意的了,那么你在网上 post 上去的代码呢? Rouge 是一款基于 Ruby 的语法高亮工具,能为你的代码生 ...

  8. 【NLP】文本自动摘要任务的心得总结

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送 作者:邱震宇(华泰证券股份有限公司 算法工程师) 知乎专栏:我的ai之路 原文链接,点击 ...

  9. [竞赛01]2021CCF BDCI新闻摘要自动生成Baseline-T5模型

    [竞赛01]2021CCF BDCI新闻摘要自动生成Baseline - 爱码帮™分享编程知识和开发经验 「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」 本文提供竞赛的B ...

最新文章

  1. Chirp信号公式与对离散生成算法之间的差异
  2. kaldi在java中运行_ubuntu下kaldi的安装以及实例的运行
  3. Node.js入门经典 读书笔记(3)
  4. 所想即所得 运维进行时
  5. 爬虫-使用xpath拿36KR的数据-xpath的学习与演练
  6. 【UML】部署图Deployment diagram(实现图)(转)
  7. java 并发_Java并发编程中断机制 so easy
  8. Maven开发环境设置导致的异常java.lang.NumberFormatException: null
  9. XML 在SQLServer中的使用
  10. 创业公司研发团队面临的项目管理难题探讨
  11. Cocos Creator 自制小工具-小游戏场景地图编辑器
  12. html+css+js制作原神官网,web前端大作业(流风眷堇庭+6个页面+链接)
  13. 直播服务器搭建NGINX-RTMP+JAVA
  14. 一分钟了解:NMN的副作用和危害?nmn对人体有害吗?
  15. 【嵌入式学习-STM32F103-EXTI外部中断】
  16. 一个简单的猜拳小游戏
  17. 软文标题怎么写都有哪些分类!----皆义网途
  18. 关于微信公众平台迁移见证需要具备什么条件?
  19. 如何构建用户评分体系
  20. xt6使用技巧_凯迪拉克XT6中控屏幕功能使用操作图解

热门文章

  1. ubuntu无法使用man
  2. 找零钱问题刨析(Python代码)
  3. 固有的不可移植的特征之volatile限定符
  4. 秒针计时器 html,js实现秒表计时器
  5. java程序设计 秒表计时器_【Java】Java计时器(秒表)
  6. 23、动画及视野拓展
  7. ren域名有价值吗?值不值得投资?ren域名的应用范围有哪些?
  8. 【Java小项目】打飞机
  9. 马赛克 php,php实现图片局部打马赛克的方法_php技巧
  10. 电梯plc的io分配_plc的io分配表怎么写