0. 前言
关系抽取是信息抽取领域的重要分支,是构建知识图谱的重要技术环节。本文介绍了关系抽取领域的三个主流研究方向:有监督学习、少样本学习和远程监督学习。
关系抽取(Relation extraction,RE)就是从非结构化文本中提取实体之间的关系。依据实体是否在文本中被标记,关系抽取方法可分为联合抽取和流水线式抽取。联合抽取是指从文本中完成实体识别和关系分类任务,流水线式抽取是指先使用实体识别模型识别文本中的实体对,然后判断实体对的关系。一个完整的流水线式关系抽取系统包括命名实体识别、实体链接和关系分类,本次调研限定关系分类方法。为了简述方便,下文中仍使用关系抽取表述指代关系分类。关系抽取模型大致可分为三类[1]
:基于pattern的方法[2,3]
、统计机器学习[4]
和神经网络。其中神经网络方法效果更好,本文介绍的关系抽取方法以神经网络为主。依据抽取语料形式,关系抽取模型又可分为句子级关系抽取和段落级关系抽取。句子级关系抽取指两个实体在一个句子中,段落级关系抽取指两个实体不在同一个句子中。句子级关系抽取在实际业务中更常见,本次调研仅限于句子级关系抽取。按照关系类型是否预定义,关系抽取模型又可分为基于schema的关系抽取和开放关系抽取。前者是指实体对的关系只能从预先定义好的类别中选取,后者是指实体对关系没有限定。在构建领域知识图谱中,schema是固定的,因此实体对的关系类型是预定义的,本次调研针对基于schema的关系抽取。
神经网络可以从大规模数据中自动学习特征,此类方法的研究多集中在设计模型结构捕获文本语义。当前最好的关系抽取模型都是有监督模型,需要大量标注数据并且只能抽取预定义的关系。这种方法不能面对复杂的现实场景,例如少样本。目前已有不少工作探索在现实场景下的关系抽取任务,本文介绍三个研究方向:有监督神经网络方法、远程监督和少样本学习。
1.有监督神经网络方法
有监督神经网络方法是指采用深度学习方法在大规模有监督数据集上训练模型,此类方法是目前效果最好且研究最深入的。本文归纳总结了部分有代表性的模型结构,如图1所示,模型通常由输入层、编码层、注意力层和分类层组成。
输入层将输入字符转化为向量。输入句子包含两个标记的实体,除去实体外的字符称为上下文。Peng Hao[5]
分析了实体信息和上下文信息对关系抽取模型的重要度。实体信息包括实体类型、实体属性信息等,上下文信息是指上下文字符。作者通过实验发现,上下文信息和实体信息对关系抽取任务都提供了重要信息,只选用其中一种信息会导致模型性能下降严重,作者还观察到实体信息中最重要的是实体类型信息。实体位置信息对关系抽取任务同样很重要,在CNN模型中通常使用相对位置向量[6]
,在RNN模型中通常使用实体标记表示实体位置[7]
。除了实体信息、上下文信息、实体位置信息外,其他比较重要的特征还有句子最短依赖树[8]
,依存句法特征[9]
。编码层从输入向量中提取特征。早期使用CNN、RNN模型,Peng Hao[5]
的对比结果表明这些模型的编码能力不足,目前主流使用BERT等预训练模型作为编码器。Wu[10]
使用BERT+MLP结构取得了当时最好结果。句子中不同位置的字符对实体对关系分类的重要度不同,使用注意力方法对不同字符赋予不同权重。Zhang Yuhao[11]
在注意力计算中加入位置信息,Wang Linlin[12]
使用CNN模型抽取句子特征,并在此基础上增加了实体注意力和关系类别注意力。注意力层可有可无,在以CNN、RNN为编码器的模型中使用居多。分类层对编码层/注意力层输出的特征向量分类,主流使用MLP结构分类。损失函数一般有两种,交叉熵损失和排序损失。交叉熵损失计算过程简单,排序损失需要采样负样本,Santos[13]
使用排序损失取得了比交叉熵损失很好的结果。有监督神经网络方法在大规模语料下取得了很好的效果,本文选取Wu[10]
作为此类方法的baseline方法。Wu[10]
使用位置标记表示实体位置,使用BERT作为编码器,按照分段池化的思想,根据实体位置将BERT输出分为三部分,然后池化拼接,使用MLP+softmax分类,取得了当时最好结果。
2.少样本学习
少样本是实际业务中经常遇到的问题,少样本是指只有很少的标注数据提供给模型训练。神经网络方法在大量高质量标注数据上具有很好的效果,但在少样本场景下效果很差。少样本学习是专门针对少样本场景提出的方法,少样本关系抽取有很多解决方案,例如meta learning[14,15]