【TKGQA】关于时间知识图谱问答的一篇综述阅读

前言

时间知识图谱问答(TKGQA)是KBQA中一个关注时间问题的重要子任务。时间问题包含时间约束、需要时间标记的答案,反映了现实世界事件的动态和演变性质。

一、TKGQA

1.1 概述

  1. 时间知识图谱(TKG):

    • 通常表示为 G = (E, R, T, F),其中 E、R、T 和 F 分别代表实体(entities)、关系(relations)、时间戳(timestamps)和事实(facts)。
    • 一个时态事实 f ∈ F 由一个或多个实体、关系和相关的时间戳组成。
    • 时态事实可以以多种形式表示,包括复合值类型(Compound Value Types,简称 CVTs)、三元组、n-元组、五元组和四元组。
  2. 时态问题(Temporal Question):

    • 时态问题至少包含一个时态约束或需要时间戳作为答案。
    • 时态约束涉及时态表达式和时态词的组合,为答案必须满足的特定时间点或时间间隔设置条件(例如,“在1996年”)。
    • 时态表达式指的是具有不同粒度级别的自然语言中的时间点或时间间隔(例如,“2024年5月11日”)。
    • 时态词表示时态表达式之间的时态关系,并作为触发词对答案施加约束(例如,“在”,“之后”或“期间”)。
  3. 时间知识图谱问答(TKGQA)任务:

    给定时态知识图谱 G 和自然语言中的时态问题 q,TKGQA 任务的目标是使用 G 中的一组实体{ e | e ∈ E }或时间戳 {τ | τ ∈ T}来回答 q。

1.2 相关数据集

二、时间问题分类

作者们根据问题内容、答案类型和复杂性三个维度对时态问题进行了分类:

  1. 问题内容(Question Content):

    • 时态粒度(Temporal Granularity):问题可以根据其时态表达式的粒度进行分类,常见的粒度包括“年”、“月”、“日”,其中“年”是最常见的。

    • 时态表达式(Temporal Expression):

      问题可以基于其时态表达式的性质被分类为显式的或隐式的。显式的时态表达式可以在不需要额外上下文的情况下标准化(例如,“2023年9月”可以标准化为2023-09)。而隐式的时态表达式,如事件名称或具有时态范围的短语(例如,“2024年巴黎奥运会”),需要上下文信息才能被标准化为特定的时间间隔。

    • 时态约束(Temporal Constraints):

      时态约束的类型反映了时态表达式之间的时态关系。作者简化了 Allen 的内部代数用于时态推理,将其归纳为六种关系类型:Before/After(之前/之后)、Equal(相等)、Overlap(重叠)、During/Include(期间/包含)、Start/End(开始/结束)、Ordinal(序数)。

    • 时态约束组合(Temporal Constraints Composition):

      当一个问题中存在多个时态约束时,就会发生时态约束的组合。例如,“谁是2005年第一个要求与多哥会面的?”这个问题结合了 Equal 类型的约束“在2005年”和 Ordinal 类型的约束“第一个”,答案必须同时满足这两个约束。

  2. 答案类型(Answer Type):

    时态问题可能需要的答案类型可以是实体的集合或时间戳的集合,时间戳的粒度会根据具体问题而变化。答案类型由问题词引导,例如“谁”用于实体,“哪一年”用于时间戳。

  3. 复杂性(Complexity):

    KBQA 任务中定义复杂问题为需要从多个事实中检索答案的问题。受这些工作启发,作者也根据复杂性对时态问题进行了分类,将时态问题分为简单和复杂两类。

    • 简单问题(Simple questions):简单问题依赖于单一事实进行解答。例如,“2012年德国使用的货币是什么?”只需要检索一个事实 <德国, 货币, 欧元, 2012>。
    • 复杂问题(Complex questions):复杂问题需要整合多个事实。例如,“奥巴马之前的美国总统是谁?”首先根据事实 <奥巴马, 美国总统, 2009, 2017> 建立时间约束“2009年之前”,然后系统识别出立即之前的个人,通过事实 <乔治·W·布什, 美国总统, 2001, 2009> 确认为乔治·W·布什,这种多步骤推理过程展示了这类问题的复杂性。

相关数据集覆盖情况

三、TKGQA方法

3.1 基于语义解析的方法(SP-based)

