阅读量 ,评论量
背景
RAG
组成部分
1、文档检索
- tf-idf:词频统计 &中心词加权。
- BM25:tf-idf的优化版本。
- DSSM/simnet:利用搜索用户点展数据(和一些人为设置的hard
negatives)的有监督学习,基于词袋/CNN/RNN的双塔模型(即双编码器架构)。
- Contriever:借鉴word2vec、逆完型填空和对比学习的无监督学习,基于transformer的双塔模型,参考[1],[2]。
GraphRAG
GraphRAG相较RAG能额外带来的增益:
- 涉及关系知识:沿着关系路径来查找搜索的数据(如 可以用于 治疗A疾病
同时对孕妇没有影响 的药物有哪些)
- 涉及几何信息:查找搜索具有极复杂几何结构的实体数据(如 某个商品/问题
属于哪些分类)
组成部分
0、图数据源(Datasources)
提升数据质量与相关性对
取得优异成果的重要性,甚至可能超过模型优化。
- 图的构建:
- 显示构建:基于预定义的明确的业务规则构建链接;
- 隐式构建:通过共现语义等方式构建链接;
- 图的表示:
- 邻接矩阵、边列表、邻接表、节点序列、自然语言描述等,详见图的存储结构
1、query预处理(Processor)
- 命名实体识别、实体类型识别;
- 关系抽取;(用于带边属性的有向图的检索)
- text2sql;
- 查询分解;(拆解为多个有逻辑关系的subquery,用于需要多步推理和规划的复杂任务)
- 查询扩展;(解决歧义query:多语义、过短、语义不明)
2、检索(Retriever)
- 基于启发式的检索:
- 实体链接:通过文本匹配将query链接到TopK实体上;
- 关系匹配:通过文本匹配将query链接到TopK边上;
- 图遍历:通过图遍历算法扩展集合,以获取更多相关信息;
- 检索到的所有实体间距离小于L的所有路径;
- 检索到的实体周围的L跳子图;
- 图核:通过随机游走/WeisfeilerLeman算法实现低机器成本&相对高泛化的子图匹配;
- 领域专业知识:增加领域知识的特殊逻辑,提高集合扩展的有效性;
- 基于学习的检索:
- 浅层嵌入(Walk-Based GE):
- 基于邻近性的嵌入:是否有边的链接预估;
- 基于角色的嵌入:邻域结构是否相同的网络相似度预估;
- 深度嵌入(Message-Passing GNN):
- 表征能力更强,通过Message-Passing解决graph不断更新的问题;
- 高级检索策略:
- 集成检索:综合利用基于启发式的检索器和基于学习的检索器,定制化设计检索流程编排;
- 迭代检索:通过Loop持续检索,直到收集到足够信息来回答问题;
- 自适应检索:额外增加一个是否需要检索外部知识的判别器,依此来决定收集多少信息来回答问题;
3、检索结果预处理(Organizer)
对检索内容进行处理和优化,使其更适合生成器使用,从而进一步提升下游内容生成质量。
- 图剪枝:
- 基于语义的剪枝:对检索结果再做一次与query的相关性过滤,去掉扩展集合中的无关信息;
- 基于语法的剪枝:结合具体业务规则实现的逻辑剪枝,如语法依存分析;
- 基于结构的剪枝:基于入度、出度、pagerank之类的图结构信息的剪枝;
- 动态剪枝:检索过程中的剪枝,非对结果的处理;
- 重排序:对检索的N条信息组装成prompt的先后顺序;(其价值受限于基座模型)
- 图增强:图结构增强、图特征增强,对检索到的结果做进一步扩展;
- 语言化:将检索到的三元组、路径或图转换为大语言模型可理解的自然语言。
- 线性言语化:
- 基于元祖:罗列 \((实体A, 关系1,
实体B)\) 这种元祖;
- 基于模板:Hop‐Field概览模板等;
- 基于模型的言语化:
- 图到文本言语化:使用微调模型/大语言模型将检索结果转换为自然语言;
- 图摘要:根据检索结果和query,使用微调模型/大语言模型做摘要生成;
4、汇总生成结果
- 基于判别的生成器:用于节点/边/图分类等任务
- 基于大语言模型的生成器:
- 语言化:基于第3步最终语言化的结果作为prompt前文;
- 嵌入融合:将检索结果转为图嵌入(提前通过adapter与大语言模型的文本嵌入对齐),作为前序信息输入;
- 位置嵌入融合:位置编码进一步适配图嵌入,以将图结构信息保留下来;
- 基于图的生成器:用于分子生成等图生成相关的任务
图类型
规划与推理图
规划或推理图刻画了不同实体间固有的逻辑流程,其中实体通常代表具体规划或推理子步骤,边则表示它们的逻辑关系。
- 顺序计划检索:从全局规划图(实体间存在顺序依赖约束)中检索,完成query到一条实体链的转换;
- 自然异步规划:引入时间约束,查找效率最高的那条实体链;
- 结构化常识推理:从观点解释图中检索,完成query到用户立场的转换;(其价值受限于基座模型,特别专业的小众观点可能可以避免模型幻觉)
- 可反驳推理:结合不断获取到的新的证据,从论证推理图中检索,完成query到观点是否可推翻的转换,避免模型因prompt被误导的问题;
1、检索(Retriever)
- 基于启发式:确定性最强;
- 基于嵌入:有一定泛化能力,但没有发散能力,或者说该方式不适合将发散能力建设进来;
- 思维传播检索:可以建设发散能力,根据query大语言模型提出一组类似问题,然后应用既定的提示技术(如思维链(CoT))来推导解决方案,最后通过聚合模块整合这些类似问题的解决方案,从而增强原始输入问题的解决过程;
其它