知识图谱的探索与应用:从Graph RAG到多模态检测与信息寻求

2024-04-03 03:44

本文主要是介绍知识图谱的探索与应用:从Graph RAG到多模态检测与信息寻求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

  1. 知识图谱及其在机器学习和学术研究中的应用
  2. 图 RAG:结合知识图谱提升语言模型性能
  3. 历史链(CoH)推理:时态知识图预测方法
  4. Right for Right Reasons(R3):构建可验证的常识知识图谱问答方法
  5. 网络钓鱼攻击及其基于知识图谱的检测技术
  6. 协调 RAG 和 KG:在自然语言处理中融合检索增强生成和知识图
  7. GRAPE:基于图的知识增强段落阅读器
  8. ISEEQ:利用知识图谱增强信息寻求问题生成

什么是知识图谱?

知识图谱这个概念最初由 Google 在 2012 年提出,用来指代其构建的知识库。知识图谱是强大的工具,用于组织和关联来自多个来源的数据,帮助理解有关利益相关者的信息并尝试在他们之间建立联系。知识图谱广泛应用于搜索引擎、聊天机器人和推荐系统等领域,它通过提供丰富的背景知识、类人意识和概念,使得与文本相关的任务更加高效。

在机器学习领域,知识图谱同样扮演着重要角色。它通过以下方式为机器学习任务提供支持:

  1. 减少对大规模标记数据集的需求,因为知识图谱本身就是一个结构化的数据集。
  2. 支持迁移学习,允许模型在不同的任务和领域之间共享知识和经验。
  3. 促进跨领域学习,通过建立实体之间的联系,使得模型能够更好地理解复杂的数据。

知识图的示例。资料来源:研究图基金会https://research​​hgraph.org/。

知识图谱的使用不仅限于商业应用,在学术界也有广泛的应用。许多研究数据库,如 OpenAlex、Dimensions 和 Lens,都依赖于知识图谱来帮助研究人员。这些工具通过提供丰富的元数据,如书目知识、出版物和引文,来增强研究人员的分析能力,从而推动研究的发展。

图 RAG:RAG & 知识图谱

Graph RAG 是在 RAG 概念的基础上,通过整合知识图谱(KG)来构建的创新方法。这个概念最初由 NebulaGraph提出,它通过将图数据库与 LLM 结合,改变了LLMs解释和响应查询的方式

KG 是现实世界实体及其关系的结构化表示,由节点和边构成,其中节点代表实体(如人、地点、物体或概念),而边则代表实体间的关系或连接。Graph RAG 的创新能力是将 KG 中的结构化数据集成到 LLM 的处理过程中,这种结构化的数据使得模型能够访问精确且上下文相关的数据,为模型的响应提供更为细致和丰富信息的能力。

在图数据库领域,流行的产品包括 Ontotext、NebulaGraph 和 Neo4J。

与传统的 RAG 方法相比,Graph RAG 在处理上下文复杂查询方面的优势变得显而易见,传统的 RAG 技术常常无法解决上下文复杂的问题。它的响应不仅准确,而且更加丰富,包含了上下文和关系,这是传统 RAG 方法所无法提供的深度。

Graph RAG 能够分析用户的查询,在图形数据库中查找相关数据,并结合这种上下文洞察来指导 LLM 的响应。这种方法利用了传统方法可能忽视的相互关联的信息网络,从而对查询有了更细致的理解。

如何提高LLMs为复杂查询提供上下文准确答案的能力的这个基本挑战,在从传统的 RAG 到图 RAG 的转变过程中得到有效解决,这种转变可能有望导致人工智能系统更好地反映人类的思想和发现。 然而,Graph RAG 的有效性并不是万能的解决方案。它仍然很大程度上取决于底层知识图谱的质量、深度和广度。在KG受限或偏向特定领域的场景下,Graph RAG的性能可能无法超越传统的RAG方法。

Connect to the Neo4j Database locally using LangChain(ready-to-use template).

Chain of History (CoH) 推理

时态知识图(TKG)是知识图的一种,它在某些方向上具有时间戳,这使得它可以捕捉到关系随时间演变或事件发生的顺序。在各种应用中,TKG 都发挥着重要作用。例如,它可以展示“阿尔伯特·爱因斯坦”在“1905”发表了相对论。当前的 TKG 研究主要集中在根据历史事实预测未来事实。

最近的监督方法主要使用图神经网络(GNN)来捕捉结构信息,如实体和关系。GNN 能够通过聚合相邻节点的信息来学习实体和关系的表示,有助于识别 TKG 内的模式和联系。然而,GNN 可能无法完全理解 TKG 中实体、关系和时间戳的语义含义,它们更专注于从标记数据中学习模式,这可能无法很好地理解数据的潜在含义。幸运的是,在大型语言模型(LLM)的帮助下,这个问题已经得到了一些探索。然而,仍然存在一些问题,例如过于复杂的历史信息可能会让 LLM 感到困惑,难以给出准确的答案。当向 LLM 输入大量内容时,模型可能难以选择有用的信息,并可能生成与问题无关的答案。

