这项由马萨诸塞大学阿默斯特分校智能信息检索中心与计算机科学系联合开展的研究,以预印本形式于2026年7月7日发布于arXiv,编号为arXiv:2607.05803v1,分类方向为信息检索(cs.IR)。有兴趣深入阅读原始论文的读者可通过该编号在arXiv平台检索完整内容。

每当你打开搜索引擎,输入一串文字,点下回车,背后其实有一场无形的比赛正在进行。成千上万的网页在瞬间接受评判,系统要决定哪些对你最有用,哪些可以被排在后面。而这场比赛的规则,也就是"相似度评分"的方法,在过去几十年里一直是信息检索研究的核心战场。如今,马萨诸塞大学的研究团队从数学角度切入,系统性地证明了一类被称为"MaxSim"的评分策略,在理论能力上确实不逊于甚至超越传统的单向量内积方法。更重要的是,他们还提出了一种扩展方案,让这种策略能够处理更复杂的搜索需求,比如"帮我找一篇讲人工智能但完全不涉及谷歌的文章"这类带有排除条件的查询。

这项研究的意义不仅停留在数学推导层面。它为业界长期观察到的一个现象——基于MaxSim的模型(尤其是ColBERT这类系统)往往在实际测试中击败更简单的方法——提供了理论层面的解释。过去人们猜测这只是因为复杂模型使用了更多的存储空间,但研究者们通过严格的数学证明,指出真正的差异来自于评分策略本身的能力边界,而非单纯的参数规模。

一、搜索引擎的两种"评分员"

为了理解这项研究在说什么,需要先搞清楚两种搜索策略的工作方式,就像球探评估球员一样。

第一种方式,也是传统方式,是给每位球员制作一张"综合能力卡",用一个固定长度的数字列表来概括这位球员的全部特点。同样,也给每个搜索需求制作一张"需求卡"。评分时,把两张卡片对应位置的数字逐一相乘再加总,得到一个最终分数,分数越高说明越匹配。这种方法在技术上叫做"单向量内积",是绝大多数传统搜索系统的基础。

第二种方式则更像一位球探带着一份详细的观察清单去看比赛,清单上每一条目都代表他最关心的某个特质,比如速度、传球、射门。看完比赛后,他对每一条目的评价是:这位球员在这个特质上,跟他见过的所有球员比,最好能打几分?把每条目的最高分加总,就是这位球员的综合评价。这种方式允许"多向量"表示一个搜索需求,每个向量对应一个关注点,然后对每个关注点找文档里最匹配的部分,取最大值后求和。这就是MaxSim的核心逻辑,其完整表达式是:对每个查询向量,在文档向量集合中找内积最大的那个,然后把所有查询向量的最大值加在一起。

两种方式的核心区别在于:第一种一次性综合所有特质,第二种分别对每个特质找最佳匹配。这一差异,决定了它们各自能做到什么、无法做到什么。

二、用三维空间精确还原任何一次"词汇匹配"

研究者们提出的第一个核心定理,初看起来有些让人意外:MaxSim策略用三维空间里的向量,就能精确模拟两个高维稀疏向量之间的内积。

稀疏向量在这里的意思是:一个可能有数万甚至无限维的向量,但大多数位置的数值是零,只有少数几个位置有实际数值。这非常符合信息检索的现实——词汇表可能有几十万个词,但一个具体的文档或查询通常只包含其中几十到几百个。

研究团队构建的方法,本质上是用一个精心设计的多项式函数来当"识别器"。对于文档向量里位置为d、数值为w的某个词汇权重,可以构造一个二次多项式,使得这个多项式在位置d时恰好等于w,而在所有其他整数位置时都小于零。这样一来,当查询方的向量去和文档方的所有向量计算内积时,只有"位置匹配"的那对向量能产生正的内积值,其他所有组合都因多项式给出负值而被排除在外。MaxSim里的"取最大值"操作,恰好起到了自动筛选匹配项的效果。

具体构造过程是这样的:对查询向量中第i个非零元素,构造一个三维向量,形式是将1、i、i的平方组合成一个列向量,再乘以原始权重。对文档向量中第i个非零元素,则构造对应的多项式系数向量。当两侧对应位置的元素相遇时,内积恰好等于两者权重之积;遇到不匹配的位置时,多项式保证内积为负,因此在取最大值时会被自然淘汰。文档侧还额外加入一个零向量,确保当查询中某个关键词在文档里完全不存在时,该位置的贡献被正确地计为零而非负值。

