一个关于ollie的论文解读,论文目的在于知识图谱三元组提取

前言:
模型作用为提取三元组,基于英文,目前尝试改为中文。
论文题目名称叫《Open Language Learning for Information Extraction》,代码地址:https://github.com/knowitall/...

论文核心:
论文核心主要解决2个问题,一个是基于动词结构之外的三元组提取,例如形容词等,二是基于上下文的三元组提取,举例说明。这里论文与reverb和woe两种抽取方式做比较。

在1-3句话中,基于reverb和woe的提取为none,即什么也提取不到。但基于ollie,其可以提取到,也就是解决了reverb和woe的第一个缺点。
举例说明一下:例如第一句Saint 赢了超级杯后,就成了美国橄榄球联盟的顶级球员。 这句话里没有动词,所以reverb和woe什么都提取不到。
在4-5句中,ollie是基于上下文的抽取,所以reverb和woe的抽取只能抽到地球是宇宙的中心,但无法抽到eraly astronmers,而ollie能够抽到attributedto。
举例:在很早以前人们认为地球是宇宙的中心,reverb和woe提取的是地球是宇宙中心,这显然不对。而ollie可以提取到AttributedTo相信;早期的天文学家。
以上两点取自论文Introduction。

如何做的:
1.扩展关系短语的句法范围,以涵盖更多的关系表达式。
2.扩大开放即表示允许额外的上下文信息,如归因和子句的修饰符

具体做法:

(1)构造一个引导集,这个引导集是基于一个网络数据,利用reverb 挖掘了11万的高可信度的seed—tuples,至于利用reverb能extract什么鬼,我也没去看reverb的论文,就姑且认为是一个种子三元组集合吧。
举例:Paul Annacone is the coach of Federer. Reverb:(Paul Annacone; is the coach of; Federer)
而对于每一个得到的seed-tuple,例如(Paul Annacone; is the coach of; Federer),模型会对数据集进行遍历检索,这样获得所有有关与Federer、Paul、Annacone或者和coach有关语法变化的句子。例如Now coached by Annacone, Federer is winning more titles than ever。

而在这种情况下,会存在类似如下的问题,例如三元组为:Boyle; is born in; Ireland,而我们找到的句子为Wharton was born in Donegal, in the northwest of Ireland, a county where the Boyles did their schooling。中文翻译:沃顿出生于爱尔兰西北部的多尼哥,波伊尔一家就是在那里上学的。
你会发现后半句‘波伊尔一家就是在那里上学的’与seed-tuples完全没有关系。为解决这个问题,我们在检索时加入依赖,具体为:
找到某句话的实体词为三元组包含的词,对其进行依赖分析,如果依赖分析的依赖路径超过4,则丢掉这句话。所以在Wharton was born in Donegal, in the northwest of Ireland, a county where the Boyles did their schooling这句话中,born、ireland、boyles的依赖路径超过4,论文说是6,具体算法要看依赖分析,这里不探究,则丢弃这句话不做训练集。

(2)在准备训练集后,就是更多一般关系表达方式的学习。而怎样理解这种开放模板,论文给出的定义为a mapping from a dependency path to an open extraction,也就是一个从依存路径到开放挖掘的映射。举例如下:

  1. (arg1; be {rel} {prep}; arg2) {arg1} ↑nsubjpass↑ {rel:postag=VBN} ↓{prep ∗}↓ {arg2}
  2. (arg1; {rel}; arg2) {arg1} ↑nsubj↑ {rel:postag=VBD} ↓dobj↓ {arg2}
  3. (arg1; be {rel} by; arg2) {arg1} ↑nsubjpass↑ {rel:postag=VBN} ↓agent↓ {arg2}
  4. (arg1; be {rel} of; arg2) {rel:postag=NN;type=Person} ↑nn↑ {arg1} ↓nn↓ {arg2}
  5. (arg1; be {rel} {prep}; arg2) {arg1} ↑nsubjpass↑ {slot:postag=VBN;lex ∈announce|name|choose...}

