bert做阅读理解的一个细节
如上图所示,展示了如何用BERT来做信息抽取任务的结构图。注意一下几点即可:
1.将Question和Paragraph分别作为BERT的text1和text2输入。
2.start/end span在Paragraph对应的输出位置表示。
通常输出会通过2个dense网络,接到start输出和end输出序列。
假设Paragraph为“周杰伦出生于台湾”,Question为“周杰伦出生于哪里?”,则laebl为:start[0,0,0,0,0,1,0],end[0,0,0,0,0,0,1]。
将上述start输出和end输出序列接一个sigmod层,然后用binary_crossentropy函数即可进行训练。
如果想要输出一个Answer是否正确的概率,可用将[CLS]的输出表征利用起来,非常的简单。