GNN 循环工作。每轮:

  1. 消息传递:每个节点与其邻居“对话”,沿边缘发送消息。这些消息包含有关节点本身及其功能的信息。
  2. 节点更新:每个节点接收来自所有邻居的消息并将它们与自己的信息组合起来。此更新可能涉及计算和应用特殊函数。
  3. 输出计算:根据更新的信息,网络计算每个节点的输出。该输出可以是关于节点类别、其与另一个节点的关系或一些其他相关信息的预测。

这个过程重复多轮,允许节点合并来自其整个邻居的信息,而不仅仅是其直接邻居的信息。随着轮次的进行,网络学会理解节点之间的关系和图的整体结构。

为了解决这些问题,提出了历史链(CoH)推理方法,用于 TKG 预测。CoH 不是一次性向 LLM 提供所有历史记录,而是逐步提供高阶历史记录(例如,与查询不直接相关的信息)。具体来说,CoH 采用 LLM 逐步探索重要的高阶历史链,并仅根据最后一步推断的历史链来推理查询的答案。

一阶历史是那些被认为是与回答查询最相关的单个事件或信息。LLM 分析提供的信息并识别这些关键要素。二阶历史是由一阶历史按特定顺序组合而成的,它们代表可能导致当前情况或回答查询的事件序列。二阶历史超越了孤立的事件,捕捉了它们之间的因果关系。这个过程继续进行,形成三阶、四阶等历史的一阶历史链,形成更复杂的事件序列。

两步 CoH 推理过程的图示。第一步,仅向LLMs提供一阶历史,并要求他们推断最重要的历史。第二步,根据推断的一阶历史向LLMs提供二阶历史链,并要求LLMs推断给定查询的可能答案。然后,LLMs和基于图的模型推断出的答案会自适应地融合,以做出最终的预测。请注意,这仅作为两步推理示例,可以使用 CoH 执行更多步骤。 文章链接:https ://arxiv.org/abs/2402.14382

Right for Right Reasons(R3)

R3 将常识 KGQA 问题转化为树结构搜索,其中每个推理步骤要么基于 KG 事实,要么基于浮现的常识公理,这是使推理过程完全可验证的关键属性。

使用 R3 的常识 KGQA 程序的示例工作流程。 文章链接:https://arxiv.org/abs/2403.01390

在R3的示例工作流程中,首先确定查询中的锚实体,这些实体是查询中与答案最相关的中心实体。然后,获取这些实体的相关子图。接下来,R3展示LLMs的常识公理,这些公理将指导搜索树中该分支的推理步骤。在树的每个深度级别,R3检查可用的知识图谱事实是否可以满足常识公理。如果可以,则提供基于这些事实的子集的答案。如果可用的KG三元组不足,R3会通过从公理向后链接,选择下一个实体来获取其相关的KG子图,以继续搜索。每个分支都可以继续到最大深度。如果在其底部没有得到答案,则会出现一个新的常识公理,它将指导新分支中的搜索,直到搜索树达到其最大宽度。

实验评估表明,R3在三个不同任务(问题回答、声明验证和偏好匹配)中表现优越,优于现有方法,并显着减少了幻觉和推理错误的情况。

网络钓鱼

网络钓鱼攻击是诈骗的一种,它对个人和企业都造成了巨大的损害。为了应对这一威胁,研究人员开发了多种解决方案,其中基于参考的网络钓鱼检测器(RBPD)被认为是最先进的技术之一。

RBPD的工作原理是将目标网页上的徽标与已知徽标进行比较,以确定其真实性。

RBPD由两部分组成:一个包含品牌信息(如徽标和合法域名)的品牌知识库(BKB),以及一个使用BKB中的信息来检测网络钓鱼的检测器主干。如果一个网页展示了某个品牌的徽标,但其域名与该品牌的合法域名不符,那么这个网页就被认为是网络钓鱼页面。

然而,RBPD也存在局限性,例如它无法识别文本品牌意图。为了解决这个问题,最近开发了一个名为KnowPhish的大型多模态BKB,它包含了每个品牌的丰富徽标变体、别名和域名信息。此外,还引入了一种基于大型语言模型(LLM)的方法来识别网页中的品牌意图,并将其与KnowPhish中的别名信息相结合。这种方法可以与任何标准的视觉RBPD集成,从而能够通过视觉和文本方式检测品牌意图。

由此产生的多模式网络钓鱼检测方法称为KnowPhish Detector(KPD),它能够检测带有或不带有徽标的网络钓鱼网页。KnowPhish已被证明可以显著提高RBPD的性能,并且比另一个检测框架DynaPhish快30倍以上,尤其是在使用基于图像的RBPD时。此外,结合多模态方法(如图像、文本、音频等),KPD可以大幅增加检测到的网络钓鱼网页的数量。

协调 RAG 和 KG

