SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

重新排序和避免结果太像

Reranker 负责把候选检索结果按相关性重新排序以提升质量,MMR 在相关性和多样性之间做平衡以避免结果重复。两者经常在检索后处理阶段被混用,但解决的是不同问题。

寓言

两个掌柜,一个排最像的,一个故意岔开

县城东街有家杂货铺,掌柜姓郑。铺子进货渠道多,客人问什么郑掌柜都能从库里找出十几件来。后来客人开始抱怨:你们找出来的东西前十件几乎一样,看不出有什么区别。郑掌柜想了想,找了两个帮手来做筛选。

帮手甲负责排序。他把每件货跟客人需求的相似度算出来,然后按分数从高到低排队。客人一问布鞋,他找出二十件,排前面的是最便宜的、最便宜的、最便宜的——因为价格最接近客人的心理价位,其他属性全被价格盖住了。

帮手乙负责多样性。他专门把相似的东西拆开,理由是如果不让客人看到更多选项,就不知道哪件真正合适。有一次客人问布鞋,他硬是把一双贵的和一双便宜的排在一起,说这样客人才有比较空间。客人看了觉得莫名其妙——明明贵的明显更好,为什么要跟便宜的放一起。

郑掌柜观察了一个月,发现帮手甲和帮手乙单独用都有问题。用帮手甲的排序,客人总说推荐重复、看不出差别。用帮手乙的多样性,客人总说为什么把差的放前面,明明有更好的。

郑掌柜把他们俩叫到一起研究。研究结果是:先用帮手乙的方法从候选里挑出几个差异化的方向,再在每个方向内用帮手甲的相似度排序。这样既保证了多样性,又保证了每个方向内展示的是最贴近需求的。

帮手甲对这个方案有意见:那我做的事没变,还是排序,只是排在多样性之后。多样性是帮手乙的功劳。郑掌柜说你们两个做的是不同的事,排序排的是像不像,多样性管的是像不像之外还有没有别的维度的价值。客人要的不只是一样,要的是在值得看的选项里选最对的。

后来这个方法成了铺子的标准流程:先过多样性过滤,再做相关性排序。客人投诉重复的问题少了,帮手甲和帮手乙也不再互相抱怨——因为每个人做的事都有独立价值,只是需要合理的顺序把他们串起来。

Reranker

对候选检索结果按相关性重新排序的模型,通常基于更丰富的语义信息计算相关性分数。能改善粗召回的结果,但不考虑结果多样性。

MMR 最大边际相关

在相关性之外引入多样性约束,故意在候选结果中引入差异,避免最相关结果之间的重复。适合需要展示多个维度的场景,但可能把相关度稍低的结果排在前面。

故事对应

  • 帮手甲按相似度排序:Reranker,把候选结果按相关性重新排列
  • 帮手乙故意拆开相似货物:MMR,在相关性基础上引入多样性约束
  • 只排相似度前十件几乎一样:Reranker 不处理重复,信息丰富度没有改善
  • 只求多样把差的放前面:MMR 过度倾向多样性,相关性受损
  • 先过多样性再在每个方向内排序:MMR + Reranker 组合,先筛选后优化
  • 排序管像不像,多样性管有没有别的维度:两种机制解决不同问题,顺序组合才能兼顾

落到检索系统后处理设计

优化检索结果时,先确认你的问题是什么。如果用户抱怨找不到想要的内容、排序不合理,用 Reranker——它能把更相关的内容排到前面。如果用户抱怨结果重复、看不出差别,用 MMR——它能强制在候选里引入差异。最有效的做法是两者组合:先用 MMR 做多样性过滤,再用 Reranker 在每个方向内做相关性排序。这个顺序不能颠倒——先排序再多样化会把 Reranker 的优化结果破坏掉。先多样化后排序才能既保证多样性又保证每个方向内的质量。