随着互联网的出现,每天都会以新闻文章,研究出版物,博客,问答论坛和社交媒体的形式生成大量的数字文本。重要的是开发从这些文档中自动提取信息的技术,因为许多重要信息都隐藏在其中。该提取的信息可用于改进对大文本语料库中隐藏的知识的访问和管理。诸如问答,信息检索等几个应用程序将受益于此信息。人们注意的信息主要有三类:命名实体、实体关系、事件。对应这三个需求,就诞生了对应的任务,分别是命名实体识别、关系抽取、事件抽取(子任务有事件监测、事件分类)。
在这篇文章中,主要介绍几种重要的监督,半监督和无监督的RE技术。
relation 是两个或更多个实体间的well-defined关系,关系有特别的意义。比如:PERSON、ORG的MEMBER-AFFILIATION relation,PRODUCT、 FEATURE的HAS relation,PERSON、 BOOK-TITLE的AUTHOR-OF relation等等。
针对二元关系,假说一个关系的NE mentions都在同一个句子里(不一定,可能垮句子)。同时一个句子里并非任意一对NE mentions都存在关系。
[John Smith]PERSON had visited [Bank of America]ORG in August 2003.
[Bill Gates]PERSON announced that [John Smith]PERSON will be [the chief scientist]P ERSON of [Microsoft Corporation]ORG.
关系抽取是信息抽取的一个重要的子任务,使用远程监督可以获得大量的数据集,从而可以使用远程监督进行深度学习。
无结构的信息可以用过机器或者程序进行表示,从其中抽取有用的结构信息即信息抽取。抽取到的信息可以应用到检索、QA。
来源:基于知识库,eg Freebase、DBpedia,它们包含了大量有用信息,但不完整,可以使用信息抽取进行扩展。
子任务:NER、RE、EE等
Global level Vs Mention level
global level:给某种语义关系生成一系列的实体对。通常输入是大量文本语料,输出是一系列的实体对。
Mention level:输入是一对实体对、以及包含这对实体对的句子,输出是这对实体对是否包含某种关系。
ACE 2005 dataset :(Automatic Content Extraction) 有关新闻、邮件;7大类,599篇文档。其中6类有足够实例(平均每类有700个实例)。包括实体检测和关系检测两个任务。
局部整体关系(PART-WHOLE),地理位置关系(PHYS),类属关系(GEN-AFF),转喻关系(METONYMY),制造使用关系(ART),组织结构从属关系(ORG-AFF),人物关系(PER-SOC)
SemEval-2010 Task 8 dataset: 10,717 samples (8,000 for training, 2,717 for testing)。9类关系且有向,则一共有19类(2 × 9 + 1 for Other class)。
NYT:训练语料包括从1987至2007年间纽约时报(New York Times)大概294k篇新闻中抽取的1.18M个句子。此外有395个句子由人工标注用作测试数据。通过 Stanford NER 工具并结合 Freebase知识库进行标注的。53类关系(包括NA),训练集:522,611句子、281,270 entity pairs、18,252 relational facts. 测试集: 172,448 sentences、 96,678 entity pairs 、1,950 relational facts.
TACRED
The Few-Shot Relation Classification Dataset (FewRel):
特征分类:Word based features、Base phrase chunking based features、Features based on semantic resources
Zhou et al. 特征+SVM,发现依存树、parse tree的作用较小;phrase based chunking features作用显著,原因主要是ACE的数据大多是短距离关系、特征也较为简单,多为word,所以chunking特征就足以了。
Jiang 、 Zhai 对RE的特征空间进行了系统研究,并评估了不同特征子空间的有效性。他们定义了特征空间的unified graphic representation unified graphic representation ,并使用3个特征子空间进行了实验,这些子空间对应于序列,句法分析树(syntactic parse trees)和依赖解析树 (dependency parse trees)。实验结果表明,每个子空间本身都是有效的,句法分析树子空间是最有效的。此外,组合三个子空间并没有产生太大的改进。他们观察到,在每个特征子空间内,仅使用基本单元特征已经可以提供相当好的性能,并且添加更复杂的特征可能不会大大提高性能。
Nguyen et al. 引入了一些新的特征,用SVM进行关系分类。为每个关系类型半自动的得出一些关键词。引入了core tree表示relation instance,它包括两个实体间的最短依赖路径,还将最短路径上的节点与关键词进行关联,这颗子树就阔以用来挖掘特征。
Chan 、 Roth 观察ACE数据集,根据数据集的特征进行一些规则和模式匹配。
在监督方法中,数据集存在class imbalance的问题,负样本(no relation)的数量远多于正样本(含有某种预定义中的关系),这就导致分类器倾向于分类为None,则容易出现高Precision低Recall。Kambhatla 提出了based on voting among a committee of classifiers,提高了Recall。
基于特征的方法,只要特征设计好了,分类器就能使用任何一种ML的方法。前提则是特征设计恰当,这需要对各个特征的贡献、潜在语言知识进行仔细分析。
核方法避免了显示的自行设计特征,使用核函数来计算两个relation instances的相似性,用SVM进行分类。表示relation instances的方法有sequences、syntactic parse trees等。大多数技术通过关系实例共有的sub-representions进行相似度计算。
Sequence Kernel
关系实例表示为序列,kernel计算共有子序列的相似度。Bunescu and Mooney 提出序列核。构建序列的最简单方式:将句子中从第一个mention到第二个mention之间的词序列 表示为一个实体序列。作者提出将每个词泛化为一个特征向量。每一个关系实例表示为一个特征向量的序列,每一个词用一个特征向量表示。特征有:所有词、POS tags、generalized POS tags、entity types。
Top leaders of Italy’s left-wing government were in Venice.
Syntactic Tree Kernel
将句子的结构属性编码为constituent parse tree,描述了句子成分的句法,比如noun phrases (NP), verb phrases (VP), prepositional phrases (PP), POS tags
(NN, VB, IN, etc.) as non-terminals and actual words 。句法通常根据Context Free Grammar (CFG)描述。
Collins et al. 、 Miller et al. :提出用统计parsing模型从文本中抽取关系。
Collins、 Duffy :提出 Convolution Parse Tree Kernel (KT ) 计算两个句法树的相似性。计算公共子树(子树要多于一个节点,productions要包含每一个亟待呢)的数目。kernel嫁给你每一个可能的子树映射为一个维度。
Dependency Tree Kernel
依赖树可以表示句子中单词间的关系,单词表示为树的节点,单词间的依赖关系表示为树的边。除了root之外,每个节点都只有一个父节点。边的方向表示单词间的从属性。如下图是一颗依赖树:
Culotta and Sorensen 提出用kernel计算两颗依赖树的相似性。
Relation Instance Representation:考虑包含两个实体对的句子的最小子树。每一个节点包含多种特征,比如POS tag、generalized POS tag,chunk tag等。如下图:
Dependency Graph Path Kernel
Bunescu and Mooney 提出dependency path based kernel。两个实体间的关系,能由其依赖树图的之间的最短路径进行捕捉。kernel用来捕捉最短以来路径的相似度。
For the relation instance , the shortest path is :
leaders→were←in←Venice.
完全词汇化的路径会导致数据稀疏,所以词就用词的类进行表示 with varying degrees of generality。用词的POS、generalized POS、实体类型进行表示。
Roth and Yih [28]:Integer Linear Programming based Approach
独立学习两个实体识别、关系抽取的局部分类器。During inference, given a sentence, a global decision is produced such that the domain-specific or task-specific constraints are satisfied.实验结果显示,提高了实体分类的质量。
Roth and Yih探索了其他全局推理技术
Chan and Roth 纳入背景知识,例如关系类型的层次结构,共同参考信息等
Roth and Yih:graphical models approach for jointly identifying entities and relations。先独立学习两个局部分类器,实体和关系之间的依赖通过bayesian belief network实现。效果优于独立关系分类器。
Li and Ji 提出了增量联合框架,早期的方法建立了独立的局部分类器,用于识别实体和关系。即使稍后采取了最佳的全局决策,在训练期间也禁止实体提取和RE模块之间的交互。因此,作者提出将此问题重新表述为结构化预测问题。
联合提取实体和关系的大多数方法报告了对pipeline方法的重大改进。 联合提取不仅提高了关系提取的性能,而且证明对实体提取有效。 因为,与pipeline方法不同,联合模型便于使用关系信息进行实体提取。 很难比较联合建模的各种方法,因为没有单一的标准数据集。 其中一些方法(如[107,28,59])仅通过联合推理实现联合建模,因为实体和关系的局部分类器是独立训练的。 最近的一些方法(如[68,112])执行实际的联合学习,其中学习单个模型来提取实体和关系。 随着时间的推移,对这一系列研究有一些但始终如一的贡献,并且未来仍有更复杂的联合模型的范围。
Brin:DIPRE算法:先给定一些已知关系类型的实体对(seed instances),在web中找到出现了这些实体对的occurrences,再学习occurrences的pattern,根据学到的pattern在web中找更多的符合pattern的数据,并加入到seed中,迭代这个过程。
Agichtein and Gravano :SnowBall系统:在pattern匹配步骤,加入了命名实体标签,有利于提高匹配性能。同时丢弃不够精确的pattern(因为很可能是误报)
Vyas et al. and Kozareva and Hovy [65]提供了在自举算法中选择的种子质量的分析
允许学习算法询问某些选定的未标记实例的真实标签。已经提出了各种标准来选择这些实例,其共同目标是在极少数情况下快速学习基础假设。优势在于,通过极少数标记实例可以实现与监督方法相当的性能。
基于图的半监督方法,每一个instance用一个节点表示,边表示节点的相似度。任何节点的标签信息通过加权边缘迭代地传播到附近节点,最后在传播过程收敛时推断出未示例的标签。Chen et al. [20]将数据集中的每个实体对表示为图中的节点,并且还将特征向量与其相关联。 特征向量包含表征关系实例的各种特征。这种方法效果比SVM、boosting效果还好。
半监督方法大多也是聚焦mention-level,也可以像监督方法一样,评估计算precision,recall。对于bootstrapping方法,是给某一个关系产生一系列的实体对,可以计算precision,但不好计算recall。只有测试集很小的时候,可以手动标注,从而可以计算recall。
最早的聚类方法:Hasegawa et al.:NER; 找到一起出现(如果两个词之间最多之隔N intermediate words)的实体对(考虑顺序)、记录其上下文(实体对和N intermediate words,出现在第一个实体左边,和第二个右侧的都不考虑在上下文中,这是个limitation);这其中上下文相似的参与计算;计算他们的相似度(词向量、TF-IDF),然后聚类;每一个类就代表一个关系,自动分类一个标签(用高频词)。
Chen et al. :对上一篇进行改进,用特征选择方法去除无信息的噪音词。
Yan et al.:不是将实体对作为一个单位,而是考虑wikipedia结构的concept pair(文章title,链接其他文章的词)。步骤:用 deep linguistic patterns(依赖树) 形成concept pair,再用相似度聚类。文章质量高,找到的pattern就比Hasegawa et al. [48]使用的表面的词的准确度要高,第二步就聚焦于剩余的没聚类的concept pair。
Lin and Pantel : DIRT (Discovery of Inference Rules) algorithm :用分布相似假说寻找相似依赖路径,能倾向于找到same set of words.
Poon and Domingos:迭代聚类依存树片段,将表示一样信息的但语法表示不一样的进行聚类。USP (Unsupervised Semantic Parsing)
Yao et al. :使用生成概率模型,类似于LDA这样的主题模型。实体示例包括entity mention types和基于依赖路径的不同特征。同时加入了关系类型约束、domain knowledge。
Rosenfeld and Feldman:URES (Unsupervised RE System),一种非聚类的无监督方法。输入:定义关系类型的interest(关系关键词、论元的实体类型)。(比如关系Acquisition,关键词可能有 acquired, acquisition)。
Romano et al.:unsupervised paraphrase acquisition。通过一个text expression表示target relation,找到paraphrases。
initial expression X interact with Y, paraphrase acquisition algorithm would produce new expressions - X bind to Y, X activate Y,X stimulate Y, interaction between X and Y, etc.
传统的RE聚焦于准确的,预先特定的关系集。还需要人工设计抽取规则,或者人工打标签。因此,要迁移到不同的domain就很麻烦。Open IE从语料中自动发现可能的relations of interest 。迁移就不需要额外的efforts。
Banko et al.:最早的OpenIE系统 TextRunner system,使用CRF、自监督序列分类器。
Fader et al. :提出ReVerb,是上一个的提升。包含语法、词法约束。
2009-ACL-AFNLP–Distant supervision for relation extraction without labeled data (Mintz et al.)
Motivation:关系抽取任务大多是监督学习(比如ACE数据集,1000个文档,5-7个大类,23-24个子类,总共16771个关系实例),但是很多有label的数据很少。知识库中有很多无label的语料。
远程监督
if a relation exists between an entity pair in the KB, then every document containing the mention of the entity pair would express that relation.
说法1:假设出现在知识库中句子的每一对实体对,这个句子就包含了这对实体对的关系,就用包含这些实体对的句子的特征训练一个关系分类器(比如逻辑回归)。
说法2:两个实体间有关系,任何包含了这两个实体的句子都可能包含这种关系。
优点:由知识库监督,不容易过拟合,也不存在domain-dependence
对于一对实体,可能有很多个句子包含它们,该论文将多个包含着对实体的不同的句子进行特征的aggregate,在这些句子中,这对实体都是用同一个特征向量,以此训练分类器。如果一个句子出现了两个实体,这两个实体是freebase关系中的实例,则从这句话抽取特征,作为这个关系的特征向量。
特征:词法特征、句法特征、命名实体标签
evaluation:10000个实例,102中关系,P 67.6%
使用freebase(有116million实例,包含7300个关系,9million 实体)
可能存在的问题:任何一个句子也可能给出错误的线索(比如?),所以训练了一个multiclass的逻辑回归分类器,为每一个噪音特征学习权重。
缺点:这个假说过于绝对,即使出现了同一个实体对,但在不同的句子中,两个实体的关系也可能会不一样。
(Bill Gates, Founder of, Microsoft)
Bill Gates turn to philanthropy was linked to the antitrust problems Microsoft had in the U.S. and the European union.
改进:Riedel et al. (2010) ,
Simple CNN model (Liu et al., 2013)
最早的使用CNN自动学习特征进行端到端的编码、学习。
输入:词向量、词法特征、POS、实体类型
结构:特征输入 --> 一层CNN --> 一层NN --> softmax–>关系类别的概率分布
对同义词使用同一个向量,所以不是一个词一个 vector,randomly assigned to each synonym class
ACE 2005 dataset 比当时的state of the art提升了9点(F1)
CNN model with max-pooling (Zeng et al., 2014)
输入:(无标签的大语料)预训练的词向量、POS、词法特征、名词的wordNet上义词
结构:特征输入 --> 一层CNN --> max pooling --> softmax–>关系类别的概率分布
优点:CNN的特征映射的大小与输入句子的长度独立、能捕捉句子中最有用的一些特征。
结果:比使用了词法特征的基于SVM、MaxEnt的模型效果更好。Ablation study显示POS最多能提升F值 9点。
CNN with multi-sized window kernels(Nguyen and Grishman, 2015)
输入:词向量(初始为预训练的词嵌入,word2vec)、POS
结构:特征输入 --> 一层CNN --> max pooling --> softmax–>关系类别的概率分布
不同点:探索了filter的大小
相关论文:Relation Extraction:Perspective from Convolutional Neural Networks
输入:[词嵌入,当前词和第一个实体头的距离,当前词和第二个实体头的距离] x 每句的词数x 句子数
实验:
Multi-instance learning models with distant supervision (Riedel et al. ,2010)
模型:MIMIL
假说:if a relation exists between an entity pair, then at least one document in the bag for the entity pair must reflect that relation.
a label is given to a bag of instances, rather than a single instance.
每一个实体对,定义一个bag,每个bag包括所有包含这个实体对的句子。给这个bag打label。
Piecewise Convolutional Neural Networks (Zeng et al., 2015)
Multi-instance learning
模型:PCNN
motivation:在Max-pooling阶段,隐藏层的大小被大幅度的减小,这不利于捕捉句子中实体间的关系,因此提出了分段pooling的方法。每个句子,根据实体对的位置,分成三段,分别对这三段进行pooling。
缺点:Loss,在训练和预测时只考虑了每一个bag中能让label概率分布最大的那个句子,即bag中其他大量有用的句子都被忽略了。尽管不是所有的句子都能表示正确的关系,但是只使用一个句子是一个很大限制。
结果:PCNNs+MIL > PCNNs > CNNs+MIL >CNNs
Selective Attention over Instances (Lin et al., 2016)
针对PCNN的问题,使用attention机制,给每个bag里的每个句子计算一个权重,每个bag的特征向量由所有可能的关系的加权求和表示,能自己找到哪个句子对分类最重要。
Multi-instance Multi-label CNNs (Jiang et al., 2016)
模型:MIMLCNN
针对PCNN的问题,using a cross-document max-pooling layer。
给bag里的每个句子进行一个向量表示,最后bag的特征表示由这些句子max pooling得到。
最终,每一个特征由最具代表性的文档表示,而非总的特征全部由所有文档中最有代表性的文档表示。
针对RE的overlapping relations问题,改用sigmoid激活函数,不用softmax,这样就独立的给每一个关系计算预测出一个概率,而不是在所有的关系上计算一个概率分布。
模型对比
Non DL models:Mintz (Mintz et al., 2009), MultiR (Hoffmann et al., 2011), MIML (Surdeanu et al., 2012).
可以看出attention机制更robust,也能更有效的挖掘句子间的信息,比MIMLCNN中的cross-document max mechanism效果更好。
Universal Schemas:Riedel et al.提出了一种通用架构,是已知结构的数据库的关系类型的集合,以及用于Open IE的surface form的所有关系类型。在通用关系类型中学习asymmetric implicature。给定结构数据库中的已知的关系类型,通过asymmetric implicature推导出新的关系类型。比如:CapitalOf推导LocatedIn,但反之不能。类似的还有Chang et al. , Fan et al. 。
n-ary Relation Extraction:一个关系中实体多于两个实体的称为 Complex \Higher Order \ n-ary relations,比如EMP-ORG-DES,表示 relation between a person, the organization where he/she is employed and his/her designation.(John Smith is the CEO of ABC Corp.)
McDonald et al. :先解决2元关系,输入表示为图的2元关系(节点是实体,边代表关系),找到图的最大团,最大团中的实体代表某种n-ary关系。
Gildea and Jurafsky :看作是Semantic Roles Labelling (SRL),给定句子预测predicate and its arguments。
Cross-sentence Relation Extraction: 前面讨论的都是intra-sentential RE,一个关系的实体都在同一个句子中。
Cross-lingual Annotation Projection:有标注的语料很少,只有像英语、中文等资源丰富的语言才有。Kim et al.提出了使用平行语料,映射从资源丰富的语言到资源poor的语言的relation annotations。
Domain Adaptation: 现有的监督方法都是基于训练集、测试集是同样的分布。但如果有一个misbatch,那RE 性能就会下降,实际应用表现为,一个监督系统要对一个out-of-domain的数据进行RE。这就需要domain adaptation技术。
随着DL的流行,RE领域也开始使用有监督的DL方法,但是该领域存在语料过少的问题,针对这个问题Mintz et al.(2009)提出了远程监督的思想,想利用现有的包含大量实体对和关系信息的知识库,自动生成语料,从而解决语料不足的问题。紧接着,针对远程监督中的强假说造成的语料噪音,后续又有一系列的工作对其进行改进,比如放宽假说范围、使用selective attention机制、cross-document max pooling等方式都提升了性能。
还有的一些工作,通过探索relation path(Zeng et al., 2016) 、relation class ties(Ye et al., 2016) 从而探索关系间的交互。比如 可以通过Father_of、Mother_of 可以挖掘出Spouse_of。
上文涉及了“关系提取”的定义、用法、任务描述,包括globe level、mention level的区别。
该任务的相关技术有监督(基于特征、基于内核等),该类方法的演变过程、评估方法。同时,可以发现在所有有监督方法中,基于句法树的内核技术是最有效的。当与其他内核组合成复合内核,或者使用dynamically determined tree span的效果最好。
同时抽取entity mention和关系的联合建模技术,很有意义。好的实体抽取有利于RE获得好的性能。联合建模能让这两个任务间的信息双向流动,性能上会比单独的建模更好。
然后介绍了半监督、无监督方法,减少了对有标签数据的依赖。在依次介绍了Open IE、远程监督。
几个有潜力的方向: