初识“迟分(Late Chunking)”策略
RAG系统中,文本分割的策略严重的影响着内容的召回效果。例如:以维基百科上的一篇关于柏林的文章为例,若将其分割为句子块,不难发现诸如“其”和“这座城市”等指代表达,实际上指向的是文章开头提到的“柏林”。
传统模式局限性
- 主要依赖于预定义的规则来识别文本中的边界,比如句号、逗号、分号等标点符号。这种基于规则的方法在处理简单、结构清晰的文本时效果还不错,但面对复杂、多样化的文本类型时就显得力不从心了。
- 应对自然语言中的多义性和上下文依赖性方面表现不佳。
- 对文本的语法和结构过于依赖,忽视了语义层面的理解。在一些复杂的文本中,句子的逻辑结构和语义关系可能比单纯的标点符号更重要。RAG策略往往无法识别这些深层次的语义关联,从而影响文本分割的准确性和连贯性。
迟分策略的优势
“迟分”策略,则是先过 Embedding 模型再分块,我们先将 Embedding 模型的 transformer 层应用到整个文本或尽可能多的连续文本,为每个 token 生成一个包含丰富上下文信息的向量表示序列。随后,再对这些 token 向量序列进行平均池化,进而得到考虑了整个文本上下文的块 Embedding。
迟分生成的块 Embedding 是“有条件的”,这意味着每个块都编码了更多的上下文信息,从而大大提升了编码的质量和准确性。
参考文献
- https://mp.weixin.qq.com/s/JOS-4FGYAL7ydUfhJDH6uQ