0

我的系统从一组句子中生成问题。可以根据句子的质量为单个句子生成多个问题。人类也被赋予相同的一组句子来生成问题。

例如:

句子:俄罗斯的首都是莫斯科。

============#系统生成的问题#==============

问题一:俄罗斯的首都是什么?

问题2:什么是莫斯科?

============# 人为问题#==============

问题1:俄罗斯的首都是哪里?

问题2:什么是莫斯科?

问题3:俄罗斯的首都是莫斯科吗?

我想评估我的系统的精度、召回率和准确性。但我不知道如何为问题生成系统案例计算此类度量。

数据

  1. 一组带注释的系统生成问题(可接受、不可接受)
  2. 人工生成的问题(针对同一组句子)

给定这些数据,我如何计算这些度量?

4

1 回答 1

1

我想了解您的情况,但如果我错了,请纠正我。

如果您尝试计算精度、召回率和准确率(我想知道是否可能有更合适的性能指标,但这不是重点),我们需要定义什么是真阳性、假阳性、真阴性和假阴性是。

如果您的系统正在生成问题,并且您有一组由人类生成的基本事实问题(我们假设人类已经为每个句子生成了所有可能的可接受问题),我们知道您的系统生成的任何问题都是正面的(T /F):

真阳性:系统生成的问题与该句子的人工生成问题相匹配。

误报:系统生成的问题与该句子的人工生成问题不匹配。

True Negative:我认为计算起来并不容易,因为你的系统只生成它认为是问题的东西。我认为这将是您的系统没有产生的每一个不可接受的问题,在人为产生的问题中也找不到。

假阴性:不是由您的系统生成的人为问题。

然后将这些代入计算精度和召回率的方程很简单:

精度 = TP / TP + FP

召回 = TP / TP + FN

因为考虑TN不容易,所以我认为计算准确率是不合理的。您可以改为计算错误发现率(1 - 精度)。

于 2016-05-24T15:33:31.287 回答