自然语言处理: 知识图谱的十年

news2024/11/28 0:44:33

动动发财的小手,点个赞吧!

NLP 中结合结构化和非结构化知识的研究概况

自 2012 年谷歌推出知识图谱 (KG) 以来,知识图谱 (KGs) 在学术界和工业界都引起了广泛关注 (Singhal, 2012)。作为实体之间语义关系的表示,知识图谱已被证明与自然语言处理(NLP)特别相关,并且在最近几年迅速流行起来,这一趋势似乎正在加速。鉴于该领域的研究工作越来越多,NLP 研究界已经对几种与 KG 相关的方法进行了调查。然而,迄今为止,仍缺乏对既定主题进行分类并审查各个研究流的成熟度的综合研究。为了缩小这一差距,我们系统地分析了 NLP 中关于知识图谱的文献中的 507 篇论文。因此,本文[1]对研究前景进行了结构化概述,提供了任务分类,总结了发现,并强调了未来工作的方向。

什么是自然语言处理?

自然语言处理 (NLP) 是语言学、计算机科学和人工智能的一个子领域,关注计算机与人类语言之间的交互,特别是如何对计算机进行编程以处理和分析大量自然语言数据。

什么是知识图?

KGs 已经成为一种以机器可读格式语义表示真实世界实体知识的方法。大多数作品隐含地采用了知识图谱的广义定义,将它们理解为“旨在积累和传达现实世界知识的数据图,其节点代表感兴趣的实体,其边代表这些实体之间的关系”。

为什么我们在 NLP 中使用知识图谱?

底层范式是结构化和非结构化知识的结合可以使各种 NLP 任务受益。例如,可以将知识图谱中的结构化知识注入语言模型中发现的上下文知识中,从而提高下游任务的性能(Colon-Hernandez 等人,2021)。此外,鉴于当前关于大型语言模型(例如 ChatGPT)的公开讨论,我们可能会使用 KG 来验证并在必要时纠正生成模型的幻觉和错误陈述。此外,随着 KG 的重要性日益增加,从非结构化文本构建新的 KG 的努力也在不断扩大。

NLP 中如何使用知识图谱?

研究格局的特点

下图显示了十年观察期内的出版物分布情况。

alt

虽然第一批出版物出现在 2013 年,但年度出版物在 2013 年至 2016 年间增长缓慢。从 2017 年开始,出版物数量几乎每年翻一番。由于这些年研究兴趣的显着增加,超过 90% 的出版物都来自这五年。尽管增长趋势似乎在 2021 年停止,但这很可能是由于数据导出发生在 2022 年的第一周,遗漏了许多 2021 年的研究,这些研究在 2022 年晚些时候被纳入数据库。尽管如此,趋势清楚地表明KG 越来越受到 NLP 研究界的关注。

此外,我们观察到研究文献中探索的领域数量与年度论文数量同步快速增长。在下图中,显示了十个最常用的域。

alt

令人惊讶的是,健康是迄今为止最突出的领域。后者出现的频率是排名第二的学术领域的两倍多。其他受欢迎的领域是工程、商业、社交媒体或法律。鉴于领域的多样性,很明显 KGs 自然适用于许多不同的环境。

研究文献中的任务

基于 NLP 知识图谱文献中确定的任务,我们开发了如下所示的实证分类法。

alt

两个顶级类别包括知识获取和知识应用。知识获取包含 NLP 任务,从非结构化文本构建知识图谱(知识图谱构建)或对已构建的知识图谱进行推理(知识图谱推理)。 KG 构建任务进一步分为两个子类:知识提取,用于用实体、关系或属性填充 KG,以及知识集成,用于更新 KG。知识应用是第二个顶级概念,包含常见的 NLP 任务,这些任务通过 KG 的结构化知识得到增强。

知识图谱构建

实体提取任务是构建知识图谱的起点,用于从非结构化文本中提取真实世界的实体。一旦相关实体被挑选出来,它们之间的关系和交互就会通过关系抽取的任务被发现。许多论文同时使用实体抽取和关系抽取来构建新的知识图谱,例如,用于新闻事件或学术研究。实体链接是将某些文本中识别的实体链接到知识图谱中已经存在的实体的任务。由于同义或相似的实体经常存在于不同的知识图谱或不同的语言中,因此可以执行实体对齐以减少未来任务中的冗余和重复。提出 KGs 的规则和方案,即它们在其中呈现的知识的结构和格式,是通过本体构建的任务完成的。

知识图谱推理

一旦构建,知识图谱就包含结构化的世界知识,可用于通过对它们进行推理来推断新知识。因此,对实体进行分类的任务称为实体分类,而链接预测是推断现有知识图谱中实体之间缺失链接的任务,通常通过对实体进行排序作为查询的可能答案来执行。知识图嵌入技术用于创建图的密集向量表示,以便它们随后可用于下游机器学习任务。

知识应用

