无需训练的词汇-密集融合用于会话记忆检索

arXiv cs.LG 论文

摘要

本文提出了一种无需训练、仅使用CPU的检索方法,该方法将BM25词汇分数与后期交互密集分数相融合,用于会话记忆检索,在六个编码器上相比仅使用后期交互,在LoCoMo Hit@1上提升了高达+17.2个点。该研究提供了关于池化操作符、重排序器效果和基准鲁棒性的受控消融实验,将这种提升视为密集信号与词汇信号之间的分工。

arXiv:2606.04194v1 公告类型: 新 \n 摘要: 在跨多个长会话历史中检索回答新查询的过去少数几轮,是长期会话记忆(LoCoMo, LongMemEval)背后的检索瓶颈。近期并行工作Nano-Memory表明,通过最大查询-轮次相似度(后期交互,“轮次隔离检索”)对会话进行评分,优于均值池化的会话嵌入。我们不声称该效果;我们复现了它并询问在其周围应该添加什么无需训练、仅CPU的检索阶段。我们报告四个发现。(1) 融合:在单个留一对话权重下,将后期交互密集分数与BM25进行分数级融合,在六个编码器上相比仅后期交互在LoCoMo Hit@1上提升了+8.8至+17.2个点(所有p<1e-4),达到Hit@1 0.752 / NDCG@5 0.829(e5-large-v2),比BM25提升了11.2个百分点。(2) 在融合的前10个结果上使用现成的网络搜索交叉编码器重排序器会损害性能,在此将Hit@1降低了6.9个百分点(一个重排序器,一种配置)。(3) 池化操作符消融显示,top-k后期交互匹配最大相似度,但朴素的平滑最大值(log-sum-exp)对一半编码器失效。(4) 所有六个编码器的后期减早期差距都很大,且较大的编码器往往差距更大,而边际融合增益缩小;在LongMemEval-S上,一个BM25达到饱和的词汇场景,相对于BM25的净融合增益很小且不显著。按类别分析将这种增益视为分工:密集后期交互在多跳和时间问题上帮助最大,但在对抗性问题上落后于BM25。贡献是对一个强大的无需训练检索配方的受控、可复现的描述,而不是后期交互检索器本身(Nano-Memory的)。我们不声称完整的记忆架构;这是一项检索阶段研究。
查看原文
查看缓存全文

缓存时间: 2026/06/05 02:23

# 无需训练的词汇-密集融合方法用于对话记忆检索

来源:https://arxiv.org/html/2606.04194
Christian Lysenstøen 内陆挪威应用科学大学 访问学生,加州大学伯克利分校 christian@lysenstoen\.net https://github.com/Chrislysen/opsem

\(2026年6月\)

###### 摘要

在跨多轮会话的长历史记录中检索能够回答新查询的少数过去对话轮次,是长期对话记忆(LoCoMo、LongMemEval)背后的检索瓶颈。近期并行工作 *Nano-Memory* 表明,通过最大查询-对话轮次相似度(“对话轮次隔离检索”,后期交互)对会话进行评分,优于均值池化的会话嵌入,并将此效应归因于 *信号稀疏效应*。我们 *不* 声称该效应;我们复现了它,并探究在一个 *无需训练、仅CPU* 的检索阶段应围绕它添加什么。我们报告了四项发现,并分析了每种方法何时有效。\(1\) 融合:在单一留一对话出权重下,将后期交互的密集分数与BM25进行分数级融合,在六个编码器上相比 *仅后期交互* 在LoCoMo Hit@1上增加了 +8.8 到 +17.2 个百分点(所有 \(p<10^{-4}\)),达到了 Hit@1 0.752 / NDCG@5 0.829(e5-large-v2),比BM25高出 +11.2 个百分点。\(2\) 现成的重排序器在此处有负面影响:在融合后的 top-10 上使用网络搜索交叉编码器 *降低* 了 Hit@1 6.9 个百分点(限于一个重排序器、一个配置)。\(3\) 池化方式除了最大值之外也很重要:受控的池化算子消融实验表明,top-\(k\) 后期交互与最大相似度匹配,但朴素的平滑最大值(log-sum-exp)对一半的编码器灾难性地崩溃——因此后期交互家族并非都安全。\(4\) 鲁棒性和边界:所有六个编码器的后期-早期差距都很大(+13.5 到 +23.7 个百分点),并且对于较大的编码器往往更大,而边际融合增益则缩小;在 LongMemEval-S 上,一个词汇密集型领域(BM25已饱和),净融合增益相对于 BM25 很小且不显著。按类别分析将增益描绘为一种 *分工*:密集后期交互在多跳和时间性问题上帮助最大,但在对抗性问题上落后于 BM25,因此融合的价值在于结合查询所需的任何信号。本研究的贡献在于对一个强大且无需训练的检索方案进行了受控、可复现的描述——而非后期交互检索器本身,后者是 Nano-Memory 的工作。我们不声称构成完整的记忆架构;这是一项检索阶段的研究。

