检索质量通常被归罪于模型,通常却起源于语料。一堆文档里有重复、有过期版本、有本来就不该单独阅读的段落。
一个装着三份互相矛盾答案的语料,任何排序模型都救不回来。
一堆文档会造出三个问题
重复片段把分数摊薄。过期版本因为更长而排在当前版本前面。从半句话开始的碎片什么也答不了。
这三样都在收集时能解决,越晚越贵。
一条检索记录里有什么
- 段落,切在语义边界上,单独读得通
- 文档编号,以及那个日期有效的版本
- 章节路径,让上下文在切分后还活着
- 段落开始生效的日期,已知的话还有失效日期
- 一个标记,用于「应该排低而不是删掉」的内容
这个标记让被替代的材料还能回答历史问题,又不至于赢过当前内容。
段落必须能独立成立
以「如上所述」开头的段落是碎片。如果切不到更好的边界,就往前补足上下文,让这一段能独立回答一个问题。
这一条规则对检索的提升,超过大多数重排序工作。
检索要单独评
答案错了,第一个问题是:正确的那一段到底在不在前十。先量这个,再去动生成。
这些集合由 Zovda 通过 Datuva 生产,每一段都保留文档编号和版本。题库与推理语料展示了答案如何绑定到支撑它的那一段。
告诉我你的系统必须检索到什么,我们会在 1 个工作日内回复。