现有的知识图谱可用于多种流行的 NLP 任务。在这里,我们概述了最受欢迎的。问答 (QA) 被发现是使用知识图谱最常见的 NLP 任务。此任务通常分为文本 QA 和知识库问答 (KBQA)。文本 QA 从非结构化文档中获取答案,而 KBQA 从预定义的知识库中获取答案。 KBQA 自然地与 KGs 联系在一起,而文本 QA 也可以通过使用 KGs 作为回答问题时的常识性知识来源来实现。这种方法之所以受欢迎,不仅因为它有助于生成答案,还因为它使答案更易于解释。语义搜索是指“有意义的搜索”,其目标不仅仅是搜索字面匹配,还包括了解搜索意图和查询上下文。此标签表示使用知识图谱进行搜索、推荐和分析的研究。示例是称为 ConceptNet 的日常概念的大型语义网络和学术交流和关系的 KG,其中包括 Microsoft Academic Graph。对话界面构成了另一个 NLP 领域,可以从知识图谱中包含的世界知识中获益。我们可以利用知识图谱中的知识来生成会话代理的响应,这些响应在给定的上下文中提供的信息更丰富、更合适。

自然语言生成 (NLG) 是 NLP 和计算语言学的一个子领域,它与从头开始生成自然语言输出的模型有关。 KG 在此子领域中用于从 KG 生成自然语言文本、生成问答对、图像字幕的多模式任务或低资源设置中的数据增强。文本分析结合了各种用于处理和理解文本数据的分析 NLP 技术和方法。示例性任务是情绪检测、主题建模或词义消歧。增强语言模型是大型预训练语言模型 (PLM) 的组合,例如 BERT(Devlin 等人,2019 年)和 GPT(Radford 等人,2018 年)与知识图谱中包含的知识。由于 PLM 从大量非结构化训练数据中获取知识,因此将它们与结构化知识相结合的研究趋势正在兴起。来自知识图谱的知识可以通过输入、架构、输出或它们的某种组合被注入语言模型。

在 NLP 中使用知识图的热门任务

下图显示了 NLP 中使用知识图谱最流行的任务。

alt

我们可以观察到,诸如关系抽取或语义搜索之类的任务已经存在了一段时间,并继续稳步增长。在我们的研究中,我们使用这个作为一个指标来得出关系提取或语义搜索等任务已经相当成熟的结论。相比之下,增强语言模型和知识图嵌入任务仍然可以被认为是相对不成熟的。这可能是因为这些任务还相对年轻且研究较少。上图显示,这两项任务从 2018 年开始研究量急剧增加,并引起了广泛关注。

总结

近年来,KGs 在 NLP 研究中的地位日益突出。自 2013 年首次发表以来,全世界的研究人员越来越关注从 NLP 的角度研究知识图谱,尤其是在过去的五年中。为了概述这个成熟的研究领域,我们对 KGs 在 NLP 中的使用进行了多方面的调查。我们的研究结果表明,NLP 中有关知识图谱的大量任务已在各个领域进行了研究。关于使用实体抽取和关系抽取构建 KG 的论文占所有作品的大部分。 QA 和语义搜索等应用 NLP 任务也有强大的研究社区。近年来最新兴的主题是增强语言模型、QA 和 KG 嵌入。

一些概述的任务仍然局限于研究界,而其他任务已经在许多现实生活中找到了实际应用。我们观察到 KG 构建任务和对 KG 的语义搜索是应用最广泛的任务。在 NLP 任务中,QA 和对话界面已被许多现实生活领域采用,通常以数字助理的形式出现。 KG 嵌入和增强语言模型等任务仍处于研究阶段,在现实场景中缺乏广泛的实际应用。我们预计,随着增强语言模型和 KG 嵌入的研究领域的成熟,将针对这些任务研究更多的方法和工具。

Reference

[1]

Source: https://towardsdatascience.com/a-decade-of-knowledge-graphs-in-natural-language-processing-5fdb15abc2b3

本文由 mdnice 多平台发布

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

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

相关文章

ECharts 横向柱状图自动滚动