## 1 引言

一个长期对话助手会跨多个会话积累数百个对话轮次。当用户提出一个新问题——“我说过我的新车有什么毛病?”——系统必须在任何阅读器或生成器使用它们之前,检索出包含答案的少量过去对话轮次。像 LoCoMo\[5 (https://arxiv.org/html/2606.04194#bib.bib1)\] 和 LongMemEval\[12 (https://arxiv.org/html/2606.04194#bib.bib2)\] 这样的基准测试将这项任务形式化,并且大量近期工作研究了如何索引和检索对话记忆\[7 (https://arxiv.org/html/2606.04194#bib.bib3),6 (https://arxiv.org/html/2606.04194#bib.bib8),8 (https://arxiv.org/html/2606.04194#bib.bib9)\]。

其中许多工作围绕 *粒度* 展开:原子可检索单元应该是对话轮次、会话、摘要还是学习到的分段?文献既确立了选择的重要性,又对其方向存在分歧。我们认为“粒度”概念暗含了两个独立的设计轴:

- •**检索单元**——哪个文本跨度是原子可检索项(对话轮次、会话、分段);以及
- •**交互函数**——如何根据候选对象的组成对话轮次嵌入计算其分数:*早期交互* 将对话轮次池化成一个向量,然后与查询进行比较,而 *后期交互* 则将查询与每个对话轮次进行比较,并聚合得到的每个轮次分数。

一个检索“会话”但将整个会话的 *文本* 喂给 LLM 阅读器的流程不会进行嵌入池化,也不会产生早期交互惩罚;一个用于密集检索而 *嵌入* 会话的流程会对其进行均值池化并产生该惩罚。两者都称其单元为“会话”;它们在隐藏轴线上有所不同。

### 本文对新颖性保持敏感。

交互函数这一见解 *不是* 我们的。并行工作 *Nano-Memory*\[13 (https://arxiv.org/html/2606.04194#bib.bib4)\] 引入了对话轮次隔离检索(TIR)——通过最大查询-对话轮次余弦值对会话进行评分——并表明其胜过均值池化的会话嵌入,这一效应被称为 *信号稀疏效应*。我们在一个干净的控制条件下复现了该结果,并在全文中归功于它;我们不声称拥有它。ColBERT 的 MaxSim\[2 (https://arxiv.org/html/2606.04194#bib.bib5)\] 共享了“后期交互”的名称,但在 *token* 级别操作以进行段落排序,这与用于会话评分的对话轮次级别后期交互是不同机制。我们的问题故意比 Nano-Memory 更窄且具有互补性:*一旦有了后期交互的密集分数,一个无需训练、仅 CPU 的检索阶段还能获得什么——又会失去什么?*

### 贡献。

我们自始至终将检索单元固定为 *会话*,仅改变交互函数以及围绕它的词汇/神经组件。我们声称有五个经验性贡献,每个都可追溯到发布的代码,而 Nano-Memory 均未研究(其 TIR 是仅密集型的):

1. 1.词汇-密集融合在仅后期交互之上增加了效果(§7 (https://arxiv.org/html/2606.04194#S7))。分数级 BM25 \(\oplus\) 后期交互融合,使用单一留一对话权重,在六个编码器上均将 LoCoMo Hit@1 相对于仅后期交互密集检索器提高了 +8.8 到 +17.2 个百分点(所有 \(p<10^{-4}\))。
2. 2.重排序有负面影响(§8 (https://arxiv.org/html/2606.04194#S8))。在测试设置中,在融合的 top-10 上使用交叉编码器重排序器 *降低* 了 Hit@1 6.9 个百分点——对于分布外的对话查询,反射性的“添加重排序器”举动适得其反。
3. 3.池化算子消融实验(§9 (https://arxiv.org/html/2606.04194#S9))。top-\(k\) 后期交互与最大相似度匹配,但平滑最大值(log-sum-exp)算子对一半的编码器崩溃——后期交互是一个家族,并非每个成员都安全。
4. 4.鲁棒性和边界(§6 (https://arxiv.org/html/2606.04194#S6), §10 (https://arxiv.org/html/2606.04194#S10))。所有六个编码器的后期-早期差距都很大,并且对于较大的编码器往往更大,而融合的边际价值缩小;在 LongMemEval-S 上,净融合增益相对于 BM25 很小且不显著,因为该语料库是一个词汇密集型领域,BM25 已经饱和。
5. 5.融合何时以及为何有帮助(§11 (https://arxiv.org/html/2606.04194#S11))。按类别分析揭示了分工——密集策略在多跳/时间推理上胜出,BM25 在对抗性查询上胜出,而融合则两者兼顾——以及单调的长度-稀释效应和 \(\alpha\)-鲁棒性/RRF 比较。

所有结果都是检索阶段的,基于检索指标,仅 CPU,且无需训练。我们不运行 LLM 阅读器,也不做端到端的 QA 声明。

## 2 相关工作

### 对话记忆基准和系统。

LoCoMo\[5 (https://arxiv.org/html/2606.04194#bib.bib1)\] 和 LongMemEval\[12 (https://arxiv.org/html/2606.04194#bib.bib2)\] 提供了具有黄金证据的长篇多会话历史记录,并将问题分解为索引、检索和阅读。生产级记忆框架——MemGPT/Letta\[6 (https://arxiv.org/html/2606.04194#bib.bib8)\]、Zep/Graphiti\[8 (https://arxiv.org/html/2606.04194#bib.bib9)\] 以及其他——在检索之上添加了结构(摘要、知识图谱、提取的事实)。在这些系统结合密集和词汇证据时,它们通常通过倒数排名融合\[1 (https://arxiv.org/html/2606.04194#bib.bib7)\] 或加法评分在提取的事实或图元素级别进行融合,而不是作为每个对话轮次向量的最大值与 BM25 融合;我们研究的方案因此不同于它们的默认设置。

### 记忆单元的粒度。

单元的选择是现有技术。SeCom\[7 (https://arxiv.org/html/2606.04194#bib.bib3)\] 认为对话轮次 >> 会话,但提出了带有压缩的 *分段* 级单元;LongMemEval 报告在检索指标上会话 \(\geq\) 轮次。我们不声称粒度观点;我们的控制实验故意固定单元,转而改变交互函数。

### 交互函数和后期交互。

ColBERT\[2 (https://arxiv.org/html/2606.04194#bib.bib5)\] 普及了 token 级别的后期交互(MaxSim)用于段落排序。对话记忆中的类似物——用于会话评分的对话轮次级别最大相似度——最近由 Nano-Memory\[13 (https://arxiv.org/html/2606.04194#bib.bib4)\] 作为对话轮次隔离检索引入,其解释是信号稀疏效应。我们的工作以此为起点,并明确指出后期-均值比较的结果属于他们。

### 词汇检索和混合融合。

BM25\[10 (https://arxiv.org/html/2606.04194#bib.bib6)\] 仍然是一个强大的词汇基线,尤其是当查询和答案共享表面形式时。混合词汇-密集检索和排序融合\[1 (https://arxiv.org/html/2606.04194#bib.bib7)\] 是信息检索中的标准操作,但它们与 *对话轮次级别后期交互* 在对话记忆中的相互作用——以及它们是否能在 *后期交互密集检索器* 之上增加效果——据我们所知,尚未在这些基准上被隔离出来。这个空白正是本文要填补的。

## 3 预备知识

### 任务。

一个历史记录是一组会话 \(\mathcal{M}=\{S_1,\dots,S_M\}\),每个会话是一个对话轮次序列 \(S=\langle t_1,\dots,t_{|S|}\rangle\)。给定一个查询 \(q\),检索器返回一个会话的排序;黄金相关性是包含答案证据的会话集合。我们自始至终将检索 *单元* 固定在会话级别,因此所有方法解决相同的排序问题,仅在评分方式上不同。

### 交互函数。

令 \(e(\cdot)\) 为一个冻结的双编码器,\(\cos\) 为余弦相似度。我们比较四个算子,它们根据会话的对话轮次向量对其进行评分:

早期(均值): \[ s = \cos\!\big(e(q),\,\widehat{\textstyle\sum_t e(t)}\big), \tag{1} \] 后期(最大相似度): \[ s = \max_{t\in S}\cos(e(q),e(t)), \tag{2} \] 后期(top-\(k\)): \[ s = \tfrac{1}{k}\!\sum_{t\in\mathrm{top}_k}\!\cos(e(q),e(t)), \tag{3} \] 后期(lse-\(\beta\)): \[ s = \tfrac{1}{\beta}\log\!\textstyle\sum_t e^{\beta\cos(e(q),e(t))}, \tag{4} \] 其中 \(\widehat{\cdot}\) 表示 \(L_2\)-归一化,lse-\(\beta\) 是平滑最大值(log-sum-exp),\(\beta=10\)。早期交互是标准的“嵌入会话”基线;后期算子是在 *相同* 缓存的对话轮次向量上的交互函数。

### 词汇-密集融合。

对于一个查询和候选会话,我们计算 BM25 分数 \(s_{\mathrm{BM25}}\) 和密集分数 \(s_{\mathrm{dense}}\)(上述算子之一),在候选集内对两者进行 \(z\)-归一化,然后结合:

\[ s_{\mathrm{fuse}} = \alpha\,z(s_{\mathrm{BM25}}) + (1-\alpha)\,z(s_{\mathrm{dense}}), \tag{5} \]

其中 \(\alpha\) 通过留一对话出交叉验证(LOCO-CV)选择:对于每个留出的对话,\(\alpha\) 在其他九个对话上选择。我们还报告倒数排名融合(RRF)\[1 (https://arxiv.org/html/2606.04194#bib.bib7)\] 作为替代组合器。除了单一标量 \(\alpha\) 外,没有学习任何参数。

### 指标和不确定性。

我们报告 Hit@1(==Recall@1)、Recall@3、Recall@5、MRR 和 NDCG@5——这是领域标准检索指标集,因此结果可与基准论文相比。在 LoCoMo 上,我们使用 *对话集群自助法*(\(n_{\mathrm{boot}}=4000\)):重采样单位是整个对话,而不是问题,考虑到对话内的相关性,这是保守的选择。在 LongMemEval-S 上,我们按问题自助。我们报告双侧 95% CI 和单侧自助 \(p\) 值用于方向性假设。

## 4 实验设置

### 数据。

LoCoMo\[5 (https://arxiv.org/html/2606.04194#bib.bib1)\] 贡献了 \(n=1978\) 个 QA 示例,涵盖我们评估中的 10 个对话;黄金相关性在会话级别。LongMemEval-S\[12 (https://arxiv.org/html/2606.04194#bib.bib2)\] 贡献了一个 150 个问题的检索挑战子集(完整的多会话大海捞针);我们仅评估真实的完整大海捞针行,而不是退化的 oracle 行。

### 编码器。

我们使用六个冻结的 CPU 双编码器,参数范围从 22M 到 335M,涵盖三个系列:gte-base\[4 (https://arxiv.org/html/2606.04194#bib.bib12)\]、bge-base 和 bge-large\[14 (https://arxiv.org/html/2606.04194#bib.bib11)\]、e5-base-v2 和 e5-large-v2\[11 (https://arxiv.org/html/2606.04194#bib.bib10)\],以及 mxbai-embed-large\[3 (https://arxiv.org/html/2606.04194#bib.bib13)\];LongMemEval 的运行额外使用 22M 的 all-MiniLM-L6-v2\[9 (https://arxiv.org/html/2606.04194#bib.bib14)\] 以获得 CPU 的易处理性。所有对话轮次和查询嵌入一次性计算并缓存;每个报告的检索比较都从缓存运行,无需加载模型。

### 实现。

BM25 使用默认参数(\(k_1=1.5, b=0.75\))。用于重排序的交叉编码器是 ms-marco-MiniLM-L-6-v2。所有操作在 CPU 上运行,无需训练。脚本:tune13_interaction.py(交互函数控制和融合)、tune13b_fusion_vs_late.py(融合 vs. 仅后期)、tune10_rerank.py(交叉编码器)和 lme_interaction.py(LongMemEval);图表由 make_figures.py 生成。

## 5 复现:后期 vs. 早期交互

我们首先在控制条件下复现后期优于早期的结果:检索单元固定为会话,*唯一* 的变化是在相同的缓存对话轮次向量上的池化算子。表1 (https://arxiv.org/html/2606.04194#S5.T1) 给出 Hit@1;表2 (https://arxiv.org/html/2606.04194#S5.T2) 给出完整的指标集。

表1:LoCoMo 仅密集 Hit@1:早期(均值池化)vs. 后期(最大相似度)在相同对话轮次向量上。所有 \(\Delta\) 在 \(p<10^{-4}\)(对话集群自助法)下显著。BM25 基线 Hit@1=0.640。表2:LoCoMo 仅密集检索,完整指标:早期(均值池化)vs. 后期(最大相似度)交互在相同对话轮次向量上,六个编码器。

后期交互为每个编码器改善了每一指标,Hit@1 的增益从 +13.5 到 +23.7 个百分点(\(p<10^{-4}\))。这复现了 Nano-Memory 归因于对话轮次隔离的效应。我们再次强调,本节是一个 *复现*:贡献从 §7 (https://arxiv.org/html/2606.04194#S7) 开始。

## 6 跨编码器的鲁棒性

后期-早期差距对所有六个编码器都很大且为正(+13.5 到 +23.7 个百分点;图1 (https://arxiv.org/html/2606.04194#S6.F1)),并且对于较大的编码器往往更大:三个 335M 类编码器平均差距为 +20.3 个百分点,而三个 109M 类编码器平均为 +15.6 个百分点。然而,该趋势并非单调(mxbai-large,335M,与 e5-base-v2,109M 有相同的 +17.3 个百分点差距),并且只有六个编码器时,我们仅将“差距随容量增长”视为一个软观察,而非定律。我们有意避免将差距与每个编码器 *自身* 的最大相似度分数相关联:由于均值池化 Hit@1 跨编码器几乎恒定(0.38–0.43),差距是机械的。

相似文章