关系定义为两个或多个实体之间的某种联系,关系抽取就是自动识别实体之间具有的某种语义关系。根据参与实体的多少可以分为二元关系抽取和多无关系抽取,其中二元关系指两个实体间的关系,多元关系指三个及以上实体间的关系。二元关系抽取是其他关系推取研究的基础,因此本章主要介绍二元关系抽取,关注两个实体间的语义关系,得到 ( a r g 1 , r e l a t i o n , a r g 2 ) (arg_1,relation,arg_2) (arg1,relation,arg2)三元组,其中 a r g 1 arg_1 arg1和 a r g 2 arg_2 arg2表示两个实体, r e l a t i o n relation relation表示实体间的语义关系。给定两个实体中国和北京,通过二元关系抽取得到它们之间的语义关系是首都,就能抽取出三元组(中国,首都,北京)。
根据处理数据源的不同,关系抽取可以分为以下三种:
同时,根据抽取文本的范围不园,关系抽取可以分为句子级关系抽取和语料(篇章)级关系抽取。
另外,根据所抽取领域的划分,关系抽取又可以分为限定域关系抽取和开放域关系抽取:
关系抽取是信息抽取中的一个关键环节和难点问题,相比较于实体识别和实体消歧任务而言,关系抽取任务更加复杂,其难点主要表现在下面几个方面:
针对这一任务,学术界组织了许多公开的技术评测,极大地推动了该领域的相关研究。
除了消息理解会议(Message Under-standing Conference,MUC)、自动内容抽取(Automatic Content Extraction Evaluation,ACE)和文本分析会议(Text Analysis Conference,TAC)三大国际评测会议外,另一个比较有影响力的国际评测会议是语义评测会议(SemEval)。SemEval会议从1998举办,截止到2018年已经成功举办11届,影响力非常广泛,设有词语语义消歧、时间识别和关系抽取等多项任务。在使用最为广泛的SemEval 2010评测集中共定义了9类关系(工具-代理、原因-影响、内容-容器、产品-生产商、实体-出生、成分-整体、实体-目的地、成员-集体、消息-主题)和一个其他类。
限定域关系抽取指在一个或者多个限定的领域之内判定文本中所出现的实体指称之间是何种语义关系,且待判定的语义关系是预定义的。因此。已有研究常把这一任务看作是一个文本分类任务,即在输入一个句子以及标识句子中所出现的实体指称的条件下,系统将其分类到所属的语义类别上。早期针对这任务的研究多是采用模板的方式对文本中实体间的语义关系进行判别,随着统计机器学习的发展,越来越多的研究者采用有监督学习的方法,即针对每个关系类别标注充足的训练数据,然后设计关系抽取模型,其研究多关注于如何抽取有效的特征。根据从句子中所提取表征语义关系特征的方式的不同,我们可以把已有方法分为传统基于特征工程的关系分类方法和基于深度学习的关系分类方法。但是,人工标注语料耗时费力,成本高,因此很多情况下很难获得足够的训练数据,因此有很多研究利用弱监督学习的方法抽取关系。
基于模板的关系抽取方法通过人工编辑或者学习得到的模板对文本中的实体关系进行抽取和判别。例如,假设X和Y表示公司类型,可以使用如下模板表示收购(ACQUISITION)关系。
当一个句子中所出现的实体指称的上下文文本满足上述模板时,就可以认为 两个实体指称在这个句子中具有收购(ACQUISITION)的关系。然而,人工方法不可能针对多类关系穷举所有的模板,那么就需要采用自动的方法学习抽取模板。问题是:①如何学习用于抽取关系的模板?②如何将学习到的模板进行聚类?
针对上述问题,已有的方法多采用自提升(Bootstrapping)策略,对于实体和模板进行联合迭代式地交替抽取和学习。基本出发点:一种语义关系可以采用对偶的方式进行表示,包括两种表示方式:外延性(Extensionally)表示和内涵性(Intensionally)表示。外延性表示指为表示某种语义关系,可以使用所有包含这种关系的实体对来表示。内涵性表示指为表示某种关系,可以使用所有能抽取出这种关系的模板来表示。用符号 R R R表示关系,KaTeX parse error: Expected 'EOF', got '\E' at position 1: \̲E̲(R)表示所有包含关系 R R R的实体对,例如:要表示ACQUISITION这种关系,可以给出实体对(YouTube,Google)、(Powerset,Microsoft)和(Inktomi,YAHOO)等,这种表示方式就是外延性表示。同样,为表示两个实体间具有关系 R R R,可以使用所有能抽取出这种关系的模板KaTeX parse error: Expected 'EOF', got '\P' at position 1: \̲P̲(R),例如,X和Y表示两个公司,可以使用X is acquired by Y、X is purchased by Y或者X is bought by Y等表示ACQUISITION这种关系,这种表示方式就是内涵性表示。KaTeX parse error: Expected 'EOF', got '\E' at position 1: \̲E̲(R)和KaTeX parse error: Expected 'EOF', got '\P' at position 1: \̲P̲(R)都能表示关系 R R R。因此,我们可以利用实体对在文本中获取模板信息,再利用获取到的模板抽取更多的实体对。这是一个自提升的过程。
其中关键步骤是抽取句子中的实体对之间表达关系的模板。模板可以是基于词汇的,也可以是基于句法或语义的。这一过程需要自然语言处理技术,包括句子边界探测、词性标注、名词词组块识别等。例如,我们可以首先使用句子边界探测工具 将给定的文本语料分割为句子,然后运行词性标注工具获得单词的词性。为了探测句子中的实体,可以使用名词短语块识别工具或命名实体识别工具提取合适的名词词组块和实体。然后在此基础上,分别抽取词汇级关系模板和句法级关系模板。下面是对一个句子进行处理和抽取的例子。
句子:The crime took place in View Royal on Vancouver Island.
词性标注:DT NN VBD NN IN NNP NNP IN NNP NNP
实体或词组块:The crime took place in [View Royal] on [Vancouver Island].
变量替换:View Royal=X, Vancouver Island=Y
字面形式:The crime took place in X on Y.
词性序列:DT NN VBD NN IN X IN Y.
词汇模式:Xon Y,X,Y
语法模式:XINY,X,Y
当模板板学习的另一个关键问题是不同的做板时能表示同一语义关系。因此,在抽取模板之后,需要对习得的模板进行聚类,将表示同一语义关系的模板聚在一起。Bollegala等人将实体对以及抽取的词法、句法模板表示成一个矩阵,如下表所示,其中 p i p_i pi表示模板, < e i , e i ′ > <e_i,e_i^\prime> <ei,ei′>表示实体对,矩阵的每一行表示实体对在模板空间上的分布,矩阵的每一列表示模板在实体对空间上的分布:分布的相似性用于识别表达同种语义关系的不同模式以及不同实体对之间存在的同种语义关系。Bolegala等人四在模板矩阵的基础上,提出了序列联合聚类算法(Sequential Co-clustering Algorithm),对所抽取的模板和实体对进行联合聚类。在模板矩阵中,每一行都是实体对在不同词汇-语法模板中的分布因此其行向量就是聚类的特征向量。每个聚类的类别看作一个类别的标签。另外,该算法能够识别特殊实体的不同字符串形式。例如Redmond software giant和Microsoft均指向同一个实体,这样会使得实体对(Microsoft,Powerset)和(Redmond Software Giant,Powerset)聚类在同一个类别中。
实体对- 模板 | p 1 p_1 p1 | p 2 p_2 p2 | p 3 p_3 p3 | p 4 p_4 p4 | ⋅ ⋅ ⋅ \cdot \cdot \cdot ⋅⋅⋅ |
---|---|---|---|---|---|
< e 1 , e 1 ′ > <e_1,e_1^\prime> <e1,e1′> | 0 | 1 | 0 | 1 | |
< e 2 , e 2 ′ > <e_2,e_2^\prime> <e2,e2′> | 0 | 0 | 1 | 1 | |
< e 3 , e 3 ′ > <e_3,e_3^\prime> <e3,e3′> | 1 | 0 | 0 | 0 | |
< e 4 , e 4 ′ > <e_4,e_4^\prime> <e4,e4′> | 0 | 1 | 0 | 0 | |
⋅ ⋅ ⋅ \cdot \cdot \cdot ⋅⋅⋅ |
基于模板的关系抽取方法的最大问题在于其受限于模板的质量和覆盖度可扩展性不强。因此,随着机器学习方法的发展,很多工作将关系抽取看成是一个分类问题(通常看成是一个有监督学习或者弱监督学习的问题),开始尝试利用较为成熟的机器学习算法解决这一问题。主要可以分为有监督的关系抽取方法和弱监督的关系抽取方法,下面依次介绍。
有监督关系抽取的主要工作在于如何抽取出表征实体指称间语义关系的有效特征。通常情况下,特征抽取主要是使用自然语言处理工具包,从句子中抽取出如词汇、句法和请义等特征,作为关系分类的证据。为了缓解句法特征的稀疏性,有很多研究集中于利用核函数的方法进行关系抽取。近些年来随着神经网络的发展,有很多研究开始利用神经网络自动从文本中提取表征关系的特征,进而完成关系的抽取。下面对基于特征工程的方法、基于核函数的方法和基于神经网络的方法进行分别介绍。
基于特征的方法的特点是需要显式地将关系实例转换成分类器可以接受的特征向量,其研究重点在于怎样提取具有区分性的特征。总结而言,该方法共三个步骤:①特征提取:提取词汇、句法和语义等特征,然后有效地集成起来,从而产生描述关系实例的各种局部和全局特征。②模型训练:利用提取的特征训练分类模型。③关系抽取:主要是利用训练好的模型对非结构化文本进行分类,进而完成关系抽取。常见的关系抽取特征举例如下:
(1)词汇特征。这些特征包含实体本身的词语或者名词性词组块、两个实体(词组块)之间的词语和两个实体(词组块)两端的词语。
(2)实体属性特征。这些特征包含实体或者名词性词组块的类型特征,包括人物(Person)、组织(Organization)、位置(Location)、设施(Facility)和地缘政治实体(Geo-Political Entity)等。
(3)重叠特征。这些特征包括两个实体或者词组块之间词语的个数、它们之间部分包含其他实体或者词组块的个数、两个实体或词组块是否在同一个名词短语、动词短语或者介词短语之中。
(4)依存句法特征。这些特征包含两个实体(名词性词组块)的依存句法分析树中的依存标签和依存路径。
(5)句法树特征。这些特征包含连接两个实体(名词性词组块)的句法路径,不包含重复的节点,并且将路径使用头词(head words)标注。
不同于基于特征的方法,基于核函数的方法不需要构造固有的特征向量空间,能很好地弥补基于特征向量方法的不足。在关系抽取中,基于核函数的方法直接以结构树为处理对象,在计算关系之间距离的时候不再使用特征向量的内积而是用核函数。核函数可以在高维的特征空间中隐式地计算对象之间的距离,不用枚举所有的特征也可以计算向量的点积,表示实体关系很灵活,可以方便地利用多种不同的特征,使用支持核函数的分类器进行关系抽取。
基于核函数的关系抽取最早由Zelenko提出,他们在文本的浅层句法树的基础上定义了树核函数,并设计了一个计算树核函数相似度的动态规划算法,然后通过支持向量机(SVM)和表决感知器(Voted Perceptron)等分类算法来抽取实体间语义关系,在200篇来自新闻机构(如美联社、华尔街日报 等)的文本语料库中进行了两个简单任务的测试,取得了不错的结果。 Culotta等提出基于依存树核函数的关系抽取,他们使用一些依存规则(如主语依存于谓语、形容词依存于它所修饰的名词等)将包含实体对的成分句法树转换成依存句法树,并在树节点上依次增加词性、实体类型、词组块、 WordNet上位词等特征,最后使用SVM分类器进行关系抽取。Bunescu和Mooney进一步使用最短依存树核函数,该核函数计算在依存树中两个实体之间的最短路径上的相同节点的数目,要求对于具有相同关系的实体对,其对应的最短依存树具有相同的高度且到达根节点的路径相同。最短依存树核函数主要缺点是虽然系统的准确率有一定的提高,但是召回率却较低。为解决最短依存树核函数召回率较低的问题,Buescu和 Mooney又提出基于字符串序列核函数的关系抽取,首先提取出两个实体之间和前后一定数量的单词组成字符串并将其作为关系实例的表达形式,规定子序列中允许包含间隔项,进而实现关系抽取。 Zhang等融合卷积树核函数(Convolution Tree Kernels,CTk)和线性核函数综合考虑了影响实体间语义关系的平面特征和结构化特征,利用卷积树核函数来计算包含实体对的句法树之间的相似度使用线性核函数计算实体属性(如实体类型等)间的相似度。Zhou等提出最短路径包含树核,将语义关系实 例表示为上下文相关的最短路径包含树能根据句法结构动态扩充与上下文相关的谓词部分,并采用上下文相关的核函数计算方法,即在比较子树相似度时 也考虑根结点的祖先结点,将该核函数同基于特征的方法结合起来,充分考虑 结构化信息和平面特征的互补性。
尽管上述基于特征工程和核函数的统计学习方法面对关系抽取任务能够达到一定的效果,但是在模型可扩展性上仍然存在很大的问题,限制了这些方法的应用和推广:①上述人工设计的特征(词汇特征、实体特征、依存句法树特征等)的提取均依赖于自然语言处理工具,同时特征抽取的过程也是一个串联 ( Pipeline)的过程,前一步自然语言处理的结果作为后一步的输入,例如:在依存句法分析前需要分词、词性识别甚至是实体识别。然而,目前已有的自然语言抽取工具的性能并不是百分之百准确。因此,这些自然语言处理工具容易造成错误累积和传递,使得抽取到的特征不精准。②面对中文、英语等富资源的语种来说,我们可以有丰富的自然语言处理工具用以抽取特征。然而,面对一些小语种,特别是那些资源贫瘠的语种,当没有可用的自然语言处理工具时, 就不能运用上述基于特征工程的关系抽取方法。因此:我们是否可以不依赖于自然语言描取工具,而是宜接从输入的,中自动学习有效的特征表示?随着深度学习方法的兴起,越来越多的研究者开始利用神经网络方法(例如:卷积神经网络、循环神经网络等)进行文本的学习、并逐步将其应用到关系抽取任务中来。该类方法主要包括如下几个步骤:①特征表示:主要是将纯文本的特征表示为分布式特征信息,例如:将单词表示为词向量。②神经网络的构建与高层特征学习:主要是设计搭建神经网络模型并利用其将上一步得到的基本特征自动表示为高层特征。③模型训练:利用标注数据,优化网络参数,训练网络模型。④模型分类:利用训练的模型对新样本进行分类,进而完成关系抽取。下面以Zeng等在2014年提出的县于娄积神经网络的关系抽取为例进行介绍。该模型主要包括3个部分:词表示(Word Representation)、特征抽取(Feature Extraction)和输出(Output)。整个模型的输入是一个句子以及给定的两个词(通常为名词、名词短语或实体)。输出是这两个词在该句子中所属的预定义的语义关系类别。
首先.输人的句子通过词向量表示,转化为向量的形式输人网络然后,特征抽取部分进一步提取词汇级别特征和句子级别特征,接下来将这两种特征拼接起来作为最终的特征进行关系分类。词汇级别特征的抽取是将句子中某些词向量挑选出来,并将挑选出的向量拼接起来作为这部分特征抽取的结果。句子级别特征是对整个句子学习出一个向量表示,由于语言表达多样,不同的句子个数理论上是无限的,这样就不能像学习词向量一样,以句子为处理对象,通过统计句子的须率、共现等信息学习出句子的向量表示。然而,一句话的语义通常是由组成这句话的词的含义和这些词的组合方式决定。因此,Zeng等使用卷积神经网络学习句子语义的组合规律和方式,在以词向量作为输入的基础上,将句子中包含的词向量组合起来,进而得到句子级别特征表示。相对于传统特征表示方法,其优点是不再依赖于传统的自然语言处理工具(POS,NER等),完全通过卷积网络直接从具有冗余信息的词向量中自动学习、挑选出有用特征信息,进面学习得到高质量的特征。
传统的有监督关系抽取方法需要依赖人工标注的数据,这限制了该方法的适用领域,使得它难以成为关系抽取的核心方法。实际上,带有标注的文本通常是稀缺的资源,距离监督( Distant Supervision)正是在这种背景下提出的方法。当前,在学术界和企业界的共同努力下,已经构建了许多开放可用的知识图谱,这些知识图谱以结构化三元组的形式存储实体和实体之间的关系,距离监督正是利用了这种结构化的数据,让知识图谱自动标注训练样本:由于标注过程不需要人工逐一标注,因此距离监督关系抽取也是弱监督关系抽取的一种。该方法启发式地对齐知识图谱和文本中的实体,然后根据这个对齐学习关系抽取器。该类方法主要基于如下的距离监督假设。
**如果两个实体之间存在某种关系,则所有包含这两个实体的句子都表达了这种关系,这些句子的集合被称为一个“包”。**这个假设允许研究者们从所有包含指定实体对的句子中抽取特征进行分类。 使用这种方法的共同点是在抽取文本特征时,都依赖于传统的自然语言处理工具,这些自然语言处理工具本身可能存在错误积累和传递的问题,因此会对最终的结果产生不利影响。由于基于弱监督学习的关系抽取 系统不需要人工标注数据,因此目前基于弱监督学习的关系抽取系统抽取的关系实例规模比较大,代表性的系统有:NELL和 Probase。
限定域关系抽取需要预先定义关系的类别,然而很多情况下预先定义一个全面的关系类型体系是很困难的。开放域关系抽取不需要预先定义关系,而是使用实体对上下文中的一些词语来描述实体 之间的关系。开放域关系抽取的任务可以形式化地表示为 ( a r g 1 r e l a t i o n W o r d s , a r g 2 ) (arg_1relationWords,arg_2) (arg1relationWords,arg2),其中 a r g 1 , a r g 2 arg_1,arg_2 arg1,arg2是存在关系的实体对, r e l a t i o n W o r d s relationWords relationWords代表关系,就是上下文中描述关系的词或词序列。例如:“姚明出生于上海。”中,开放域关系抽取系统抽取的结果为(姚明,出生于,上海)。但是如果预定义关系抽取中定义了出生地的关系没有定义出生于的关系,则预定义关系抽取的结果应该是(姚明,出生地,上海)。
华盛顿大学的人工智能研究组最早提出开放域信息抽取(Open Informaiton Extraction, Open IE)的概念,在这方面做了大量代表性的工作,并且开发了一系列原型系统: Text Runner、 Kylin、WOE、 Reverb等。 Banko等在2007年首先提出了开放域实体关系抽取并开发出一个完整的系统Text Runner,它能够直接从网页纯文本中抽取实体关系。Text Runner通过一些简单的启发式规则自动从宾州树库里面获取实体关系三元组的正负样本,根据它们的一些浅层句法特征训练一个分类器来判断两个实体间是否存在语义关系;然后将网络文本进行一定的处理后作为候选句子,提取其浅层句法特征,利用分类器判断所抽取的关系三元组是否可信,最后利用网络数据的冗余信息,对初步认定可信的关系进行评估。对于关系名称的抽取,Text Runner把动词作为关系名称,通过动词链接两个论元,从而挖掘论元之间的关系,其抽取过程类似于语义角色标注。
下面以Text runner为例进行详细介绍:
TextRunner 是第一个开放域实体关系抽取系统,它使用启发式规则在宾州树库中自动标注语料,不需要人工预先定义关系类别体系,主要分为三个模块:语料的自动生成和分类器训练、大规模关系三元组的抽取、关系三元组可信度计算。
语料的自动生成和分类器训练
语科的自动生成:主要是通过依存句法分析结合启发式规则自动生成语料,利用的启发式规则举例如下:
分类器的训练:TextRunner利用朴素贝叶斯分类器进行训练,其使用的特征举例如下:
大规模关系三元组的抽取
利用上一步训练好的关系抽取器,在大规模的web文本上进行关系三元组的抽取,并将抽取的大量三元组存储起来。
关系三元组可信度计算
首先将存储起来的相似的三元组进行合并。然后根据网络数据的冗余性,计算合并后关系三元组在网络文本中出现的次数,进而计算相应关系三元组的可信度。
在TextRunner之后,Wu等1在2007年提出了Kylin系统,该系统选取包含信息框(lnfobox)的Wikipedia页面,根据信息框中包含的条目属性及属性值回标产生训练数据,同时根据信息框中的属性名自动确定需要抽取的属性,不同的属性训练不同的CRF模型抽取属性值。Wu等2在2010年提出了开放实体关系抽取系统WOE,该系统也是利用Wikipedia 页面信息框回标,通过一些规则挑选含有实体关系的高质量句子,然后使用依存句法分析树以及词性标注这样的浅层特征训练两个分类器,作为两个实体关系抽取器,以此来获得大量的实体关系三元组模板。最后对网络文本的句子做浅层句法分析处理后,同抽取器获得的模板进行比对,来判断实体关系三元组的可靠性。
由于传统的信息抽取方法的局限性,开放域信息抽取得到许多学者的关注.
注脚的解释 ↩︎
注脚的解释 ↩︎