ITPub博客

首页 > 数据库 > 数据库开发技术 > RAG的究极进化:知识图谱和向量检索结合

RAG的究极进化:知识图谱和向量检索结合

原创 数据库开发技术 作者:芝士AI吃鱼 时间:2023-11-18 08:42:52 0 删除 编辑

基于大量文本数据训练的大语言模型 (LLM) 的出现,是自然语言处理领域最重大的突破之一。这些模型只需简短的提示即可生成非常流畅和连贯的文本,为对话式人工智能、创意写作和各种其他应用开辟了新的可能性。

然而,尽管大模型拥有让人惊叹的文本生成能力,但他们也有一些局限性。他们的知识仅限于训练数据,这意味着他们缺乏对世界的动态认知。

他们的推理能力也很有限——他们无法进行逻辑推理或综合多个来源的事实。当我们提出更复杂、开放式的问题时,答案开始变得无意义或矛盾。

为了解决这些差距,人们对检索增强生成(RAG)系统越来越感兴趣。关键思想是从外部来源检索相关知识,为大模型提供背景,以便做出更明智的回应。

大多数现有系统使用向量嵌入的语义相似性来检索段落。然而,这种方法有其自身的缺点,例如缺乏真正的相关性、无法汇总事实以及没有思维链。

这就是知识图谱发挥作用的地方。知识图谱是现实世界实体和关系的结构化表示。他们通过编码上下文事实之间的互连来克服纯向量搜索的缺陷。遍历知识图谱可以实现跨不同信息源的复杂多跳推理。

在本文中,我们深入探讨如何将向量嵌入和知识图谱相结合来解锁大模型的推理、准确性和解释能力的新水平。这种模式提供了表面语义与结构化知识和逻辑的完美结合。就像我们自己的想法一样,大模型既需要统计学习也需要符号表示。

我们首先探讨单独依赖向量搜索的问题。然后,我们讨论知识图谱和嵌入如何相互补充,而单独使用这两种技术是不够的。

原始向量搜索的局限性

大多数 RAG 系统依赖于对文档集合中的段落进行向量搜索过程来查找大模型的相关上下文。这个过程有几个关键步骤:

  1. 文本编码:系统使用 BERT、M3E 等嵌入模型将语料库中的文本段落编码为向量表示。每个段落都被压缩成一个捕获语义意义的稠密向量。

  2. 索引:这些段落向量在高维向量空间中建立索引,以实现快速相似性搜索。流行的方法包括 ANNOY、Faiss 和 Pinecone。

  3. 查询编码:当用户查询进入时,它也会使用相同的嵌入模型被编码为向量表示。

  4. 相似性检索:对索引的段落进行相似性搜索,以根据余弦相似性等距离度量找到最接近查询向量的内容。

  5. 段落返回:返回最相似的段落向量,并提取原文,为LLM提供上下文。

该Pipeline有几个关键限制:

  • 段落向量可能无法完全捕获查询的语义意图。重要的上下文最终会被忽视,因为嵌入无法表示某些推理联系。

  • 将整个段落压缩为单个向量时会丢失细微差别。嵌入句子中的关键相关细节变得模糊。

  • 每个段落的匹配都是独立完成的。不同段落之间没有联合分析来连接事实并得出需要聚合的答案。

  • 排名和匹配过程是不透明的,无法透明地解释为什么某些段落被认为更相关。

  • 仅对语义相似性进行编码,不表示内容之间的关系、结构、规则和其他不同的联系。

对语义向量相似性的单一关注导致检索缺乏真正的理解。随着查询变得越来越复杂,这些限制变得越来越明显,无法对检索到的内容进行推理。

结合知识图谱

知识图谱表示实体和关系互连网络中的信息,从而能够跨内容进行更复杂的推理。

以下是知识图谱能够增强检索的方式:

  1. 显式事实——事实直接捕获为节点和边,而不是压缩为不透明的向量。这保留了关键细节。

  2. 上下文详细信息——实体包含丰富的属性,例如提供关键上下文的描述、别名和元数据。

  3. 网络结构——关系对实体之间的现实世界连接进行建模,捕获规则、层次结构、时间线等。

  4. 多跳推理——查询可以遍历关系以连接来自不同来源的事实。需要跨多个步骤进行推理才能得出答案。

  5. 联合推理——实体解析将引用链接到同一现实世界对象,从而允许集体分析。

  6. 可解释的相关性——图拓扑提供了透明度,说明为什么某些事实基于它们的连接是相关的。

  7. 个性化——捕获用户属性、上下文和历史交互来定制结果。