↓dobj↓ {rel:postag=NN} ↓{prep ∗}↓ {arg2}

上述例子第一列为提取的三元组,第二列为依存分析的表示,例如句2如果填充(arg1; {rel}; arg2)为(Godse; kill; Gandhi) ,则依存分析表示为{arg1} ↑nsubj↑ {rel:postag=VBD} ↓dobj↓ {arg2},nsubj和dobj分别代表名词主语和直接宾语。

而如何获得上述格式的数据呢,论文写的实在别扭,大体可分为3步。
首先,基于seed-tuples和与seed-tuples有关联的句子,我们提取依存路径和三元组表示,对依赖路径中的关系节点用正确的关系词和词性标注去注释,将‘is’/‘was’/‘will be’ 都改为 ‘be’,并且用{rel}替换关系词。

然后执行几个约束检查,包括:

 (1)没有槽节点,槽节点的定义为不属于当前seed-tuple的节点。例如‘hired’ is a slot word for the tuple (Annacone; is the coach of; Federer) in the sentence “Federer hired Annacone as a coach”.
 (2)关系节点在2个实体中间
 (3)介词相配
  (4)没有nn或amdo词性的词

在进行了约束检查后,会将数据分为两部分,一部分是满足上述检查的,一部分是不满足的。然后再进行数据的处理,处理完毕后数据样式见1-5.其中1-3为满足约束检查的处理方式,4、5为额外处理的。距离见论文3.2.1和3.2.2。

接下来是提取模式匹配:

直接举例说明:I learned that the 2012 Sasquatch music festival is scheduled for May 25th until May 28th。(我了解到2012年的Sasquatch音乐节定在5月25日到5月28日),基于figure1,我们得到(festival, be scheduled for, 25th),但对于ollie,这显然还不够,论文中提到对于arg,其扩展了amod, nn, det, neg, prep , num, quantmod来扩展名词短语,而当base名词(不知道为什么有这个鬼,个人理解就是arg)不是专有名词,还扩展了rcmod, infmod, partmod, ref, prepc ,这里作者认为这些非专有名词包含很多的重要信息。对于rel,扩展了advmod, mod, aux, auxpass, cop, prt edges。
但是具体怎么扩展的,论文中关键点并未给出.给个图自己琢磨吧——

最后,是关于ollie的上下文分析,例如句子4中的地球是宇宙中心明显不对,但加上早期认为地球是中心,则对了。
而提取这些限制条件的方式也是基于句子关系的依存分析解析句子结构。

例如,在第4句的语法中,“believe”和“center”之间有一个从句补充。我们首先检查存在的从句补充边缘节点的关系。然而,并不是所有从句补充都是属性。我们将上下文动词(例如,“believe”)与来自VerbNet的交流和认知动词列表匹配,以检测属性。然后,上下文谓词及其主语填充AttributedTo字段。
同样,小句修饰语也用状语从句标记。我们按词法过滤这些词,并在子句的第一个单词匹配使用训练集创建的16个术语列表时添加一个ClausalModifier字段:{if, when, although, because,…}。
OLLIE对于AttributedTo和ClausalModifier字段具有很高的精确度,在一个开发集中,这两个字段的精确度接近98%,但是,这两个字段并不能涵盖所有提取没有被断言为事实的情况。为了处理其他问题,我们训练奥利的置信度函数来降低提取的置信度,如果提取的上下文表明它可能是不真实的。
我们使用监督逻辑回归分类器对置信函数进行分类。特征包括提取模式的频率、定语或修饰语字段的存在,以及提取上下文中某些单词的位置,如虚词或用于定语字段的交际和认知动词。例如,当没有附加ClausalModifier字段时,一个高度预测性的特性测试“if”是否出现在提取之前。

关于斯坦福依存分析句法的链接:https://blog.csdn.net/glory12...

你可能感兴趣的:(scala,java)