远监督关系抽取去噪研究综述

2020-11-26 05:02李艳斌
现代计算机 2020年7期
关键词:三元组实例乔布斯

李艳斌

(四川大学计算机学院,成都 610065)

0 引言

关系抽取指的是给定一个句子,包含实体头词(用h表示)和实体尾词(用t表示),预测h和t之间的关系(用 r表示),通常表示为(h,r,t)这样的实体关系三元组。例如:在句子“华盛顿是美国的首都”中,已知包含实体词“华盛顿”和“美国”,关系抽取要做的是预测这两个实体词之间的关系,这里的关系为“首都”关系。关系抽取具有非常重要的研究价值,可用于自动问答、知识图谱的自动构建以及信息检索等自然语言处理任务。

尽管现有的数量大质量高的知识库如WIKIdata、Freebase、DBpedia等,已经包含了大量的实体关系三元组,但是距离现实世界中三元组数量仍然相差甚远,因此仍然需要对知识库进行不断的补充。目前关系抽取的方法主要分为有监督学习方法和无监督学习方法。无监督学习方法通常使用人工定义的一些规则,然后将规则与自由文本进行对齐的方法进行抽取,但是这种方法比较依赖人工规则,而且准确率较低;有监督学习方法通过训练传统机器学习模型或者神经网络模型然后进行关系抽取,近几年来取得了很好的发展。但有监督学习需要大量的标注数据,而人工标注数据将耗费大量的人力物力。为了解决该问题,Mintz[1]等人提出使用远距离监督方法对自由文本进行标注,高效地产生大量有标注数据。远距离监督方法假设:知识库中存在某个实体关系三元组(h,r,t),在自由文本中包含该实体对(h,t)的所有句子,都表示t这种关系。例如:知识库中包含(乔布斯,创始人,苹果)这样的三元组,那么在“乔布斯出生于美国,发明家、企业家、美国苹果公司的联合创始人”这句话中,“乔布斯”和“苹果”就被打上“创始人”标签。虽然远距离监督能够高效获得大量标注数据,但由于该假设过于强烈,也会引入了大量的噪声数据,例如,在“乔布斯在家里吃着苹果”这句话中,“乔布斯”和“苹果”就不是表达创始人关系,但是还是会被标注为“创始人”。

为了解决远监督数据集中的错误标签的问题,早期Hoffmann[2]、Surdeanu[3]等人使用多实例方法进行关系抽取,多实例方法通过使用取平均或者取最大可以有效缓解错误标签带来的一些问题,但是这些方法比较依赖人工构造特征,这些特征来自于一些特征工具,难免会存在一些问题,对后面的模型效果带来影响。随着神经网络在各个领域取得了显著的成效,研究学者将神经网络应用于关系抽取中。Socher[4]提出使用循环神经网络(RNN)用于关系抽取,Zeng[5]和dos Santos[6]采用卷积神经网络(CNN)用于关系抽取。但是以上方法都没有考虑远监督数据集中的噪声影响。针对该问题,Zeng[7]等人提出分段卷积(PCNNs)的多实例方法来缓解错误标签带来的影响。Zeng等人假设一个bag(bag表示包含同样一个实体对的所有句子)中至少有一个句子表达特定的关系。因此,他们的模型仅仅利用bag中最可能的句子来进行关系预测,但是这种方法会丢弃bag中其他句子,而其他句子可能对关系预测有一定的作用。为了解决该问题,Lin[8]等人提出实例注意力方法进行关系抽取。该方法为bag中每个句子学习一定的注意力,然后加权求和后得到bag的表达,再进行关系预测。这种方法既可以使得错误标签的句子的注意力尽可能小从而降低错误标签带来的影响,又可以利用bag中所有的句子,不会造成有价值的句子被丢弃。但是这种方法存在的问题是无法解决整个bag都是噪声的问题。为了解决这个问题,Feng[9]提出使用强化学习的方法来进行关系抽取,取得了目前最先进的效果。

1 相关算法

远监督关系抽取解决噪声问题的相关工作中,最具代表性的工作主要有两个:一是分段卷积(PCNNs),二是:实例注意力。下面对这两种种方法进行详细介绍。

1.1 分段卷积

分段卷积的提出主要是考虑到实体对在句子中的存在一定的结构特征,即两个实体通常可以把句子分成三段,这种结构信息对于预测两个实体之间的关系会起到一定的促进作用。下面我们将对PCNNs每个模块进行详细介绍。

(1)嵌入层

