当有参考答案时,评估事实正确性的两种常见指标是**精确匹配 (EM)** 和 F1 分数,这两种指标广泛应用于 SQuAD 等基准测试中。EM 检查预测答案是否与参考答案完全匹配,包括措辞、标点符号和大小写。例如,如果参考答案是“Paris”,而模型输出“paris”或“Paris, France”,则 EM 会因为大小写敏感性或额外的文本而得分为 0。另一方面,F1 分数衡量预测答案和参考答案之间的 token 级别重叠。它计算精度(预测的 token 中正确的百分比)和召回率(预测捕获的参考 token 的百分比),然后将它们组合成调和平均值。这允许对接近但不完美的答案给予部分积分。
虽然 EM 很严格且易于计算,但它可能过于死板。例如,如果参考是“the 16th century”,而模型回答“16th century”,即使核心事实是正确的,EM 也会失败。F1 通过将答案分解为 token 来解决这个问题(例如,["the", "16th", “century”] 与 ["16th", “century”])。在这里,精度为 100%(所有预测的 token 都是正确的),召回率为 66%(3 个参考 token 中匹配了 2 个),F1 为 80%。但是,F1 在处理同义词或改写答案时仍然会遇到困难。例如,如果参考是“William Shakespeare”,而模型输出“Shakespeare”,即使答案在事实上是正确的但不完整,F1 也会得分为 67%(精度 100%,召回率 50%)。
这些指标最适合于结构化的、简短回答的场景,其中答案是明确的。例如,在历史日期 QA 系统中,EM 和 F1 效果良好,因为像“July 20, 1969”这样的答案的有效变体有限。然而,它们无法捕捉到更复杂情况下的语义等价性。如果参考答案是“France”,而模型说“French”,F1 和 EM 都会得分为 0,即使错误是微妙的。开发人员应该使用这些指标作为基线,但应使用人工评估或语义相似度工具(例如,BERTScore)来补充它们,以用于细微的任务。自动化指标优先考虑可扩展性,而手动审查可确保边缘情况下的正确性。