首页/AI/AI 应用速查/语义切分(Semantic Chunking)

语义切分(Semantic Chunking)

按语义边界而非字符数切分:先分句,再计算相邻句向量相似度,在相似度骤降处断开。块内主题更一致,代价是计算量与边界稳定性。

AI 应用速查AI更新于 2026-10-13

语义切分是什么

按语义边界而不是固定长度切分文档:先把长文切成句子,计算相邻句的向量相似度,在相似度骤降的位置断开,再把过短的句组合并成块。这样切出来的块内部主题一致,检索命中后拿到的上下文更聚焦,对话题频繁切换的长文档与会议记录尤其有效。代价是需要额外的向量计算与阈值调试,边界稳定性也不如固定切分,所以它更适合作为有基线之后的优化项。

基本信息

基本原理相邻句相似度检测断点,骤降处设分界
主要优点块内主题一致,检索结果更聚焦,减少无关内容挤占上下文
主要成本额外的向量计算开销与阈值调参工作量
稳定性阈值一变块结构就变,同一文档两次处理结果可能不同
适用文档话题漂移明显的长文档、会议记录、访谈稿
使用前提先用递归或按标题切分建立基线,再用评测集比较是否值得引入

典型使用场景

  • 会议记录与访谈稿:话题在段落中间切换,按长度切容易把两个议题混进同一块
  • 技术手册与规范:同一章内包含多个独立小节,语义切线正好落在小节边界
  • 客服对话日志:一次会话包含多个问题来回,按语义切能让检索瞄准具体那一轮
  • 长篇报告入库:块内主题一致后,生成阶段的引用更短更准
  • 作为切分策略的对比实验:与固定长度切分一起跑评测,用数据决定取舍

处理流程

处理流程
1) 长文先按句切分,处理中英文混排与省略号等边界
2) 每句向量化,可用与检索同一套 embedding 模型以省成本
3) 计算相邻句的余弦相似度,得到一条相似度序列  # 序列长度等于句数减一
4) 在相似度低于阈值的断点处切开,阈值按语料实测而非套用经验值
5) 合并过短句组并保留少量重叠,避免出现只有一句话的碎片块
# 检查点:抽样看几个块的原文,确认切出来的块确实对应一个完整话题

参数与调整方向

参数作用调整要点
相似度阈值决定断点多少调高块变多,调低块变长,用块内主题一致性人工抽检
最小块长防止碎片块低于阈值时与相邻块合并,避免单句成块
最大块长防止超长块超过上限时强制二次切分,兼顾上下文占用
重叠比例保持跨块连续比固定切分可以更小,因为边界本身更干净
相似度模型决定断点质量与检索模型保持一致可降低口径差异
不要默认语义切分一定更好:它增加计算与调参成本,边界还可能不稳定,先用固定长度或按标题切分把基线跑出来,再用同一评测集比较检索命中率。
短文档与结构规整的文档收益很小:一篇逻辑清晰的说明文本按标题层级切分已经足够,语义切分的额外开销换不来可见的提升。

易错点

  • 默认语义切分必然更优:没有与基线对比就引入,成本上升而效果无法证明
  • 阈值照搬经验值:不同语料与语言的相似度分布差异大,断点过多或几乎没有断点
  • 不设最小块长:产生大量单句碎片,检索命中后上下文不足以支撑回答
  • 完全不保留重叠:跨边界的问答信息缺失,表现为「明明收录了却答不全」
  • 边界变更后不重建索引:重新切分过文档却沿用旧向量,检索结果与内容对不上

数据来源与参考

  • LlamaIndex Semantic Splitter 文档;语义分块公开方法

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