pyrouge(ROUGE-1.5.5)的安装步骤和使用说明(适用于Linux 系统)

2024-06-10 18:52

本文主要是介绍pyrouge(ROUGE-1.5.5)的安装步骤和使用说明(适用于Linux 系统),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


摘要:本文讲解了如何配置和使用文本摘要的评价指标ROUGE(linux 系统)。


✅ NLP 研 1 选手的学习笔记

简介:小王,NPU,2023级,计算机技术
研究方向:摘要生成、大语言模型生成


文章目录

  • 一、为啥要写这篇博客?
  • 二、安装过程:
    • step1:检查 `perl` 版本
    • step2:安装 `XML::Parser`
    • step3: 安装 `XML::RegExp`
    • step4: 安装 `LWP::UserAgent`
    • step5: 安装 `XML::Parser::PerlSAX`
    • step6: 安装 `XML::DOM`
    • step7: 安装 `DB_File`
    • step8: 安装并测试 `ROUGE-1.5.5`
  • 三、所有完整安装命令
  • 四、参考文献
  • 五、补充说明


一、为啥要写这篇博客?

调侃:这个xxx玩意,我真的,安装了好久好久,关键很多投稿文摘任务的作者还就喜欢有这一版本的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等,并提出了四个测量标准 ROUGE-NROUGE-LROUGE-WROUGE-S。该包用 Perl 语言编写,目前版本为 ROUGE-1.5.5

● 首先安装 Perl 的一系列文件。直接用我的百度网盘:百度网盘链接,提取码:8fy5 里面的吧。当然如果你想去 github 下载也是可以的:https://github.com/summanlp/evaluation/tree/master/ROUGE-RELEASE-1.5.5。

● 如果你直接用的网盘里的几个压缩包,可以先将它们放到同一个文件夹里,如下图所示:

在这里插入图片描述

二、安装过程:

step1:检查 perl 版本

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

在这里插入图片描述
● 升级 perl 的 Linux 命令:

sudo apt upgrade perl


step2:安装 XML::Parser

● 假设使用的是百度网盘里的文件,那我们先将 XML-Parser-2.44.tar.gz 解压到当前文件夹(默认)或指定路径:

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,否则可能没有读写文件的权限

● 前两个语句(cd XML-Parser-2.44perl Makefile.PL)应该大家都没问题:

在这里插入图片描述
● 但输入 make 后就会出现 Bug…OK,这一步我就卡了很久…

在这里插入图片描述
● 找了很久的资料,反正 ChatGPT 之类的也问了,最后找到个能解决问题的偏方,输入下面的命令:

Debian/Ubuntu系统用这个(我用的这个)sudo apt-get install libexpat1-dev
CentOS/RHEL系统用这个:
sudo yum install expat-devel

● 结果,libexpat1-dev 安装不上????然后我又陷入了沉思…并开始借助互联网的力量!

在这里插入图片描述
● 终于,我知道怎么回事了,输入下面的命令,更新一下软件包列表:

sudo apt-get update

● 然后再次输入 sudo apt-get install libexpat1-dev,终于安装好这玩意儿了:

在这里插入图片描述
● 好的,现在我可以 make 了吧?OK,终于解决了,搁这儿套娃了,一个 Bug 套另一 Bug…

在这里插入图片描述
● 咱们再接着 make 后面的语句一条条地执行,后面两条语句应该都没事了。

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

● 进行 make test 之后的输出结果:

在这里插入图片描述
● 进行 sudo make install 之后的输出结果:

在这里插入图片描述



step3: 安装 XML::RegExp

● 过程和 step2 一样,我们先将 XML-RegExp-0.04.tar.gz 解压到当前文件夹(默认)或指定路径:

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,否则可能没有读写文件的权限

● OK,这个包应该全程安装 so easy~!直接来到第三个包!



step4: 安装 LWP::UserAgent

LWP::UserAgentlibwww-perl 中的一部分,直接用 apt-get 安装就可以:

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 的安装包路径,解压到当前文件夹(默认)或指定路径:

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,否则可能没有读写文件的权限

● 这个包应该也是全程安装 so easy~!直接来到倒数第二个包包!



step7: 安装 DB_File

● 继续参考 step2 的方法,进入 DB_File 的安装包路径,解压到当前文件夹(默认)或指定路径:

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,否则可能没有读写文件的权限

● 问题又来了,这个问题是我花了 long long long long long time 才解决的…呜呜呜呜呜呜

在这里插入图片描述
● 反正,安装了下面这个依赖才可以:

sudo apt-get install libdb5.3-dev

● 安装 libdb5.3-dev 后再 make 的结果如下:

在这里插入图片描述
● 然后当我们执行 make test 时,竟然!Fail!!啊啊啊…真的要崩溃了…

在这里插入图片描述

● 鬼知道我咋想的,我原先的 DB_File-1.835 文件夹改名为 oldDB_File-1.835,还有原先的压缩包 DB_File-1.835.tar.gz 改名为 oldDB_File-1.835.tar.gz。然后,从网上新下载一个 DB_File,并重新执行一遍 step7:

sudo wget http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.835.tar.gz
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,否则可能没有读写文件的权限

在这里插入图片描述
● 当再一次执行到 make test 时,噢~天呐!终于 PASS 了呜呜呜呜…

在这里插入图片描述
● 最后的 sudo make install 也应该没问题,终于可以到最后一步了…



step8: 安装并测试 ROUGE-1.5.5

● 首先解压 ROUGE-1.5.5.tar 到当前文件夹(默认)或指定路径,然后进入该目录:

tar -zxvf ROUGE-1.5.5.tgz
cd RELEASE-1.5.5

● 解压后的文件夹内容如下:
在这里插入图片描述
● 最后执行一下该文件夹里面的一个测试文件 runROUGE-test.pl

perl runROUGE-test.pl

● 当出现下面的画面时,那超级恭喜你!!!!成功啦!!!👏👏👏[此处附加哗啦啦的掌声!!!]👏👏👏

在这里插入图片描述



三、所有完整安装命令

● 一条一条执行即可。

sudo apt upgrade perl
sudo apt-get update
sudo apt-get install libexpat1-devtar -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,否则可能没有读写文件的权限
cd ..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,否则可能没有读写文件的权限
cd ..sudo apt-get install libwww-perlsudo apt-get install libxml-perltar -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,否则可能没有读写文件的权限
cd ..sudo wget http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.835.tar.gz
sudo apt-get install libdb5.3-dev
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,否则可能没有读写文件的权限
cd ..tar -zxvf ROUGE-1.5.5.tgz
cd RELEASE-1.5.5
perl runROUGE-test.pl


四、参考文献

1.《NLP-文本摘要:Rouge评测方法【Rouge-1、Rouge-2、Rouge-L、Rouge-W、Rouge-S】》

2.《Ubuntu安装ROUGE教程》

3.《github pyrouge》

4.《github evaluation/ROUGE-RELEASE-1.5.5》

5.《rouge 及 pyrouge 安装、配置和使用》

五、补充说明

● 若有写得 不对/不妥 的地方,或有疑问,欢迎评论交流。


后记:这篇博客写于 2023-09-15 15:03:49,但是一直没有发出来…
现在 2024-06-10 15:20,端午节,想想哈,时过境迁好久啦,已经好长一段时间没有好好写博客了,得拾起来了…

⭐️ ⭐️ ⭐️

这篇关于pyrouge(ROUGE-1.5.5)的安装步骤和使用说明(适用于Linux 系统)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048979

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2