文本分割器是知识检索中一个重要组件,海量的文档需要基于文本分割策略进行处理从而与大模型的各个功能模块进行交互。
文本分割器的目的
大模型在预训练阶段获取的知识是有限的,一般需要数据增强模块引入外部知识库,通过知识检索的方式搜索与用户提问相关的知识,而外部知识文档往往比较长,可能是包含几十页甚至几百页的内容,如果直接使用会存在以下问题:
- 大模型处理的上下文长度有限:大模型在预训练过程都有上下文长度限制,如果超过长度限制大模型会将超出部分丢弃,从而影响回答的性能表现。
- 语义杂揉不利于任务检索:长文档中各个片段的语义之前可能存在较大的差异,如果当成一个整体来做知识检索会存在语义的杂揉,应当将长文档切分成更多的小块,促使每个小块内部表意一致,块之间表意存在多样性,从而更充分的发挥知识检索的作用。
因此需要引入文本分割器,它根据一定策略将文本切分为各个小块,以便适应大模型的上下文窗口,同时提高知识检索的精度。