这个构造的优美之处在于:查询侧和文档侧的向量完全独立构建,互相不需要知道对方的具体内容,完全符合实际搜索系统中"编码器独立工作"的要求。一个k个非零元素的查询向量,对应k个三维查询嵌入;一个有kv个非零元素的文档向量,只需要kv+1个三维文档嵌入。存储量和非零元素数量成正比,而不是和词汇表的总大小挂钩。

三、单向量方法为什么注定存在天花板

既然MaxSim能做到这件事,那传统的单向量内积方法能不能也实现类似的压缩?研究者们的第二个定理给出了明确的否定答案,并且证明方式非常简洁。

核心论点可以这样理解:假设词汇表里有100万个词,每个词都是一个独立的"概念",彼此之间完全没有关联,就像坐标系里100万个互相垂直的方向。现在要把这100万个概念压缩成一个固定长度的向量,让任意两个概念之间的相似度还能被精确保留。这在数学上等价于:把100万个互相垂直的方向,硬塞进一个只有d维的空间里,要求它们依然互相垂直。这显然是不可能的。就像三维空间里最多只能放三个互相垂直的方向,d维空间里最多只能保留d个互相正交的概念,超过这个数量就必须让渡精度,产生不可避免的混淆。

研究者们用矩阵秩的语言表达了这一点:如果有n个概念,它们两两内积构成的矩阵的秩是n。但两个d维矩阵之积的秩最多是d。当n>d时,这两件事无法同时成立,因此精确保留是不可能的。

这个结论与MaxSim形成了鲜明对比。MaxSim通过"每个概念独立携带自己的三维嵌入"的方式,彻底绕开了这一秩的限制。词汇表有多大,就可以有多少组嵌入,每组只需要三维,互相之间不产生干扰。这在理论上允许MaxSim处理无限维度的稀疏向量,而单向量方法在固定维度下必须对高维稀疏概念进行近似压缩。

四、标准MaxSim遭遇的边界:负值问题

至此,一切看起来都很美好,但研究者们并没有止步于赞美MaxSim,而是进一步追问:标准MaxSim是否也有它做不到的事情?

答案是有的,而且这个局限相当基本。标准MaxSim在处理"负值"时会遭遇困难。在上面描述的查询-文档匹配框架里,每次匹配的得分是"取最大值",而最大值通常是非负的——除非所有文档嵌入与该查询嵌入的内积全都是负的,才会出现负分贡献。

但在实际搜索中,某些情况天然需要负的贡献,最典型的就是带否定条件的查询。当用户搜索"不含谷歌的人工智能工具"时,"谷歌"这个词应该起到扣分的作用——文档里越明显地提到谷歌,得分应该越低。标准MaxSim的"取最大值"操作恰恰无法可靠地实现这一点:即使为"不含谷歌"设置了一个理论上应该产生负值的查询嵌入,文档向量集合里也总有其他不相关的嵌入会凑巧给出一个接近零或略正的内积,从而被选为最大值,掩盖掉本应出现的惩罚信号。

研究者们用一个严格的数学定理证明了这一局限的不可绕过性。他们假设存在一种精心设计的编码方案,对每个非零元素分配恰好一个嵌入向量,然后问:在这样的框架下,标准MaxSim能不能精确重现任意实数值向量之间的内积?结论是:如果原始向量维度n大于嵌入空间维度M,就必然存在某些实数向量对,其内积无法被精确还原,无论编码方案如何设计。

证明思路是:考虑一系列特殊的单稀疏向量,其中第i个向量在位置i处取-1,其余为零。要精确还原这批向量之间的内积,需要相似度矩阵是一个满秩对角矩阵(对角线上是-1,其余是0)。但如果嵌入向量只有M维,那么由嵌入向量构成的矩阵之积的秩最多是M,当n>M时,这个满秩条件无法满足,矛盾由此产生。

五、签名MaxSim:解锁负值的扩展方案

既然标准MaxSim无法处理负值,研究团队便提出了一个自然而优雅的扩展,称为"Signed MaxSim"(符号化MaxSim)。这个扩展的核心思路是把每个数值分解成两部分:大小和符号。

