基于T5 encoder-decoder模型的实体关系抽取评估指标咨询
关系抽取任务中方向敏感三元组的评估方案
针对你用带summary前缀的T5模型做关系抽取、且三元组方向性至关重要的场景,ROUGE这类侧重文本重叠的指标确实不适用,以下是几种精准适配的评估方法:
1. 严格精确匹配(Exact Match, EM)
这是最直接符合你需求的指标:
- 判定规则:预测的三元组(主语S、关系R、宾语O)必须与标注的完全一致,包括实体的指代、关系类型,以及S和O的顺序(比如你例子里,把A和B调换,或者关系写成
Acquiree-Acquired都算错误)。 - 计算方式:
- 精确率 = 完全匹配的三元组数量 / 模型预测的总三元组数量
- 召回率 = 完全匹配的三元组数量 / 标注的总三元组数量
- F1值 = 2 * (精确率 * 召回率) / (精确率 + 召回率)
- 优势:直接衡量模型抽取正确方向三元组的能力,结果直观易懂。
2. 拆解式实体-关系匹配
如果需要更细致地分析模型短板,可以拆分评估维度:
- 实体识别维度:分别计算主语、宾语的精确率/召回率/F1,验证模型是否能正确识别出A、B这类实体。
- 关系分类维度:在主语和宾语都正确匹配的前提下,计算关系类型的精确匹配率(比如给定正确的A和B,模型是否能输出
Acquired-Acquiree而非反向关系)。 - 组合评估:先要求S、O完全匹配,再要求R匹配,这种方式比严格EM稍宽松,但依然保留了方向性要求,能帮你定位是实体识别出问题还是关系判断出错。
3. 微观/宏观F1细分
- 微观F1:将所有三元组视为独立样本,计算整体的精确率、召回率后得到F1,适合关注模型的整体抽取效果。
- 宏观F1:针对每个关系类型(比如
Acquired-Acquiree、Founder-Founded等)单独计算精确率和召回率,再取所有关系的平均值,适合分析模型在不同方向敏感关系上的表现差异。
前置处理:生成式输出解析
因为T5是生成式模型,输出是类似A | B | Acquired-Acquiree的字符串,评估前需要先做解析:
- 按照你定义的分隔符(比如
|)将输出拆分为S、R、O三个部分,处理可能的格式错误(比如分隔符缺失、实体冗余等),解析失败的样本直接判定为预测错误。 - 注意去重:模型可能会重复预测同一个三元组,评估前要先对预测结果去重,避免过高计算精确率。
计算示例
假设标注三元组共10个,包含你提到的A | B | Acquired-Acquiree;模型预测9个三元组,其中7个完全匹配标注,2个错误(A、B调换或关系反向),1个标注三元组未被预测:
- 精确率 = 7/9 ≈ 77.8%
- 召回率 = 7/10 = 70%
- F1值 ≈ 73.7%
内容的提问来源于stack exchange,提问作者Mudasser Afzal
相关产品推荐
相关产品推荐

