Matching the Blanks: Distributional Similarity for Relation Learning
可以对任意关系建模的通用关系提取器是信息提取中的核心期望。之前提出的构建通用关系抽取器的方法,如用表面形式(Surface Form)来表示关系,或者联合嵌入关系的表面形式和现存知识图谱中的关系的方法,都不能够很好地泛化。在本文中,我们基于 Harris 的分布假设对关系的扩展以及在学习文本表示形式(特别是BERT)方面的最新进展,以完全从实体链接的文本构建与任务无关的关系表示形式。我们证明,即使不使用任何任务的训练数据,这些表示也大大优于以前基于示例的关系提取(FewRel)的工作。我们还显示,使用任务无关的表示形式初始化的模型,然后在受监督的关系提取数据集上进行了调整,大大优于 SemEval 2010 Task 8,KBP37 和 TACRED 上的先前方法。
1. 简介
读取文本来识别和提取实体间的关系一直是 NLP 中的一个长期目标。通常在关系提取中的研究方向可以分为三组。第一个方向是监督或远程监督的关系提取器在有限的模式下学习一个从文本到关系的映射;第二个方向是,开放信息提取通过使用它们的表面形式表示关系来解决预定义模式的局限性,这扩大了范围,但由于许多表面形式可以表达相同的关系,因此也导致缺乏通用性。最后,通用模式既包含文本的多样性,又包含示意关系的简洁性,可以构建一种扩展到任意文本输入和任意实体对的联合表示形式。但是,就像远程监督的关系提取器一样,通用模式依赖于可以与文本对齐的大型知识图。
在 Lin 和 Pantel 将 Harris 的分布假设扩展到关系的基础上,以及从上下文中学习单词表示的最新进展,我们提出了一种直接从文本中学习关系表示的新方法。首先,我们研究了 Transformer 神经网络架构对实体对之间的关系进行编码的能力,并确定了一种在监督关系提取中表现优于先前工作的表示方法。 然后,我们提出一种通过匹配空白而无需知识图或人工注释者任何监督的情况下训练这种关系表示的方法。
继 Riedel,我们假设访问了一个语料库,其中实体已链接到唯一标识符,并且我们定义了一个关系语句为包含两个标记实体的文本块。据此,我们创建了包含关联语句的训练数据,其中实体已被特殊的[BLANK]符号替换,如图1所示。我们的训练过程采用成对的包含空白[BLANK]的关联语句,其目标是如果关系表示在同一对实体上,则鼓励它们相似。

