QA论文精读笔记

RAG-KG


截屏2024-10-04 下午5.20.36.png

1 概述

传统的大模型(LLMs)检索增强生成(RAG)法将大量过去的问题作为纯文本处理,忽略了内部结构和联系,本文介绍一种新的客户服务问答方法,将RAG与知识图谱(KG)结合起来,由历史问题简历一个知识图谱,以用于检索。在问答方面,本方法分析客户的查询序列并检索与之相关的KG子图。这种方法不仅提高了检索准确性,还提高了回答质量。

2 方法

主要分为两个阶段:

  • 知识图谱构建:根据用户的历史工单,为每个问题提供了一个树状结构表示,并根据关系上下文将它们相互链接。
  • 问答阶段:根据用户的查询定位实体和意图,通过知识图谱进行导航,定位到与之相关的子图,并生成答案。

知识图谱的构建

定义的图谱采用双层结构,以区分问题内部和问题之间的关系。构建过程也分为两步:票内解析和票间连接。

  • 票内解析(Inter-Ticket Connection Phase):采用基于规则与LLM相结合的解析方法,其中LLM解析利用了YAML模版。
  • 票间连接:这一步将每一个单独的树结构连接为一个复杂的图结构,这种连接分为显示连接和隐式连接。显示连接由所有明确连接的票据对组成,隐式连接则由满足余弦相似度阈值的票据对组成
  • 文本嵌入生成:选择文本信息丰富的节点,用嵌入模型生成嵌入,并保存在向量数据库中。

检索和问答

1 查询实体识别与意图检测
从每个用户查询𝑞中提取出类型为Map(N → V)的命名实体集合P以及查询意图集合I。例如查询𝑞 = "How to reproduce the login issue where a user can’t log in to LinkedIn?",通过解析,我们可以提取出实体集合P = Map("issue summary" → "login issue", "issue description" → "user can’t log in to LinkedIn"),以及意图集合I = Set("fix solution")。
𝑃, 𝐼 = LLM(𝑞,𝑇_{template}, prompt)
2 基于嵌入的子图检索
主要分为两步:基于嵌入的工单(Ticket)识别和大模型驱动的子图提取。

  • 基于嵌入的工单(Ticket)识别(EBR-based ticket identification step):利用从用户查询中得出的命名实体集合P,来确定与用户最相关的前K个历史问题工单。对于P中的每一对实体(k, v)(其中k代表实体类别,v代表实体值),使用文本嵌入来计算实体值v与所有对应于类别k的图节点n之间的余弦相似度。接着,将属于同一工单的所有节点得分进行汇总,以此得出工单级的得分,然后选择得分最高的前K个工单。
  • 大模型驱动的子图提取:将原始用户查询𝑞重新表述为包含已检索到的工单ID的新查询𝑞′。然后,这个修改后的查询𝑞′会被翻译成图数据库语言。例如:从初始查询𝑞="如何重现用户因数据问题在更新用户电子邮件时看到的‘csv上传错误’这一重大问题"开始,查询被重新表述为"如何重现‘ENT-22970’",然后转换成Cypher查询语句。这个Cypher查询会查找具有特定工单ID('ENT-22970')的票据节点,然后沿着HAS_DESCRIPTION和HAS_STEPS_TO_REPRODUCE关系链找到描述节点和重现步骤节点,最后返回重现步骤的值。LLM驱动的查询构建方法可以跨子图检索信息,无论这些子图是否来自知识图中的同一棵树或不同的树。这意味着系统能够处理复杂的查询需求,从广泛连接的知识图中提取有用的信息。
  • 答案生成:结合检索到的数据和用户查询来生成回答,LLM作为解码器。如果在这个过程中遇到任何问题会回退到基于baseline方法。


    主要实验结果

Knowledge Graph Prompting for Multi-Document Question Answering(KGP AAAI 2024)

原文链接:https://ojs.aaai.org/index.php/AAAI/article/view/29889

多文档问答(MD-QA)任务需要对文档内容和结构逻辑有深刻的理解,本文提出一种知识图谱提示(KGP)方法,用于为MD-QA中的大模型(LLMs)构建正确的提示上下文。

  • 通用知识图谱构建:提出三种基于文档的知识图谱构建方法,以段落或文档结构为节点,以它们之间的词汇/语义相似性或结构关系为边。然后通过检查每个问题的邻居节点与支持事实之间的重叠程度,在多文档问答(MD-QA)任务中实证评估了所构建知识图谱的质量)。
  • 利用知识图谱进行提示制定:我们设计了一种知识图谱提示(KGP)方法,该方法利用基于大模型(LLM)的知识图谱遍历代理,通过遍历构建的知识图谱来检索与问题相关的上下文。此外,我们对该代理进行了微调,使其能够根据已访问的节点(检索到的段落)自适应地遍历最有希望的邻居节点,以接近问题的答案。
知识图谱构建过程

知识图谱构建过程如下:

将文档集中的每篇文档拆分为多个段落。对于每个段落,可以直接通过预训练的编码器获得其嵌入表示,或者提取其关键词来构建词袋(BOW)特征。然后根据段落的嵌入相似性或者它们是否共享关键词来连接两个段落。此外还通过Extract-PDF API提取表格/页面,并将它们作为结构节点添加到知识图谱中。如果页面包含段落和表格,会添加一条有向边来表示它们之间的归属关系。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容