开放信息抽取(OIE)系统(四)-- 第三代开放信息抽取系统(基于子句, clause-based, 句子重组、删减)

一.第三代开放信息抽取系统背景

基于子句的开放信息抽取系统与之前的信息抽取方法不通,根本区别在于它在从句中检测分离出“有用信息”片段,从而进行三元组抽取。
更具体地说,基于子句的开放信息抽取系统使用英语语言学知识(语法)首先检测文本中的从句,然后通过语法成分功能识别每个从句的类型。
根据这些信息,基于子句的开放信息抽取系统能够进行高精度的三元组信息抽取;对这些三元组灵活定制,就可以更好地适应下游应用。

二.第三代开放信息抽取系统历史

第三代开放信息抽取系统的思路是引入一个句子重组阶段,其目标是转换复杂的句子为简单句。

  • ClausIE: Del Corro and Gemulla等(2013年)提出了ClausIE系统,使用语法知识(句子重组)的方法转换复杂句子,语法和从句等分析句子成分。
  • Stanford-Open-IE: Angel等(2015年)提出了Stanford Open IE系统,使用学习分类器判断一组句子是否构成独立子句(简单句),然后通过手工构建的14种规则抽取三元组。
  • MinIE: Gashteovski等(2017年)提出了MinIE系统,构建在ClausIE系统之上,重点关注冗余项并删除, 是不是可信。

三. 第三代开放信息抽取系统内容

3.1 概述

第二代开放信息抽取系统,即基于规则的开放信息抽取系统,一般使用的是人工构建抽取规则进行实体关系抽取。
第二代系统着力解决之前开放式信息抽取中的三个常见错误问题: 忽略关键信息、不连贯的抽取结果、抽取太多无用信息。
引入句法限制(动词关系短语),通过这种先抽取关系的方式,不连贯和无意义的抽取内容大大减少。

3.2 ClausIE系统(句子依存分析、句子拆分)

句子依存分析,使用的是stanford分词工具的(compute the dp of the sentence)

  • 将句子拆分成子句(determine the set of clauses using the dp)
  • 为每个主语独立构建从句, 依靠dobj, iobj, xcomp, ccomp, adverbials等dp关系;
  • 为了提高召回率和丰富抽取, 还构建合成从句, 即替换关系代词, 例如替换who;
  • 还有非动词介导拓展(同位语和所有格), 例如"春天摘下的松露很好吃" (S:松露,V:[被]摘下,A:[在]春天)
    -
  • 识别子句类型, 如主谓宾SVO(identifying clause types)
  • 抽取三元组(generate propositions from (a subset of) the coherent clauses)

3.3 Stanford-Open-IE系统(依存句法)

  • 总体思路: 我们将这个大的模式集替换为规范结构句子的一些模式,并将重点转移到一个分类器上,该分类器学习从较长的句子中提取自包含子句。然后,我们对这些短子句进行自然逻辑推理,以确定每个候选三元组的最大特定参数(实体)。
  • we replace this large pattern set with a few patterns for canonically structured sentences, and shift the focus to a classifier which learns to extract self-contained clauses from longer sentences. We then run natural logic inference over these short clauses to determine the maximally specific arguments for each candidate triple.
  • a. 依存句法分析后, 拆分组合后的短句(贪婪搜索, 反复遍历依赖关系解析树), 训练多项逻辑回归LR分类器(即选不选这个短句);
  • b. 构建14个手工规则进行实体关系抽取, 重点关注短句是否符合逻辑, 即后处理确定某些成分该不该删除(appeal to natural logic to maximally shorten these utterances while maintaining necessary context.)

3.4 MinIE系统(ClausIE系统、裁剪-转换)