通常有四个步骤:

  1. 问题理解(Question Understanding):将自然语言问题转换为编码表示,以便于后续解析。例如,使用抽象意义表示(AMR)来捕捉时态词汇和隐式的时态约束。

  2. 逻辑解析(Logical Parsing):将编码的问题转换为未实例化的逻辑形式。这可能涉及到使用预定义的规则或模板来解析问题。

  3. TKG 定位(TKG Grounding):通过TKG中的元素(实体、关系、时间戳)来定位未绑定的逻辑形式中的元素。

  4. 查询执行(Query Execution):执行定位后的逻辑形式,以从TKG中检索最终答案。一些方法在这一阶段进行时态推理。

3.2 基于时态知识图谱嵌入的方法(TKGE-based)

通常有三个步骤:

  1. TKG 嵌入(TKG Embedding):生成TKG元素(实体和时间戳)的嵌入表示,并创建候选答案池。

  2. 问题嵌入(Question Embedding):分析时态问题的语义,并整合与时间相关的信息,以嵌入问题。

  3. 答案排序(Answer Ranking):基于问题和候选答案的嵌入表示,对候选答案进行排序。

3.3 方法对比

下表探讨了不同方法在处理简单和复杂问题时的表现,以及它们在处理显式和隐式时态表达、不同粒度的时态粒度、不同类型时态约束和组合时的能力。

四、Leaderboard

结论

该文章建立了一个关于时间问题分类体系,基于问题内容、答案类型和复杂性对问题进行分类。并现有方法分为两类:基于语义解析的方法和基于时间知识图谱嵌入的方法。

参考文献

  • Temporal Knowledge Graph Question Answering: A Survey,https://arxiv.org/pdf/2406.14191

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vcpkg安装g2o,提示找不到cs.h,debug模式运行提示找不到libcxsparse.dll

1 找不到cs.h 在VS中双击错误提示&#xff0c;定位到csparse_extension.h文件&#xff0c;将 #include<cs.h>修改为 // #include<cs.h> #include <suitesparse/cs.h>即可正常编译 2 debug模式找不到libcxsparse.dll 我这边直接使用RelWithDebug模式&…

代码随想录算法训练营Day22|235. 二叉搜索树的最近公共祖先 ,701.二叉搜索树中的插入操作 ,450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先&#xff1a;代码随想录 这道题目的意思和前面的二叉树的最近公共祖先一样&#xff0c;只不过是换成了二叉搜索树&#xff0c;我采用的方法还是和普通二叉树一样&#xff0c;利用回溯的方法&#xff0c;来看具体代码的实现 class Solution { publ…

Android 添加自己的时钟小部件

小部件&#xff0c;也叫微件&#xff0c; 它的介绍参考官网 应用 widget 概览 https://developer.android.google.cn/develop/ui/views/appwidgets/overview?hlzh-cn 直接上图&#xff0c;原生系统上&#xff0c;时钟应用的小部件效果。 我也整一个。 1.创建小部件布局文…

tp5学习基本控制器和视图

1 文件结构 正在上传…重新上传取消 application 主要操作目录 extend 扩展 public 入口文件 runtime 运行时文件 thinkphp 核心代码 vendor 三方扩展 2 public/index.php 解析 正在上传…重新上传取消 .htaccess Apache 可写文件 index.php 主目录 router.php 路由文件 3 inde…

C++ 丑数

描述 把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。例如6、8都是丑数&#xff0c;但14不是&#xff0c;因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围&#xff1a;0≤&#x1d45b;≤20000≤n≤…

【34W字CISSP备考笔记】域1:安全与风险管理

1.1 理解、坚持和弘扬职业道德 1.1.1.(ISC)职业道德规范 1、行为得体、诚实、公正、负责、守法。 2、为委托人提供尽职、合格的服务。 3、促进和保护职业。 4、保护社会、公益、必需的公信和自信&#xff0c;保护基础设施。 1.1.2.组织道德规范 1、RFC 1087 &#xff0…

乳腺癌患者的生存分析:从传统方法到DeepSurv

一、引言 乳腺癌作为全球女性中最常见的癌症之一&#xff0c;其早期诊断和治疗对于提高患者生存率至关重要。随着医学技术和数据分析方法的不断发展&#xff0c;乳腺癌患者的生存分析逐渐成为研究的热点。通过生存分析&#xff0c;我们可以更好地理解疾病进展、预测患者预后&am…

Python发送HTML邮件有哪些步骤?怎么设置?

