尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

文本摘要评估框架sumeval完全解析:ROUGE/BLEU一站搞定,多语言支持让评测不再头疼

文本摘要评估框架sumeval完全解析:ROUGE/BLEU一站搞定,多语言支持让评测不再头疼 文本摘要评估框架sumeval完全解析ROUGE/BLEU一站搞定多语言支持让评测不再头疼【免费下载链接】sumevalWell tested Multi-language evaluation framework for text summarization.项目地址: https://gitcode.com/gh_mirrors/su/sumevalsumeval是一个经过严格测试的文本摘要评估框架用纯 Python 实现了ROUGE和BLEU两大经典评测指标原生支持英文、日文、中文多语言评测让摘要质量评测不再头疼。无论你是做大模型摘要实验、学术研究还是日常模型对比它都能在几行代码内给出与官方脚本一致、可复现的评分结果。为什么需要专业的文本摘要评估工具做文本摘要Text Summarization的人迟早会遇到这个问题我的摘要到底好不好手工评估费时费力且标准不统一两个人打分可能差很多网上各种脚本分词方式各异得分对不上论文里不敢引用多语言场景中文、日文分词工具五花八门英文工具直接水土不服sumeval 解决的正是这些痛点✅Well testedROUGE-X 分数与原始 Perl 官方脚本ROUGE-1.5.5.pl逐一对齐BLEU 由 SacréBLEU 计算与 WMT 官方脚本mteval-v13a.pl数值一致✅多语言开箱即用英文、日文、中文各有独立分词与停用词处理✅纯 Python 实现无系统级依赖pip 一条命令装好✅可扩展继承一个基类即可接入你的自定义语言核心功能一览ROUGE / BLEU 一站搞定sumeval 提供两套计算器覆盖摘要评测的全部主流指标指标说明实现模块ROUGE-1 / ROUGE-2基于 n-gram 重叠度的 F 分数sumeval/metrics/rouge.pyROUGE-L基于最长公共子序列LCS衡量句式流畅度sumeval/metrics/rouge.pyROUGE-BE基于依存句法的基本元素Basic Element匹配可比较头词 H、修饰语 M、关系 Rsumeval/metrics/rouge.pyBLEUWMT 标准平滑处理支持多语言分词器sumeval/metrics/bleu.py每个分数都支持多个 reference多段参考摘要取平均并可通过alpha参数调节精确率与召回率的权重——alpha 趋近 0 偏重召回趋近 1 偏重精确方便你按评测需求调参。最快上手指南三步完成安装sumeval 发布在 PyPI 上免费安装只需一行命令pip install sumeval如果 pip 源较慢也可以 clone 仓库源码安装git clone https://gitcode.com/gh_mirrors/su/sumeval cd sumeval pip install -e .依赖说明见requirements.txt核心依赖仅plac命令行解析和sacrebleuBLEU 计算。Python API几行代码算出 ROUGE打开demo.py就能看到最典型用法——实例化RougeCalculator后按指标名直接调用from sumeval.metrics.rouge import RougeCalculator rouge RougeCalculator(stopwordsTrue, langen) rouge_1 rouge.rouge_n(summaryI went to the Mars from my living town., referencesI went to Mars, n1) rouge_2 rouge.rouge_n(summaryI went to the Mars from my living town., references[I went to Mars, Its my living town], n2) rouge_l rouge.rouge_l(summaryI went to the Mars from my living town., references[I went to Mars, Its my living town])三个实用细节stopwords 默认开启与官方 Perl 脚本行为一致自动过滤停用词数据文件在sumeval/metrics/lang/data/下每种语言一个目录stemming 只对 reference 生效这是官方脚本的原始行为避免摘要和参考的变形不一致可以传已分词的词列表tokenize方法支持传入自定义分词结果方便你用自家 NLP 管线算 ROUGE想要 ROUGE-BE同样简单调用rouge_be(summary, references, compare_typeHMR)即可compare_type支持 H头词、M修饰语、R依存关系任意组合。BLEU 评测与 WMT 官方同款的打分方式BLEU 部分由成熟的 SacréBLEU 驱动保证与 WMT 官方结果一致from sumeval.metrics.bleu import BLEUCalculator bleu BLEUCalculator() score bleu.bleu(I am waiting on the beach, He is walking on the beach)sumeval 在sumeval/metrics/bleu.py中还做了两件事让它比直接用 sacrebleu 更省心日文自动挂载专用分词器langja时自动使用 janome/MeCab 分词后再计算支持传入已分词结果绕过默认分词器用你自己的分词方案多语言支持英文、日文、中文开箱即用这是 sumeval 最有辨识度的能力。每种语言都有独立的语言处理器见sumeval/metrics/lang/目录语言参数分词依赖备注英文langen无内置默认语言自带 stemming 词典日文langjajanome或MeCabROUGE-BE 需额外安装 GiNZA 句法分析器中文langzhjiebaROUGE-BE 需额外安装 pyhanlp切换语言只是换一个参数# 中文摘要评测 rouge_zh RougeCalculator(langzh) score rouge_zh.rouge_1(summary我住在纽约这是我的家乡。, references我的家乡是纽约非常棒。)各语言自带的停用词表位于sumeval/metrics/lang/data/下如data/zh/stop_words.txt英文还额外提供data/en/stemming.txt词干映射。命令行工具一条命令批量评估不想写代码sumeval 内置了命令行入口实现见sumeval/cli/sum_eval.py安装后即可直接使用sumeval r-nlb Im living New York its my home town so awesome My home town is awesomer-nlb计算 ROUGE-N、ROUGE-L、ROUGE-BEb则单独计算 BLEU--use-file-f从文件按行读取摘要与参考文本适合批量评测整个测试集--language-la指定语言--stemming、--word-limit、--alpha等参数与 API 一一对应输出为结构化 JSON包含每条样本的分数与平均值averages字段直接可对接下游统计脚本或实验记录。进阶如何接入自定义语言sumeval 的多语言架构非常干净所有语言类继承自sumeval/metrics/lang/base_lang.py中的BaseLang你只需要实现tokenize方法。参考tests/test_custom_lang.py的示例class Custom(BaseLang): def __init__(self): super(Custom, self).__init__(cs) def tokenize(self, text): return text.split(/) rouge RougeCalculator(langCustom())把实例化的语言对象直接传给RougeCalculator或BLEUCalculator就能用。想正式支持一门新语言只需仿照lang_en.py、lang_ja.py、lang_zh.py新建语言文件并注册项目 README 中也明确欢迎这类贡献。测试体系为什么说它分数可信tests/目录下有完整测试集test_rouge.py、test_bleu.py、test_rouge_ja.py、test_rouge_zh.py等评测数据存放在tests/data/rouge/包括中日英三语的 ROUGE 校验集。ROUGE 分数通过与原始 Perl 脚本、Python 第三方实现交叉验证BLEU 则对标 WMT 官方脚本——这正是分数能写进论文的底气。常见问题 FAQQ1计算 ROUGE-BE 报错或得分为 0ROUGE-BE 依赖句法分析Basic Element 提取英文需要 spaCy日文需 GiNZA中文需 pyhanlp。请安装对应依赖后重试。Q2日文/中文评测报缺少依赖日文装janome或 MeCab中文装jieba均为 pip 可直接安装的纯 Python 包。Q3ROUGE 得分和网上其他工具算的不一样先检查三件事是否过滤停用词sumeval 默认开启、是否做了 stemming仅作用于 reference、分词器是否一致。sumeval 的行为刻意对齐官方 Perl 脚本差异大概率来自工具默认值不同。Q4支持多 reference 评测吗支持。所有指标都接受references为字符串列表内部对每条参考分别统计后合并计算 F 分数与官方脚本的多参考语义一致。总结评测框架选它就对了一句话回顾 sumeval 的价值指标全ROUGE-1/2/L/BE BLEU 一站搞定无需拼装多个库多语言英、日、中文内置自定义语言继承一个基类即可分数可信全程对齐官方脚本带完整测试数据零门槛pip install sumevalPython API 与命令行双通道如果你正在做摘要模型、改写系统或 RAG 质量评估不妨现在就装上 sumeval让这个摘要好不好从玄学变成有据可查的数字。【免费下载链接】sumevalWell tested Multi-language evaluation framework for text summarization.项目地址: https://gitcode.com/gh_mirrors/su/sumeval创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表