链载Ai

标题: RAG 的检索优化:MMR 平衡相关性与多样性 [打印本页]

作者: 链载Ai    时间: 5 小时前
标题: RAG 的检索优化:MMR 平衡相关性与多样性

RAG 的检索优化:MMR 平衡相关性与多样性

文章目标

本文面向信息检索、推荐系统、自然语言处理领域的工程师以及对 RAG(Retrieval-Augmented Generation)技术感兴趣的实践者,旨在帮助读者:

? 小提示MMR 不仅是一种算法,更体现了一种在信息排序中平衡多个目标的策略性思维。掌握它有助于构建更智能、用户体验更佳的信息系统。

本次文章配套代码: https://github.com/li-xiu-qi/XiaokeAILabs/blob/main/datas/test_mmr_search/test_mmr_search.py

? 主题

本次主题:系统性解析最大边际相关性 (MMR) 算法,探讨其在抑制信息冗余、增强结果多样性方面的核心原理、实现细节与应用价值。

? 摘要


? 目录



? 前言

让我们考虑一个常见的信息检索场景:当用户在搜索引擎中输入查询词,例如“苹果”,期望获得什么样的结果?如果返回的顶部结果清一色指向苹果公司的官方网站,尽管相关性极高,用户可能并不会满意。同样,在推荐系统中,若系统基于用户的某次点击,反复推荐风格、主题极其相似的内容,也会限制用户的发现空间。

这些例子揭示了信息服务中的一个核心挑战:信息冗余。单纯追求相关性的排序策略,虽然能找到匹配查询的结果,但当这些结果彼此间内容重叠度高时,用户从中获取的增量信息(Incremental Information)十分有限。有效的策略不仅应提供相关的结果,还应确保结果具有多样性(Diversity),覆盖用户潜在需求的多个方面,优化信息探索的过程。

为了应对这一挑战,最大边际相关性(Maximal Marginal Relevance, MMR)算法被提出。它提供了一种结构化且有效的方法来同时优化相关性与多样性,构成了现代信息检索与推荐技术的重要组成部分。接下来,我们将深入探讨 MMR 的运作原理。



? 一、什么是最大边际相关性算法?

? 1.1 定义与核心理念

最大边际相关性 (MMR) 是一种用于对项目集合进行排序或选择的算法,其根本目标是在确保所选项目与用户查询(Query)高度相关的基础上,最大化这些项目之间的内容差异性,从而减少输出结果的冗余度。

我们可以从第一性原理的角度来理解 MMR:在从一个较大的候选池中选择一系列项目(如文档、产品、新闻摘要)构建最终列表时,理想情况下,每一步新加入的项目,不仅要满足与原始查询的相关性要求,还应提供与已选项目集合不同的新视角或信息

这里的关键词是“边际”(Marginal)。它关注的是向当前已选集合中添加一个新项目时所带来的综合价值增量。这个增量是衡量与查询的相关性以及与中已有项目的差异性的综合体现。

? 1.2 “边际”价值的构成

在 MMR 框架内,“边际相关性”具体衡量了一个候选项目在被考虑加入已选集合时,所能贡献的“净价值”。这个价值由两个相互作用的部分组成:

  1. 相关性贡献(Relevance Contribution):项目自身与用户查询的匹配程度。这通常由一个相关性评分函数来量化。
  2. 多样性贡献 (Diversity Contribution):项目与集合中已有项目不相似程度。这通常通过惩罚与中最相似项目的相似度来体现,即减少冗余。

MMR 算法的设计思路就是在每一次迭代选择中,精确地挑出那个能最大化这种“边际综合价值”的候选项目。


? 二、为什么需要最大边际相关性算法?

对 MMR 的需求,根植于信息交互的现实逻辑和用户的信息处理特性:

  1. 优化认知负荷与信息获取效率:面对信息流,人类的处理带宽有限。大量重复或高度相似的信息会增加认知负担,降低信息吸收效率。多样化的结果能使用户在有限交互次数内接触到更宽广、更多维度的信息,特别是在处理探索性或多方面查询(如“气候变化的影响”)时尤为重要,用户可能期望了解环境、经济、社会等不同层面的信息。
  2. 提升用户满意度与探索体验:过度个性化或单一维度的相关性排序可能导致“信息茧房”(Filter Bubble)效应,限制用户的视野。引入多样性不仅能满足用户明确表达的需求,还能带来意外发现(Serendipity),增加探索的乐趣,从而提高用户对系统的长期满意度和粘性。
  3. 支持更优的业务决策:在电子商务推荐或在线广告等场景,展示多样化的商品或广告创意有助于触达用户更广泛的潜在兴趣点,可能促进长尾商品的销售或提高广告活动的整体转化效果,避免流量过度集中于少数头部项目。
  4. 处理查询意图的不确定性:用户查询往往存在歧义(Ambiguity)。例如,搜索“Python”,用户可能指编程语言,也可能指蟒蛇。通过 MMR 引入多样性,可以在结果中适当包含与不同潜在意图相关的代表性内容,从而提高覆盖用户真实意图的概率。

因此,MMR 不仅是一种排序技术的改进,它更是对“如何设计信息呈现方式以更有效地服务于复杂的用户需求和认知模式”这一问题的解答。它承认并试图解决信息需求的多维性和用户对信息效率的内在偏好。


? 三、平衡相关性与多样性的相关方法论

虽然本文的核心是 MMR,但了解其在更广泛的多样性优化技术谱系中的位置是有益的。平衡相关性与多样性的方法大致可分为几类:

  1. 基于重排(Re-ranking)的策略







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5