(阅读笔记)R-Bert:Enriching Pre-trained Language Model with Entity Information for Relation Classificatio

R-Bert:使用Bert进行关系抽取

时间:2019

(阅读笔记)R-Bert:Enriching Pre-trained Language Model with Entity Information for Relation Classificatio_第1张图片使用数据是SemEval2010(带有方向),不涉及远程监督噪声数据。

方法:在每个句子开头添加[CLS]标志,在分类任务中,经过Bert处理后,其最终隐藏状态可作为句子表示。强调关系抽取任务的实体本质,捕获实体的位置信息,在每个头实体前后添加特殊符号$,在每个尾实体前后添加特殊符号#,特殊符号作为token进行处理。

给定一个带有实体 e1 和 e2 的句子 s,假设它从 BERT 模块输出的最终隐藏状态为 H。假设向量 Hi 到 Hj 是实体 e1 的 BERT最终隐藏状态向量,Hk 到 Hm 是来自实体 e2 的 BERT最终隐藏向量。应用平均操作来获得两个目标实体中的每一个的向量表示。(是否有比平均向量更好的方法?)然后在激活操作(即 tanh)之后,我们为两个向量中的每一个添加一个全连接层,e1 和 e2 的输出分别为 H’1 和 H’2。这个过程可以在数学上形式化为等式:

(阅读笔记)R-Bert:Enriching Pre-trained Language Model with Entity Information for Relation Classificatio_第2张图片

W1 = W2,b1 = b2

第一个token的最终隐藏状态向量(即'[CLS]'),我们还添加了一个激活操作和一个全连接层,其形式表示为:

矩阵 W0、W1、W2 具有相同的维度,即 W0 ∈ Rd×d,W1 ∈ Rd×d,W2 ∈ Rd×d,其中 d 是来自 BERT 的隐藏状态大小。

将 H’0、H’1、H’2 连接起来,然后添加一个全连接层和一个 softmax 层,可以表示如下:

(阅读笔记)R-Bert:Enriching Pre-trained Language Model with Entity Information for Relation Classificatio_第3张图片

使用交叉熵作为损失函数。在训练期间在每个全连接层之前应用 dropout。

消融实验:

  1. BERT-NO-SEP-NO-ENT:仅适用[CLS]的隐藏状态
  2. BERT-NO-SEP:使用[CLS]隐藏状态和不带特殊符号的头尾实体隐藏状态
  3. BERT-NO-ENT: 使用[CLS]隐藏状态、特殊符号隐藏状态

(阅读笔记)R-Bert:Enriching Pre-trained Language Model with Entity Information for Relation Classificatio_第4张图片

在关系分类中,关系标签取决于句子的语义和两个目标实体。没有特殊单独令牌的 BERT 无法定位目标实体并丢失此关键信息。特殊的单独标记有助于提高准确性的原因是它们识别两个目标实体的位置并将信息传递到 BERT 模型中,这使得 BERT 输出包含两个实体的位置信息。另一方面,结合目标实体向量的输出进一步丰富了信息,有助于做出更准确的预测。

欢迎大家一起指正探讨~

你可能感兴趣的:(bert,深度学习,nlp,知识图谱)