Press "Enter" to skip to content

论文浅尝 | 基于时序知识图谱的问答

 

笔记整理:姚云志,浙江大学在读博士,研究方向为自然语言处理。

 

链接:https://arxiv.org/pdf/2106.01515.pdf

 

时序知识图谱是一种多关系的知识图谱,相较于常规的知识图谱,时序知识图谱中的关系中会与时间段相关联,譬如在常规的知识图谱中存在着(Barack Obama, held position, President of USA)这样的三元组关系,而在时序知识图谱中,则会同时包含这段关系存在的时间,(Barack Obama, held position, President of USA, 2008, 2016)。

 

知识图谱问答任务(KGQA)的任务是使用KG作为知识库回答自然语言问题,问题的答案通常是KG中的一个实体(节点),回答问题所需的推理是基于单个事实、多跳或基于连接/比较的推理。基于时序图谱的问答任务(Temporal KGQA)则具备了以下更多的特点:

 

1. 知识库是一个时序知识图谱。 2. 答案是实体或持续的时间。 3. 需要复杂的时间推理。

 

然而,目前关于时序知识图谱问答任务的数据集的研究非常少,从图1中,我们可以看到大部分的KGQA数据集中,知识图谱都不包含时序的关系,数据集中的问题也很少关注时间,TempQuestions数据集关注时序问答的问题,但数据量很少,仅仅用于对模型的测试。

 

 

图1

 

为此,作者在这篇工作中提出了一个新的Temporal KGQA的数据集—-CRONQUESTIONS。在构建数据集时,作者遵循了以下三个原则,1.相关KG必须提供时间标注。2.问题必须涉及时间因素推理。3.标记实例的数量必须很大,足以用于训练模型。基于此,作者最终推出了包含125k个实体和328k个事实的时序知识图谱和410k个需要进行时间推理的自然语言问题。作者验证了语言模型T5,BERT,KnowBERT以及LM+KG的模型Entities-as-Experts 和 EmbedKGQA的实验结果,在数据集上的表现并不令人满意。作者提出了CRONKGQA模型,在任务中取得了不错的结果。

 

1.数据集的构建

 

CRONQUESTIONS包含两个部分:包含时间标注的知识图谱和需要时间推理的问答集。在构建知识图谱时,作者首先从WikiData中选取了包含时间标注的关系,并剔除了占比超过50%的关系的部分数据用以平衡数据分布。与此同时,为了避免图谱丢失一些重要的事件信息,作者从WikiData中抽取了重要的包含起始时间的实体,并将这些实体信息添加到了知识图谱中,例如World War II, 作者添加了以下格式(WWII, significant event, occurred, 1939, 1945)的事实。在构建问答数据集时,作者基于出现次数最多的关系构建了一系列的问题模板(图2)。基于这些模板,在人工改写的问题基础上,同时使用了模型去生成更多的问题,最终构建了410k的数据。

 

 

图2. 部分问题模板的样例

 

 

图3. 人工和机器改写的问题

 

 

图4. 数据统计

 

2. CRONKGQA

 

作者提出了CRONKGQA用来解决时间预测问题,作者首先使用EmbedKGQA作为开始的模型实现,由于EmbedKGQA使用ComplEx作为知识图谱嵌入的方法,并不能够处理包含时间的信息,于是作者在这里采用了TComplEx来获取实体和时间戳的embedding。从图4中,我们可以看到,CRONKGQA使用了两个预测函数获得了问题的实体嵌入和时间嵌入

。而后分别计算在实体级别和时间级别的得分:

 

 

 

最后通过softmax来预测最终的答案。

 

 

3.实验结果

 

作者比较了CRONKGQA和其他主流模型在任务上的表现,可以看到,CRONEKGQA在任务上取得了非常好的结果,超过了EaE等LM+KG的模型。

 

 

作者同时也比较了训练数据集大小对模型结果的影响。我们可以看到除了CRONKGQA在简单的推理数据上的表现,随着训练集的增大,模型的效果会更好,这验证了作者之前的假设:拥有一个大的(即使是合成的)数据集对于训练时态推理模型非常有用。

 

Be First to Comment

发表回复

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