经过训练后,我们将学习到的关系表示形式用于最近发布的FewRel 任务,其中特定的关系(例如“original language of work”)用一些示例表示,例如The Crowd(Italian:La Folla)是1951年的意大利电影。Han 将 FewRel 展示为监督数据集,旨在评估模型在测试时适应新领域关系的能力。我们证明,通过匹配空白的训练而不要任何 FewRel 训练数据,我们可以胜过 Han 在 FewRel 上的最高表现。我们还显示,通过匹配空白进行预训练并在 FewRel 上进行调整的模型在 FewRel 评估中的性能优于人类。同样,通过匹配空白训练然后再标注数据上微调,我们极大地提高了在 SemEval 2010 Task 8、KBP-37 和 TACRED 等关系提取基准模型上的性能。
2. 综述
2.1 任务定义
在这篇论文中,我们关注于学习从关系语句到关系表示的映射。通常,令 $\mathbf{x}=[x_0 \ldots x_n]$ 表示一个 token 序列,其中,$x_0=[CLS], x_n=[SEP]$ 是序列的开始和结束标记,令 $\mathbf{s}_1=(i,j), \mathbf{s}_2=(k, l)$ 表示像 $0<i<j-1,j<k,k\le l-1, l\le n$ 的整数对。一个关系句子是一个三元组 $\mathbf{r}=(\mathbf{x}, \mathbf{s}_1, \mathbf{s}_2)$,其中 $\mathbf{s}_1$ 和 $\mathbf{s}_2$ 的索引表示界定了 $\mathbf{x}$ 中的实体:序列 $[x_i\ldots x_{j-1}]$ 是一个实体,$[x_k\ldots x_{l-1}]$ 也是一个实体。我们的目标是是学习一个函数 $\mathbf{h}_r=f_\theta(\mathbf{r})$ 将关系句子映射成一个定长的 $\mathbf{h}_r\in\mathcal{R}^d$ 向量,它表示在序列 $\mathbf{x}$ 中被 $\mathbf{s}_1$ 和 $\mathbf{s}_2$ 标记的实体间的关系。
2.2 贡献
这篇论文包含两个贡献:
- 首先对关系编码器 $f_\theta$ 引入了不同的框架,所有编码器都是使用最广的 Transformer 序列模型上。我们通过在有监督的训练下将它们应用到一组关系提取基准中,来评估每种体系结构。
- 最重要的贡献是 $f_\theta$ 可以通过实体链接文本的形式从广泛使用的远程监控中学到。
3 关系学习框架
这项工作的主要目标是开发直接从文本产生关系表示的模型。鉴于最近在各种语言建模上训练的深度 Transformer 表现的强大性能,我们采用了Devlin等人的BERT模型作为我们工作的基础。在本节中,我们探索使用Transformer模型表示关系的不同方法。
3.1 关系分类和提取任务
我们在一套有监督的关系提取基准上评估了不同的表示方法。我们使用的关系提取任务可以大致分为两种类型:完全监督的关系提取和少量关联匹配。
对于监督任务,目标是对于给定的关系句子 $\mathbf{r}$,预测关系类型 $t\in\mathcal{T}$,其中, $\mathcal{T}$ 是一个固定的关系类型字典,并且 $t=0$ 通常代表在关系句子中,实体间缺少关系。对于这种类型的任务,我们在 SemEval 2010 Task 8、KBP-37 和 TACRED 上进行了评估。
在少量关系匹配的情况下,根据查询关系语句对一组候选关系语句进行排序和匹配。在此任务中,测试和开发集中的示例通常包含训练集中不存在的关系类型。对于这种类型的任务,我们在 FewRel 数据集上进行了评估。对于给定的 $K$ 个带 $N$ 个标签关系语句集合 $\mathcal{S}_k=\{(\mathbf{r}_0, t_0)\ldots (\mathbf{r}_N, t_N)\}$,其中,$t_i\in\{1\ldots K\}$ 是相关的关系类型。对于一个查询关系语句,目标是预测 $t_q\in\{1\ldots K\}$
3.2 深度 Transformer 模型的关系表示
这一节的所有实验中,我们从 Devlin 提供的 BERT-Large 模型开始并针对特定任务开始训练。因为 BERT 还没有被用到关系表示的问题上,我们旨在回答两个主要的建模问题:
- (1)如何在 BERT 的输入中表示感兴趣的实体
- (2)如何从 BERT 的输出中提取一个关系的定长表示。
我们为输入编码和输出关系表示提供了三个选项。下图说明了这些的六个组合。

