BERTScore文本评估神器使用教程

【免费下载链接】bert_score BERT score for text generation 【免费下载链接】bert_score 项目地址: https://gitcode.com/gh_mirrors/be/bert_score

BERTScore是一个革命性的文本生成评估工具,它利用BERT预训练模型的力量,通过余弦相似度匹配候选句子和参考句子中的词汇。这个开源项目已经成为NLP领域评估文本质量的黄金标准,支持超过130种预训练模型。

项目核心功能

BERTScore计算精确度、召回率和F1值,为不同语言生成任务提供全面的评估指标。项目支持104种语言,从中文到土耳其语,覆盖全球主要语言体系,并提供独特的可视化功能让用户清晰看到词汇匹配情况。

快速安装指南

只需要一行命令就能开始使用这个强大的工具:

pip install bert-score

或者从源代码安装:

git clone https://gitcode.com/gh_mirrors/be/bert_score
cd bert_score
pip install .

使用示例

Python函数调用

from bert_score import score

with open("hyps.txt") as f:
    cands = [line.strip() for line in f]

with open("refs.txt") as f:
    refs = [line.strip() for line in f]

(P, R, F), hashname = score(cands, refs, lang="en", return_hash=True)
print(f"{hashname}: P={P.mean().item():.6f} R={R.mean().item():.6f} F={F.mean().item():.6f}")

命令行接口使用

评估英文文本文件:

bert-score -r example/refs.txt -c example/hyps.txt --lang en

使用基线重缩放功能:

bert-score -r example/refs.txt -c example/hyps.txt --lang en --rescale_with_baseline

可视化匹配效果:

bert-score-show --lang en -r "There are two bananas on the table." -c "On the table are two apples." -f out.png

BERTScore匹配可视化

最佳实践技巧

模型选择策略

根据测试结果,microsoft/deberta-xlarge-mnli模型在人类评估相关性方面表现最佳。不同语言对应的默认模型如下:

语言 默认模型
en roberta-large
en-sci allenai/scibert_scivocab_uncased
zh bert-base-chinese
tr dbmdz/bert-base-turkish-cased
其他 bert-base-multilingual-cased

IDF权重优化

使用逆文档频率加权可以显著提升与人类判断的相关性:

bert-score -r refs.txt -c hyps.txt --lang en --idf

批量处理技巧

合理设置batch_size参数,有效管理GPU内存使用:

score(cands, refs, batch_size=32, lang="en")

高级配置选项

自定义模型支持

可以加载自己的BERT模型进行特定领域评估:

bert-score -r refs.txt -c hyps.txt --model path_to_my_bert --num_layers 9

层数调优

根据不同任务调整使用的Transformer层数以获得最佳性能。项目提供了层数调优脚本,可在tune_layers目录中找到相关工具。

注意事项

  • 报告哈希代码(如roberta-large_L17_no-idf_version=0.3.0)以便他人复现实验结果
  • 移除多余空格:sent = re.sub(r' +', ' ', sent)
  • 当参考句集太小时,IDF评分可能不准确
  • BERTScore对长度超过510个字符的句子会自动截断

项目结构

项目包含以下主要目录:

  • bert_score/: 核心评分模块
  • bert_score_cli/: 命令行接口
  • example/: 使用示例
  • tests/: 测试用例
  • get_rescale_baseline/: 基线重缩放工具
  • tune_layers/: 层数调优工具

通过合理使用BERTScore,您可以显著提升文本生成任务的评估质量,获得更加准确和可靠的评分结果。

【免费下载链接】bert_score BERT score for text generation 【免费下载链接】bert_score 项目地址: https://gitcode.com/gh_mirrors/be/bert_score

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