920232796 / bert_seq2seq

pytorch实现 Bert 做seq2seq任务,使用unilm方案,现在也可以做自动摘要,文本分类,情感分析,NER,词性标注等任务,支持t5模型,支持GPT2进行文章续写。
Apache License 2.0
1.28k stars 208 forks source link

关于target_ids #16

Closed 489597448 closed 3 years ago

489597448 commented 3 years ago

在seq2seq模型中,我不明白为什么token_ids 去掉首字符 即CLS后,就是target_ids。例如在古诗词任务中,token_ids是 cls+标题+sep + 诗词 + sep,我理解targe_ids应该是 诗词,为什么代码中是 标题+sep+诗词+sep

920232796 commented 3 years ago

因为unilm的话 预测的时候就是通过前面的字 往后预测 一个一个预测 因此就需要模型有这种向后输出的能力。

489597448 commented 3 years ago

那如果我的输入中包含多段话 比如在QG问题中,输入就会变成 cls + passage + sep + answer + sep + question ,目的是生成那个question 它会影响最后的解码吗(因为我看到你解码阶段是以sep作为终止符号的)

920232796 commented 3 years ago

不会影响吧,因为你把问题放在最后了,他是从倒数第二个sep开始预测的吧,然后预测到最后sep为止,没任何影响的。

489597448 commented 3 years ago

好的 Thank you