K3.3 查询改写:先把问题问对
一直在优化的是右半边
K3.1 讲关键词、K3.2 讲混合与融合——两节都在回答同一个问题:拿到一句话,怎么从库里找得更准。
现在把镜头往左移一格,看看那句话本身。
真实用户是这 么提问的:
- 「能退吗」——三个字,一个可检索的词都没有;
- 「那它多少钱」——「它」指的是上一轮说的东西,这一句里没有;
- 「苹果多少钱、包邮吗」——一句话问了两件事,答案在两段完全不相干的文字里;
- 「攒的分有什么用」——口语问句,而库里写的是「每消费 1 元累计 1 积分」。
这些话是说给人听的,不是写给检索器的。你的嵌入模型再好、混合检索调得再精,喂进去的是一句「能退吗」,出来的也只能是碰运气的结果。
所以还有一步,位置在检索之前:先把问题改写成适合检索的样子。
四种改法,其中一种会帮倒忙
查询改写:先把问题问对
前两节都在优化「怎么找」。这一节换个思路:用户递过来的那句话,本身可能就不适合拿去检索。四个场景,逐个点开看改写前后的差别。