MinIE系统旨在提供有用的、紧凑的、高精度、高召回率的三元组信息(即较短、语义丰富的三元组)。MinIE系统的目标是抽取包含极性、情态、属性和数量的语义解释信息,而不是简单的字面意义的抽取,并且识别、移除被特别具体的部分。
MinIE系统依赖ClausIE系统进行三元组抽取,

  • 获取有意义的输入抽取(Input Extractions)
  • a.丰富关系(Enriching Relations, 保留更多关系并且缩短实体):
  • 关系组成: 不仅仅是 动词和否定部分、WordNet中有49个语法
  • SVA: 如果状语是介词补足语,我们将介词推到关系中。(Superman, lives, in Metropolis) —>>> (Superman, lives in, Metropolis)
  • SVOiO、SVOC: 采用间接法对象(SVOiO)或将对象(SVOC)直接导入关系。在这两种情况下,动词都需要两个额外的成分:我们用第一个来丰富这个关系和第二个关系作为一个论据。 可能存在问题(反例):(Superman, declared, the city safe) —>>> (Superman, declared the city, safe)
  • SVOA: 如果状语由单个动词组成,我们将其推到关系中并使用宾语作为论据。这种方法保持连贯性,因为这样的状语是“流利的”,也就是说,它们是没有固定的位置。否则,我们会像在SVOC中一样进行宣传,但会进一步推动启动关系状语的介词(如果存在)。(Ana, turned, the light off) —>>> (Ana, turned off, the light); (The doorman, leads, visitors to their destination) —>>> (The doorman, leads visitors to, their destination).
  • Optional adverbials: 可选状语,如果该子句包含操作状语,则从句创建一个摘录没有任何可选状语和一个附加状语根据可选状语提取。前一种牵引力的处理如上所述。后面的引语被视为状语是义务性的。
  • Infinitive forms: 不定式,如果实体以不定式动词开始,我们将其移动到关系。(Superman, needs, to defeat Lex) —>>> (Superman, needs to defeat, Lex)。
  • b.隐式提取(Implicit Extractions)
  • ClausIE产生的非动词中介的三元组来自同位语和所有格, 将这些作为隐式提取
  • “president Barack Obama” —>>> (Barack Obama, is, president);
  • pattern ORG IN LOC —>>> (ORG, is IN, LOC);
  • pattern “Mr.” PER —>>> (PER, is, male);
  • pattern ORG POS? NP PER for (PER, is NP of, G); 【RelNoun (Pal and Mausam, 2016)】
  • 语义角色标注(Semantic Annotations)
  • 极性信息(polarity): 抽取三元组的真实性, 极性(+或-)标识, 否定词(no, not, never, none), “No people were hurt in the fire” —>>> (people, were hurt in, fire) (-)
  • 情态信息(modality): 抽取三元组的情态, 模态(CT或PS)标识, 1)情态动词(may/can); 2)表示单词的可能性(probably); 3)某些不定动词短语.
  • 归属信息(attribution): 三元组的属性是输入句(如有)中给出的信息的提供者, 我们根据概念调整我们的属性注释来源. 1) according to; 2) 从句(某某某 know, say, or write); 3)否定+关系(从未说过); 4)根据状语模式(以“根据”和“采取”开头的状语)
  • 数量信息(quantities): 数量是表示数量的短语(或缺少)某物。它要么修改名词短语(如9只猫)或是独立的补语(例如,我有3个)。数量包括基数、限定词(全部)或短语(几乎)。如果我们检测到一个数量,我们就用一个占位符Q并添加带有原始数量的注释。先寻找数字来检测数量(NER类型,如数字或百分比)或表示数量的词(如all、some、许多)然后数量修饰符(quantmod)和状语修饰语(advmod).
  • 最小化(Minimization)
  • 在添加语义注释后,MinIE通过删除额外的单词来简化提取。
  • 在MinIE的所有模式中,名词序列(包括头部)和命名实体(来自NER)被认为是稳定的亚组分。极小化可以用域来扩充,通过提供关于附加稳定子成分(例如搭配)的信息获得知识。
  • 完整模式(MinIE-C): MinIE-C删除所有包含从句但不以其他方式修改标注的抽取。其基本原理是含有从句的三元组总是很特殊的。
  • 安全模式(MinIE-S): MinIE-S只会删除认为安全的单词, 先删除隐式抽取所涵盖的所有成分。然后删除所有修饰动词的限定词、所有物、动词代词、副词关系,以及形容词和副词,修饰NER标记为PERSON的单词。
  • 字典模式(MinIE-D): MinIE-D使用稳定的字典D成分, 1) 先MinIE-S最小化, 然后最大化搜索名词 P ≡ [adverbial|adjective]+[noun+|ner], 删除确定的单词(子集, 字典的words, 同时不处理包含介词的亚成分);
  • 攻击模式(MinIE-A): 所有我们不确定的都将被删除。删除所有状语、形容词、所有格、时间的复数(along with their modifiers), 删除介词附加语(man with apples becomes man),修饰名词的数量,主动词的辅助修饰语(have escalated becomes escalated),命名实体类型不同于中心词的复合名词(European Union official becomes official)

代码

  • ClausIE:
  • clausie: https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/ambiverse-nlu/clausie
  • spacy-clausie: https://github.com/mmxgn/spacy-clausie
  • clausie-java: https://github.com/aculich/clausie
  • pyclausie: https://github.com/AnthonyMRios/pyclausie
  • stanford-openie: https://github.com/philipperemy/stanford-openie-python
  • MinIE: https://github.com/uma-pi1/minie

论文与文章

  • ClausIE: http://telemedicina.unifesp.br/pub/Events/2013-05%20-%20WWW2013/www2013/www2013.org/proceedings/p355.pdf
  • stanford-openie: https://www.aclweb.org/anthology/P15-1034/
  • MinIE: https://aclanthology.org/D17-1278.pdf