测量 QnA 系统的答案质量

数据挖掘 伯特 变压器 搜索引擎 问答
2022-03-14 15:14:38

我有一个使用 Seq2Seq 架构的问答系统。实际上它是一个变压器架构。当提出问题时,它会给出答案的开始位置和结束位置以及它们的逻辑。
答案是通过选择最佳 logits 跨度形成的,最终概率是通过对 start 和 end logits 求和来计算的。

现在的问题是,我有多个答案,而且很多时候好答案在第二或第三位(在对开始和结束概率之和的结果进行排序之后)。搜索引擎科学中是否有任何指标可以用来对最佳答案进行排名?

已尝试以下方法:

  • 问题词和答案之间的余弦相似度 - 这工作很多次,但当问题语义复杂时失败
  • TFIDF - 给出很好的分数,但当答案中有同义词而不是匹配词时失败。
  • gensim 语义相似性 - 严重失败。
  • BLUE score 和新的 BERTF1Score 也试过了

我听说过的术语很少,但我怀疑这些术语是否有效,例如平均倒数排名,我认为它给出了搜索质量而不是答案质量,并且计算 MRR 需要正确的响应(如果我错了,请更正)。或者在我的情况下无效的 PageRank 因为答案语义在 QnA 中而不是文档流行度中更受欢迎。

请建议搜索引擎通常用于对答案进行排名的其他指标。

1个回答

答案的排名是 ML 过程的一部分,即应该训练一个系统根据答案的相关性对答案进行排名。诸如您的问题中提到的启发式措施可能会提供不错的近似值,但正如您所注意到的那样,它们非常有限。

您可能对 QA 共享任务中使用的数据集和方法感兴趣,例如https://mrqa.github.io/shared