欢迎访问宙启技术站
智能推送

基于Python的Pyrouge进行中文自动文摘

发布时间:2024-01-13 10:06:24

Pyrouge是一个用于评估文本自动摘要质量的库,它提供了一系列评估指标和方法。它的一个优点是可以支持多语言的评估。

下面是一个示例,展示了如何使用Pyrouge进行中文自动文摘的评估。

首先,我们需要安装Pyrouge。可以使用pip命令进行安装:

pip install pyrouge

接下来,我们需要准备两个文件夹,一个用于存放参考摘要(reference),一个用于存放待评估的摘要(summary)。每个文件夹应该包含多个文本文件,每个文件的内容为一条摘要。

然后,我们可以通过以下代码来进行评估:

from pyrouge import Rouge155

# 创建Rouge155对象
rouge = Rouge155()

# 设置文件夹路径
rouge.system_dir = 'summary'  # 待评估的摘要
rouge.model_dir = 'reference'  # 参考摘要

# 设置文件扩展名(默认为.txt)
rouge.system_filename_pattern = 'summary.(\d+).txt'
rouge.model_filename_pattern = 'reference.[A-Z].txt'

# 运行评估
output = rouge.convert_and_evaluate()

# 打印评估结果
print(output)

# 保存评估结果的HTML文件
output_dict = rouge.output_to_dict(output)
output_dict['rouge_1_f_score']  # Rouge-1的F1分数
output_dict['rouge_2_precision']  # Rouge-2的精确度
output_dict['rouge_l_recall']  # Rouge-L的召回率
output_dict['rouge_su4_f_score']  # Rouge-SU4的F1分数
output_dict['rouge_be_f_score']  # Rouge-BE的F1分数
rouge.output_to_html(output, 'output.html')

在上面的示例中,我们首先创建了一个Rouge155对象,并设置了待评估的摘要文件夹路径(summary_dir)和参考摘要文件夹路径(reference_dir)。

然后,我们设置了文件扩展名的模式,以便Pyrouge能够正确识别和匹配文件名。

接下来,我们调用convert_and_evaluate()方法来运行评估。评估完成后,我们可以通过output_to_dict()方法将评估结果保存到一个字典中,然后根据需要提取所需的指标值。

最后,我们可以调用output_to_html()方法将评估结果保存到一个HTML文件中,以便更直观地查看评估结果。

总结起来,通过Pyrouge,我们可以方便地进行中文自动文摘的质量评估,可以得到各种评估指标,并将结果保存到HTML文件中,以便更好地进行分析和比较。