检索增强生成(RAG)和知识图(KG)的融合在自然语言处理(NLP)领域带来了令人兴奋的协同作用。 RAG 通过从外部来源和 KG 中仔细选择相关信息来增强大型语言模型的输出,从而实现知情且详细的响应。另一方面,知识图谱提供了现实世界实体及其关系的结构化表示,从而能够探索隐藏的见解并发现复杂的联系。

以 RAG LLM 为中心的通用方案,执行此操作的基本步骤是:

  1. 预处理:清理并标记用户输入以准备处理。
  2. LLM 生成:使用GPT-3 或Jurassic-1 Jumbo等 LLM 生成初始答案回复。
  3. 检索:采用 RAG 技术从文本语料库或知识图中检索相关段落。
  4. Fusion:将检索到的信息整合到LLMs生成的草稿中,创建更明智、更基于事实的响应。
  5. 后处理:优化最终响应的流畅性、语法正确性和整体连贯性。

RAG 以知识图为中心的通用方案,基本步骤是:

  1. 查询公式:将用户输入转换为适合知识图探索的查询。
  2. 知识图:您可以使用 Neo4j 或NebulaGraph来实现检索增强技术。该技术涉及利用知识图来说明实体和关系之间的联系。此外,它还结合了强大的语言模型来改进检索过程。
  3. 事实选择:采用实体链接和推理算法根据查询和上下文选择最相关的事实并确定优先级。
  4. 自然语言生成NLG ):利用BART等专门的 NLG 模型将提取的事实翻译为自然语言响应。
  5. 细化:增强生成的响应的清晰度和连贯性。

RAG 和 KG 的集成开辟了两种管道可能性。以 LLM 为中心的管道优先考虑语言模型的输出,然后使用从知识图谱检索的信息来丰富该输出。另一方面,以知识图为中心的管道将知识图谱置于中心,利用 RAG 技术将结构化见解转化为引人注目的信息丰富的语言。

GRAPE 

QA模型中最常见的模式是采用检索器-阅读器管道,其中检索器旨在检索出与给定问题相关的少量段落,而阅读器则旨在从接收到的段落中推断出最终答案。尽管这些方法在各种开放式域问答基准测试中取得了显著的进步,但最先进的阅读器(例如Fusion-in-Decoder)仍然经常产生与事实相矛盾的答案。

在这种情况下,新的知识图增强段落阅读器涌现,即GRAPE(基于图的RAge PErception),而不是提高检索器的性能,以提高开放域 QA 的阅读器性能。

GRAPE 也采用检索器-读取器管道。具体来说,当提出问题时:

  1. 它首先利用称为DPR的模型从 Wikipedia 检索 top-k 相关段落。
  2. 然后,为了浏览检索到的段落,它为每个问题和段落对构建了一个局部化的二分图(一个图的顶点可以分为两个集合,使得同一个集合中的任何两个顶点都不通过边相连)。构建的图具有关于连接实体之间事实的可管理且丰富的知识。
  3. 最后,使用精心挑选的图,通过一个关系感知的图神经网络(GNN,通常用于对图结构数据进行分类或预测)学习结构化的事实,以生成答案。

给定问题和段落,所提出的 GRAPE 构造一个局部二分图。例如,在这篇文章中,实体分别从问题和文章中提取出来,并插入到它们之前的两个不同的特殊标记中,以构建二部图以供以后使用。 文章链接:https ://arxiv.org/abs/2210.02933

ISEEQ

知识图谱不仅在问答系统中扮演重要角色,还能被用来增强问题生成的过程。信息寻求(IS)是人类学习的一个复杂且结构化的领域,涉及寻求者和提供者之间长时间的对话,以满足寻求者的信息需求。在这个过程中,提供者会提出信息寻求问题(ISQ)来深入了解寻求者的信息。

为了应对ISQ生成中的挑战,最近提出了一种名为ISEEQ的知识图增强信息搜索问题生成器。

ISEEQ的主要组件包括:

  1. 语义查询扩展器(SQE):通过迭代使用ConceptNet Commonsense Knowledge Graph(CNetKG)来扩展用户输入的查询,使其更完整。
  2. 知识感知段落检索器(KPR):从一组段落中检索出最相关的K个段落,并进行排序。
  3. ISEEQ-RL和ISEEQ-ERL:这两个都是基于生成对抗性强化学习的问题生成模型,它们在生成对抗环境中学习问题生成,生成器和鉴别器根据各自的需求相互竞争,由奖励函数引导。ISEEQ-RL和ISEEQ-ERL的主要区别在于它们的损失函数。

ISEEQ 概述。 ISEEQ 结合了基于 BERT 的选区解析器、语义查询扩展器 (SQE) 和知识感知段落检索器 (KPR),为 ISQ 生成的问题生成 (QG) 模型提供相关上下文。 文章链接:https://arxiv.org/abs/2112.07622

这篇关于知识图谱的探索与应用:从Graph RAG到多模态检测与信息寻求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871829

相关文章

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件