知识图谱不是孤立的匹配,而是使图遍历过程能够收集与查询相关的互连上下文事实。可基于拓扑进行可解释的排名。丰富的知识表示赋予更复杂的推理能力。

知识图谱通过编码结构化事实、关系和上下文来增强检索,以实现精确的多步骤推理。与纯矢量搜索相比,这提供了更大的相关性和解释力。

将知识图谱与嵌入和约束相结合

知识图谱将实体和关系表示为向量嵌入,以实现数学运算。附加约束可以使表示更加优化:

  1. 非负约束——将实体嵌入限制为 0 到 1 之间的正值会导致稀疏性。这仅明确地模拟它们的积极属性并提高可解释性。

  2. 蕴涵约束——将对称、反转、组合等预期逻辑规则直接编码为关系嵌入的约束来强制执行这些模式。

  3. 置信度建模——具有松弛变量的软约束可以根据证据对逻辑规则的不同置信度进行编码。

  4. 正则化——约束施加有用的归纳偏差,而不会使优化变得更加复杂。仅添加了投影步骤。

  5. 可解释性——结构化约束为模型学习的模式提供了透明度。这解释了推理过程。

  6. 准确性- 约束通过将假设空间缩小为兼容的表示来提高泛化能力。这提高了未见过的查询的准确性。

添加简单但通用的约束可以增强知识图谱嵌入,以生成更优化、可解释且逻辑上兼容的表示。嵌入获得模仿现实世界结构和规则的归纳偏差。这会导致更准确和可解释的推理,而不会增加太多的复杂性。

整合多种推理框架

知识图谱需要推理来得出新事实、回答查询并做出预测。不同的技术具有互补的优势:

  1. 逻辑规则——将知识表达为逻辑公理和本体。通过定理证明进行合理而完整的推理。有限的不确定性处理。

  2. 图嵌入- 嵌入向量空间操作的知识图谱结构。处理不确定性但缺乏表达力。

  3. 神经证明器- 可微定理证明模块与向量查找相结合。适应性但不透明的推理。

  4. 规则学习者——通过图结构和数据的统计分析来归纳规则。自动创建规则,但质量不确定。

  5. 混合管道——逻辑规则编码明确的约束。嵌入提供向量空间运算。神经证明者通过联合训练融合优势。

  6. 可解释的建模——使用基于案例的、模糊的或概率逻辑来增加透明度。表达对规则的不确定性和信心。

  7. 迭代丰富——通过将推断的事实和学习的规则具体化回图表来扩展知识。提供反馈循环。

关键是确定所需的推理类型并将其映射到适当的技术。结合了逻辑形式、向量表示和神经组件的可组合管道提供了鲁棒性和可解释性。

保留大模型的信息流

检索大模型的知识图谱事实会引入信息瓶颈。精心设计保留相关性:

  1. 分块——将内容分成小块可以改善隔离性,但会丢失周围的上下文。这阻碍了跨块的推理。

  2. 摘要——生成块的摘要提供了更简洁的上下文。关键细节经过浓缩以突出重要性。

  3. 元数据——附加摘要、标题、标签等作为元数据,以维护有关源内容的上下文。

  4. 查询重写——将原始查询重写为更详细的版本可以提供更好地满足大模型需求的检索。

  5. 关系建模——知识图谱遍历保留事实之间的联系,维护上下文。

  6. 信息排序——按时间顺序或相关性对事实进行排序可以优化大模型的信息结构。

  7. 显式陈述——将隐性知识转化为大模型陈述的显式事实使推理变得更容易。

目标是优化检索到的知识的相关性、上下文、结构和明确性,以最大限度地提高推理能力。需要在粒度和内聚性之间取得平衡。知识图谱关系有助于将孤立的事实置于上下文中。

解锁推理能力

知识图谱和嵌入结合起来各自具有克服对方弱点的优点:

  1. 知识图谱——提供实体和关系的结构化表示。通过图遍历增强复杂推理。处理多跳推理。

  2. 嵌入——在向量空间中编码信息以进行基于相似性的操作。实现大规模的高效近似搜索。表面潜在图案。

  3. 联合编码——为知识图谱中的实体和关系生成嵌入。这提取了统计模式。

  4. 神经网络——图神经网络通过可微的消息传递对图结构和嵌入元素进行操作。这融合了好处。

  5. 推理流程——知识图谱遍历首先收集结构化知识。然后嵌入集中搜索并大规模检索相关内容。

  6. 可解释性——显式的知识图谱关系为推理过程提供了可解释性。嵌入提供了可解释性。

  7. 迭代改进——推断的知识可以扩展图。GNN 提供连续表示学习。

