测量精度和召回率

数据挖掘 分类 nlp 数据挖掘 聊天机器人
2022-03-14 13:48:48

尝试改进我的聊天应用程序:

使用我的域中以前的(预处理的)聊天交互,我构建了一个工具,为用户提供给定聊天上下文的 5 种可能的话语,例如:

:“嗨,约翰。”

上下文:嗨 [[USER_NAME]]
话语:[嗨,你好,你好吗,你好,再次你好]


当然,结果并不总是相关的,例如:

Raw:“嗨,John。你好吗?我很好,你在办公室吗?”

语境:嗨 [[USER_NAME]] 你好吗,我很好,你在办公室吗?
话语:[是的,不,,是的,我是,你好吗]

我将Elasticsearch与 TF/IDF 相似性模型和结构如下的索引一起使用:

{
  "_index": "engagements",
  "_type": "context",
  "_id": "48",
  "_score": 1,
  "_source": {
    "context": "hi [[USER_NAME]] how are you i am fine are you in the office",
    "utterance": "Yes I am"
  }
}

问题:我确定对于上下文“嗨 [[USER_NAME]] 你好吗,我很好,你在办公室吗”,“是的,我是”这句话是相关的,但是“是”、“否”也是相关的因为它们出现在类似的背景下。

尝试使用这个优秀的视频,作为一个起点

问:如果我所知道的(从我的原始数据中)只是一个真实的话语,我如何衡量准确率和召回率?

1个回答

准确率和召回率是“硬”指标。如果模型的预测与目标标签完全相同,它们就是衡量标准。

通常,像您这样的系统可以使用更灵活的指标,例如前 5 个错误率,如果目标标签是模型的前 5 个预测之一,则认为该模型已生成正确的响应。