回顾第2节,关系语句 $\mathbf{r} =(\mathbf{x}, \mathbf{s}_1, \mathbf{s}_2)$ 包含标记序列 $\mathbf{x}$ 和实体跨度标识符 $\mathbf{s}_1$ 和 $\mathbf{s}_2$。 我们提供了三种不同的选项,用于将有关聚焦范围 $\mathbf{s}_1$ 和 $\mathbf{s}_2$ 的信息获取到BERT编码器中。
3.2.1 标准输入
首先,我们尝试使用无法访问实体范围 $\mathbf{s}_1$ 和 $\mathbf{s}_2$ 的任何显式标识的BERT模型。我们将此选择称为“标准”输入。这是一个重要的参考点,因为我们相信 BERT 可以识别 $\mathbf{x}$ 中的实体,但是使用标准输入,当 $\mathbf{x}$ 包含两个以上提及的实体时,无法知道哪个两个实体处于焦点。
3.2.2 位置嵌入
对于输入的每个 token,BERT 也会添加一个段嵌入,主要是用于添加句子信息到模型。为了解决标准表示形式缺乏明确的实体标识的问题,我们引入了两个新的分段嵌入,一个嵌入到跨度 $\mathbf{s}_1$ 中的所有标记中,另一个添加到跨度 $\mathbf{s}_2$ 中的所有标记中。这种方法类似于以前的工作,在该工作中,将位置嵌入应用于关系提取.
3.2.3 实体标记 token
最后,我们用四个保留词来扩展 $\mathbf{x}$,以在关系语句中标记每个实体提及的开始和结束。我们引入 $[E1_{start}], [E1_{end}], [E2_{start}], [E2_{end}]$,并且修改 $\mathbf{x}$ 为:
并且将 $\tilde{\mathbf{x}}$ 代替 $\mathbf{x}$ 作为 BERT 的输入,同样更新实体索引 $\tilde{\mathbf{s}}_1=(i+1,j+1), \tilde{\mathbf{s}}_2=(K+3,l+3)$,我们将此输入的表示形式称为ENTITY MARKERS。
3.3 定长的关系表示
现在,我们介绍三种从BERT编码器提取固定长度关系表示 $\mathbf{h}_r$ 的单独方法。这三个变体依赖于提取 Transformer 网络的最后一个隐藏层,我们将其定义为 $H = [\mathbf{h}_0,\ldots, \mathbf{h}_n]$ 表示 $n=|\mathbf{x}|$(如果使用实体标记 token,则为 $|\tilde{\mathbf{x}}|$)。
3.3.1 [CLS] token
回顾第二节,每个 $\mathbf{x}$ 以一个保留词 [CLS] 开始,BERT 的输出状态和 [CLS] 对应的向量作为句子 $\mathbf{x}$ 的表示。
3.3.2 Entity mention pooling
我们通过对 BERT 的最后一层输出中每个实体对应的 token 做最大池化操作得到两个向量 $\mathbf{h}_{e1}=\mathbf{MAXPOOL}([h_i\ldots h_{j-1}]), \mathbf{h}_{e2}=\mathbf{MAXPOOL}([h_k\ldots h_{l-1}])$ 表示两个提及的实体,我们将这两个向量拼接得到一个单独的表示 $\mathbf{h}_r=<\mathbf{h}_{e1}|\mathbf{h}_{e2}>$,我们称这个框架为 MENTION POOLING。
3.3.3 Entity start state
最后,当使用 ENTITY MARKERS 时,我们建议使用它们各自的起始标记的最终隐藏状态的级联来简单地表示两个实体之间的关系。回顾 ENTITY MARKERS 在 $\mathbf{x}$ 中插入的 token,并在 $\mathbf{s}_1$ 和 $\mathbf{s}_2$ 中创建偏移量,我们对该关系的表示是 $\mathbf{r}_h=<\mathbf{h}_i|\mathbf{h}_{j+2}>$
图3显示了我们在这一节评估的一些变体。除了定义了模型的输入和输出框架,确定了用于训练模型的损失函数,如图2所示。在所有的模型中,来自 Transformer 网络的输出表示作为包含线性激活函数或者执行正则化的全连接层的输入。我们将选后 Transfomer 层的选择视为超参数,并对每个任务使用性能最佳的层类型。
对于监督任务,我们引入一个新的分类层 $\mathcal{W}\in\mathcal{R}^{K\times H}$,其中,$H$ 是关系表示的大小,$K$ 是关系的类别数量,分类损失是 $\mathbf{h}_rW^T$ 的 $softmax$ 相对于真实关系类型的标准交叉熵。
对于 few-shot 任务,我们使用查询语句与每个候选语句之间的关系表示之间的点积作为相似性得分。 在这种情况下,我们还对真实类别应用了相似评分的softmax的交叉熵损失。
对于所有变体,我们使用以下超参数集对 BERT 模型执行特定于任务的微调:
- Transformer 结构:24 layers,1024 hidden size,16 heades
- 权重初始化:BERT-Large
- Post Transformer Layer:线性激活的全连接层(KBP-37 and TACRED),或正则化层(SemEval 2010 and FewRel)
- 训练次数:1-10
- 学习率(监督):Adam 3e-5
- 批次大小(监督):64
- 学习率(few-shot):SGD 1e-4
- 批次大小(few-shot):256
表1显示了三个监督关系提取任务上的模型变体的结果,以及 few-shot关系提取任务的 5-way-1-shot 变体的结果。对于4个任务,模型使用 ENTUTY MARKERS 输入表示和 ENTITY START 输出表示取得最好效果。

