Open dzp17 opened 2 years ago
请问数据集的格式是quire para(正例) para(负例) 0 是这样的格式吗
dual_encoder的数据格式:query \t title \t para \t title \t para \t 0 (没有空格)第一组title para是正例,第二组是负例 cross_encoder的数据格式:query \t title \t para \t label (没有空格)
dual_encoder的数据格式:query \t title \t para \t title \t para \t 0 (没有空格)第一组title para是正例,第二组是负例 cross_encoder的数据格式:query \t title \t para \t label (没有空格)
您好,可是rocketqa那里的示例里提供的数据集是query\ttitle\tpara\tlabel啊 有点懵了
能说的详细点吗?具体是哪个文件?
Rocketqa中的examples中的data,example.py文件里就是用的这个data啊 我想用这个dual_encoder做召回再用cross_encoder做精排的
examples/data这个文件夹里dual.train.tsv和cross.train.tsv这两个文件分别是dual_encoder和cross_encoder的训练文件,里面的格式就是我刚刚提到的。
哦哦 好的 我看错了 不好意思 dual_encodr后面的那个0是固定的吗,cross_encoder的就是label 就是取query\ttitle\tpara label 1代表正例,0代表负例吗 然后 训练完,将召回的top50的每一段话与问题做匹配得到最大的得分就是匹配结果了吗? dual_encoder与corss_encoder的数据集内容都是一样的 只是格式不同吗
好的,谢谢 明白了
您好,还有一个问题 没有title用什么字符代替呢
可以用“-”或者直接“”,这个影响不大
您好,我跑了自定义数据集,跑完是只有一个ce_en_models吗,里面只有step,将config.json文件里的model填这个吗
对,ce_en_models里面就是在不同的step时保存的权重,将config文件里对应的位置改成step的名字就可以(压缩包要解压才可以加载权重)
很不对啊 自己训练的权重得到的dot值都是1e-8数量级,比用zh_dureader_ce的0.8差太远了 有点懵了
- 对的,0是固定占位用的
- 对的,1是正例0是负例
- dual和cross 都训练完后,先用dual encoder快速召回topK个title+para(K一般是100,你可以根据自己情况上下调整);然后将q和topK中的title+para合并成上述qtp的格式用精排打完分后重新排序就是最终端到端的检索排序结果(此时的top1就是得分最高的匹配结果)。
- example/data里的数据只是100条demo,最好用自己的训练数据或者直接使用已经训练好的模型。cross encoder和dual encoder训练数据可以一样也可以不一样,这个要看具体情况。
dualencoder的训练数据为什么有负例语料,是起到啥作用,求教下
dual_encoder的数据格式:query \t title \t para \t title \t para \t 0 (没有空格)第一组title para是正例,第二组是负例 cross_encoder的数据格式:query \t title \t para \t label (没有空格)
您好,请问一下PAIR模型中的预训练数据和微调数据是否也是这种格式呢?
自定义数据集,送入到dual_encoder以及cross_encoder的数据集是一样的吗?