该合作伙伴关系通过神经网络的模式识别能力和可扩展性增强了结构化知识表示和推理。这是推进需要统计学习和符号逻辑的语言人工智能的关键。

通过协作过滤改进搜索

协作过滤利用实体之间的连接来增强搜索:

  1. 知识图谱——用代表实体的节点和代表关系的边构建知识图谱。

  2. 节点嵌入- 为某些关键节点属性(如标题、描述等)生成嵌入向量。

  3. 向量索引- 在节点嵌入上构建向量相似度索引。

  4. 相似性搜索- 对于搜索查询,查找具有最相似嵌入的节点。

  5. 协作调整- 基于节点的连接,使用 PageRank 等算法传播和调整相似度分数。

  6. 边缘加权——根据边缘类型、强度、置信度等进行权重调整。

  7. 分数标准化——标准化调整后的分数以维持相对排名。

  8. 结果重新排名- 根据调整后的协作分数对初始结果重新排名。

  9. 用户上下文——根据用户个人资料、历史记录和偏好进一步调整。

通过飞轮学习增强知识图谱

知识图谱通过提供结构化的世界知识,为语言模型解锁了新的推理能力。但构建高质量的图表仍然具有挑战性。这就是飞轮学习的用武之地——通过分析系统交互来不断改进知识图谱。

知识图谱飞轮

  1. 检测——记录所有系统查询、响应、分数、用户操作等。提供知识图谱使用方式的可见性。

  2. 分析——汇总使用数据以发现不良反应。对这些反应进行聚类和分析,以识别表明知识差距的模式。

  3. 管理- 手动审查有问题的响应并将问题追溯到图表中缺失或不正确的事实。

  4. 修复——直接修改图表以添加缺失的事实、改进结构、提高清晰度等。修复潜在的数据问题。

  5. 迭代——不断循环执行上述步骤。每一次迭代都进一步增强了知识图谱。

流数据抽取

  • 新闻和社交媒体等流式实时数据源提供了源源不断的新信息,以保持知识图谱的最新状态。

  • 专门的基础设施可处理图表中的大量抽取。

主动学习

  • 使用查询生成来识别和填补流媒体无法提供的关键知识空白。

  • 发现图表中的漏洞、提出问题、检索缺失的事实并添加它们。

飞轮效应

在每个循环中,通过分析使用模式和修复数据问题,知识图谱会变得越来越强大。改进的图形可实现更好的系统性能。

这个飞轮过程使知识图谱和语言模型能够根据现实世界使用的反馈共同进化。该图经过主动定制以满足模型的需求。

总之,飞轮学习为通过分析系统交互来持续、自动改进知识图谱提供了一个脚手架。这增强了依赖图的语言模型的准确性、相关性和适应性。

结论

为了达到人类水平的智能,人工智能需要融入外部知识和推理。这就是知识图谱发挥作用的地方。知识图谱提供现实世界实体和关系的结构化表示,对有关世界的事实及其之间的联系进行编码。这允许通过遍历相互关联的事实来跨多个步骤进行复杂的逻辑推理。

然而,知识图谱有其自身的局限性,例如稀疏性和缺乏不确定性处理。这就是图嵌入的作用所在——通过在向量空间中编码知识图谱元素,嵌入允许从大型语料库到表面潜在模式的统计学习。它们还支持高效的基于相似性的操作。

知识图谱和嵌入本身都不足以实现类人语言智能。但它们共同提供了结构化知识表示、逻辑推理和统计学习的完美结合。知识图谱将符号逻辑和关系叠加在神经网络的模式识别能力之上。

图神经网络等技术通过图结构和嵌入上传递的可微消息进一步统一了这些方法。这种共生使得系统能够利用统计学习和符号逻辑——结合神经网络和结构化知识表示的优势。

这种伙伴关系为下一代人工智能提供了构建模块,实现了真正的理解——理解上下文和历史的对话代理、辨别细微差别偏好的推荐引擎、通过连接事实来综合答案的搜索系统。

在构建高质量知识图谱、基准测试、噪声处理等方面仍然存在挑战。但跨越符号和神经方法的混合技术的未来是光明的。随着知识图谱和语言模型的不断发展,它们的集成将开启可解释的智能语言人工智能的新领域。

原文作者:芝士AI吃鱼;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2023-07-26

  • 博文量
    200
  • 访问量
    95475