论文阅读:Question Answering Over Temporal Knowledge Graphs
我们首先在我们的新数据集上应用大型预训练的基于 LM 的 QA 方法。 然后,我们将时间和非时间的 KG 嵌入注入到这些 LM 中,并观察到性能的显着提高。 我们还提出了一种新方法 CRONKGQA,它能够利用 Temporal KG Embeddings 来执行 TKGQA。 在我们的实验中,CRONKGQA 优于所有基线。
这些结果表明,KG 嵌入可以有效地用于执行时间 KGQA,尽管在涉及复杂推理问题时仍有很大的改进空间。
来源:ACL 2021
下载地址:https://aclanthology.org/2021.acl-long.520.pdf
Abstract
时间知识图谱(Temporal KGs)通过在 KG 的每条边上提供时间范围(例如,开始和结束时间)来扩展常规知识图谱。虽然 KG 上的问答 (KGQA) 受到了研究界的一些关注,但时间 KG 上的 QA (Temporal KGQA) 是一个相对未开发的领域。缺乏广泛覆盖的数据集是限制该领域进展的另一个因素。 我们通过展示 CRONQUESTIONS 来应对这一挑战,这是已知最大的 Temporal KGQA 数据集,清楚地分层为结构复杂的桶。我们还提出了 CRONKGQA,这是一种基于 Transformer 的解决方案,它利用了 Temporal KG 嵌入的最新进展,并实现了优于所有 baseline 的性能。
Introduction
时间知识图谱(Temporal KGs)是多关系图,其中每条边都与一个持续时间相关联。 这与没有时间注释的常规 KG 形成对比。例如,一个常规的 KG 可能包含一个事实,例如(Barack Obama,holded position,President of USA),而一个 temporal KG 也会包含开始和结束时间——(Barack Obama,holded position,President of USA,2008 , 2016)。边也可以与一组不连续的时间间隔相关联。 这些事实的时间范围可以自动估计(Talukdar et al., 2012)或人工标注。知识图谱问答(KGQA)的任务是使用 KG 作为知识库来回答自然语言问题。 这与基于阅读理解的问答形成对比。在 KGQA 中,答案通常是 KG 中的一个实体(节点),回答问题所需的推理要么是基于单事实,要么是多跳或基于连词/比较的推理。 Temporal KGQA 更进一步,其中:
- 底层 KG 是一个 Temporal KG。
- 答案要么是实体,要么是持续时间。
- 答案要么是实体,要么是持续时间。
KG 嵌入是 KG 中实体和关系的低维密集向量表示。时间 KG 嵌入是另一个即将热门的领域,其中时间 KG 中的实体、关系和时间戳被嵌入到低维向量空间中。 到目前为止,这里的主要应用也是时间 KG 补全。 在我们的工作中,我们研究了时间 KG 嵌入是否可以应用于时间 KGQA 的任务,以及与非时间嵌入或没有任何 KG 嵌入的现成方法相比,它们的表现如何。
在本文中,我们提出了 CRONQUESTIONS,一个用于 Temporal KGQA 的新数据集。 CRONQUESTIONS 由时间 KG 和伴随的自然语言问题组成。 创建此数据集时有三个主要指导原则:
- 关联的 KG 必须提供时间注释。
- 问题必须涉及时间推理的元素。
- 标记实例的数量必须足够大,以便可以用于训练模型,而不是单独用于评估。
在上述原则的指导下,我们提出了一个数据集,该数据集包含一个包含 125k 实体和 328k 事实的 Temporal KG,以及一组需要时间推理的 410k 自然语言问题。
在这个新数据集上,我们仅应用基于深度语言模型 (LM) 的方法以及混合 LM+KG 嵌入方法。 我们发现这些baseline不适合时间推理。因此,我们提出了 CRONKGQA,它是 EmbedKGQA 的增强版,它在所有问题类型上都优于baseline。 CRONKGQA 在简单的时间推理问题上实现了非常高的准确度,但在涉及需要更复杂推理的问题时却达不到要求。
Related Work
Temporal QA data sets
之前的工作提出了几个 KGQA 数据集(表 1)。 在 SimpleQuestions (Bordes et al., 2015) 中,只需从 KG 中提取一个事实即可回答问题。 MetaQA (Zhang et al., 2017) 和 WebQuestionsSP (Yih et al., 2015) 需要多跳推理,其中必须遍历 KG 中的多个边才能得到答案。 ComplexWebQuestions(Talmor 和 Berant,2018 年)包含多跳和连词/比较类型的问题。 然而,这些都不是针对时间推理的,它们所基于的 KG 是非时间的。
表 1:KGQA 数据集比较。 关于 WebQuestions 的时间问题百分比的统计数据来自 Jia 等人(2018a)。 对于 ComplexWebQuestions,我们没有明确数量的时间问题,但由于它是使用来自 WebQuestions 的问题自动构建的,因此我们预计该百分比与 WebQuestions (16%) 相似。
时间 QA 数据集主要在阅读理解领域进行了研究。 一个这样的数据集是 TORQUE(Ning 等人,2020 年),其中系统被赋予一个问题以及一些上下文(文本段落),并被要求用五个选项回答一个多项选择问题。 TempQuestions (Jia et al., 2018a) 是一个专门针对时间 QA 的 KGQA 数据集。 它由 WebQuestions、Free917(Cai 和 Yates,2013 年)和 ComplexQuestions(Bao 等人,2016 年)的问题子集组成,这些问题本质上是时间性的。 他们给出了“时间问题”的定义,并使用了某些触发词(例如“之前”、“之后”)以及其他约束条件来过滤掉这些数据集中属于该定义的问题。
Temporal QA algorithms
最近的 KGQA 算法适用于非时间性知识图谱,即包含形式事实的知识图谱(主题 , 关系, 对象)。 将这些扩展到包含形式事实(主题、关系、对象、开始时间、结束时间)的时间 KG 是一项不简单的任务。
TEQUILA (Jia et al., 2018b) 是一种专门针对时间 KGQA 的方法。 TEQUILA 将问题分解并重写为非时间子问题和时间约束。然后使用任何 KGQA 引擎检索子问题的答案。 最后,TEQUILA 使用时间间隔上的约束推理来计算完整问题的最终答案。 这种方法的一个主要缺点是使用预先指定的模板进行分解,以及对实体具有时间约束的假设。此外,由于它是为非时间 KG 设计的,因此没有直接的方法将其应用于时间 KG。
CRONQUESTIONS:The New Temporal KGQA dataset
CRONQUESTIONS,我们的 Temporal KGQA 数据集由两部分组成:带有时间注释的 KG,以及一组需要时间推理的自然语言问题。
Temporal KG
构建知识图谱:首先从 Lacroix 等人提出的 WikiData 子集中获取所有带有时间注释的事实。 删除了谓词“member of sports team”的一些实例以平衡 KG,因为该谓词构成了超过 50% 的事实。 时间戳离散为年。从而得到了一个包含 323k 事实、125k 实体和 203 个关系的 KG。
然而,这种对事实的过滤错过了重要的世界事件。 例如,使用上述技术创建的 KG 子集包含实体 World War II,但没有相关的事实告诉我们二战何时开始或结束。需要这些知识来回答诸如“谁是二战期间的美国总统?”之类的问题。 为了克服这个缺点,我们首先从 WikiData 中提取具有“开始时间”和“结束时间”注释的实体。 然后,我们从这个集合中删除了游戏节目、电影或电视剧的实体(因为这些不是重要的世界事件,但确实有开始和结束时间注释),然后删除了少于 50 个相关事实的实体。 然后将最后一组实体作为事实添加到格式中(WWII,重大事件,发生,1939 年,1945 年)。 最终的 Temporal KG 由 328k 个事实组成,其中 5k 个是事件事实。
Temporal Questions
为了生成 QA 数据集,我们从一组用于时间推理的模板开始。 这些是使用我们 WikiData 子集中的五个最常见的关系制作的,即
- 运动队成员(member of sports team)
- 持有的立场(position held)
- 获奖(award received)
- 伴侣(spouse)
- 雇主(employer)
这导致了 30 个独特的种子模板,涵盖五种关系和五种不同的推理结构,如表2。 这些模板中的每一个都有一个相应的过程,可以在时间 KG 上执行以提取该模板的所有可能答案。 然而,我们选择不将此过程作为数据集的一部分,以消除 QA 系统对此类正式候选收集方法的不受欢迎的依赖。因为只需要问答对,这也允许轻松扩充数据集。
表 2:不同类型时间推理的示例问题。 {head}、{tail} 和 {time} 对应于形式事实(head、relation、tail、timestamp)中的实体/时间戳。 {event} 对应于事件事实中的实体,例如。 二战。 {type} 可以是之前/之后之一,{adj} 可以是第一个/最后一个。
随后,人工注释者解释这些模板,以产生更多的语言多样性。 注释者被给予带有虚拟实体和时间的填充槽的模板,并要求重新表述问题,以使虚拟实体/时间出现在释义中并且问题的含义没有改变。 这产生了 246 个独特的模板。然后,我们使用了 Hu 等人开发的单语释义。使用这 246 个模板自动生成释义。通过注释器验证它们的正确性后,我们最终得到了 654 个模板。 然后使用来自 WikiData 的实体别名填充这些模板,以生成 410k 独特的问答对。最后,在将数据拆分为训练/测试集时,我们确保
- 测试集中不存在训练集中的释义。
- 测试集和训练集之间没有实体重叠。 但是允许事件重叠。
第二个要求意味着,如果“谁是奥巴马之前的总统”这个问题出现在训练集中,则测试集不能包含任何提及实体“奥巴马”的问题。 尽管此策略可能看起来过于谨慎,但它确保模型进行时间推理,而不是从训练期间看到的实体进行猜测。
表3:由人和机器生成的充满槽的释义。
我们的数据创建协议的一个缺点是问题/答案对是自动生成的。 因此,从语义的角度来看,问题分布是人为的。 然而,由于开发能够进行时间推理的模型是自然语言理解的一个重要方向,我们认为因为我们的数据集的规模很大,所以他提供了一个机会来训练和评估 KGQA 模型。
我们的每个例子包含:
- 一个转述的自然语言问题。
- 问题中的一组实体/时间。
- 一组目标答案(实体或时间)。
Question Categorization
为了帮助分析,我们将问题分为“简单推理”和“复杂推理”问题(分布统计请参见表4)。
表 4:我们数据集中不同类型推理所需的问题和不同答案类型的问题数量。
Simple Reasoning
这些问题需要一个单一的事实来回答,答案可以是一个实体或一个时间实例。 例如“谁是 2008 年的美国总统?”这个问题。 需要一个事实来回答这个问题,即(巴拉克奥巴马,担任职务,美国总统,2008 年,2016 年)
Complex Reasoning
这些问题需要多个事实来回答,并且可以更加多样化。例如“谁是美国的第一任总统?” 这需要对与“美国总统”实体有关的多个事实进行推理。 在我们的数据集中,所有不是“简单推理”问题的问题都被视为复杂问题。这些进一步分为“之前/之后”、“第一次/最后一次”和“时间加入”类型——这些问题的示例请参见表 2。
Temporal KG Embeddings
ComplEx
ComplEx (Trouillon et al., 2016) 将每个实体表示为一个复数向量 u e ∈ C D u_e∈C^D ue∈CD 每个关系 r 也表示为一个复向量 v r ∈ C D v_r∈C^D vr∈CD。 事实 (s, r, o) 的分数 φ 是
其中 R(·) 表示实部,c* 是复共轭。
TComplEx,TNTComplEx
TComplEx 把每个时间戳 t 也表示为一个复向量 w t ∈ C D w_t∈C^D wt∈CD。 对于事实 (s, r, o, t),它们的 TComplEx 评分函数是
他们的 TNTComplEx 评分函数使用关系 r 的两种表示:对时间敏感的 v r T v_r^T vrT,对时间不敏感的 v r v_r vr。 评分函数是时间敏感部分和时间不敏感部分的总和:
R ( < u s , v r T , u o ∗ , w t > + < u s , v r , u o ∗ , 1 > ) R(<u_s,v_r^T,u_o^*,w_t>+<u_s,v_r,u_o^*,1>) R(<us,vrT,uo∗,wt>+<us,vr,uo∗,1>)。
TimePlex
TimePlex (Jain et al., 2020) 使用嵌入 u t ∈ C D u_t∈C^D ut∈CD 增强了 ComplEx,用于离散化时刻 t。 为了合并时间,TimePlex 对每个关系 r 使用三种表示,即 ( v r S O , v r S T , v r O T ) (v_r^{SO},v_r^{ST},v_r^{OT}) (vrSO,vrST,vrOT) 并将元组 (s, r, o, t) 的基本分数写为
其中α, β, γ 是超参数。
CRONKGQA:Our proposed method
我们从时间 KG 开始,对其应用与时间无关或时间敏感的 KG 嵌入算法(ComplEx、TComplEx 或 TimePlex),并获得时间 KG 的实体、关系和时间戳嵌入。使用以下符号:
- E 是实体嵌入的矩阵
- T 是时间戳嵌入的矩阵
- E.T 是 E 和 T 矩阵的串联。这用于对答案进行评分,因为答案可以是实体或时间戳。
如果实体/时间戳嵌入是 C D C^D CD 中的复值向量,我们将它们扩展为大小为 2D 的实值向量,其中前半部分是实数部分,后半部分是原始向量的复数部分。
我们首先将 EmbedKGQA (Saxena et al., 2020) 直接应用于 Temporal KGQA 的任务。 在其最初的实现中,EmbedKGQA 使用 ComplEx 嵌入,并且只能处理非时间 KG 和单实体问题。为了将其应用于 CRONQUESTIONS,我们将问题中遇到的第一个实体设置为 EmbedKGQA 所需的“头部实体”。 除此之外,我们将实体嵌入矩阵 E 设置为 KG 实体的 ComplEx 嵌入,并将 T 初始化为随机可学习矩阵。 EmbedKGQA 然后对 E.T 执行预测。
接下来,我们修改 EmbedKGQA 以便它可以使用时间 KG 嵌入。 我们使用 TComplEx 来获取实体和时间戳嵌入。 CRONKGQA(图 1)使用两种评分函数,一种用于预测实体,一种用于预测时间。 使用预训练的 LM(BERT)CRONKGQA 找到嵌入 qe 的问题。 然后预计得到两个嵌入, q e e n t qe_{ent} qeent和 q e t i m e qe_{time} qetime,它们分别是实体和时间预测的问题嵌入。
图 1:CRONKGQA 方法。 (i) 时间 KG 嵌入模型(第 4 节)用于为时间知识图中的每个时间戳和实体生成嵌入 (ii) BERT 用于获得两个问题嵌入: q e e n t qe_{ent} qeent 和 q e t i m e qe_{time} qetime。 (iii) 问题中实体/时间提及的嵌入与使用等式 4 和 5 的问题嵌入相结合,以获得实体和时间预测的得分向量。 (iv) 连接得分向量并使用 softmax 获得答案概率。
Entity scoring function
我们从问题中提取主题实体 s 和时间戳 t。 如果其中一个缺失,我们使用一个虚拟实体/时间。
然后,使用等式 2 中的评分函数 φ(s, r, o, t),我们计算每个实体 e ∈ E 的得分为
其中 E 是 KG 中的实体集。 得到每个实体作为答案的分数。
Time scoring function
类似地,我们从问题中提取主题实体 s 和对象实体 o,如果不存在则使用虚拟实体。
然后,使用 2,我们计算每个时间戳 t ∈ T 的得分为
所有实体和时间的分数是连接在一起的,softmax 用于计算这个组合分数向量的答案概率。 该模型使用交叉熵损失进行训练。
Experiments and diagnostics
BERT
我们对 BERT、RoBERTa (Liu et al., 2019) 和 KnowBERT (Peters et al., 2019) 进行了实验,后者是 BERT 的一种变体,其中来自 WikiData 和 WordNet 等知识库的信息已被注入到 BERT 中。 我们在最后一层的 [CLS] 标记上添加一个预测头,并对其进行 softmax 以预测答案概率。
T5
为了将 T5(Raffel 等人,2020)应用于时间 QA,我们将数据集中的每个问题转换为“temporal question:?”的形式。 评估有两种情况:
- 时间答案:我们在 T5 输出和正确答案之间进行精确的字符串匹配。
- 实体答案:我们将系统输出与 KG 中所有实体的别名进行比较。 具有与预测文本输出的最小编辑距离(Levenshtein,1966)的别名的实体被视为预测实体。
Entities as experts
Fevry et al. (2020)提出了 EaE,该模型旨在将实体知识集成到基于 Transformer 的语言模型中。 对于 CRONQUESTIONS 上的时间 KGQA,我们假设在问题 1 中标记了所有实体和时间跨度。我们将此模型称为 T-EaE-add。 我们尝试了 EaE 的另一种变体 T-EaE-replace,我们没有添加实体/时间和 BERT Token 嵌入,而是将 BERT 嵌入替换为实体/时间提及的实体/时间嵌入。
Main results
表 5 显示了我们数据集上各种方法的结果。 我们看到,仅基于大型预训练 LM(BERT、RoBERTa、T5)以及 KnowBERT 的方法的性能明显低于使用 KG 嵌入(时间或非时间)增强的方法。 这可能是因为具有特定于我们的时间 KG 的 KG 嵌入有助于模型专注于那些实体/时间戳。 在我们的实验中,BERT 的性能略好于 KnowBERT,尽管 KnowBERT 在其参数中具有实体知识。T5-3B 在我们测试的 LM 中表现最好,这可能是因为大量的参数和预训练。
表 5:基线性能和我们在 CRONQUESTIONS 数据集上的方法。 midrule 之上的方法不使用任何 KG 嵌入,而下面的方法使用时间或非时间 KG 嵌入。Hits@10 不适用于 T5-3B,因为它是一个文本到文本模型并进行单一预测。
即使在使用 KG 嵌入的方法中,CRONKGQA 在所有指标上都表现最好,其次是 T-EaE-replace。 由于 EmbedKGQA 具有非时间嵌入,因此它在答案为时间的问题上的性能非常低——与 BERT 相当——这是我们的 EmbedKGQA 实现中使用的 LM。
另一个值得注意的有趣事情是在简单推理问题上的表现。CRONKGQA 远远优于简单问题的baseline,达到接近 0.99 hits@1,这比 T-EaE (0.329) 低得多。 我们认为这可能有几个原因:
- 在 CRONKGQA 中使用 TComplEx 评分函数组合嵌入存在归纳偏差,这与用于创建实体和时间嵌入的方法相同,从而使简单的问题易于回答。 然而,不依赖评分函数意味着 T-EaE 可以扩展到任何 KG 嵌入,而 CRONKGQA 不能。
- 另一个促成原因可能是在 CRONKGQA 中要训练的参数较少,而在 T-EaE 中需要从头开始训练 6 层 Transformer 编码器。Transformers 通常需要大量不同的数据才能成功训练。
Performance across question types
表 6 显示了基于 KG 嵌入的模型在不同类型推理中的性能。CRONKGQA 在简单推理问题(简单实体、简单时间)上表现非常出色。 在复杂的问题类型中,所有模型(EmbedKGQA 除外)在加入问题时表现最好(例如,“谁与巴西国家足球队的 Roberto Dinamite 一起踢球”)。 这是因为此类问题通常有多个答案(例如 Roberto Dinamite 为巴西效力时的所有球员),这使得模型更容易做出正确的预测。 在其他两种问题类型中,答案始终是单个实体/时间。对于所有方法来说,之前/之后的问题似乎最具挑战性,最佳方法仅达到 0.288 hits@1。
表 6:不同推理类型问题的 Hits@1。 “简单实体”和“简单时间”对应表 5 中的简单问题类型,其他对应复杂问题类型。
Effect of training dataset size
图 2 显示了训练数据集大小对模型性能的影响。 正如我们所看到的,对于 T-EaE-add,将训练数据集大小从 10% 增加到 100% 会稳定地提高其在简单和复杂推理类型问题上的性能。 这种效果在 CRONKGQA 中对于复杂推理有些存在,但对于简单推理类型的问题则不然。 我们假设这是因为 T-EaE 有更多可训练的参数——它有一个需要从头开始训练的 6 层变换器——而 CRONKGQA 只需要微调 BERT 并训练一些浅投影层。
图 2:CRONKGQA 和 T-EaEadd 的模型性能(hits@10)与训练数据集大小(百分比)。 实线用于简单推理,虚线用于复杂推理类型的问题。 对于每个数据集大小,训练模型直到验证 hits@10 在 10 个 epoch 内没有增加。
Temporal vs. non-temporal KG embeddings
我们进行了进一步的实验来研究时间与非时间 KG 嵌入的效果。 我们将 T-EaE-replace 中的时间实体嵌入替换为 ComplEx 嵌入,并将时间戳视为常规标记(与任何实体/时间提及无关)。 CRONKGQACX 与 EmbedKGQA 相同。 结果可以在表 7 中看到。正如我们所见,对于 CRONKGQA 和 T-EaE-replace,与非时间 KGE (ComplEx) 相比,使用时间 KGE (TComplex) 可以显着提高性能。 与 T-EaE-replace 相比,CRONKGQA 获得了更大的性能提升,这可能是因为评分函数是根据 TComplEx 而不是 ComplEx 建模的,而 TEaE-replace 中没有这种特定于嵌入的工程。 另一个观察结果是,在 CRONKGQA-CX 和 T-EaE-replace-CX 中,具有时间答案的问题的准确度非常低(分别为 0.057 和 0.062),这远低于这些模型使用 TComplEx 实现的准确度。 这表明具有时间 KG 嵌入对于基于 KG 嵌入的方法实现良好性能至关重要。
表 7:使用 ComplEx(CX) 和 TComplEx(TCX) KG 嵌入的 CRONKGQA 和 T-EaE-replace 的 Hits@1。
Conclusion
在本文中,我们介绍了 CRONQUESTIONS,一个用于时间知识图问答的新数据集。 虽然存在一些 Temporal KGQA 数据集,但它们都基于非时间 KG(例如 Freebase)并且问题相对较少。 我们的数据集由时间知识图谱和大量需要各种推理结构的时间问题组成。 为了开发如此庞大的数据集,我们使用了合成生成过程,从而从语义角度产生了人为的问题分布。 我们通过实验表明,增加训练数据集的大小可以稳步提高某些方法在 TKGQA 任务上的性能。
我们首先在我们的新数据集上应用大型预训练的基于 LM 的 QA 方法。 然后,我们将时间和非时间的 KG 嵌入注入到这些 LM 中,并观察到性能的显着提高。 我们还提出了一种新方法 CRONKGQA,它能够利用 Temporal KG Embeddings 来执行 TKGQA。 在我们的实验中,CRONKGQA 优于所有 baseline 。这些结果表明,KG 嵌入可以有效地用于执行时间 KGQA,尽管在涉及复杂推理问题时仍有很大的改进空间。