模型的输入为词序列,该词序列中的每个词都是用词典序表示。首先使用词嵌入层,通过查表的方法将句子中的所有词映射为k维的实值向量,使用的是Skip-gram[10]模型预训练的词向量。使用预训练的词向量已经成为一种常见的方法,预训练词向量可以捕捉单词的语法和语义信息,能够提升模型效果。除了使用词嵌入外,PCNN还使用了位置信息引入实体在句子中的位置。具体的做法为首先计算句子中的每个词分别距离两个实体的相对距离,例如:句子“乔布斯是苹果的联合创始人。”对于单词“是”,相对与“乔布斯”的位置为1,相对与“苹果”的位置为-1。然后使用位置嵌入层将每个词相对于两个实体的位置映射为位置向量,位置嵌入层使用随机初始化的矩阵。

这样每个词就有三个向量,分别为本身的词向量、相对于第一个实体的位置向量以及相对于第二个实体的位置向量,然后将这三个向量进行拼接得到包含位置信息的词向量。

(2)卷积层和分段最大池化

经过嵌入层得到的词向量没有上下文信息,因此,PCNNs首先使用CNN对词向量进行编码,使得编码后的词向量能够包含一定的上下文信息。CNN通过卷积核在句子序列上进行滑动计算来得到单词与前后文的关系,一个卷积核只能得到一个特征向量,要想得到不同特征向量则需要多个不同的卷积核。经过多个卷积核编码后,传统的做法是直接对这多个特征向量进行降维以进行下一步的计算,如最大池化,但是简单的进行最大池化并不能很好的捕捉实体词在句子中的结构信息,而该结构信息对于关系的预测有一定的作用。因此PCNNs使用分段最大池化来捕捉这种关系。经过不同卷积核得到多个向量,每个向量都被两个实体词分为三个部分,分段最大池化就是在每一部分取最大值,然后将得到的最大值拼接成一个向量表达。

(3)输出

经过分段最大池化得到的向量表达,首先要经过一层全连接将维度进行转变,转变为与关系个数相同的维度,然后再经过Softmax后就可以得到每种关系的概率分布,选出概率最大的关系即可。

(4)多实例学习

多实例模型中,输入为一个bag,bag中的句子都包含相同的实体对,目标就是预测bag中实体对的类别。但是训练时,并没有用到bag中的所有句子,而是通过计算,只使用bag中标签概率最大的句子来进行训练,这样也就避免了其他噪声句子对预测带来的影响。

1.2 实例注意力

实例注意力主要解决的问题是PCNNs多实例学习在训练中只是利用bag中最可信的句子来训练,丢失bag中其他有价值的句子。实例注意力的做法为:同样使用PCNNs对bag中的每个句子进行编码,但是每种关系都其对应的关系向量,将当前bag的关系向量与bag中的所有句子向量计算注意力,这样bag中所有句子会得到相对于当前关系的注意力权重,然后将句子表达与得到的权重进行相乘并求和得到bag表达。通过这种计算方法,噪声数据的权重会比较低,达到降低噪声数据对于预测的影响,正例数据权重都会比较高,就可以充分利用所有的正例数据,使得预测更加准确。

2 数据集

远监督关系抽取主要使用的数据集为NYT数据集,该数据集由Riedel[11]首次提出,是由Freebase的实体对在New York Times上对齐产生,通过斯坦福命名实体识别工具标注句子中的实体词。来自2005-2006年的句子被作为训练集,共有522611个句子,281270个实体对和18252个三元组。来自2007年的句子被作为测试集,共有172448个句子,96678个实体对和1950个关系三元组。共有52种关系和一种表示实体间没有关系的NA关系。

3 结语

在关系抽取任务中,远距离监督可以高效的标注大量的数据,但是同样也引入了大量的噪声,为了解决数据集中的噪声问题,早期的研究使用人工构造特征的传统机器学习方法进行解决,取得了一定的效果。随着神经网络在各个领域的发展,关系抽取也开始使用神经网络方法。现有的大多数方法都是使用神经网络模型,取得了非常好的效果。近期强化学习方法在关系抽取中的应用,使得关系抽取得到了进一步的发展。相信随着技术的发展,今后一定会有更成熟更完善的方法提高去噪效果,使得关系抽取更加准确。

猜你喜欢
三元组实例乔布斯
TransP:一种基于WordNet中PartOf关系的知识图谱嵌入方法
基于卷积神经网络的知识图谱补全方法研究
K-VQA:一种知识图谱辅助下的视觉问答方法
乔布斯的追问
没有他就没有乔布斯的苹果美学
不一样的乔布斯
完形填空Ⅱ
完形填空Ⅰ