Python发送HTML邮件如何实现&#xff1f;Python发送邮件的策略&#xff1f; HTML邮件不仅可以包含丰富的文本格式&#xff0c;还可以插入图片、链接和其他多媒体内容&#xff0c;从而提升邮件的美观性和功能性。AokSend将详细介绍Python发送HTML邮件的主要步骤&#xff0c;帮助…

Redis进阶 - Redis 淘汰策略

我们知道Redis是分布式内存数据库&#xff0c;基于内存运行&#xff0c;可是有没有想过比较好的服务器内存也不过几百G&#xff0c;能存多少数据呢&#xff0c;当内存占用满了之后该怎么办呢&#xff1f;Redis的内存是否可以设置限制&#xff1f; 过期的key是怎么从内存中删除的…

【CSS in Depth2精译】1.4 简写属性

文章目录 1.4 简写属性1.4.1 当心简写属性悄悄覆盖其他样式1.4.2 记住简写值的顺序1 上、右、下、左顺序2 先水平、再垂直的顺序 1.4 简写属性 简写属性&#xff08;Shorthand properties&#xff09; 是可以一次性设置多个属性值的样式属性。例如&#xff0c; font 就是一个简…

FreeRTOS必考面试题及参考答案

什么是RTOS?FreeRTOS是什么?它主要应用于哪些领域? RTOS,即实时操作系统(Real-Time Operating System),是一种专门为实时应用程序设计的操作系统,它强调的是对外部事件的快速响应和可预测性。实时系统通常要求在严格的时限内完成关键任务,因此RTOS具备优先级调度、确…

柯桥商务英语培训|老外和你说Tom和Jack,可不是在说人名!所以是啥意思?

小明和小李&#xff0c;这两个人在中国相信没有谁不认识他们了。而且有关他们的梗更是传遍大街小巷。 例如&#xff1a;小明他爷爷活了103岁&#xff0c;小明做数学题&#xff0c;又或者是小李的老婆比小明小2岁等等。 其实在国外&#xff0c;也有这么两个人像小明、小李一样&a…

Windows服务运维脚本指南

我在写go服务程序&#xff0c;而且运行在Windows上&#xff0c;为了方便启停服务&#xff0c;我决定写一个脚本来管理服务。由于运行在Windows上&#xff0c;所以选择bat批处理脚本。 首先我们需要确定一下脚本的结构。我们需要4个参数&#xff0c;用来启动、重启、停止应用以…

面向对象的进阶---static

1.static 静态变量 package com.itheima.a01staticdemo01;public class Student {private String name;private int age;public static String teacherName;public Student() {}public Student(String name, int age) {this.name name;this.age age;}/*** 获取* return n…

FPGA 690T 高速存储设计

高速存储设计会有各种需求的考虑&#xff0c;那么对应的方案也不完全相同&#xff0c;这篇文章出一期纯FPGA实现的高速存储方案。用纯fpga实现高速存储板卡有易国产化&#xff0c;功耗低和体积小等特点&#xff0c;缺点就是灵活性不是很强&#xff0c;实现标准ext4和nfs文件系统…

让你的 Python 代码更快的小技巧

我们经常听到 “Python 太慢了”&#xff0c;“Python 性能不行”这样的观点。但是&#xff0c;只要掌握一些编程技巧&#xff0c;就能大幅提升 Python 的运行速度。 今天就让我们一起来看下让 Python 性能更高的 9 个小技巧 python学习资料分享&#xff08;无偿&#xff09;…

单片机练习题3

一、填空 1&#xff0e;与汇编语言相比&#xff0c; C51语言具有 、 、 、 等优点。答&#xff1a;可读性好&#xff0c;可移植性好&#xff0c;模块化开发与资源共享&#xff0c;生成的代码效率高 2&#xff0e;C51语言头文件包括的内容有…

java:JWT的简单例子

【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>org.springf…

Python机器学习分类算法(三)-- 随机森林(Random Forest)

随机森林&#xff08;Random Forest&#xff09;原理基于集成学习思想&#xff0c;通过构建多棵决策树并集成它们的预测结果来提高模型的准确性和稳定性。具体来说&#xff0c;随机森林首先通过自助法&#xff08;bootstrap&#xff09;从原始数据集中随机抽取多个样本子集&…

U-Net for Image Segmentation

1.Unet for Image Segmentation 笔记来源&#xff1a;使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割) 1.1 DoubleConv (Conv2dBatchNorm2dReLU) import torch import torch.nn as nn import torch.nn.functional as F# nn.Sequential 按照类定义的顺序去执行模型&…