第 07 课:文档切分,一篇文章应该怎样拆
资料 C 只有一句话:“未被其他读者预约的图书,可以在到期前续借一次,延长七天。”现在把它切成三小段:未被预约的图书;可以续借一次;延长七天。你只拿到最后一段,还能回答续借规则吗?
七天这个数字还在,谁能续借、什么时候申请、能续几次却都丢了。文档切分最值得关心的,就是这种损失。
小片段也要能独立看懂
Chunk 是从文档划分出的片段,Chunking 是切分过程。检索会挑片段给模型,所以每段要尽量说明它在讲什么,并保留回答需要的条件。标题、小节和自然段,都是可以利用的线索。
对 C,保留整条续借规则,再带上标题和版本,会比拆成三个碎片更合适。问次数、问天数、问被预约的书能不能续借,都能在同一段找到依据。这里的完整句子刚好对应一条完整规则。
但整篇手册也可能太大。开放时间、讨论室介绍与续借规则挤在一起,虽然包含答案,却让读者和模型都要再筛一遍。片段要多大,得看问题需要什么,不能只盯着一个固定字数。
先比较两种切法
按自然段切,容易保留作者的安排;按主题切,可以把同一条规则的相关句子放在一起。两种都值得试。碰到一段同时写开放时间与续借,可以按主题拆;碰到后一句只写“上述情况除外”,就要把它与前面的规则连起来看。
相邻片段留一点重叠,有时能补上边界信息,也会带来重复。不要为了保险把整篇复制进每一段。拿实际问题检查有没有丢条件,才知道重叠值不值得。
还有一件容易忘的事:切完以后要能回到原文。片段编号、文件标题、章节和日期都留着。以后发现某个答案不对,才知道要改哪一段、核对哪份文件。
用两个问题检查你的切分
选一篇含三个主题的短文,分别按段落和主题切开。问“续借能延长多久”和“被别人预约的书能续借吗”,逐个检查片段是否够用。再给片段编号,整理出至少八段;也可以直接用资料包 A 至 H,解释它们为什么这样分。
看看有没有丢掉这些内容
C 要保留未被预约、到期前、一次、七天。需要组合多个片段不一定意味着切错了,但你应该知道哪些段必须一起找回来。八段只是练习数量,并不是检索效果的保证。
继续阅读:Microsoft: RAG chunking phase
← 上一篇 · 学习计划 · 练习用的虚构图书馆资料 · 下一篇 →