跳到主内容
快讯直播
AI智模界
AI 词典

最大边际相关性(MMR):别让检索结果说同一句话

一句话定义:MMR(Maximal Marginal Relevance,最大边际相关性)是一种结果重排策略——在挑选内容时,既看它跟需求有多相关,也看它跟已经选中的内容有多像,越像越往后排。

它到底在算什么

想象公司要招 5 个人的小组。如果只按"简历分数"从高到低录取,很可能招进来 5 个背景几乎一样的人:都是名校算法岗、都做过推荐系统。干活时没人懂运维、没人懂业务。MMR 的思路就是:每招一个人,分数要扣掉"他和已录取的人有多像"这一项。于是第五个名额可能给了一个分数稍低但技能互补的人。

用公式说,给候选条目打分的规则大致是:

```

得分 = λ × 与问题的相关度 − (1−λ) × 与已选条目的最大相似度

```

λ 在 0 到 1 之间:取 1 就退化成普通的"相关性从高到低",取 0 基本只看多样性。实际使用中,通常先召回一个较大的候选池(比如几十条),再用 MMR 一条条贪心地选出最终要的几条。

为什么"最相关的前 5 条"常常几乎一样

向量检索把语义相近的文本放在相邻位置。同一篇新闻稿被十家网站转载、同一份说明书的两个版本、问答页里互相抄的段落,它们的向量距离极近,于是会挤满前几名。你得到 5 条结果,读起来可能只有 1 条的信息量。这不是检索模型坏了,而是"只按相似度排序"这件事本身没有去重和避让的机制。

和相邻概念的区别

做法解决的问题局限
相似度 Top-K找到最匹配的内容结果容易同质化
去重(dedup)删掉完全重复的条目对"换了说法但意思相同"无能为力
先聚类,每簇取一条保证覆盖不同主题簇数和边界要人为设定,颗粒度偏粗
MMR逐条权衡相关与新颖需要候选池和两两相似度,多花一点算力

可以这样理解:去重处理的是"字面一样",MMR 处理的是"字面不同、讲的却是同一件事"。

对实际工作的意义

做 RAG(AI 词典:检索增强生成">检索增强生成)时,上下文窗口是有限的预算。塞进去 5 条内容重叠的片段,等于花钱买重复信息,还容易让模型过度相信同一种说法。用 MMR 重排,常常能用同样条数的片段覆盖更多侧面。做搜索、推荐、新闻摘要也一样:用户不想看到五条"复读"。

代价是它比单纯排序慢一些,需要先多召回、再算相似度;λ 取多少也要结合场景试,偏问答的场景更看重相关性,偏调研的场景更看重覆盖面。具体参数和实现细节,以官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。