Press "Enter" to skip to content

论文浅尝 – ACL2020 | IntKB: 一种交互式知识图谱补全框架

笔记整理 | 谭亦鸣,东南大学博士

 

 

来源:  ACL 2020

 

链接:https://www.aclweb.org/anthology/2020.coling-main.490.pdf

 

资源:https://github.com/bernhard2202/intkb.

 

概述

 

知识库作为许多下游NLP任务的资源基础,存在的一个普遍缺陷是它的不完整性。目前最好的知识库补全框架则缺乏足够的准确性,无法在脱离人工监督的情况下完全自动化的完成知识补全。因此,作为弥补方案,本文提出了IntKB,一种基于问答pipeline的交互式图谱补全框架。该框架的设计面向“人在回路”范式的特性需求:i. 该系统生成的事实与文本片段一致,可由人类直接验证。ii. 该系统设计为可在知识库补全过程中不断学习,因此能够使zero-或者few-shot的初始状态随着时间推移而显着提升性能。iii. 当且仅当存在足够信息进行正确预测的情况下,才会出发与人的交互。因此,作者采用负例和无答案的fold-option来训练系统。该框架在实验中取得较好的性能:对于初始状态下的未见关系,它实现了29.7%的Hits@1,并且在此基础上,这个结果逐渐提高到46.2%。

 

方法

 

 

图1描述了本文所提方法的大致框架,主要包含三个过程:

 

1.Sentence selection:句子筛选模块的输入是一个不完整的三元组形如[h, r, _](同指查询),针对这个输入,返回一个经过排序的候选句子集(即可能涵盖尾实体(答案)的文本)。在这里,用于检索的文档被约束为与头实体h相关的文档子集,接着作者为每个句子建立基于tf-idf的向量表示(这里只考虑上述文档子集的idf而不是整个文档)。对于查询向量,论文使用关系类型的semantic names,并将每个关系类型转换为对应的tf-idf向量,而后计算每个句子和查询之间的相似性得分。该结果用于步骤2中的关系抽取。

 

2.Relation extraction: 关系抽取模型的输入是上一步中排序Top-n的句子,以及原始查询[h, r, _],每条句子都被转换成一条查询,而后输入BERT-QA模型,用于返回作为候选答案的文本区间。之后,作者将关系抽取视作阅读理解的一个特例(即“问”未知的尾实体),不同于过去需要构建问题模板的方式,这里通过关系类型的semantic names构建多个噪声关键词查询。因此,本文的知识库补全工作是在数据缺少的情况下进行的,且只使用知识库中的信息无需额外的人工监督。

 

3.Answer re-ranking:从BERT-QA获取到若干候选答案之后,最后一步就是对它们进行重排序。排序前,作者首先汇总所有具有匹配文本的候选答案,例如预测中多次出现了某个关键词,则合并这些候选答案为一个。而后使用前两步得到的候选答案的特征信息做排序(使用Kratzwald et al., 2019提出的方法),最终,得到对于[h, r, _]的预测候选。

 

面向知识库补全的Continuous Learning

 

1.冷启动

 

作者建议使用以下三步对框架进行初始化,首先是事实对齐,使用远程监督的方式将初始知识库中的事实与文本语料中的句子进行对齐,其次是对数据集中不存在的事实生成负例训练样本,再者,知识转移,通过训练将负样本和对齐的事实反馈到问答pipeline中。

 

2.基于用户反馈的持续提升

 

由于对训练中未见关系类型的预测是很困难的,因此这里作者通过交互机制,在标注过程中动态生成关于zero-shot关系的训练数据,所有用户正反馈的事实都会立刻添加到知识库中。

 

实验

 

本文针对其框架机制,构建了一个数据集,包括一个不完整知识库,一个文本语料(都是来自Wikidata的子集),知识库中的关系被分为已知关系(训练可见),和未知关系(训练中看不见,zero-shot)等两类。作者首先评估了模型在可见知识子集上的性能,而后评估了zero-shot子集上的性能,论文构建了两套baseline,分别为BERT-Sentence 与Na¨ıve QA pipeline,实验结果如以下两张表所示

 

 

 

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注