前期知识准备 :RNN, CNN, BERT, SemEval-2010 Task 8数据集, F1值
关系分类是一个重要的NLP任务,其主要目标是提取出实体之间的关系。最先进的关系分类方法主要是基于CNN或RNN。最近,预训练BERT模型在许多NLP的分类和序列标注任务中都获得了非常好的结果。关系分类不同于其他NLP任务的主要原因是它既依赖于句子的信息,又依赖于两个目标实体的信息。在本文中,我们提出了一个用来解决关系分类任务的模型,它既利用了预训练的BERT语言模型,又结合来自目标实体的信息。我们定位目标实体并通过预训练结构传递信息,同时还结合了两个实体的相关编码。在SemEval-2010 Task 8任务上,相比目前的最优模型我们的方法获得了有效的提升。
R-BERT的预训练完全采用BERT模型,输入句子为单句,因此不需要添加[SEP]。其输出分为三部分,分别是[CLS]隐含状态向量和两个实体的隐含状态向量。作者认为第一部分可以保存句子的语义内容,后两个部分可以保存两个实体的信息。
其中,i ,j分别为第一个实体的首、尾字符位置;k,m分别为第二个实体的首、尾字符位置。神经网络中,权重系数和偏置系数均共享,即 W0 = W1 = W2,b0 = b1 = b2。
该数据集包含9类语义关系和一个Other类别,规定某关系如果不属于9类语义关系中的一种,则其属于Other类别。9类关系分别是:Cause-Effect、Component-Whole、Content-Container、Entity-Destination、Entity-Origin、Instrument-Angency、Member-Collection、Message-Topic和Product-Producer。数据集中共有10717个句子,8000个句子为训练集,2717个句子为测试集,每个句子包含e1和e2两个名词以及与该句子相关的关系类型。需要注意的是,关系是有向的,即关系(e1, e2)和关系(e2, e1)不同。
作者还在相同的数据集上比较了其他多种模型,其中包括:SVM、RNN、MVRNN、CNN+Softmax、FCM、CR-CNN、Attention CNN、Att-Pooling-CNN和Entity Attention Bi-LSTM,以F1值作为评测标准,其结果如下:
可见,R-BERT的F1值达到了89.25,相比于其他方法有着明显的优势。
为了探究BERT模型之外的部分对最后识别结果的影响,作者分别进行了如下额外实验,并得到结论:
(1)去除了实体前后的标识符,这种做法会使模型的F1值从89.25%降到87.98%,说明了标识符可以帮助提供实体信息。
(2)在BERT输出层仅使用[CLS]句子向量而不利用实体向量,这样会使得模型F1值从89.25%降到87.99%,说明主动明确实体信息对模型是有帮助的。
想办法给模型明确实体的位置对于关系抽取问题精度的提升是有帮助的。
https://zhuanlan.zhihu.com/p/78445887
https://blog.csdn.net/qq_36426650/article/details/96629835