文章目录
- Abstract
- 1.Introduction
- 2. 相关工作
- 2.2 Entity-aware Relation Extraction
- 3.提出的模型
- 3.1 Solution Framework
- 3.1 data collection module
- 3.3 Joint Learning of Word and Entity Embeddings
- 3.4 N-gram Based Attention Model
- 训练
- 3.5 Triple Generation
- 4.实验
- 4.1 超参数
- 4.2 models
- 4.3 results
- 5.总结
Trisedya, B. D., et al. (2019). Neural Relation Extraction for Knowledge Base Enrichment. Proceedings ofthe 57th Annual Meeting ofthe Association for Computational Linguistics: 229–240.
code
Abstract
我们研究知识库(KB)丰富化的关系提取。具体来说,我们旨在以三元组的形式从句子中提取实体及其关系,并以端到端的方式将提取的三元组的元素映射到现有的知识库。先前的研究集中于提取本身,并依靠命名实体消歧(NED)将三元组映射到KB空间。这样,NED错误可能会导致提取错误,从而影响整体精度和召回率。为了解决这个问题,我们提出了一种基于神经编码器-解码器模型的知识库丰富的端到端关系提取模型。我们通过远程监控与共参考分辨率和复述检测来收集高质量的培训数据。我们提出了一种基于n元语法的注意力模型,该模型捕获句子中的多词实体名称。我们的模型采用共同学习的单词和实体嵌入来支持命名实体消歧。最后,我们的模型使用改进的波束搜索和三重分类器来帮助生成高质量的三重。就两个真实数据集的F1得分而言,我们的模型分别比最新基准高出15.51%和8.38%。
- 丰富KB
- 原先:提取关系/实体–>消歧来映射到KB
- 实体消歧的错误会导致提取错误,从而影响整体的精度和召回率
- 本文:n-gram based attention model that captures multi-word entity names in a sentence.
- 提取+嵌入+消歧联合模型
- 改进的beam search
- 三元组 classifier
- 原先:提取关系/实体–>消歧来映射到KB
1.Introduction
知识库(KBs)通常以知识图(KGs)的形式出现,已成为许多任务中必不可少的资源,包括问答系统,推荐系统和自然语言生成。大型KB,例如DBpedia(Auer等,2007),Wikidata(Vrandecic和Krotzsch,2014)和Yago(Suchanek等,2007)包含数以百万计的有关实体的事实,它们以主题的形式表示。谓语-宾语三元组。但是,这些知识库远非完整,需要不断地进行丰富和管理。
-
大型KB
- DBpedia(Auer等,2007),
- Wikidata(Vrandecic和Krotzsch,2014)和
- Yago(Suchanek等,2007)
- 知识多但不完整,需要不断地丰富和管理
-
以前的研究工作–丰富知识基础
- 基于嵌入的模型(Nguyen等人,2018; Wang等人,2015)
- 实体对齐模型(Chen等人,2017; Sun等人,2017; Trisedya等人,2019)。
- 无监督方法
- 一小组手动定义的提取模式开始,以检测实体名称和有关输入文本中关系的短语。
- 这种范例被称为开放信息提取(Open IE)(Banko等,2007; Corro and Gemulla,2013; Gashteovski等,2017)。
- 在这一系列方法中,实体和谓词均以其表面形式捕获而无需规范化。
- 监督方法:
- 训练统计和神经模型来推断句子中两个已知实体之间的关系
- (Mintz等,2009;
- Riedel等,2010,2013;
- Zeng等,2015;
- Lin等,2016)。
- 这些研究大多数采用预处理步骤来识别实体。
- 只有很少的研究通过对现有KB进行逻辑推理来消除提取的实体的歧义,将提取的三元组映射完全整合到唯一标识的KB实体中
- (例如(Suchanek等人,2009;
- Sa等人,2017)。
- 训练统计和神经模型来推断句子中两个已知实体之间的关系
- 多将实体消歧NED作为单独的一步:
- 缺点:实体消歧的错误传播,导致错误的关系被添加
-
本文工作
- 继序列到序列架构(Bahdanau et al。,2015)成功用于从结构化数据生成句子(Marcheggiani和Perez-Beltrachini,2018; Trisedya et al。,2018)之后,我们采用这种架构进行相反的工作,也就是从句子中提取三元组。
- 输入:句子
- 输出:三元组
- 应用情景:h,t为KB中已有实体,r为关系列表中的关系,<h,r,t>不存在于KB中
- 目的:发现h,t中更多的关系
- 要求:三元组中的关系,实体要规范,可以映射到KB中对应的ID上
- 提取+嵌入+消歧(规范化)–从句子到KB的端到端
- 架构:encoder-decoder的translation model
- 标准的encoder-decoder无法处理多词实体/谓词
- n-gram attention–得到单词级的信息
- 基于n-gram的注意力形式,该形式可以计算注意力权重的ngram组合来捕获语音或名词短语上下文,从而补充标准注意力模型的单词级注意力。
- 因此,我们的模型可以更好地捕获实体和关系的多词上下文。
- pre-train
- 单词:skip gram
- 嵌入:TransE
- 优点:
- 首先,嵌入捕获可单词和实体之间的关系,这对于命名实体消除歧义至关重要。
- 其次,实体嵌入保留了实体之间的关系,这有助于建立一个高度准确的分类器来过滤无效的提取的三元组。
- 数据不足:远程监督
- 为了解决缺少完全标记的训练数据的问题,我们采用了远程监督来生成对齐的句子对和三对作为训练数据。
- 增强
- 我们通过co-reference resolution (Clark和Manning,2016)
- co-reference resolution有助于提取带有隐式实体名称的句子,从而扩大候选句子的集合以与KB中现有的三元组对齐。
- dictionary-based paraphrase detection(Ganitkevitch等,2013; Grycner和Weikum,2016
- 有助于过滤不表达实体之间任何关系的句子。
- 我们通过co-reference resolution (Clark和Manning,2016)
- 贡献
- 联合关系抽取+消歧的model:该模型减少了关系提取和NED之间的错误传播,而现有方法则容易发生这种错误传播。
- 基于n-gram的注意力模型:
- 以有效地将实体及其关系的多词提及映射到唯一标识的实体和谓词中。
- 我们建议联合学习单词和实体嵌入,以捕获单词和实体之间的关系,以消除命名实体的歧义。
- 我们进一步提出一种改进的波束搜索和三元组分类器,以生成高质量的三元组。
- 我们在两个真实世界的数据集上评估提出的模型。
- 我们将远程监控与co-reference resolution和dictionary-based paraphrase detection相结合,以获取高质量的训练数据。
- 实验结果表明,我们的模型始终优于神经关系提取(Lin等人,2016)和最新的NED模型(Hoffart等人,2011; Kolitsas等人,2018)的强大基线。
在本文中,我们研究如何通过文本来源中的关联关系来丰富知识库。具体来说,我们旨在提取形式为的三元组,其中h是头实体,t是尾实体,r是实体之间的关系。重要的是,由于KB在实体上的覆盖范围通常比关系上的覆盖范围要好得多,因此我们假定h和t是KB中的现有实体,r是属于我们感兴趣的一组预先定义的谓词的谓词,但该关系没有存在于KB中。我们旨在发现h和t之间的更多关系,并将它们添加到KB中。
KB的丰富要求通过将提取的三元组的实体和关系映射到其适当的实体和KB中的谓词ID来规范化它们。表1示出了从句子中提取的三元组的示例。提取的第一个三元组的实体和谓词(包括NYU,实例大学和私立大学)分别映射到其唯一的ID Q49210,P31和Q902104,以符合KB的语义空间。
以前有关关系提取的研究都采用了无监督和有监督的方法。无监督方法通常从一小组手动定义的提取模式开始,以检测实体名称和有关输入文本中关系的短语。这种范例被称为开放信息提取(Open IE)(Banko等,2007; Corro and Gemulla,2013; Gashteovski等,2017)。在这一系列方法中,实体和谓词均以其表面形式捕获而无需规范化。监督方法训练统计和神经模型来推断句子中两个已知实体之间的关系(Mintz等,2009; Riedel等,2010,2013; Zeng等,2015; Lin等,2016)。这些研究大多数采用预处理步骤来识别实体。只有很少的研究通过对现有KB进行逻辑推理来消除提取的实体的歧义,将提取的三元组映射完全整合到唯一标识的KB实体中(例如(Suchanek等人,2009; Sa等人,2017)。
因此,大多数现有方法都需要使用命名实体消歧(NED)(请参阅Shen等人(2015)的调查)作为单独的处理步骤。另外,将关系短语映射到KB谓词上需要另一个映射步骤,通常需要借助复述词典来进行。这种两阶段体系结构固有地倾向于在其两个阶段中传播错误:NED错误可能会导致提取错误(反之亦然),从而导致将错误的关系添加到KB中。
但是,标准的编码器-解码器模型(Bahdanau等,2015)无法捕获表示谓词的多词实体名称和口头或名词短语。为了解决这个问题,我们提出了一种新颖的基于n-gram的注意力形式,该形式可以计算注意力权重的ngram组合来捕获语音或名词短语上下文,从而补充标准注意力模型的单词级注意力。因此,我们的模型可以更好地捕获实体和关系的多词上下文。我们的模型利用了预训练的单词和实体嵌入,它们是通过skip gram(Mikolov等,2013)和TransE(Bordes等,2013)共同学习的。我们共同学习的嵌入的优点是双重的。首先,嵌入捕获单词和实体之间的关系,这对于命名实体消除歧义至关重要。其次,实体嵌入保留了实体之间的关系,这有助于建立一个高度准确的分类器来过滤无效的提取三元组。为了解决缺少完全标记的训练数据的问题,我们采用了远程监督来生成对齐的句子对和三对作为训练数据。我们通过共同引用分辨率(Clark和Manning,2016)和基于字典的释义检测(Ganitkevitch等,2013; Grycner和Weikum,2016)来增强该过程。共参考消解有助于提取带有隐式实体名称的句子,从而扩大候选句子的集合以与KB中现有的三元组对齐。复述检测有助于过滤不表达实体之间任何关系的句子。
2. 相关工作
- Open IE:
- Banko等。 (2007年)介绍了开放信息提取(Open IE)的范例,并提出了一个包括三个阶段的管道:学习者,提取者和评估者。
- 学习者使用依赖项解析信息以无监督的方式学习提取模式。
- 提取器通过将名词短语识别为自变量并将连接短语识别为谓词来生成候选三元组。
- 评估者根据统计证据为每个候选三元组分配一个概率。
- 缺点:这种方法易于提取不正确的,冗长的和无意义的三元组。
- (Fader等人,2011; Mausam等人,2012; Angeli等人,2015; Mausam,2016)
- 通过添加手工模式或使用远程监督来提高Open IE的准确性。
- ClausIE:
- Corro and Gemulla(2013)开发了ClausIE,
- 该方法可分析句子中的从句并从该结构中得出三元组。
- MinIE:
- Gashteovski等。 (2017)开发了MinIE,
- 通过使生成的三元组更加简洁来推进ClausIE。
- Stanovsky等。 (2018)
- 通过将关系提取转换为序列标签,
- 提出了一个Open IE的受监督学习器。
- bi-LSTM模型经过训练,可以预测输入的每个标记的标签(实体,谓词或其他)。
- 与我们最相关的工作是Neural Open IE(Cui等人,2018),
- 它提出了一种具有注意力模型的编码器/解码器来提取三元组。
- 但是,这项工作并不适合于提取规范化实体的关系。
- 另一类研究使用神经学习进行语义角色标记(He等人,2018),
- 但此处的目标是识别单个输入句子的谓词-论元结构,而不是从语料库中提取关系。
- 所有这些方法都会生成三元组,其中头和尾实体以及谓词保持其表面形式。* 因此,相同实体的不同名称和短语会导致多个三元组,如果以这种方式添加,将会污染KG。
- 将三元组映射到KG中唯一标识的实体的唯一方法:
- 是通过实体链接(NED)方法进行后处理(Shen等,2015)或
- 通过聚类(Gal´arraga等,2014)。
2.2 Entity-aware Relation Extraction
- 受Brin(1998)的启发,最先进的方法通过利用来自现有KG的种子事实来进行远程监督(
- Mintz等,2009;
- Suchanek等,2009;
- Carlson等,2010)。
- 这些方法从种子事实中学习提取模式,将这些模式应用于提取新事实候选者,迭代该原理,最后使用统计推断(例如分类器)来减少误报率。
- 这些方法中的某些方法基于这样一个假设,即在同一句子中种子事实的实体的同时出现是表达实体之间语义关系的指标。这是标记错误的潜在原因。
- 后续研究(Hoffmann等人,2010; Riedel等人,2010,2013; Surdeanu等人,2012)通过各种方式克服了这一局限性,包括
- 使用特定于关系的词典和潜在因子模型。
- 尽管如此,这些方法仍通过实体的表面形式来处理实体,而忽略了它们到KG中现有实体的映射。
- Suchanek等。 (2009)和Sa等。 (2017)
- 使用概率逻辑推论来消除误报,分别
- 基于约束解决方案或
- 概率图形模型的蒙特卡洛采样。
- 这些方法将实体链接(即NED)集成到其模型中。
- 但是,:
- 两者都具有很高的计算复杂度,
- 并且都依赖于建模约束和适当的先验条件。
- 最近的研究使用神经网络来学习三元组的提取。
- Nguyen和Grish man(2015)提出了具有多尺寸窗口内核的卷积网络。
- Zeng等。 (2015年)提出了分段卷积神经网络(PCNN)。
- Lin等。 (2016,2017)通过提出PCNN并在句子层面给予ATTENTION来改进这种方法。
- 这种方法在实验研究中效果最好;
- 因此,我们选择它作为我们比较方法的主要基准。后
- 续研究考虑了进一步的变化:
- Zhou等。 (2018)提出了层次注意,
- Ji等。 (2017)合并了实体描述,
- Miwa和Bansal(2016)合并了语法功能,
- Sorokin和Gurevych(2017)使用了背景知识进行语境化。
- 这些模型都不适合于KG enrichment, 因为都没有实体规范化
3.提出的模型
3.1 Solution Framework
- 三个模块
- data collection module,
- 在数据收集模块中(在第3.2节中详细介绍),
- 我们将现有知识库中的已知三元组与包含文本语料库中此类三元组的句子对齐。
- 对齐的句子和三元组对将在以后的神经关系提取模块中用作训练数据。
- 这种协调是通过远程监督来完成的。
- 为了获得大量高质量的比对,
- 我们使用共指消解扩展了处理过程,
- 以提取具有隐式实体名称的句子,
- 从而扩大了要对齐的候选句子的集合。
- 我们进一步使用基于字典的释义检测来过滤不表达实体之间任何关系的句子。
- 我们使用共指消解扩展了处理过程,
- embedding module
- 在嵌入模块(在第3.3节中有详细介绍)中,
- 我们提出了一种结合词skip-gram和实体嵌入的联合学习方法(Mikolov等,2013)
- 以skip-gram计算词嵌入
- 以TransE(Bordes等,2013),计算实体嵌入。
- 联合学习的目的是捕获单词和实体的相似性,以帮助将实体名称映射到相关的实体ID。
- 此外,结果实体嵌入用于训练三元组分类器,
- 以帮助过滤由我们的神经关系提取模型生成的无效三元组。
- neural relation extraction module.
- 在神经关系提取模块(在第3.4节中有详细介绍)中,
- 我们通过将注意力机制扩展到句子的n-gram标记,
- 提出了一个基于n-gram的注意力模型。
- ngram注意会计算注意权重的n-gram组合,以捕获补充标准注意模型的单词级别注意的语言或名词短语上下文。
- 这种扩展有助于我们的模型更好地捕获实体和关系的多词上下文。
- 编码器-解码器模型的输出是实体和谓词ID的序列,其中每三个ID表示一个三元组。
- 为了生成高质量的三元组,我们提出了两种策略。
- 第一种策略使用改进的波束搜索,
- 该算法计算提取的实体与输入句子中实体名称的表面形式的词汇相似度,以确保正确的实体预测。
- 第二种策略使用三元分类器,该分类器使用来自联合学习的实体嵌入进行训练,以过滤无效的三元组。第3.5节详细介绍了三重生成过程
- 第一种策略使用改进的波束搜索,
- 为了生成高质量的三元组,我们提出了两种策略。
- 在神经关系提取模块(在第3.4节中有详细介绍)中,
- data collection module,
3.1 data collection module
- 我们的目的:通过提出监督关系提取模型,从句子中提取三元组以丰富知识库。
* 为了训练这样的模型,我们需要大量的带有完整标签的训练数据,这些数据以句子-三元组对的形式出现。
* 根据Sorokin和Gurevych(2017)的研究,我们使用远距离监督(Mintz等,2009)将Wikipedia中的句子与Wikidata中的三元组对齐(Vrandecic和Kröotzsch,2014)。- 将实体-KB条目对应
- 我们通过与实体提及相关联的超链接将句子中的实体提及映射到Wikidata中的相应实体条目(即Wikidata ID),
* 该超链接记录在Wikidata中作为实体条目的url属性。- 每对可能包含一个句子和多个三元组。
- 我们根据表示句子中实体之间关系的谓词复述顺序对三元组的顺序进行排序。
- 我们通过提取包含Wikidata三元组的头和尾实体的句子来收集句子三对。
- 为了生成高质量的句子三元组对,我们提出了两个附加步骤:
* (1)使用共指消解来提取包含隐式实体名称的句子,以及
* (2)使用 paraphrase detection过滤不表达任何关系的句子。
- 实体与知识库对应
- 方法:远程监督
- 连接:超链接
- 增强:
- 共指消解:提取包含隐式实体名的句子
- 可以增加候选句子数量
- 将提取的mention换成适当的实体名称
- 启发式:
- wikipedia中,文章段落第一句可能包含代词
- 将代词–>wikipedia的对应主要是替名称
- 直觉,他应该与主要实体有关。
- a dictionary based paraphrase detection:去除不表达任何关系的句子。
- 一个关系,可能有多种表达,将这些表达放入到字典中,
- 如果句子中包含这些表达,则保留;否则移除。
- 但移除的句子,也可能包含其他关系的表达—在其他包中保留。
- 共指消解:提取包含隐式实体名的句子
在将句子与三元组对齐之前,在步骤(1)中,我们发现隐式实体名称以增加要对齐的候选句子的数量。我们将共同引用解析(Clark和Manning,2016)应用于维基百科文章中的每个段落,并将提取的共同引用替换为适当的实体名称。我们观察到,维基百科文章中段落的第一句可能包含代名词,指代主要实体。例如,巴拉克·奥巴马(Barack Obama)文章中有一个段落以一个句子"He was reelected to the Illinois Senate in 1998".开头。这可能会导致标准的共同引用解析丢失该段落其余部分的隐式实体名称。为了解决此问题,如果未提及Wikipedia页面的主要实体名称,我们会试探性地替换段落第一句中的代词。对于前面示例中的句子,我们将"He"–>“Barack Obama”。直觉是,Wikipedia文章包含单个感兴趣实体的内容,并且段落第一句中提到的代词大多与主要实体有关。
在步骤(2)中,我们使用基于字典的复述检测来捕获句子中实体之间的关系。首先,我们通过填充三个来源的谓词复述来创建字典,包括PATTY(Nakashole等,2012),POLY(Grycner和Weikum,2016)和PPDB(Ganitkevitch等,2013),产生540个谓词和24013个独特的释义。
eg:“出生地” {出生于,出生于……}。然后,我们使用该词典过滤不表达实体之间任何关系的句子。我们使用精确的字符串匹配来查找句子中的语言或名词短语,这是三元组谓词的复述。例如,对于三胞胎“巴拉克·奥巴马(Barack Obama)出生地檀香山”,句子“巴拉克·奥巴马(Barack Obama)1961年出生于夏威夷檀香山Honolulu”将保留,而句子“巴拉克·奥巴马(Barack Obama)在2010年访问檀香山Honolulu”将被删除(如果还有另一个有效的三元组<Barack Obama, visited, Honolulu>,可以保留该句子。这有助于过滤噪声以使句子三重对齐。
3.3 Joint Learning of Word and Entity Embeddings
我们的关系提取模型基于编码器-解码器框架,该框架已在神经机器翻译中广泛用于将文本从一种语言翻译为另一种语言。在我们的设置中,我们旨在将一个句子翻译成三元组,因此源输入的词汇是一组英语单词,而目标输出的词汇是现有KG中的一组实体和谓词ID。为了计算源词汇表和目标词汇表的嵌入,我们提出了单词和实体嵌入的联合学习方法,该方法可有效捕获单词和实体之间的相似性,以消除命名实体的歧义(Yamada et al。,2016)。请注意,我们的方法不同于Yamada等人的方法。 (2016)。我们使用联合学习的方法是结合skip-gram(Mikolov等人,2013)来计算单词嵌入和使用TransE(Bordes等人,2013)来计算实体嵌入(包括关系嵌入),而Yamada等人(2016)使用不考虑关系嵌入的基于维基百科基于链接的度量(WLM)(Milne and Witten,2008)。
- 目的:句子–>三元组
- 框架:encoder-decoder的翻译框架
- 输入词表:英语单词
- 输出词表:KG中的一组实体和谓词ID
- 提出的方法:Joint Learning of Word and Entity Embeddings
- 效果:捕获单词和实体之间的相似性,可以消除命名实体的歧义
- 做法:
- skip-gram:计算单词嵌入
- Anchor Context Model
- 输入:
- 原始文本
- 经过修改的wikipeidia锚文本
- 将句子中的实体名称用相关的实体或谓词ID替换
- “New York University is a private university in Manhattan”
- “Q49210 is a Q902104 in Q11299”
- 将句子中的实体名称用相关的实体或谓词ID替换
- 结合生成文本语料库
- 方法:用skip-gram计算(把ID一起当做单词计算)
- 输入:
- Anchor Context Model
- TransE:计算实体嵌入(包含关系嵌入
- skip-gram:计算单词嵌入
- 区别:
- (Yamada et al。,2016):WLM方法,不考虑关系嵌入
- 目标函数:
- JE=Σtr∈TrΣtr′∈Tr′max(0,[γ+f(tr)−f(tr′)])Tr={<h,r,t>∣<h,r,t>∈G}−−有效的Tr′={<h′,r,t>∣h′∈E}∪{<h,r,t′>∣t′∈E}−−反例f(tr)=∣∣h+r−t∣∣−−l1−normJ_E=\Sigma_{t_r\in T_r}\Sigma_{t'_r\in T'_r} max(0,[\gamma+f(t_r)-f(t_r')])\\ T_r=\{<h,r,t>|<h,r,t>\in G\}--有效的\\ T_r'=\{<h',r,t>|h'\in E\} \cup \{<h,r,t'>|t'\in E\}--反例\\ f(t_r)=||h+r-t||--l1-normJE=Σtr∈TrΣtr′∈Tr′max(0,[γ+f(tr)−f(tr′)])Tr={<h,r,t>∣<h,r,t>∈G}−−有效的Tr′={<h′,r,t>∣h′∈E}∪{<h,r,t′>∣t′∈E}−−反例f(tr)=∣∣h+r−t∣∣−−l1−norm
- 趋向于是正例和反例的差别增大
- JW=1TΣt=1nΣ−c≤j≤c,j≠0logP(wt+j∣wt)P(wt+j∣wt)=exp(vwt+j′Tvwt)Σi=1W(vi′Tvwt)c−上下文窗口尺寸wt目标词wt+j上下文vwt输入向量vi′输出向量W−vocabularysizeJ_W=\frac{1}{T}\Sigma_{t=1}^n\Sigma_{-c\leq j\leq c,j\neq 0} logP(w_{t+j}|w_t)\\ P(w_{t+j}|w_t)=\frac{exp(v_{w_{t+j}}^{'T }v_{w_t})}{\Sigma_{i=1}^W(v_i^{'T}v_{w_t})}\\ c-上下文窗口尺寸\\w_t目标词\\w_{t+j}上下文\\v_{w_t}输入向量\\v_i'输出向量\\W-vocabulary sizeJW=T1Σt=1nΣ−c≤j≤c,j=0logP(wt+j∣wt)P(wt+j∣wt)=Σi=1W(vi′Tvwt)exp(vwt+j′Tvwt)c−上下文窗口尺寸wt目标词wt+j上下文vwt输入向量vi′输出向量W−vocabularysize
- 整体的目标函数:J=JE+JWJ=J_E+J_WJ=JE+JW
- JE=Σtr∈TrΣtr′∈Tr′max(0,[γ+f(tr)−f(tr′)])Tr={<h,r,t>∣<h,r,t>∈G}−−有效的Tr′={<h′,r,t>∣h′∈E}∪{<h,r,t′>∣t′∈E}−−反例f(tr)=∣∣h+r−t∣∣−−l1−normJ_E=\Sigma_{t_r\in T_r}\Sigma_{t'_r\in T'_r} max(0,[\gamma+f(t_r)-f(t_r')])\\ T_r=\{<h,r,t>|<h,r,t>\in G\}--有效的\\ T_r'=\{<h',r,t>|h'\in E\} \cup \{<h,r,t'>|t'\in E\}--反例\\ f(t_r)=||h+r-t||--l1-normJE=Σtr∈TrΣtr′∈Tr′max(0,[γ+f(tr)−f(tr′)])Tr={<h,r,t>∣<h,r,t>∈G}−−有效的Tr′={<h′,r,t>∣h′∈E}∪{<h,r,t′>∣t′∈E}−−反例f(tr)=∣∣h+r−t∣∣−−l1−norm
为了建立实体和单词嵌入之间的交互作用,我们遵循Yamada等人提出的Anchor Context Model。 (2016)。首先,我们通过结合原始文本和经过修改的Wikipedia锚文本来生成文本语料库。这是通过用相关的实体或谓词ID替换句子中的实体名称来完成的。例如,将该句子修改为。然后,我们使用skip-gram方法从生成的语料库中计算单词嵌入(修改后的锚文本中的实体ID在skip-gram模型中被视为单词)。给定一个n个单词的序列,该模型通过最小化以下目标函数来学习单词嵌入:
3.4 N-gram Based Attention Model
- encoder-decoder
- 输入:句子
- 输出:三元组序列(实体ID,关系ID的序列,每三个是一个三元组)
- encoder:
- 输入:句子
- 输出:向量
- 使用:LSTM
- decoder:
- 输入:向量–作为上下文
- 输出:三元组序列
- 使用:LSTM
- attention:
- 用于re任务,无法捕捉多字实体名称
- 原因:实体和单词不对齐(初步调查)
- 即使前文以ID代替实体也不可消除
- 解决:N-gram Based Attention Model
- 根据词嵌入的n元语法组合计算注意权重
- ctd=[he;Σn=1∣N∣Wn(Σi=1∣Xn∣αinxin)]−−−上下文向量he:encoder的隐层输出αin=exp(heTVnxin)Σj=1∣Xn∣exp(heTVnxjn)∣Xn∣:−gram的令牌组合总数W,V−−参数矩阵c_t^d=[h^e;\Sigma_{n=1}^{|N|}W^n(\Sigma_{i=1}^{|X^n|}\alpha_i^nx_i^n)]---上下文向量\\ h^e:encoder的隐层输出\\ \alpha_i^n=\frac{exp(h^{eT}V^nx_i^n)}{\Sigma_{j=1}^{|X^n|}exp(h^{eT}V^nx_j^n)}\\ |X^n|:-gram的令牌组合总数\\ W,V--参数矩阵ctd=[he;Σn=1∣N∣Wn(Σi=1∣Xn∣αinxin)]−−−上下文向量he:encoder的隐层输出αin=Σj=1∣Xn∣exp(heTVnxjn)exp(heTVnxin)∣Xn∣:−gram的令牌组合总数W,V−−参数矩阵
训练
- 在训练阶段
- 使用句子-三元组对输入
- 还用<实体名,实体id>对输入
- 这允许模型学习实体名称和实体ID之间的映射,尤其是对于看不见的实体。
我们提出的关系提取模型以端到端的方式集成了KB富集的提取和规范化任务。为了构建这样的模型,我们采用编码器-解码器模型(Cho等人,2014)将句子翻译成三元组序列。编码器将句子编码为向量,解码器将其用作上下文以生成三元组序列。因为我们将输入和输出视为一个序列,所以我们在编码器和解码器中使用LSTM网络(Hochreiter和Schmidhuber,1997)。
具有注意力模型的编码器/解码器(Bahdanau等人,2015)已用于机器翻译中。但是,在关系提取任务中,注意力模型无法捕获多字实体名称。在我们的初步调查中,我们发现注意模型在单词和实体之间产生了不对齐的情况。
上面的问题是由于不同实体的名称中的单词相同(例如,纽约大学,华盛顿大学等不同大学名称中的单词大学)。在训练期间,模型会更加注意“大学”一词,以区分名称相似的不同类型的实体,例如,纽约大学,纽约时报大楼或纽约人寿大厦,但不会区分名称不同的相同类型的实体(例如,纽约大学和华盛顿大学)。这可能会导致实体对齐出错,尤其是在预测不在训练数据中的实体的ID时。即使我们将<Entity-name, Entity-ID>对添加为训练数据(请参阅“训练”部分),仍然会发生对齐错误。
我们通过提出一个基于n-gram的注意力模型来解决上述问题。此模型计算句子输入的所有可能n-gram的注意力。注意权重是根据词嵌入的n元语法组合计算的,因此,解码器的上下文向量的计算如下。
3.5 Triple Generation
编码器-解码器模型的输出是实体和谓词ID的序列,其中每三个标记表示一个三元组。因此,要提取一个三元组,我们只需将生成的输出的每三个标记分组即可。但是,由于实体嵌入(例如,纽约市和芝加哥的嵌入)之间的相似性,贪婪方法(即,选择解码器的最后一个softmax层中概率最高的实体)可能导致模型提取错误的实体可能相似,因为两者都是美国的城市)。为了解决这个问题,我们提出了两种策略:使用经过改进的波束搜索对预测实体进行重新排序,以及使用三元分类器过滤无效的三元组。
修改后的波束搜索重新排名top-k(在我们的实验中为10)实体ID,这些ID由解码器通过计算实体名称(从KB中获得)与输入句子的每个n-gram标记之间的编辑距离来预测。直觉是应在句子中提及实体名称,以便选择相似度最高的实体作为输出
- encoder-decoder的输出–>三元组
- 贪婪策略
- 策略:选softmax中概率最高的
- 缺点:提取错误的实体
- 原因:实体嵌入的相似性
- 解决
- 改进的beam search
- 对预测实体冲排序(对top-k)
- 实体ID:
- encoder计算实体名称(KB的)与输入句子的每个n-gram之间的编辑距离来预测
- 直觉:句子中的entity mention,则输出对应的entity(相似度也应是最高的)
- 三元组分类器
- 过滤掉无效的三元组
- 我们的三元组分类器接受了来自联合学习的实体嵌入训练(请参见第3.3节)。
- 三元组分类是评估实体嵌入质量的指标之一(Socher等,2013)。
- 我们建立一个分类器来确定三元组的有效性。
- 我们根据合理性分数(计算实体嵌入的分数)训练二元分类器。
- 我们通过破坏有效的三元组(即用随机实体替换首尾实体)来创建否定样本。
- 因而,三元组分类器可有效过滤无效的三元组,例如<New York University, capital of, Manhattan>
- 过滤掉无效的三元组
- 改进的beam search
- 贪婪策略
4.实验
- 数据集
- WIKI
- GEO
4.1 超参数
- 寻找超参数:grid search
- lstm unit:512
- embedding-dim:64
- dropout:0.5
- adam,lr=0.0002
4.2 models
- 对比
- CNN (the state-of-theart supervised approach by Lin et al. (2016)),
- MiniE (the state-of-the-art unsupervised approach by Gashteovski et al. (2017)),
- ClausIE by Corro and Gemulla (2013).
- NED:
- AIDA (Hoffart et al., 2011)
- NeuralEL (Kolitsas et al., 2018)
- the dictionary based paraphrase detection:
- 映射谓词–>关系
- 和之前说的一样的词典
- 如果正确谓词的释义之一出现在抽取的谓词中,则用id替换它。
- 否则,记为NA
- 注意力的比较
- he Single Attention model (Bahdanau et al., 2015)
- Transformer model (Vaswani et al., 2017).
我们将我们提出的模型3与三个现有模型进行了比较,包括CNN(Lin等人(2016)的最新监督方法),MiniE(Gashteovski等人的最新的无监督方法(2017))。 ),以及Corro和Gemulla(2013)的ClausIE。为了通过这些模型映射提取的实体,我们使用了两个最新的NED系统,包括AIDA(Hoffart等,2011)和NeuralEL(Kolitsas等,2018)。 AIDA和NeuralEL的精度(在我们的测试数据集中测试)分别为70%和61%。为了映射无监督方法输出的提取谓词(关系),我们使用基于字典的释义检测。我们使用用于收集数据集的同一词典(即,三个释义词典的组合,包括PATTY(Nakashole等,2012),POLY(Grycner和Weikum,2016)和PPDB(Ganitkevitch等,2013)。 ))。如果正确谓词的释义之一(即黄金标准)出现在抽取谓词中,则我们用正确谓词ID替换抽取谓词。否则,我们将提取的谓词替换为表示无法识别的谓词。我们还将N-gram注意模型与两个基于编码器/解码器的模型进行比较,包括单注意模型(Bahdanau等,2015)和变形模型(Vaswani等,2017)。
4.3 results
- 本文模型效果最好
- 已经存在的模型+NED
- NED效果好的就好
- 证明它受NED错误传播的影响大
- 无规范化任务的情况下:
- 已经存在的模型的精度挺好
- 可以捕获多词实体名称
- 因为比single-attention和transformer好
- 三元组分类器可以提升precision
- 改进的beam search可以提升recall
- 无法做到:识别来自不同实体的相同名称
为了进一步显示错误传播的影响,我们建立了一个没有规范化任务的实验(即目标是预测已知实体之间的关系)。通过允许CNN模型访问正确的实体,我们删除了NED预处理步骤。同时,我们向我们提出的模型的解码器提供正确的实体。在这种设置下,我们提出的模型在WIKI和GEO测试数据集上的精度分别达到86.34%和79.11%,而CNN的精度分别达到81.92%和75.82%。
5.总结
我们为KB富集提出了端到端关系提取模型,该模型集成了提取和规范化任务。因此,我们的模型减少了关系提取和现有方法容易发生的NED之间的错误传播。为了获得高质量的训练数据,我们采用了远程监控,并通过共参考分辨率和复述检测对其进行了增强。我们提出了一种基于n元语法的注意力模型,该模型可以更好地捕获句子中的多词实体名称。此外,我们提出了一种改进的波束搜索和三重分类,以帮助模型生成高质量的三重。
实验结果表明,我们提出的模型在WIKI和GEO测试数据集上的F1评分分别优于现有模型33.39%和34.78%。这些结果证明我们的模型减少了NED和关系提取之间的误差传播。在两个真实数据集上,我们提出的n-gram注意模型在F1得分方面分别优于其他编码器-解码器模型15.51%和8.38%。这些结果证明我们的模型可以更好地捕获句子中的多词实体名称。将来,我们计划探索基于上下文的相似性,以补充词法相似性,以提高整体性能
- 需要的改进:
- 同名的不同实体的处理
- 计划探索基于上下文的相似性,以补充词法相似性,以提高整体性能