beautifulsoup3 RAG 是必看的! 9 种高级文本分块策略可提高 LLM 检索准确性

网安智编 厦门萤点网络科技 2026-01-24 00:05 44 0
在基于 RAG(检索增强生成)的大语言模型应用中,文本分块是至关重要的预处理步骤。虽然固定大小、递归、语义、基于文档和智能体分块等基础策略已被广泛应用,但一些高级技术可以显著提升检索精度、上下文保留能力和特定任务的性能表现。 本文将通过真实...

beautifulsoup3 RAG 是必看的! 9 种高级文本分块策略可提高 LLM 检索准确性

在基于 RAG(检索增强生成)的大语言模型应用中,文本分块是至关重要的预处理步骤。虽然固定大小、递归、语义、基于文档和智能体分块等基础策略已被广泛应用,但一些高级技术可以显著提升检索精度、上下文保留能力和特定任务的性能表现。

本文将通过真实案例、实现要点和可视化图解,全面解析 9 种高级文本分块策略,帮助你根据具体场景选择最适合的方案。

学完记得来 测试一下你的掌握程度哦!

1. 滑动窗口分块( )

适用领域:医疗病历

核心概念:通过以指定的重叠量在文本上移动固定大小的窗口,创建重叠的文本块,确保块边界之间的上下文连续性。

工作原理:

案例:

一份 10,000 词的病历采用 500 词窗口 + 100 词重叠进行分块:

应用场景:非常适合总结或提取患者纵向病史,避免跨章节丢失上下文。重叠部分确保在块边界提及的病情、药物和治疗方案保持上下文关联,在跟踪患者病情进展时防止信息丢失。

实现建议:根据上下文重要性调整重叠比例 —— 密集的病历采用 20% 重叠率,普通文档采用 10%。

2. 自适应分块( )

适用领域:法律合同

核心概念:创建大小可变的文本块,在遵守 token 限制的同时尊重文档的自然边界,而非强制严格的大小限制,能够适应内容结构。

工作原理:

案例:

包含多个章节的法律合同:

→ 整个第 3 章作为一个完整文本块(1,150 ),而非在条款中间分割。

应用场景:在保持条款完整性的同时最大化 LLM 上下文窗口利用率。防止法律条款被分割到多个文本块中,避免在合同分析、合规检查或问答任务中产生误解,对维护法律精确性至关重要。

实现建议:使用 AST 解析或正则表达式模式检测章节边界(如 " X:"、编号条款)。

3. 基于实体的分块(-Based )

适用领域:新闻档案

核心概念:根据句子提及的实体对句子进行分组,创建以实体为中心的文本块,而非顺序文本块。

工作原理:

案例:

一篇科技行业新闻文章:

原文:

埃隆・马斯克昨日宣布了一项新的 AI 计划。

特斯拉在活动中发布了 Model Y 改款车型。

成功发射了星舰试飞任务。

这位亿万富翁表达了对 AI 安全的担忧。

马斯克的公司持续创新。

工程师报告创纪录的性能表现。

基于实体的分块结果:

应用场景:完美适用于以实体为中心的知识库或 AI 驱动的查询检索。当用户询问 "埃隆・马斯克本周做了什么?" 时,所有相关提及已预先分组,便于高效检索和生成响应,显著提升针对实体查询的检索精度。

实现建议:使用 spaCy 或 Face 的 NER 模型,考虑使用共指消解处理代词(如 "他"→"埃隆・马斯克")。

4. 基于主题的分块(Topic/Theme-Based )

适用领域:研究论文

核心概念:利用语义相似度和聚类算法,将段落按潜在主题分组,即使它们在原始文档中不连续。

工作原理:

案例:

一篇包含 50 个段落的研究论文:

原始顺序:

段落 1:神经网络介绍

段落 2:数据集描述

段落 3:强化学习背景

段落 4:NLP 预处理步骤

段落 5:神经网络架构细节

...

基于主题的分块结果:

应用场景:支持基于主题的总结和检索。用户可以查询 "告诉我这篇论文中的 NLP 方法",获取所有相关内容的整合结果,即使这些内容分散在文档各处。非常适合文献综述、研究综合和定向信息提取。

实现建议:使用 - 生成嵌入向量,尝试不同的聚类算法(已知主题数量时用 K-means,自动检测时用 )。

5. 混合分块( )

适用领域:软件文档

核心概念:在流水线中组合多种策略,利用每种方法的优势。

工作原理:

案例:

API 文档处理:

步骤 1 - 递归分割:按标题(##)和段落分隔符(\n\n)分割

步骤 2 - 语义分组:在每个章节内分组相关指令

步骤 3 - 实体保留:确保函数 / 类名不被分割

应用场景:为 AI 助手提供准确的代码相关答案。结合结构感知(段落)、语义关系(相关概念)和实体保留(函数名),提供全面上下文,生成既技术准确又语义连贯的文本块。

实现建议:顺序很重要!通常顺序为:结构→语义→实体。针对你的领域测试不同组合。

6. 任务感知分块(Task-Aware )

适用领域:代码分析和问答系统

核心概念:根据 LLM 将要执行的下游任务调整分块策略。

工作原理:

案例:

一个包含 1000 行代码的 代码库:

应用场景:针对下游 LLM 任务定制分块。摒弃 "一刀切" 的策略,根据是对代码进行总结、搜索还是问答来调整分块策略,显著提升特定任务的性能指标。

实现建议:创建包含特定任务参数的分块配置文件,考虑为同一语料库针对不同用途建立索引时使用不同策略。

7. HTML/XML 标签分割(HTML/XML Tag-Based )

适用领域:Web 内容和抓取的文档

核心概念:利用 HTML/XML 结构确定分块边界,尊重文档的层次组织。

工作原理:

案例:

博客文章 HTML:

html

预览

机器学习完全指南引言

机器学习彻底改变了...

本指南涵盖基本概念...

监督学习

监督学习算法...

示例:线性回归

线性回归预测...