在原始框架里,每个非零元素x直接被嵌入为一个向量。在扩展框架里,x被分解成|x|(大小,永远非负)和符号(+1或-1),分别存储。查询侧的每个嵌入变成一个(向量,符号)的配对,文档侧也是如此。计算相似度时,先用嵌入向量的内积来决定哪个文档嵌入最匹配——这一步完全和原来一样,因为大小总是非负的,多项式识别机制依然有效。一旦找到最匹配的文档嵌入,再把查询的符号和这个文档嵌入的符号一起乘进去,得到该位置的最终贡献。

这样,"大小"负责导航和匹配,"符号"负责决定最终是加分还是扣分,两者职责分离,互不干扰。当查询向量的符号是-1(代表"不想要"这个概念),而文档向量的符号是+1(代表"文档里确实有这个概念")时,两者相乘得-1,对总分产生负贡献。这正是排除性查询所需要的行为。

研究者们证明,这个扩展方案能够精确还原任意实数值稀疏向量之间的内积,包括含负值的情况,并且和原始MaxSim一样保持编码独立性:查询侧和文档侧各自只用自己的信息来构建表示,不需要预先知道对方。所需存储量同样只与非零元素数量成正比。

六、MaxSim与布尔逻辑之间的隐秘联系

除了与内积方法的比较,研究者们还从一个不同的角度分析了MaxSim的能力边界,把它和信息检索最古老的传统——布尔逻辑搜索——联系了起来。

早期的搜索系统使用的是布尔查询:用户可以指定"我要同时包含A和B,或者包含C,但不能包含D"这样精确的逻辑条件,系统严格按照规则筛选文档。这种方式精确但笨拙,需要用户手动写出完整的逻辑表达式,普通用户难以驾驭。

研究者们发现,MaxSim在更高维度的嵌入下,可以被解读为一种"加权模糊OR"操作。所谓模糊OR,就是标准布尔逻辑中"或"的连续化推广:不是非此即彼,而是"最高匹配程度"。具体来说,可以把多个同义词或相关概念编码进一个查询向量,那么MaxSim在计算时就会自动选出文档里与这组概念最匹配的那一个,取其得分,而不是把所有匹配的贡献累加。这意味着一篇同时包含"红色""赤红""朱红"的文档,不会仅仅因为堆砌了多个近义词就获得不公平的高分,这正是模糊OR与模糊AND的本质区别。

更进一步,当把多个这样的查询向量组合在一起,每个向量代表一个需要满足的条件(一个OR子句),所有向量的MaxSim值求和,就构成了一个"条件的AND"。这在逻辑上恰好对应Conjunctive Normal Form(合取范式,CNF),即"多个或条件的且"。研究者们用数学证明,在适当的嵌入构造下,MaxSim计算出的总分,能和精确的布尔逻辑评判产生完全相同的文档排名顺序——哪些文档满足所有条件排在最前面,哪些只满足部分条件依次递减,哪些一个条件都不满足得分最低。

这个发现的意义在于:MaxSim不仅在数学能力上可以与内积媲美,它还天然地以一种与传统布尔搜索兼容的方式组织信息匹配。这给了研究者们一种新的视角来理解,为什么通过学习训练出来的ColBERT类模型往往能捕捉到用户搜索意图中的多条件组合逻辑。

七、符号MaxSim在实验中的表现

理论上能做到的事,实践中是否真的有效?研究团队设计了一组实验来验证扩展方案的实际价值,测试场景专注于带否定条件的搜索,因为这正是标准MaxSim理论上难以处理的地方。

实验使用了合成数据集,格式类似于"约翰·史密斯喜欢另类摇滚、天使蛋糕、杏子、阿根廷蚂蚁、牛油果、黑莓、卷心菜和哈密瓜"这样的文档,查询则是"喜欢另类摇滚和黑莓但不喜欢樱桃的人"。选择合成数据的好处是完全可控,排除了词汇分布、训练数据质量等混淆因素,让研究者们能精确衡量两种评分策略本身的差异。

对比的两个系统都使用了完全相同的ModernBERT语言模型作为基础,参数量约为1.49亿,区别只在于最终的相似度计算方式——一个用标准MaxSim(称为ColBERT基线),另一个用Signed MaxSim(称为Fallon)。Fallon额外增加了一个小型神经网络模块,用来为每个词生成权重值(理论版本里这个权重是符号+1或-1,实践中放开为任意实数以便梯度训练顺畅进行)。两者用相同的数据、相同的训练策略、相同的超参数(学习率1e-5)进行训练,唯一的变量就是评分函数。

