1. BLEU(Bilingual Evaluation Understudy)
核心用途:
- 机器翻译评估:衡量机器翻译结果与人工参考译文的相似度
- 文本生成任务:如摘要生成、对话回复质量评估
工作原理:
- n-gram匹配:计算机器输出与参考文本中1-gram到4-gram的重合度
- 惩罚机制 :
- 短句惩罚(Brevity Penalty):避免生成过短文本
- 公式 :
BLEU=BP⋅exp(∑n=14wnlogpn) BLEU = BP \cdot \exp\left(\sum_{n=1}^4 w_n \log p_n\right) BLEU=BP⋅exp(n=1∑4wnlogpn)
其中pnp_npn是n-gram精度,wnw_nwn为权重(通常取均等权重)
示例:
机器输出 | 参考译文 | BLEU-4 |
---|---|---|
"the cat is on mat" | "a cat is on the mat" | 0.59 |
优缺点:
✅ 计算高效,广泛适用
❌ 忽略语义相似性(同义词得分低)
❌ 依赖单一参考译文(人工撰写可能有多个合理版本)
2. ROUGE(Recall-Oriented Understudy for Gisting Evaluation)
核心用途:
- 文本摘要评估:衡量生成摘要与参考摘要的重叠程度
- 偏向召回率:关注参考文本中有多少信息被覆盖
常见变体:
类型 | 计算方式 | 适用场景 |
---|---|---|
ROUGE-N | n-gram重叠率 | 通用摘要评估 |
ROUGE-L | 最长公共子序列(LCS) | 关注句子结构连贯性 |
ROUGE-W | 加权LCS(连续匹配加分) | 长文档摘要 |
示例:
python
from rouge import Rouge
rouge = Rouge()
scores = rouge.get_scores(
hyps="the cat is on the mat",
refs="there is a cat on the mat",
avg=True
)
# 输出:{'rouge-1': {'f': 0.66}, 'rouge-2': {'f': 0.5}, 'rouge-l': {'f': 0.66}}
优缺点:
✅ 更适合摘要任务(侧重内容覆盖)
❌ 仍无法处理同义替换(如"car" vs "automobile")
3. BERTScore
核心用途:
- 语义级评估:利用BERT模型捕捉文本深层语义相似度
- 生成任务评估:对话系统、创意写作等需语义理解的场景
关键技术:
- 向量对齐 :
- 用BERT编码生成文本和参考文本为向量
- 计算词级余弦相似度(贪心匹配或最优传输)
- 加权计算 :
- 精确率:生成文本词向量与参考文本的相似度
- 召回率:参考文本词向量与生成文本的相似度
- F1值:二者调和平均
示例:
python
from bert_score import score
P, R, F1 = score(
cands=["the cat sits on mat"],
refs=["a cat is on the mat"],
lang="en"
)
# 输出:F1=0.89 (远高于BLEU)
优缺点:
✅ 理解同义词/近义词(语义层面评估)
❌ 计算成本高(需运行BERT前向传播)
❌ 可能受BERT模型自身偏见影响
4. BERT(Bidirectional Encoder Representations from Transformers)
核心用途:
- 预训练模型:作为基础架构支持下游NLP任务
- 特征提取器:为其他评估指标(如BERTScore)提供文本表示
关键创新:
- 双向注意力:同时考虑上下文所有单词(传统方法仅左或右)
- 预训练任务 :
-
MLM(掩码语言模型) :预测被遮蔽的单词
python输入:"The [MASK] sat on the mat" → 预测"cat"
-
NSP(下一句预测):判断两句话是否连续
-
架构示例:
输入文本 Token嵌入 位置编码 12层Transformer编码器 CLS标签/词向量输出
衍生应用:
- BERTScore:利用其词向量计算相似度
- Fine-tuning:用于具体任务(如文本分类、QA)
对比总结表
指标 | 评估维度 | 是否需要参考文本 | 计算速度 | 语义敏感度 |
---|---|---|---|---|
BLEU | n-gram表面匹配 | 是 | 极快 | 低 |
ROUGE | 内容覆盖度 | 是 | 快 | 中 |
BERTScore | 深层语义相似度 | 是 | 慢 | 高 |
BERT | 文本表示 | 否 | - | - |
选型建议
- 机器翻译:BLEU + BERTScore组合
- 文本摘要:ROUGE-L为主,人工复核
- 开放域对话:BERTScore + 人工评估
- 低资源环境:优先BLEU/ROUGE
特殊场景:
- 医疗术语评估:需在BERTScore基础上加入术语词典匹配
- 法律文本生成:结合ROUGE-W(重视长句结构)和人工校验
通过理解这些指标的特性,可以更精准地评估大模型在不同任务中的表现。