UER-py icon indicating copy to clipboard operation
UER-py copied to clipboard

关于 run_dbpa.py 的一些问题

Open svjack opened this issue 4 years ago • 6 comments

您好 我看了一下run_dbqa.py的代码,有一些代码不太理解。 dataset_groupby_qid.append((qid, correct_answer_orders, scores)) 是不是应该加一个缩进,到循环内执行。

dataset_groupby_qid而且类型是一个list 并没有生成dataframe并执行groupby.

在这个任务中,一般text_a的不同已经能够区分是不同的“问”的排序了,还加了个qid, 这样也有一个好处,就是可以将若干类似的句子合并成一个样本(因为groupby) 但这看似仅仅影响evaluate过程。(是否进行合并)

不知道代码是否需要改一下。

svjack avatar Jan 20 '21 05:01 svjack

您好,第90行,在循环内执行了下面的语句 dataset_groupby_qid.append((qid, correct_answer_orders, scores)) 您再看看dbqa的evaluate是否还有问题,有问题的话可以直接pull request

dbqa数据集的训练确实不需要qid 比赛原始数据集是带qid的,我们保留了下来,并将qid用于评估阶段

zhezhaoa avatar Jan 20 '21 14:01 zhezhaoa

您好,第90行,在循环内执行了下面的语句 dataset_groupby_qid.append((qid, correct_answer_orders, scores)) 您再看看dbqa的evaluate是否还有问题,有问题的话可以直接pull request

dbqa数据集的训练确实不需要qid 比赛原始数据集是带qid的,我们保留了下来,并将qid用于评估阶段

这样是不是在 dataset中相同qid的样本必须排在一起? 一旦有不排在一起的情况就会分成多部分。

svjack avatar Jan 20 '21 15:01 svjack

建议run_classifier.py加入导入已训练模型的导入option 在inference 里面已经做了。 可以接续之前中断的训练。

svjack avatar Jan 20 '21 16:01 svjack

sentencepiece导入生成Vocab有 CLS_TOKEN SEP_TOKEN 吗?

svjack avatar Jan 20 '21 16:01 svjack

您好,第90行,在循环内执行了下面的语句 dataset_groupby_qid.append((qid, correct_answer_orders, scores)) 您再看看dbqa的evaluate是否还有问题,有问题的话可以直接pull request dbqa数据集的训练确实不需要qid 比赛原始数据集是带qid的,我们保留了下来,并将qid用于评估阶段

这样是不是在 dataset中相同qid的样本必须排在一起? 一旦有不排在一起的情况就会分成多部分。

是的,评估阶段dataset中qid相同的句子必须排在一起,这也是数据集本身的特点

zhezhaoa avatar Jan 21 '21 12:01 zhezhaoa

您好,第90行,在循环内执行了下面的语句 dataset_groupby_qid.append((qid, correct_answer_orders, scores)) 您再看看dbqa的evaluate是否还有问题,有问题的话可以直接pull request dbqa数据集的训练确实不需要qid 比赛原始数据集是带qid的,我们保留了下来,并将qid用于评估阶段

这样是不是在 dataset中相同qid的样本必须排在一起? 一旦有不排在一起的情况就会分成多部分。

是的,评估阶段dataset中qid相同的句子必须排在一起,这也是数据集本身的特点

感觉用pandas groupby处理一下能够使得通用数据不必预先关于qid 排序,而且还能利用 对不同的但语义相近的text_a施加相同的qid 合并语义相似问答对的结果, 感觉还是有好处的。

svjack avatar Jan 21 '21 13:01 svjack