核心代码 const seriesList [120, 200, 150, 80, 70, 110, 130, 120, 200, 150, 120, 200]; const xAxisList [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; const dataZoomEndValue 6; // 数据窗口范围的结束数值(一次性展示几个) dataZoom: [{show: false, // 是否显示滑动…

Java面向对象高级【类加载器】

目录 Java程序是怎样被运行的 类加载器的作用 加载类文件 链接类 定位类 类加载器间的委派 实现类的隔离 类加载器的类型 启动类加载器(Bootstrap Class Loader) 扩展类加载器(Extension Class Loader) 应用程序类加载器…

数据结构和算法学习记录——二叉树的非递归遍历(中序遍历、先序遍历、后序遍历)

目录 中序遍历 代码实现 思路图解 先序遍历 代码实现 后序遍历 思路图解 二叉树的非递归遍历运用到堆栈 中序遍历 循环的思路是 遇到一个节点,就把它压栈,并去遍历它的左子树。当左子树遍历结束之后,从栈顶弹出这个节点并访问…

MybatisPlus主键策略

Mybatis默认主键策略是TableId(type IdType.ASSIGN_ID) 这是默认策略雪花算法 此时主键类型可以是String 数据表字段类型可以是bigint int varchar 无需数据表主键自增 TableId(type IdType.ASSIGN_AUTO) 是主键自增策略:该策略为跟随数据库表的主键递增策略&…

大数据挖掘建模平台产品功能特点

大数据挖掘建模平台是面向大数据挖掘教学实训的工具。在“泰迪杯”数据挖掘挑战赛中大多学生都有使用到该工具,平台采用可视化操作方式,通过丰富内置算法,帮助用户快速、一站式的进行数据分析及挖掘建模。可应用于处理海量数据、高复杂性的数…

C语言判断素数的实现及数学原理

本篇博客会讲解如何使用C语言来判断一个整数是不是素数。 实现方法 如何判断一个数是不是素数呢?如果这个数只能被1或者它自己整除,那么它就是一个素数。 如何写代码来判断呢?假设要判断一个数num是不是素数,就让2~(num-1)的数…

LeetCode037之解数独(相关话题:回溯法)

题目描述 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 . 表示…

Nginx入门和使用

Nginx入门 基础 https://blog.csdn.net/weixin_40792878/article/details/83316519 快速入门 Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强; 代理:用于隐藏客户端或者目标服务器,是客…

通过案例来了解响应式开发(HTML,CSS)的视频控件

目录 前言 一、视频控件的使用方法 1.语法 二、部分属性 二、案例举例 三、播放效果 前言 1.本文讲解的响应式开发技术(HTML5CSS3Bootstrap)的HTML5表单等功能方法的代码,这也是很多教材的一个典型案例; 2.本文将讲解涉及到…

腾讯轻联测试预览报错怎么办?

在腾讯轻联配置过程中,经常遇到测试预览失败的报错。首先我们整体介绍一下【测试预览】的作用。增加【测试预览】的节点的作用主要有两个: ● 第一个作用是为了保证我们应用连接能通畅,可以获取到数据,避免后续由于设置问题&…

IntelliJ IDEA安装及jsp开发环境搭建

一、前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目,一直想吐槽为嘛java项目只能i…

Docker Registry 本地镜像发布到私有库

本地镜像发布到私有库流程 是什么1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公…

【Spring Security】 入门实战

文章目录一、基本概念二、Spring Security第一个程序三、Spring Security没有生效四、修改默认账号密码(appliction.yml)五、修改默认账号密码(配置类)六、Spring Security的三个configure方法七、Spring Security的三种身份的验证…

Android 面试—深入理解Android类加载机制

前言 任何一个java程序都是由一个或者多个class文件组成,在程序运行时,需要将class文件加载到JVM中才可以使用,负责加载这些class文件的就是java的类加载机制。ClassLoader的作用简单的来说就是加载class文件,提供给程序运行时使…

结构体联合体sizeof内存求值 - 对齐数

讲解下struct和union的内存求值和对齐 以题目讲解 结构体联合体sizeof内存求值 - 对齐数不同位数下类型字节大小内存对齐规则struct 内存对齐求值嵌套struct内存对齐求值union的内存大小求值union大小计算准则struct嵌套union内存对齐求值不同位数下类型字节大小 一定要搞清楚…

【机器学习】P18 反向传播(导数、微积分、链式法则、前向传播、后向传播流程、神经网络)

反向传播反向传播反向传播中的数学导数与python链式法则简单神经网络处理流程从而理解反向传播神经网络与前向传播神经网络与反向传播反向传播 反向传播(back propagation)是一种用于训练神经网络的算法,其作用是计算神经网络中每个参数对损…

【Java虚拟机】JVM核心基础和常见参数实战

1.新版JVM内存组成部分和堆空间分布 JVM内存的5大组成(基于JDK8的HotSpot虚拟机,不同虚拟机不同版本会有不一样) 名称作用特点程序计数器也叫PC寄存器,用于记录当前线程执行的字节码指令位置,以便线程在恢复执行时能…

常见的DNS攻击与相应的防御措施

DNS查询通常都是基于UDP的,这就导致了在查询过程中验证机制的缺失,黑客很容易利用该漏洞进行分析。DNS服务可能面临如下DNS攻击风险: 黑客伪造客户端源IP地址发送大量的DNS请求报文,造成DNS request flood攻击。 黑客伪造成授权服…

MongoDB实现---存储机制

储存 GridFS机制 GridFS:将大文件分隔成多个小文档存放,这样我们能够有效的保存大文档,而且解决了BSON对象有限制的问题;通过两个集合实现:两个集合分别存储存储实际数据和存储文件的元数据: 元数据文件&…

一篇文章搞定《动手学深度学习》-(李沐)PyTorch版本的所有内容

目录 目录 简介 阅读指南 1. 深度学习简介 2. 预备知识 3. 深度学习基础 4. 深度学习计算 5. 卷积神经网络 6. 循环神经网络 7. 优化算法 8. 计算性能 9. 计算机视觉 10. 自然语言处理 环境 参考(大家可以在这里下载代码) 原书地址&#…