从结果中可以看出在输入中添加位置信息对于模型学习有用的关系表示是非常重要的。与先前从位置嵌入中受益的工作不同,深层的 Transformer 受益于看到新的实体边界词块 $[E_{start}], E_{end}$(ENTITY MARKERS)。还值得注意的是,在所有四个任务上,最佳变体的性能均优于先前发布的模型。在本文的其余部分,我们将在进一步训练和评估模型时使用此框架。
4. Learning by Matching the Blanks
到目前为止,我们使用了人工标注数据去训练我们的关系句子编码器 $f_\theta$。受开放信息提取启发,直接从标记文本中获取关系的方法,我们现在介绍一种无需预定义本体或关系标签训练数据的新训练方法。相反,我们声明对于任何一对关系语句 $\mathbf{r}$ 和 $\mathbf{r}^\prime$,如果两个关系语句 $\mathbf{r}$ 和 $\mathbf{r}^\prime$ 表示语义上相似的关系,则内积 $f_\theta(\mathbf{r})>f_\theta(\mathbf{r}^\prime)$ 应该较高。并且,如果两个关系语句在语义上表达不同的关系,则该内积应较低。与远程监督中有关信息提取的相关工作不同,我们在训练时不使用关系标签。取而代之的是,我们观察到 Web 文本中存在高度冗余,并且任意一对实体之间的每个关系都可能被多次声明。随后,如果 $\mathbf{s}_1$ 和 $\mathbf{s}_1^\prime$ 指代相同的实体,并且 $\mathbf{s}_2$ 和 $\mathbf{s}_2^\prime$ 指代相同的实体,那么 $\mathbf{r}=(\mathbf{x}, \mathbf{s}_1, \mathbf{s}_2)$ 更可能和 $\mathbf{r}^\prime=(\mathbf{x}^\prime, \mathbf{s}_1^\prime, \mathbf{s}_2^\prime)$ 编码相同的语义信息。从观察开始,我们介绍了一种从实体链接文本中学习 $f_\theta$ 的新方法。我们通过匹配空白(MTB)来介绍这种学习方法。在第5节中,我们展示了MTB学习的关系表示形式,无需对关系提取进行任何进一步的调整就可以使用它们,甚至可以击败以前在人工标记数据上进行训练的模型。
4.1 学习设置
令 $\mathcal{E}$ 表示预定义的实体集合,并且 $\mathcal{D}=[(\mathbf{r}^0, e_1^0, e_2^0)\ldots(\mathbf{r}^N, e_1^N, e_2^N)]$ 是一个有被两个实体标注 $e_1^i, e_2^i\in\mathcal{E}$ 的关系句子的语料库。$\mathbf{r}^i=(\mathbf{x}^i, \mathbf{s}_1^i, \mathbf{s}_2^i)$,其中,$\mathbf{s}_1^i$ 和 $\mathbf{s}_2^i$ 界定 $\mathbf{x}^i$ 中的实体。通过将关系语句 $\mathbf{r}^i$ 分别与对应于跨度 $\mathbf{s}_1^i$ 和 $\mathbf{s}_2^i$ 的两个实体 $e_1^i$ 和 $e_2^i$ 配对来创建 $\mathcal{D}$ 中的每个项。
我们旨在学习一个关系语句编码器 $f_\theta$,我们可以用它来确定两个关系语句是否编码相同的关系。为了实现这个目标,我们定义了如下的二分类器为 $\mathbf{r}$ 和 $\mathbf{r}^\prime$ 编码相同关系 $(l=1)$ 或不编码 $(l=0)$ 的情况指定一个概率。
我们之后通过最小化下面的损失学习 $f_\theta$ 的参数
其中,$\delta_{e,e^\prime}$ 是 Kronecker 增量,如果 $e=e^\prime$,它取值为1,否则取值为0。
4.2 Introducing Blanks
读者可能注意到上述的损失可以通过用于创建 $\mathcal{D}$ 的实体链接系统将其最小化。并且,由于该链接系统没有任何关系的概念,因此假设 $f_\theta$ 将以某种方式神奇地构建有意义的关系表示形式是不合理的。为了避免简单地重新学习实体链接系统,我们引入了一个经过修改的语料库
其中,每个 $\tilde{\mathbf{r}}^i=(\tilde{\mathbf{x}}^i, \mathbf{s}_1^i, \mathbf{s}_2^i)$ 包含一个关系句,其中一个或两个实体可能已被特殊的 [BLANK] 符号代替。具体来说,$\tilde{\mathbf{x}}$ 包含 $\mathbf{s}_1$ 定义的跨度,其概率为 $\alpha$。否则,跨度已被单个 [BLANK] 符号代替。$\mathbf{s}_2$ 同样如此。$\tilde{\mathcal{D}}$ 中只有$\alpha^2$ 的概率,两个关系语句显式命名参与关系的两个实体。结果,最小化 $\mathcal{L}(\tilde{\mathcal{D}})$ 需要 $f_\theta$ 做更多的工作,而不是简单地标识 $\mathbf{r}$ 中的命名实体。我们假设在 $\tilde{\mathcal{D}}$ 上进行训练将导致 $f_\theta$ 编码两个可能消失的实体跨度之间的语义关系。
4.3 Matching the Blanks Training
为了使用 match the blanks 任务训练模型,我们构建了一个和 BERT 相似的训练设置,同时使用两个损失:MLM 损失和 MTB 损失。为了生成训练语料库,我们使用英语 Wikipedia 并从 HTML 中的段落块提取文本信息,忽略列表和表格。我们使用现成的实体链接系统来注释具有唯一知识库标识符的文本跨度。 跨度注释不仅包括专有名称,还包括其他指称实体,例如普通名词和代词。从带注释的语料库中,我们提取关系语句,其中每个语句在固定大小的 token 窗口中至少包含两个真实的实体。为了避免偏向流行实体的关系语句,我们通过随机采样一定数量的包含任何给定实体的关系语句来限制包含相同实体的关系语句的数量。
我们使用这些语句训练模型的参数来最小化损失函数 $\mathcal{L}(\tilde{\mathcal{D}})$。在实际中,不可能和每个关系句对进行比较,如上面的损失函数,所以我们使用噪声对比估计。在此估算中,我们考虑了包含同一实体的所有对关系语句的正对,因此损失函数中的第一项贡献不变,其中 $\delta_{e_1,e_1^\prime}\delta_{e_2,e_2^\prime}=1$。但是,近似值确实会改变第二项的贡献。我们不对所有不包含同一对实体的关系语句对进行求和,而是对一组负样本进行采样,这些负例要么从所有关系语句对的集合中统一随机抽样,要么从一组共享一个实体的关系句中抽样。我们包括第二组“硬”否定词,以说明以下事实:大多数随机采样的关系语句对极不可能在局部上具有远距离相关性,并且我们要确保训练过程能够看到引用相似的关系语句对,但关系不同。最后,如第3.2节所述,我们以 $\alpha=0.7$ 的概率用[BLANK] 符号替换提及的每个实体,以确保模型不会因评估任务中没有 [BLANK] 符号而感到困惑。总共,我们从英语维基百科中生成了6亿个关联声明对,大致分为50%的正例和50%的强烈的负例。
5. 试验评估
在本节中,我们通过匹配空白来评估训练的影响。我们从第3.3节中基于 BERT 的最佳模型开始,我们将其称为 $BERT_{EM}$,并将其与经过匹配空白任务训练的变量($BERT_{EM} + MTB$)进行比较。 我们通过将 Transformer 权重初始化为 $BERT_{LARGE}$ 的权重来训练 $BERT_{EM} + MTB$ 模型,并使用以下参数:
- 学习率: Adam 3e-5
- 批次大小:2048
- 训练步数:1百万
- 关系表示:ENTITY MARKER
我们使用 $BERT_{EM}$ 和 $BERT_{EM} + MTB$ 相同的针对特定任务的训练方法,报告了第3.1节中所有任务的结果。
5.1 Few-shot Relation Matching
首先,我们研究了 $BERT_{EM} + MTB$ 在没有任何特定于任务的训练数据的情况下解决 FewRel 任务的能力。由于 FewRel 是基于示例的方法,因此我们可以根据每个候选关系语句的表示形式与示例表示形式的内积对其进行排名。
图4显示,与任务无关的 $BERT_{EM}$ 和 $BERT_{EM} + MTB$ 模型甚至比以前发布的有关 FewRel 任务的最新技术要好,即使他们没有看到任何 FewRel 训练数据也是如此。对于 $BERT_{EM} + MTB$ 而言,在 5-way-1-shot 任务和 10-way-1-shot 任务中,Han 的监督方法所占的比例显着提高了8.8%。在这种不受监督的设置中,$BERT_{EM} + MTB$ 的性能也大大优于 $BERT_{EM}$,这是可以预期的,因为在 $BERT_{EM}$ 的训练过程中没有因关系而造成的损失。
为了调查监督对 $BERT_{EM}$ 和 $BERT_{EM} + MTB$ 的影响,我们引入了越来越多的 FewRel 培训数据。图4显示了性能的提高,因为我们要么增加每种关系类型的训练示例数量,要么增加训练数据中的关系类型数量。在获得所有培训数据的访问权限后,$BERT_{EM}$ 就会达到 $BERT_{EM} + MTB$ 的性能。但是,当我们在训练期间保留所有关系类型并更改每个示例的类型数量时,$BERT_{EM} + MTB$ 只需要6%的训练数据即可匹配在所有训练数据上训练的 $BERT_{EM}$ 模型的性能。 我们观察到,保持关系类型的多样性并减少每种类型的示例数量,是减少此任务注释工作的最有效方法。 图4中的结果表明,可以使用 $MTB$ 训练显着减少实施基于示例的关系提取系统的工作量。
最后,我们在表3中报告 $BERT_{EM} + MTB$ 在 FewRel 的所有受完全监督的任务上的性能。 我们看到它的性能优于 Han 等人报道的人类上限,它的表现明显好于 FewRel 排行榜上所有其他已发布或未发布的内容。
5.2 监督关系提取
表4包含根据监督关系提取数据调整的分类器结果。 、正如在3.2节中所确定的那样,我们基于 $BERT_{EM}$ 的分类器在这三个任务上的性能优于先前发布的结果。 额外的基于 $MTB$ 的培训进一步提高了所有任务的 F1 分数。
我们还分析了两个模型的性能,同时减少了受监督的任务特定调整数据的数量。表5中显示的结果显示了在调整任务特定训练数据的随机子集时的开发集性能。对于所有任务,我们看到基于MTB的培训对于资源匮乏的案例甚至更为有效,因为在这些案例中,我们的 $BERT_{EM}$ 和基于 $BERT_{EM} + MTB$ 的分类器之间的性能差距更大。这进一步支持了我们的论点,即通过匹配空格进行培训可以显着减少创建关系提取器并填充知识库所需的人工输入量。
在本文中,我们研究直接从文本产生有用的关系表示的问题。我们描述了一种新颖的训练设置,我们称之为匹配空白,它完全依赖于实体分辨率注释。结合用于微调 BERT 中关系表示的新体系结构,我们的模型可在三个关系提取任务上实现最新的结果,并且在几次匹配关系匹配方面的表现均优于人工精度。此外,我们展示了新模型在资源短缺的情况下如何特别有效,并且我们认为它可以大大减少创建关系提取器所需的人力。
在将来的工作中,我们计划根据 $BERT_{EM} + MTB$ 对具有相似表示形式的关系语句进行聚类,以进行关系发现。这将使我们朝着实现真正通用关系识别和提取目标的方向走一些路。我们还将研究可用于在分布式知识库中存储关系三元组的关系和实体的表示形式。这是受到知识库嵌入方面最新工作的启。
- 本文作者: 程序猪-渔枫
- 本文链接: https://over-shine.github.io/2020/11/02/Matching-the-Blanks-Distributional-Similarity-for-Relation-Learning/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!