PaddlePaddle / RocketQA

🚀 RocketQA, dense retrieval for information retrieval and question answering, including both Chinese and English state-of-the-art models.
Apache License 2.0
767 stars 128 forks source link

数据集Label的用途 #38

Closed zhangyuting closed 2 years ago

zhangyuting commented 2 years ago

在提供的训练数据中,最后一列是Label,值为0或者1,请问这个label的用途是什么?

RocketQA/examples/data/cross.train.tsv RocketQA/examples/data/dual.train.tsv

sfwydyc commented 2 years ago

这两个文件这个是训练数据的样例,最后一列是数据的label,0代表负例(query和para不相关),1代表正例(para是query的答案)

zhangyuting commented 2 years ago

这两个文件这个是训练数据的样例,最后一列是数据的label,0代表负例(query和para不相关),1代表正例(para是query的答案)

感谢回复,请问自己构建数据集的话:

  1. 这个label为0的负样例该如何构建呢?
  2. 如果没有负样例可以吗?
sfwydyc commented 2 years ago

如果要训练检索模型(双塔),可以没有负样本,但效果会比较差。 如果训练精排模型(单塔),不能没有负样本。可以用一些简单的方法构造,比如: 1、将别的query的正例作为当前query的负例,不过需要用一些手段保证两个query非同义 2、从当前query的检索结果中,找出与标注正例不同义的候选作为负例,可以通过两个段落的词匹配程度判断同义。

zhangyuting commented 2 years ago

感谢回复。