Matching the Blanks: Distributional Similarity for Relation Learning 论文阅读笔记
一、核心思想
源自Harris等人提出的分布式假设, 作者主张, 若两个关系表达式涉及相同的实体对, 那么这两个关系表达式应当表现出相似性. 借助大量无监督数据的支持, 在BERT的预训练阶段中额外引入了MTB(Matching The Blanks)子任务, 这有助于提高关系抽取能力的表现水平.
二、问题描述
本文定义一个关系表述(relation statement)为 r =(x,s 1,s2)。
其中 x 即为 [x₀,…, xₙ] 的形式。这里 x₀ 表示为 [CLS](开始标志),而 xₙ 则对应于 [SEP](结束标志)。
该段落中的变量s₁和s₂分别代表句内实体所处的位置坐标对;其中i,j,k,l全为整数值,并且分别描述了句内实体所处的位置坐标;具体而言,[x_i,…,x_{j−1}]这一区间内的特征序列对应于第一个实体,[x_k,…,x_{l−1}]这一区间内的特征序列对应于第二个实体
目标是习得一个映射函数:

h r是一个固定维度(d维)的向量。
三、对基于BERT的一些关系编码器的评估
本研究聚焦于解决以下两个核心问题:其一,在BERT编码器中如何确定实体及其位置信息的编码方案;其二,通过提取BERT编码器各层的特征向量来获得统一维度的表征。
针对问题一共有三种解决方案可供采用:
第一种方案称为SST(Standard Segmentation Technique),该方法假设数据是以字符或单词为基础进行分段处理,并未考虑任何语义或语法上的特殊属性。
第二种方案命名为PEM(Positional Encoding Method),它是一种基于序列学习的方法,在传统的分段嵌入模型基础上增加了位置编码机制。具体而言,在BERT分段嵌入模型的基础上分别对s1范围、s2范围及未被覆盖区域的token分别赋予不同的位置编码向量。
第三种方案则采用了叫做ESBM(Entity Segment Boundary Marking)的技术体系,在每个实体两端引入特定标记 token 来标识其起始和终止边界

同时更新s 1和** s2**:s 1 =(i+1,j+1),s 2 =(k+3,l+3)。
经系统经过BERT模型处理后的隐状态H可被定义为一个包含[h0,…,hn]元素的一维向量序列。
针对问题二而言,则有三种解决方案。
采用[CLS]标记对应的隐态信息可直接作为关系表达的基础信息。
此外,在提及实体时可采用专门的方法提取相关特征。
针对s1和s2分别提取各自对应的隐态特征并进行MAXPOOL运算可以获得独立于实体的信息。
通过MAXPOOL运算获取:
\mathbf{h}_{e_1} = \text{MAXPOOL}\left([\mathbf{h}_i,\ldots,\mathbf{h}_{j-1}]\right)
\mathbf{h}_{e_2} = \text{MAXPOOL}\left([\mathbf{h}_k,\ldots,\mathbf{h}_{l-1}]\right)
最终的关系表示向量则由这两个子向量构成:
\mathbf{r} = [\mathbf{e}_1|\mathbf{e}_2]
当第一个问题采用标记③(ENTITY MARKERS)时,在处理E1start和E2start的关系时需将它们的隐状态进行关联作为关系表达式: \mathbf{h}_r = \langle \mathbf{h}_i|\mathbf{h}_{k+2} \rangle 同时需明确指出该操作仅限于与标记③结合使用
两个问题共有3*3=9种组合方式,除去②④、①⑥、②⑥三种,还剩6种,如图所示:

经过BERT处理后的输出被输入到一个全连接层中;该全连接层要么采用线性激活、要么进行层归一化;本文将这一选择视为模型的一个超参数:
超参数的选择:

结果显示,③+⑥的组合总能获得最好的效果:

在本文的剩余部分,将统一使用③+⑥的组合(命名为BERTEM)。
四、Matching the Blanks方法的应用
该研究的主要目的是利用预训练的关系表示来辅助关系抽取过程。因此,在实现这一目标的过程中,需要获取大量无监督学习数据作为基础。
可以使用实体链接系统 构造数据集(具体方法参见论文原文4.3节)

其中**r =(x,s1,s2)**是关系表述,e1,e2是实体。
研究表明,在两个关系表达式中(记为\mathbf{r}和\mathbf{r'}),如果它们具有相似性,则它们的内积f_{\theta}(\mathbf{r})^{\top}f_{\theta}(\mathbf{r'})会较高;反之,则其内积值较低。此外,在给定\mathbf{r} = (x, s_1, s_2)以及\mathbf{r'} = (x', s'_1, s'_2)的情况下(其中s_1 = s'_1且s_2 = s'_2),这两个关系表达式很可能表示相同的语义信息。
本文提出了一种二元分类器用于判断两个关系表述是否识别为具有相同的关联性:

这里l=1表示两者表述相同的关系。l=0表示两者表述不同的关系。
(这个问题值得深思:当变量r与r'表示相同的关联性时,则内积\mathbf{f}_\theta(\mathbf{r})^\top\mathbf{f}_\theta(\mathbf{r'})理论上应当较高;然而通过公式计算得到的概率却显著偏低!)
为了得到fθ(r)中的参数,定义了一个损失函数:

采用二分类任务的交叉熵作为损失函数进行建模。通过最小化损失函数来优化模型参数以实现最佳性能。
然而还有一个问题是,在实际应用中发现该损失函数能够被实体链接系统完美实现最小化。由于最小化该损失函数实际上等价于在e1=e1'和e2=e2'时最大化概率p(l=1|r,r')。(其中的理解还不够深入),这表明我们需要对数据集进行相应的优化。
BLANK
BLANK
BLANK
本文提出的方法是在句子中涉及的实体上实施了一种随机替换策略,在这种策略下每个实体被替代表现为被替换成一个特殊符号【BLANK
这样,就得到了新数据集

该论文模型基于Bert Large架构设置初始参数,并结合了mask语言模型(Masked LM)和匹配空白(Matching the Blanks)两种损失函数来进行预训练。经过上述预训练过程,在专门的关系抽取数据集上进一步优化。
然而

五、实验结果
基于BERTEM的基础上进行Matching the Blanks任务的预训练,并命名为BERTEM+MTB
使用BERTLARGE初始化Transformer的参数,超参数设置如下:

由于研究方向的关系,这里我只介绍有监督关系抽取的实验结果:

可以看到MTB预训练的提升并不明显,但聊胜于无。
