当前位置: 首页 > article >正文

【训练细节解读】文本智能混合分块(Mixtures of Text Chunking,MoC)引领RAG进入多粒度感知智能分块阶段

RAG系统在处理复杂上下文时,传统和语义分块方法的局限性,文本分块的质量限制了检索到的内容,从而影响生成答案的准确性。尽管其他算法组件有所进步,但分块策略中的增量缺陷仍可能在一定程度上降低整体系统性能。如何直接量化分块质量?如何有效利用大型语言模型(LLMs)进行分块?如何在保持计算效率的同时提高分块精度等问题一直是我们RAG工作中的严重挑战!
MoC架构是一个混合框架,通过一个多粒度感知的路由器动态协调轻量级分块专家。该架构创新性地整合了:一个正则表达式引导的分块范式,一个基于稀疏激活的计算资源约束机制,以及一个由编辑距离驱动的校正算法。


核心创新:双重评估指标与混合分块架构

在这里插入图片描述

  1. 问题定义

    • RAG系统的瓶颈:传统文本分块方法(如固定长度分割、语义相似度分块)存在两大缺陷:
    • 语义割裂:固定分块破坏逻辑单元,语义分块易忽略长程依赖。
    • 评估间接性:现有方法依赖下游任务(如QA准确率)间接评估分块质量,噪声干扰大。
  2. 方法论突破

    • 双重直接评估指标
      • 边界清晰度(Boundary Clarity, BC)
        通过计算分块边界处困惑度(PPL)差异,量化边界明确性(公式1)。值越高,分块越符合语义逻辑。 用于评估分块在分隔语义单元方面的有效性。具体计算公式如下:

    BC ⁡ ( q , d ) = ppl ⁡ ( q ∣ d ) ppl ⁡ ( q ) \operatorname{BC}(q, d)=\frac{\operatorname{ppl}(q\mid d)}{\operatorname{ppl}(q)} BC(q,d)=ppl(q)ppl(qd)

    其中, ppl ⁡ ( q ) \operatorname{ppl}(q) ppl(q)表示句子序列 q q q的困惑度, ppl ⁡ ( q ∣ d ) \operatorname{ppl}(q\mid d) ppl(qd)表示在给定上下文 d d d下的对比困惑度。较低的困惑度值表示模型对文本的理解较好,而较高的值表示语义解释的不确定性较大。

    • 块粘性(Chunk Stickiness, CS)
      构建分块间语义关联图,计算结构熵。值越低,分块独立性越强。该指标用于评估文本块之间的紧密性和顺序完整性。具体计算公式如下:

    Edge ⁡ ( q , d ) = ppl ⁡ ( q ) − ppl ⁡ ( q ∣ d ) ppl ⁡ ( q ) \operatorname{Edge}(q, d)=\frac{\operatorname{ppl}(q)-\operatorname{ppl}(q\mid d)}{\operatorname{ppl}(q)} Edge(q,d)=ppl(q)ppl(q)ppl(qd)

    其中,边的权重表示文本块之间的相似度。构建一个语义关联图,节点表示文本块,边权重表示文本块之间的相似度。通过计算编辑距离来恢复算法,确保生成的分块规则与原始文本一致。

    • 混合分块器(MoC)架构
      • 数据集构建: 使用GPT-4o生成文本块,并通过结构化


http://www.kler.cn/a/585341.html

相关文章:

  • 【C++项目】从零实现RPC框架「二」:项⽬设计
  • 【React】useState及底层处理机制
  • 一篇博客搞定时间复杂度
  • Pytorch的入门
  • Java 8 + Tomcat 9.0.102 的稳定环境搭建方案,适用于生产环境
  • 使用curl随机间隔访问URL-使用curl每秒访问一次URL-nginx
  • Vue配置和安装教程(2025最新)
  • CGI程序处理每一帧VDEC视频数据并输出到HTML页面
  • 【Unity】TextMesh Pro显示中文部分字体异常
  • Cascadeur-3D关键帧动画软件
  • Redis--zset类型
  • 信号处理抽取多项滤波的数学推导与仿真
  • 警惕!Ollama大模型工具的安全风险及应对策略
  • Webpack 和 Vite 的主要区别
  • C# net deepseek RAG AI开发 全流程 介绍
  • flinkOracleCdc源码介绍
  • Python 与 sklearn 库:轻松构建 KNN 算法双版本
  • 如何撰写一份清晰专业的软件功能测试报告
  • Vue项目搜索引擎优化(SEO)终极指南:从原理到实战
  • JVM 垃圾回收器的选择