第二个场景换了一套新的词汇表,通过Gemini生成与原词汇同类但表述不同的新概念,模拟搜索系统遭遇从未见过的词汇时的情况。ColBERT的nDCG@10骤降至0.597,暴露了其泛化能力的脆弱性;Fallon则不降反升,达到1.000的满分,平均精度(AP)也从0.511跃至1.000。这个反差说明,ColBERT在同域测试中的较好表现,部分依赖于训练和测试词汇的重叠,一旦词汇发生变化,其策略就难以为继。Fallon学到的是一种更通用的"用符号惩罚不想要的特征"的策略,词汇的具体形式并不影响这种策略的有效性。

第三个场景是纯否定查询,格式如"不喜欢樱桃的人"或"不喜欢樱桃或西瓜的人",完全没有任何正向条件。这对标准MaxSim来说是最严酷的考验。在这个场景里,语料库中绝大多数文档(不包含被排除属性的文档)都是正确答案,即便随机检索也能得到相当高的分数。然而ColBERT的nDCG@10只有0.008,几乎为零,意味着它不仅没能找到正确文档,反而系统性地把最不相关的文档(也就是包含被排除属性的文档)推到了最前面。这是标准MaxSim内在逻辑的直接后果:它总是试图找到某个正向匹配项,当唯一显著的语义信号是一个"应该被惩罚"的概念时,它反而会选中含有这个概念的文档作为最佳匹配。Fallon在同一场景下达到了0.788,虽然距离满分还有差距,但与基线相比是本质性的改善。剩余差距主要来自检索截断的问题:当正确文档数量达到数万时,只返回前1000个结果的评估协议本身就设置了难以突破的天花板。

整套实验结果在统计上全部显著,每项指标的改善都通过了严格的显著性检验。

说到底,这项研究做的事情有些反常——它不是提出一种全新的搜索算法,而是回头认真检视一个已经在实践中被广泛使用的策略,问清楚它究竟"为什么管用"以及"在哪些地方不够用"。研究者们发现,MaxSim之所以在实际测试中击败更简单的方法,不是靠参数量取胜,而是因为它的评分机制在数学上确实更有能力——能够精确模拟任何非负稀疏内积,而这是固定维度的单向量方法做不到的。与此同时,标准MaxSim在处理负值和排除性语义方面存在根本性的局限,这个局限同样被数学证明所确认,而不只是经验观察。针对这一局限,Signed MaxSim通过分离"大小"和"符号"两个维度的信息,以极小的架构改动解决了这一根本性问题,且实验结果验证了这种改动在实践中的有效性。

这项研究让人联想到的一个思考是:在机器学习领域,很多被证明好用的方法,往往缺乏与其性能相匹配的理论理解。当理论和实验终于对齐时,往往不仅能解释过去,还能指引未来。Signed MaxSim在否定查询上的大幅改善,以及它在词汇迁移场景下的稳健性,都表明这种对底层评分机制的理论理解,正在转化为实实在在的工程收益。有兴趣深入了解数学细节或复现实验的读者,可通过arXiv编号2607.05803查阅完整论文。

Q&A

Q1:MaxSim和普通搜索引擎的内积方法有什么本质区别?

A:普通内积方法把文档压缩成一个固定长度的向量来代表所有词汇,词汇表越大信息损失越多。MaxSim则给文档里的每个重要词汇单独保留一个小向量,查询时对每个关注点分别找文档里最匹配的部分取最大值,再求和。这样即使词汇表无限大,每个词汇的特征也不会被压缩掉,理论上信息保留更完整。

Q2:Signed MaxSim处理否定查询为什么比标准MaxSim好这么多?

A:标准MaxSim的取最大值操作很难产生稳定的负贡献,因为文档里总有一些不相关的词汇会给出接近零的分数,把本应产生的惩罚效果盖掉。Signed MaxSim把每个词的大小和符号分开处理,大小用来找最匹配的词,找到之后再乘上符号来决定加分还是扣分。这样当查询包含"不想要"的概念时,文档里确实出现该概念就会直接产生负分,而不会被其他不相关词汇的零分所干扰。

Q3:Signed MaxSim用在实际搜索产品中需要哪些改动?

A:从模型架构看,Signed MaxSim只需要在标准ColBERT的基础上额外添加一个小型神经网络模块来生成每个词的权重值,改动很小。但目前的近似快速检索引擎(如PLAID)是专门为标准MaxSim设计的,不能直接用于Signed MaxSim,需要开发新的近似搜索方案。论文作者表示这是后续工作的方向,目前实验使用的是精确全量计算。