论文状态:已完成

UniDex: Rethinking Search Inverted Indexing with Unified Semantic Modeling

发表:2025/09/29
原文链接PDF 下载
价格:0.10
价格:0.10
已有 3 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出一种新颖的搜索倒排索引方法UniDex,通过统一语义建模改革传统的基于词项的检索机制。UniDex引入了UniTouch和UniRank两个关键组件,有效提高了语义泛化能力和检索效果,并在快手短视频系统中验证了其实际应用,显著提升了检索能力。

摘要

Inverted indexing has traditionally been a cornerstone of modern search systems, leveraging exact term matches to determine relevance between queries and documents. However, this term-based approach often emphasizes surface-level token overlap, limiting the system's generalization capabilities and retrieval effectiveness. To address these challenges, we propose UniDex, a novel model-based method that employs unified semantic modeling to revolutionize inverted indexing. UniDex replaces complex manual designs with a streamlined architecture, enhancing semantic generalization while reducing maintenance overhead. Our approach involves two key components: UniTouch, which maps queries and documents into semantic IDs for improved retrieval, and UniRank, which employs semantic matching to rank results effectively. Through large-scale industrial datasets and real-world online traffic assessments, we demonstrate that UniDex significantly improves retrieval capabilities, marking a paradigm shift from term-based to model-based indexing. Our deployment within Kuaishou's short-video search systems further validates UniDex's practical effectiveness, serving hundreds of millions of active users efficiently.

论文精读

中文精读

1. 论文基本信息

1.1. 标题

UniDex: Rethinking Search Inverted Indexing with Unified Semantic Modeling (UniDex:通过统一语义建模重新思考搜索倒排索引)

1.2. 作者

Zan Li, Jiahui Chen, Yuan Chai, Xiaoze Jiang, Xia Qi, Zhiheng Qin, Runbin Zhou, Shun Zuo, Guangchao Hao, Kefeng Wang, Jingshan Lv, Yupeng Huang, Xiao Liang, Han Li

1.3. 隶属机构

Kuaishou Technology, Beijing, China (快手科技,中国北京)

1.4. 发表年份

2025年

1.5. 摘要

传统的倒排索引 (Inverted Indexing) 是现代搜索系统的基石,其通过精确的词项匹配 (term matches) 来确定查询与文档之间的相关性。然而,这种基于词项的方法通常侧重于表层词元重叠 (surface-level token overlap),这限制了系统的泛化能力 (generalization capabilities)检索效率 (retrieval effectiveness)。为了解决这些挑战,本文提出了 UniDex,一种新颖的基于模型 (model-based) 的方法,它采用统一语义建模 (unified semantic modeling) 来彻底改革倒排索引。UniDex 用流线型架构 (streamlined architecture) 取代了复杂的手动设计,从而增强了语义泛化 (semantic generalization) 并降低了维护开销 (maintenance overhead)。本文的方法包含两个关键组件:UniTouch,它将查询和文档映射到语义ID (semantic IDs) 以改进检索;以及 UniRank,它采用语义匹配 (semantic matching) 来有效排序结果。通过大规模工业数据集和真实世界在线流量评估,本文证明 UniDex 显著提升了检索能力,标志着从基于词项到基于模型索引 (model-based indexing) 的范式转变。UniDex 在快手短视频搜索系统中的部署进一步验证了其实际有效性,高效服务于数亿活跃用户。

1.6. 原文链接

https://arxiv.org/abs/2509.24632v1 (预印本版本)

1.7. PDF 链接

https://arxiv.org/pdf/2509.24632v1.pdf

2. 整体概括

2.1. 研究背景与动机

传统的搜索系统主要依赖倒排索引 (inverted indexing),其核心机制是基于词项 (term) 的精确匹配来检索文档。这种方法虽然在效率上表现出色,但存在以下几个显著问题:

  1. 表层词元重叠 (Surface-level token overlap):它主要关注查询词与文档词之间的字面匹配,难以捕捉词语的深层语义关系,导致词汇不匹配问题 (vocabulary mismatch)

  2. 泛化能力受限 (Limited generalization capabilities):当查询和文档使用不同的词汇表达相同语义时,传统方法难以有效检索,限制了系统的泛化能力。

  3. 高维护成本和脆弱性 (High maintenance cost and brittleness):为了弥补语义理解的不足,传统系统通常需要大量手动设计的启发式规则 (heuristics),例如同义词扩展、停用词处理、词项归一化等。这些规则不仅维护成本高昂,而且在不同领域间迁移时表现脆弱。

  4. 难以充分利用深度语义模型 (Difficulty in fully exploiting deep semantic models):尽管有研究尝试将神经网络 (neural networks) 引入倒排索引,但多数工作仍受限于词项范式 (term-based paradigm),未能从根本上解决语义理解的挑战。

    这些挑战促使研究人员寻求一种能够超越表层词元匹配,真正实现语义检索 (semantic retrieval) 的新方法。

2.2. 核心贡献/主要发现

本文提出了 UniDex,一个旨在通过统一语义建模 (unified semantic modeling) 彻底革新倒排索引的框架。其核心贡献和主要发现包括:

  1. 范式转变 (Paradigm Shift):UniDex 首次实现了倒排索引从基于词项 (term-based)基于模型 (model-based) 的范式转变,为检索系统的发展开辟了新方向。
  2. 统一语义建模框架 (Unified Semantic Modeling Framework):UniDex 用两个语义建模模块 UniTouchUniRank 取代了传统倒排索引中手动设计的词项匹配和多路径相关性计算。
    • UniTouch:将查询和文档映射为离散的语义ID (Semantic IDs, SIDs),用于高效的语义检索,显著增强了语义泛化能力 (semantic generalization)
    • UniRank:在 UniTouch 召回的候选集上执行精确的语义排序,取代了传统的启发式词项匹配排序方法。 这大大降低了维护开销,并提供了更强的语义泛化能力。
  3. 成功的大规模工业部署 (Successful Large-Scale Industrial Deployment):UniDex 是第一个成功在工业界大规模部署的基于模型倒排索引系统 (model-based inverted indexing system)。它已被集成到快手的短视频搜索平台,并通过大规模在线 A/B 测试验证了其有效性和效率,目前正服务于数亿活跃用户。
  4. 显著的性能提升 (Significant Performance Improvement):在召回率和排序质量方面,UniDex 相比稀疏检索模型和在线基线模型都有显著提升,并且在峰值性能上能够与稠密检索 (dense retrieval) 方法相媲美,同时保持了倒排索引固有的效率优势。
  5. 提升长尾查询的语义表征 (Enhanced Semantic Characterization for Long-tail Queries):UniDex 在处理长尾查询 (long-tail queries) 方面表现出尤为显著的优势,降低了相关结果稀缺率 (Relevant Result Scarcity rate, RRS) 并提高了点击率 (Click-through Rate, CTR),这对于满足用户多样化、细致的搜索需求至关重要。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 倒排索引 (Inverted Indexing)

倒排索引 (Inverted Indexing) 是一种在信息检索系统中广泛使用的核心数据结构,它存储了从内容(如单词、词项)到其所在文档的映射。与传统文档到内容的映射(正向索引)相反,倒排索引允许系统通过输入词项快速找到包含这些词项的所有文档。

  • 工作原理
    1. 文档解析 (Document Parsing):将每个文档分解成一系列词元 (tokens)词项 (terms)
    2. 词典构建 (Vocabulary Construction):收集所有文档中出现过的唯一词项,形成一个词典 (vocabulary)
    3. 倒排列表 (Inverted List):为词典中的每个词项创建一个列表,记录所有包含该词项的文档的 ID,以及该词项在文档中出现的位置、频率等信息。
  • 优势:检索速度快,能够高效处理大量文档。
  • 局限性:主要依赖词项的字面匹配,难以处理同义词、多义词等语义层面的问题,导致词汇不匹配 (vocabulary mismatch)泛化能力 (generalization capability) 差。

3.1.2. 语义检索 (Semantic Retrieval)

语义检索 (Semantic Retrieval) 是一种超越关键词匹配的检索方法,旨在理解查询和文档的深层含义,从而即使在词汇不重叠的情况下也能找到相关信息。它通过将文本内容(查询和文档)映射到语义空间 (semantic space) 中的向量表示 (vector representations) 来实现,然后计算这些向量之间的相似度来评估相关性。

3.1.3. 双塔编码器 (Dual-Tower Encoder)

双塔编码器 (Dual-Tower Encoder) 是一种常用的神经网络架构,特别适用于检索任务。它包含两个独立的编码器(“塔”),一个用于编码查询,另一个用于编码文档。

  • 工作原理
    1. 独立编码 (Independent Encoding):查询和文档各自通过一个独立的神经网络(例如 BERT 的变体)进行编码,生成固定维度的语义向量 (semantic vectors)
    2. 相似度计算 (Similarity Calculation):在查询时,将查询向量与预先计算并存储好的所有文档向量进行相似度计算(如点积 (dot product)余弦相似度 (cosine similarity)),以找到最相关的文档。
  • 优势:由于文档向量可以离线预计算,因此在线推理速度非常快,适合大规模检索。
  • 局限性:查询和文档在编码阶段没有直接交互,可能导致一些细粒度的语义信息丢失。

3.1.4. 量化 (Quantization)

量化 (Quantization) 是指将连续的数值或高精度的离散数值映射到有限的、较少数量的离散值或低精度的离散值的过程。在机器学习中,它常用于压缩模型大小、降低计算成本和提高推理速度。

  • 在本文中,有限标量量化 (Finite Scalar Quantization, FSQ) 被用来将连续的嵌入向量 (embedding vectors) 转换为离散的语义ID (Semantic IDs, SIDs),从而能够构建语义倒排索引。

3.1.5. 对比学习 (Contrastive Learning)

对比学习 (Contrastive Learning) 是一种自监督学习方法,通过学习将相似的样本拉近,不相似的样本推远来训练模型。

  • InfoNCE 损失 (InfoNCE Loss):是对比学习中常用的一种损失函数,旨在最大化正样本对 (positive pairs) 的相似度,同时最小化负样本对 (negative pairs) 的相似度。其核心思想是,对于一个给定的锚点 (anchor) 样本,它应该与一个正样本 (positive sample) 比与所有负样本 (negative samples) 更相似。

3.1.6. BERT (Bidirectional Encoder Representations from Transformers)

BERT 是一种基于 Transformer 架构的预训练语言模型 (Pre-trained Language Model, PLM),它通过在大量文本数据上进行双向 (bidirectional) 训练来学习语言的深层表示。

  • 双向性:BERT 能够同时考虑一个词的左侧和右侧上下文信息来生成其表示,从而更好地理解词语在句子中的含义。
  • 预训练与微调 (Pre-training and Fine-tuning):BERT 首先在大规模语料库上进行无监督预训练,然后可以在特定任务上进行有监督微调。

3.2. 前人工作

3.2.1. 传统倒排索引方法

  • TF-IDF (Term Frequency-Inverse Document Frequency) [35] 和 BM25 (Best Match 25) [41]:这些是经典的稀疏检索 (sparse retrieval) 方法,通过计算词项频率和逆文档频率来评估查询与文档的相关性。它们依赖于精确的词汇匹配,容易受到词汇不匹配 (vocabulary mismatch) 问题的困扰。

3.2.2. 结合神经网络的倒排索引方法

许多研究试图将神经网络的优势引入倒排索引,但大多仍受限于词项匹配范式:

  • DeepCT (Deep Contextualized Term Weighting) [6]:利用预训练语言模型来生成上下文感知的词项权重,以改进词项的细粒度加权。然而,其根本仍受限于词汇不匹配问题。
  • Generative approaches (生成式方法),如 doc2query [28] 和 doc2query-T5 [29]:通过预测可能的查询词来扩展文档表示,间接强化显著词项。但其训练范式是间接的。
  • 交互矩阵方法 (Interaction Matrix Approaches):直接建模查询或文档词元与整个词汇表之间的交互,构建交互矩阵并聚合得到词项重要性得分。
    • SparTerm [1]:使用求和聚合。
    • SPARTA [47] 和 EPIC [25]:使用最大池化 (max pooling)。 这些方法的表示可能不够稀疏或缺乏显式的稀疏性诱导正则化。
  • SPLADE 系列模型 (SPLADE family of models) [3, 9, 10, 19]:结合了稀疏性正则化 (sparsity regularization)词汇扩展 (lexical expansion),在效率、可解释性和检索有效性之间取得了平衡。然而,这些模型仍然主要受限于词元级交互 (token-level interactions)启发式词项匹配规则 (heuristic term-matching rules),泛化能力受限。

3.2.3. 稠密检索 (Dense Retrieval)

稠密检索 (Dense Retrieval) 是与倒排索引互补的检索范式,将查询和文档编码到共享的嵌入空间 (embedding space) 中进行语义匹配。

  • 双编码器架构 (Dual-encoder architectures):如 DPR (Dense Passage Retrieval) [17],使用 BERTPLM (Pre-trained Language Models) 将查询和文档编码成低维稠密向量,通过点积相似度进行高效检索。
  • 性能增强:通过任务特定预训练 (task-specific pretraining)(如 Condenser [14], coCondenser [12], PAIR [34])、改进的负样本采样策略 (improved negative sampling strategies) [42, 44] 和知识蒸馏 (knowledge distillation) [32, 33] 来提升性能。
  • 细粒度交互 (Fine-grained Interactions)ColBERT [18], ColBERTv2 [36], ME-BERT [24], COIL [13], uniCOIL [22], MVR [46] 等模型结合了富有表现力的嵌入和高效的后期交互机制 (late interaction mechanisms) 或稀疏表示。
  • 效率优化:通过嵌入压缩 (embedding compression)乘积量化 (product quantization)二值编码 (binary encoding) 降低内存占用和延迟 [40, 43, 45]。
  • 大型语言模型 (LLMs):利用 LLM 强大的语义理解能力进行稠密检索 [4, 23]。
  • 局限性:稠密检索依赖计算密集型的神经相似性搜索 (neural similarity search),相比倒排索引在效率上仍有挑战。

3.2.4. 统计检索方法 (Statistical Retrieval Methods)

  • 协同过滤 (Collaborative Filtering) [8, 37] 和 物品-物品检索 (item-to-item retrieval) [15]:利用用户-内容关联来扩展候选集。
  • 局限性:面临冷启动问题 (cold-start issues)马太效应 (Matthew effect) [11, 48],通常作为辅助策略集成到更强大的框架中。

3.3. 技术演进与差异化分析

现有技术从传统的词项匹配(如 TF-IDF、BM25)发展到将神经网络引入词项加权(如 DeepCT),再到通过生成式方法(如 doc2query)和稀疏正则化(如 SPLADE)改进词项表示。稠密检索则另辟蹊径,通过语义向量相似度匹配。

UniDex 的核心创新在于,它不是在词项范式上修修补补,而是从根本上取代 (replaces) 了词项,引入了语义ID (SIDs)。它将稠密检索中学习语义表示的能力与倒排索引固有的高效查找机制结合起来:

  • 替代词项 (Replacing Terms):UniDex 不再依赖传统的文本词项进行倒排索引,而是使用模型生成的离散语义ID (SIDs)。这从根本上解决了词汇不匹配问题。
  • 统一建模 (Unified Modeling):通过 UniTouch 统一了查询和文档的语义编码与量化过程,实现了语义级别的召回。通过 UniRank 统一了语义级别的排序。
  • 兼顾效率与效果 (Balancing Efficiency and Effectiveness):UniDex 利用量化 (quantization) 技术将连续的语义表示转化为离散的 SIDs,从而能够构建语义倒排索引,保留了倒排索引的高效查找能力,同时通过语义建模显著提升了召回和排序的准确性。这使得它在保持工业级效率的同时,能够达到甚至接近一些复杂稠密检索模型的性能。
  • 降低维护成本 (Reduced Maintenance Overhead):通过用模型学习到的语义表示取代大量手动设计的启发式规则和词项扩展策略,UniDex 极大地简化了系统架构,降低了维护成本,并增强了跨领域的泛化能力。

4. 方法论

UniDex 框架包含两个核心组件:UniTouchUniRank。UniTouch 负责将查询和文档映射为离散的语义ID (SIDs) 并进行语义倒排索引的召回;UniRank 则对 UniTouch 召回的候选集进行精细的语义排序。

4.1. UniTouch

UniTouch 模型旨在学习查询和文档的语义表示,并将其编码为离散的语义ID (SIDs)

4.1.1. 模型架构

UniTouch 的架构如图像 2(a) 所示,主要由查询/文档编码器 (Query/Document Encoder)量化模块 (Quantization Modules) 组成。

4.1.1.1. 查询编码器 (Query Encoder)

给定一个用户查询 qq,首先将其词元化 (tokenize) 为序列 {q˙1,q˙2,,q˙m}\{ \dot{q}_1, \dot{q}_2, \dots, \dot{q}_m \}。为了捕捉查询的多义性 (polysemy),本文在序列末尾附加 MM可学习的词元 (learnable tokens) {Q˙1,Q˙2,,Q˙M}\{ \dot{Q}_1, \dot{Q}_2, \dots, \dot{Q}_M \}。编码器采用一个 LL 层的 BERT 模型 (BERT model)。经过前向传播后,提取这 MM 个附加词元的嵌入 (embeddings),得到 {Q1,Q2,,QM}Rd\{ Q_1, Q_2, \dots, Q_M \} \in \mathbb{R}^d,它们共同代表了查询的语义嵌入。每个词元嵌入捕捉查询的一个独特语义方面。

4.1.1.2. 文档编码器 (Document Encoder)

文档编码器的设计与查询编码器类似。对于一个文档 dd,将其词元化为 {d˙1,d˙2,,d˙n}\{ \dot{d}_1, \dot{d}_2, \dots, \dot{d}_n \},并附加 NN 个可学习的词元 {D˙1,D˙2,,D˙N}\{ \dot{D}_1, \dot{D}_2, \dots, \dot{D}_N \}。前向传播会生成 NN 个嵌入 {D1,D2,,DN}Rd\{ D_1, D_2, \dots, D_N \} \in \mathbb{R}^d,每个嵌入编码文档的一个独特语义组件。由于文档通常比查询包含更丰富和多样的语义,因此设置 N>MN > M。在训练期间,查询和文档编码器共享模型参数,以确保跨领域的语义对齐。

4.1.1.3. 量化模块 (Quantization Module)

为了将连续嵌入转换为离散的语义ID (Semantic IDs, SIDs),引入了量化模块。量化模块的详细网络结构如图像 2(a1) 所示。以查询嵌入 QiRdQ_i \in \mathbb{R}^d 为例,首先将其投影到一个较低维度的空间: Qi=DownProj(Qi)Rdq,dqd. Q_i' = \text{DownProj}(Q_i) \in \mathbb{R}^{d_q}, \quad d_q \ll d. 这里,QiQ_i 是原始的 dd 维嵌入向量,DownProj 是一个下投影函数(例如一个线性层),将其维度降低到 dqd_qdqdd_q \ll d 表示 dqd_q 远小于 dd,以实现维度压缩。

接下来,应用有限标量量化 (Finite Scalar Quantization, FSQ) [27] 算法,将 QiQ_i' 的每个维度离散化为 KK分箱 (bins) 之一: Si=FSQ(Qi){0,1,,K1}dq, S_i = \text{FSQ}(Q_i') \in \{0, 1, \dots, K-1\}^{d_q}, FSQ(Qi)Round[(K1)σ(Qi)], \text{FSQ}(Q_i') \triangleq \text{Round}[ (K-1)\sigma(Q_i') ], 其中,σ()\sigma(\cdot)sigmoid 函数 (sigmoid function),它将输入值映射到 (0,1)(0, 1) 之间。Round 函数将结果四舍五入到最近的整数。通过这种方式,FSQ 函数将 QiQ_i' 的每个维度量化为 0K-1 之间的整数。因此,每个 SiS_i 对应于 KdqK^{d_q} 种可能的离散代码之一,这些代码被解释为查询的语义ID (SIDs)

最后,离散代码 SiS_i 通过上投影映射回 dd 维嵌入空间: Q^i=UpProj(Si)Rd. \hat{Q}_i = \text{UpProj}(S_i) \in \mathbb{R}^d. 这个重构的嵌入 (reconstructed embedding) Q^i\hat{Q}_i 允许模型将离散 ID 集成到下游任务中,同时保持与连续表示空间的兼容性。

在优化过程中,本文采用元素级梯度缩放 (Element-wise Gradient Scaling, EWGS) [20] 策略来通过不可微分的量化步骤传播梯度。这种方法缓解了由直通估计器 (Straight-Through Estimator, STE) [2] 引入的训练不稳定性,从而实现了更快的收敛和更稳定的量化模块学习动态。经验上,本文观察到设置 K=2K=2(即二值量化)和 dq=19d_q=19 能够获得良好的量化性能。在此配置下,每个语义ID (SID) 对应于 [0,219][0, 2^{19}] 范围内的整数,平衡了表示能力和模型效率。

4.1.1.4. 词元匹配 (Token Matching)

为了衡量查询和文档之间的语义相关性,本文采用了“最大-最大” (Max-Max) 匹配策略,如图像 2(a2) 所示。遵循倒排索引的词项匹配本质,如果一个文档匹配查询的至少一个语义方面,则应将其检索出来。例如,查询“apple”可能指水果、科技公司或唱片公司。一篇讨论全球科技趋势的文档可能包含谷歌、微软和苹果的部分。即使只有“Apple Inc.”方面与查询重叠,该文档仍应被检索。

形式上,查询和文档之间的相似度定义为词元级匹配矩阵 (token-level matching matrix) 的最大值: sim(q,d)=maxi[M]maxj[N]s(Q^i,D^j)=maxi[M]maxj[N]Q^iD^jQ^iD^j. \mathrm{sim}(q, d) = \operatorname*{max}_{i \in [M]} \operatorname*{max}_{j \in [N]} s(\hat{\mathcal{Q}}_i, \hat{D}_j) = \operatorname*{max}_{i \in [M]} \operatorname*{max}_{j \in [N]} \frac{\hat{\mathcal{Q}}_i \cdot \hat{D}_j}{||\hat{\mathcal{Q}}_i|| \cdot ||\hat{D}_j||}. 这里,Q^i\hat{\mathcal{Q}}_i 是查询的第 ii 个重构语义嵌入,D^j\hat{D}_j 是文档的第 jj 个重构语义嵌入。s(,)s(\cdot, \cdot) 表示两个嵌入之间的余弦相似度 (cosine similarity)MM 是查询的语义词元数量,NN 是文档的语义词元数量。这个公式意味着,只要查询的任何一个语义词元与文档的任何一个语义词元高度相似,它们之间的相关性就被认为是高的。

4.1.2. 学习目标 (Learning Objectives)

为了优化 UniTouch 模型,本文引入了多个训练目标,共同增强语义表示学习和查询与文档 SIDs 之间的对齐。训练数据来源于真实世界的搜索日志。每个训练实例由一个三元组 {q,D,y}\{q, \mathcal{D}, \mathbf{y}\} 组成,其中 qq 表示用户查询,D={d1,d2,,dn}\mathcal{D} = \{d_1, d_2, \dots, d_n\} 表示候选文档集(包括展示给用户的文档和采样为负样本的未曝光文档),y={l1,l2,,ln}\mathbf{y} = \{l_1, l_2, \dots, l_n\} 包含相关的相关性标签,反映了查询和文档之间的语义相关性。

4.1.2.1. 对比学习 (Contrastive Learning)

首先利用列表式对比学习 (list-wise contrastive learning) 策略来精炼语义表示。对于给定的查询 qq,在其候选文档集上计算 InfoNCE 损失 (InfoNCE loss)。具体来说,对于每个文档 dDd \in \mathcal{D},其损失公式为: LInfoNCE=1DdiDlogexp(sim(q,di)/τ)dj{di}N(di)exp(sim(q,dj)/τ). \mathcal{L}_{\text{InfoNCE}} = - \frac{1}{|\mathcal{D}|} \sum_{d_i \in \mathcal{D}} \log \frac{\exp(\text{sim}(q, d_i) / \tau)}{\sum_{d_j \in \{d_i\} \cup N(d_i)} \exp(\text{sim}(q, d_j) / \tau)}. 其中,τ\tau 是一个温度参数 (temperature parameter)N(di)={dkDli>lk}N(d_i) = \{d_k \in \mathcal{D} | l_i > l_k\} 表示负样本集,即相关性标签低于 did_i 的文档。在本文的设计中,负样本包括具有较低相关性标签的文档,以及来自同一批次中其他查询的文档。与点式学习 (point-wise learning) 相比,对比优化捕捉更细粒度的语义区别,并为表示学习提供更强的监督。

4.1.2.2. 匹配损失 (Matching Loss)

为了使 UniTouch 更有效地应用于倒排索引结构,本文进一步引入了匹配损失 (matching loss),它强化了查询 SIDs 与高度相关文档 SIDs 之间的一致性。直觉是,如果一个文档与查询高度相关,它们的离散语义标识符在代码空间中至少应该有一部分重叠。在训练期间,此目标仅应用于具有最高相关性等级的文档: Lmatch=1DdiD(1sim(q,di)). \mathcal{L}_{\text{match}} = \frac{1}{|\mathcal{D}'|} \sum_{d_i \in \mathcal{D}'} (1 - \text{sim}(q, d_i)). 其中,D={diDli=max(y)}\mathcal{D}' = \{d_i \in \mathcal{D} | l_i = \operatorname*{max}(\mathbf{y})\} 表示具有最高相关性标签的文档集。这个损失函数旨在将最相关的文档与查询之间的相似度推向 1。

4.1.2.3. 量化正则化 (Quantization Regularization)

最后,为了提高 K=2K=2 时量化的稳定性,本文引入了一个正则化损失 (regularization loss),鼓励嵌入远离每个维度上的决策边界 (decision boundary)(即 0.5): Lreg=1Mi[M]σ(Qi)0.50.522. \mathcal{L}_{\text{reg}} = \frac{1}{M} \sum_{i \in [M]} || |\sigma(Q_i') - 0.5| - 0.5 ||_2^2. 这里,σ(Qi)\sigma(Q_i') 是经过 sigmoid 函数处理后的下投影查询嵌入 QiQ_i',其值在 (0,1)(0, 1) 之间。这个损失函数旨在使 σ(Qi)\sigma(Q_i') 的值更接近 0 或 1,从而远离 0.5 的决策边界。 这个目标防止了嵌入在量化阈值附近波动,从而稳定了训练并确保了鲁棒的语义离散化。

4.1.3. 语义倒排索引 (Semantic Inverted Indexing)

UniTouch 模型训练完成后,将其部署到在线搜索平台。核心思想是用模型生成的离散 SIDs (Semantic IDs) 构建的语义倒排索引 (semantic inverted indexing) 取代传统的基于词项的倒排索引。

具体来说,首先对文档编码器进行离线推理 (offline inference),计算所有候选物品的 SIDs,然后构建一个倒排索引,其中每个条目对应一个特定的 SID。在查询时,查询编码器实时生成传入用户查询的 SIDs。本文设计的关键特点是 MM 个查询 SIDs 代表了查询的多个潜在语义解释。因此,检索过程会聚合所有 MM 个查询 SIDs 的结果。形式上,最终的候选集是通过每个查询 SID 检索到的文档的并集 (union) 获得的,从而确保了广泛的语义覆盖和鲁棒的召回性能。

4.2. UniRank

一旦 UniTouch 生成了大量的检索候选集,传统的基于词项的排序方法就变得不那么有效,因为许多检索到的物品可能与查询没有明确的词汇重叠。为了解决这一挑战,本文提出了 UniRank,一个在 UniTouch 构建的语义倒排索引之上运行的语义相关性排序模型 (semantic relevance ranking model)。UniRank 用统一的神经排序框架 (neural ranking framework) 取代了多个手动设计的词汇匹配启发式方法,从而简化了索引管道并提高了泛化能力。

4.2.1. 模型架构

UniRank 的架构遵循与 UniTouch 相似的双塔设计 (dual-tower design)。查询和文档编码器都在其各自的输入序列后附加一组可学习词元 (learnable tokens),以捕捉细粒度的语义信息。与 UniTouch 侧重于召回的广泛覆盖不同,UniRank 侧重于排序的精确语义对齐。受 ColBERT [18] 的启发,UniRank 计算查询和文档嵌入之间的词元级交互 (token-level interactions),以实现高分辨率的语义匹配。形式上,给定 MM 个查询嵌入 {Q1,,QM}\{Q_1, \dots, Q_M\}NN 个文档嵌入 {D1,,DN}\{D_1, \dots, D_N\},匹配分数定义为: sim(q,d)=i=1Mmaxj[N]QiDjQiDj. \mathrm{sim}(q, d) = \sum_{i=1}^M \operatorname*{max}_{j \in [N]} \frac{Q_i \cdot D_j}{||Q_i|| \cdot ||D_j||}. 这里,QiQ_i 是查询的第 ii 个嵌入,DjD_j 是文档的第 jj 个嵌入。这个公式计算了查询的每个语义词元与文档所有语义词元的最大相似度,然后对这些最大相似度进行求和。这是一种后期交互 (late interaction) 机制,允许在编码后进行细粒度的匹配。

为了训练 UniRank 模型,本文使用如公式 6 所述的列表式对比目标 (list-wise contrastive objective) 来优化排序能力,并通过均方误差 (Mean Squared Error, MSE) 损失将细粒度的排序分数蒸馏到模型中,以增强其相关性区分能力。

4.2.2. 部署 (Deployment)

在部署期间,文档编码器在离线阶段 (offline stage) 预计算所有候选物品的嵌入,并将这些嵌入存储在内存中。在查询时,查询编码器实时生成嵌入。最终的排序分数根据公式 9 计算,然后根据分数对文档进行排序以生成排名结果。

4.3. UniDex

整体搜索管道,称为 UniDex,将 UniTouch 和 UniRank 集成到一个统一的两阶段框架 (two-stage framework) 中,如图像 2(b) 所示。

  1. 第一阶段 (First Stage):UniTouch 利用语义倒排索引 (semantic inverted indexing) 高效地检索广泛的候选文档集。通过将查询和文档嵌入离散化为语义ID (SIDs),UniTouch 实现了可伸缩的检索,捕捉查询的多个语义解释。这在保持与传统基于词项倒排索引相当的效率的同时,确保了高召回率。

  2. 第二阶段 (Second Stage):UniRank 接收检索到的候选池并执行细粒度语义排序 (fine-grained semantic ranking)。UniTouch 侧重于召回导向的检索,而 UniRank 则通过计算查询和文档之间详细的词元级交互 (token-level interactions) 来强调精度。这一步骤过滤掉语义较弱的候选,并将最相关的结果显示在列表顶部。

    与依赖精确词项匹配、同义词扩展和手动设计匹配启发式方法的传统倒排索引相比,UniDex 提供了更具泛化性和效率的解决方案。通过用 SIDs 取代词项级索引,UniDex 消除了对同义词改写的依赖,并减轻了手动设计策略的计算开销。因此,该系统实现了鲁棒的泛化、可伸缩的效率和改进的检索质量。

5. 实验设置

5.1. 数据集

为了严格评估 UniDex,本文构建了大规模的训练和测试数据集,这些数据来源于快手 App (Kuaishou App) 的真实世界搜索日志,确保了用户行为的多样性和代表性。

  • 训练数据集:包含约 1.2亿 (120 million) 用户搜索会话,覆盖超过 30亿 (3 billion) 查询-视频对。这些会话涵盖了在线搜索管道的多个阶段,包括召回、预排序和排序。每个会话最多包含 30 个候选视频,这些视频在不同阶段均匀采样,并分为多个层级以更好地捕捉不同程度的相关性。难负样本 (Hard negative samples) 从搜索管道的早期阶段采样,而高质量正样本 (high-quality positive samples) 则通过整合在线精细排序模型 (fine-grained ranking model) 的分数与明确的用户反馈构建。每个查询-视频会话都用丰富的特征表示,包括查询和视频的文本特征、视频消费数据和用户反馈信号。
  • 离线评估数据集:从视频库中选择 1000万 (10 million) 个视频作为大规模候选池,并从在线系统提取 5万 (50,000) 个用户搜索会话作为测试集。这种设计允许在真实和可伸缩的条件下严格评估检索和排序性能。
    • 排序子集 (Ranking Subset, RS):包含由搜索系统推荐给用户的视频,用于评估与系统级偏好的对齐情况。
    • 点击子集 (Click Subset, CS):将用户点击的物品视为正样本,捕捉即时用户兴趣并反映真实世界的交互信号。 这种双重评估策略能够全面分析系统相关性和以用户为中心的参与度。

5.2. 评估指标

为了量化评估检索和排序性能,本文遵循 Chen 等人 [5] 的方法,采用 Recall@300 (召回率@300)MRR@10 (平均倒数排名@10) 作为主要评估指标。

5.2.1. Recall@300 (召回率@300)

  • 概念定义Recall@300 衡量模型在检索出的前 300 个结果中,包含多少比例的真正相关项。这个指标评估了模型在召回相关候选方面的广度和能力。较高的 Recall@300 意味着模型能够找到更多潜在的相关文档,即使它们可能不在列表的最顶部。
  • 数学公式Recall@300=1ni=1ntiyi \text{Recall@300} = \frac{1}{n} \sum_{i=1}^n \frac{t_i}{y_i}
  • 符号解释
    • nn:查询的总数量。
    • tit_i:对于第 ii 个查询,在前 300 个检索结果中真阳性 (true positive) 实例(即相关实例)的数量。
    • yiy_i:对于第 ii 个查询,所有相关实例的总数量。

5.2.2. MRR@10 (平均倒数排名@10)

  • 概念定义MRR@10 衡量了排名质量,通过考虑第一个相关项在检索结果中的位置来评估。它是一个更注重排序位置的指标,尤其关注用户是否能快速找到相关信息。如果第一个相关项排名靠前,MRR 值会更高。MRR@10 表示只考虑前 10 个结果。
  • 数学公式MRR@10=1ni=1n1ti \text{MRR@10} = \frac{1}{n} \sum_{i=1}^n \frac{1}{t_i}
  • 符号解释
    • nn:查询的总数量。
    • tit_i:对于第 ii 个查询,第一个相关项在前 10 个检索结果 (truncated at the top 10 ranks) 中的排名位置。如果前 10 个结果中没有相关项,则 ti=t_i = \infty,此时 1ti=0\frac{1}{t_i} = 0

5.3. UniDex 的详细配置

  • UniTouch 编码器 (UniTouch Encoder)
    • 实现:使用一个 24 层 (24-layer)BERT [7] 模型。
    • 初始化:使用内部预训练权重 (internally pre-trained weights),以利用领域特定知识。
    • 隐藏维度 (Hidden Dimension):1024。
    • 训练批量大小 (Batch Size):32。
    • 优化器 (Optimizer):Adam
    • 初始学习率 (Initial Learning Rate):2×1052 \times 10^{-5}
    • 学习率调度 (Learning Rate Schedule):前 2,000 步线性预热 (linear warm-up),随后采用余弦衰减 (cosine decay)。
    • 最大序列长度 (Maximum Sequence Length):查询为 32,视频为 256。
    • 语义信息编码:通过 19 维 2 位量化向量。
    • 生成的 SIDs 数量:每个查询生成 3 个 SIDs,每个视频生成 8 个 SIDs
  • UniRank 模块 (UniRank Module)
    • 训练相关超参数:与 UniTouch 保持一致。
    • 语义信息编码:查询和视频的语义信息都编码为四个 (four) 128 维的稠密向量。

5.4. 对比基线

本文将 UniDex 的性能与以下三类模型进行比较:

5.4.1. 稀疏检索 (Sparse Retrieval)

  1. BM25 [41]:经典的词频-逆文档频率 (TF-IDF) 变体,基于词项的匹配方法。
  2. DeepCT [6]:通过预训练语言模型估计上下文感知的词项重要性,改进词汇匹配。
  3. SPLADE [9]:结合稀疏性正则化和词汇扩展,提高稀疏检索效率和效果。
  4. SPLADE-Max [10]:SPLADE 的变体,进一步优化了稀疏表示。

5.4.2. 快手在线基线 (Kuaishou Online Benchmark)

这是快手搜索系统当前部署的倒排索引检索框架,包含:

  1. Touch-Base:负责初步的召回阶段。
  2. Rank-Base:负责对召回结果进行排序。 本文将 UniDex 与这个在真实生产环境中运行的基线进行比较。

5.4.3. 稠密检索 (Dense Retrieval)

尽管稠密检索与倒排索引在机制上有所不同,但两者都作为搜索系统中的关键召回机制。因此,本文将其结果作为参考进行评估。

  1. DPR (Dense Passage Retrieval) [17]:使用双编码器框架将查询和文档映射到低维稠密向量,通过点积相似度进行检索。
  2. ANCE (Approximate Nearest Neighbor Contrastive Learning) [39]:引入近似最近邻对比学习 (approximate nearest neighbor contrastive learning) 来解决稠密检索中的训练瓶颈。
  3. ColBERT [18]:通过词元级后期交互机制 (token-level late-interaction mechanism) 增强查询和文档表示,实现多向量检索。
  4. TriSampler [42]:进一步改进了难负样本采样策略 (hard negative sampling strategies),以优化稠密检索模型的训练。

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. 统一语义建模的优势

以下是原文 Table 1 的结果,展示了不同模型在 Kuaishou 大规模视频搜索数据集上的性能比较:

以下是原文 Table 1 的结果:

Model Recall@300(%) MRR@10(%)
Touch Module Rank Module RS CS RS CS
Sparse Retrievals Inverted Indexing BM25 [41] 49.56 46.10 22.21 18.94
DeepCT [6] 52.05 48.60 23.58 20.42
SPLADE [9] 54.61 50.74 24.21 22.91
SPLADE-Max [10] 56.56 51.18 25.04 23.27
Kuaishou Baseline Touch-Base Rank-Base 55.33 51.12 27.50 24.92
UniTouch-24L Rank-Base 66.06 62.45 31.66 26.10
Touch-Base UniRank 56.24 51.73 29.67 25.89
UniDex (Ours) UniTouch-6L UniRank 65.21 61.20 32.29 27.13
UniTouch-12L UniRank 68.56 63.02 33.24 28.11
UniTouch-24L UniRank 70.74 65.80 34.06 28.42
Dense Retrievals (For Refer) DPR [17] 69.57 64.38 34.08 28.11
ANCE [39] 70.02 65.73 34.56 28.62
ColBERT [18] 70.98 66.16 34.72 29.10
TriSampler [42] 73.09 67.75 35.27 29.96
  • 与稀疏模型对比:UniDex 取得了显著的提升。即使是轻量级的 UniDex 模型(UniTouch-6L 和 UniRank),在 RS 数据集上,其 Recall@300 相比最强的稀疏方法(SPLADE-Max)仍有 8.65% 的提升(65.21% vs 56.56%),MRR@10 提升了 7.25%(32.29% vs 25.04%)。这表明 UniDex 的统一语义建模能够显著超越传统稀疏模型的词项匹配限制。

  • 与稠密检索对比:UniDex 在其最佳性能下(UniTouch-24L 和 UniRank),能够与稠密检索方法的效果相媲美。在 RS 数据集上,UniDex 的 Recall@300(70.74%)仅比领先的 TriSampler(73.09%)低 2.35%,MRR@10(34.06%)低 1.21%(35.27%)。考虑到稠密检索通常需要更复杂的计算资源,并且对检索规模的扩展更为敏感,UniDex 能够在保持倒排索引效率的同时达到接近的效果,这是一个重要的成就。这印证了 UniDex 能够显著增强倒排索引的召回能力,为该检索方法提供了一种新途径。

  • 与快手在线基线对比

    • 整体提升:UniDex 的完整模型(UniTouch-24L 和 UniRank)相较于在线基线(Touch-Base 和 Rank-Base),在 RS 上的 Recall@300 提升了 15.41%(70.74% vs 55.33%),MRR@10 提升了 6.56%(34.06% vs 27.50%)。这归因于 UniDex 统一语义建模带来的语义理解能力增强。
    • UniTouch 的关键性:单独使用 UniTouch-24L 替换 Touch-Base(而 Rank Module 仍使用 Rank-Base)时,Recall@300 在 RS 上从 55.33% 提升到 66.06%,增加了 10.73%。这表明 UniTouch 在召回阶段的语义泛化能力对整体性能贡献巨大。
    • UniRank 的辅助作用:单独使用 UniRank 替换 Rank-Base(而 Touch Module 仍使用 Touch-Base)时,Recall@300 在 RS 上仅提升了 0.91%(56.24% vs 55.33%)。这说明 UniRank 的主要作用是精细排序,但如果没有 UniTouch 提供更相关的候选集,其提升有限。
    • 协同作用:UniTouch 和 UniRank 的统一语义建模能够协同工作,达到最佳效果。
  • 扩展倒排索引的迭代空间:随着 UniTouch 模型层数增加(从 6L 到 24L),指标持续改善。例如,UniTouch-24L 在 RS 上的 Recall@300 达到 70.74%。这表明 UniDex 仍有进一步优化的潜力,能够带来更大的业务价值。统一建模方法消除了对大量手动词项扩展和匹配规则设计的需求,简化了迭代过程并显著降低了维护成本。

6.2. 消融实验

6.2.1. 词元匹配机制的效果

以下是原文 Table 2 的结果,展示了不同词元匹配机制的比较:

Method Recall@300(%) MRR@10(%)
RS CS RS CS
UniDex-Max-Sum 34.58 32.19 20.10 17.67
UniDex-Max-Mean 42.41 39.60 23.73 19.83
UniDex-Max-Max 70.74 65.80 34.06 28.42

本文对比了三种词元匹配目标:

  • Max-Sumsim(q,d)=i=1Mmaxj[N]s(Q^i,D^j)\text{sim}(q, d) = \sum_{i=1}^M \operatorname*{max}_{j \in [N]} s(\hat{Q}_i, \hat{D}_j)

  • Max-Meansim(q,d)=1Mi=1Mmaxj[N]s(Q^i,D^j)\text{sim}(q, d) = \frac{1}{M} \sum_{i=1}^M \operatorname*{max}_{j \in [N]} s(\hat{Q}_i, \hat{D}_j)

  • Max-Maxsim(q,d)=maxi[M]maxj[N]s(Q^i,D^j)\text{sim}(q, d) = \operatorname*{max}_{i \in [M]} \operatorname*{max}_{j \in [N]} s(\hat{Q}_i, \hat{D}_j)

    结果分析Max-Max 交互方式显著优于其他方法。这主要是因为 Max-Max 更好地保持了 UniTouch 训练和检索阶段之间的一致性,并与倒排索引的范式高度对齐。在倒排索引中,只要查询或视频的至少一个 SID 匹配,就会进行检索。而 Max-Sum 和 Max-Mean 要求查询侧的所有 SIDs 都达到一定相似度才能进行检索,这偏离了倒排索引的机制。

6.2.2. 学习目标的影响

以下是原文 Table 3 的结果,展示了学习目标的影响:

Method Recall@300(%) MRR@10(%)
RS CS RS CS
UniDex 70.74 65.80 34.06 28.42
UniDex w/o ML 67.88 63.05 33.59 27.96
UniDex w/o QR 70.62 65.54 34.01 28.25

本文主要研究了匹配损失 (Matching Loss, ML)量化正则化 (Quantization Regularization, QR) 的影响。

  • 匹配损失 (ML):当禁用 ML(UniDex w/o ML)时,RS 上的 Recall@300 下降了 2.86%(70.74% vs 67.88%)。这表明 SIDs 的序列匹配对于语义相似内容的重要性,尤其是在倒排索引中,相似语义的 SIDs 应该包含尽可能多的相同值。
  • 量化正则化 (QR):移除 QR(UniDex w/o QR)后,各项指标略微下降。尽管指标下降不大,但其在工程实践中至关重要。它能防止模型训练精度和在线推理优化中的数值精度变化导致浮点数小数位发生不可控的变化,从而在量化过程中避免错误地映射到 0 或 1,影响在线应用。QR 确保模型远离 0.5 的决策边界,从而增强了量化稳定性。

6.2.3. FSQ 码本空间分析

以下是原文 Table 4 的结果,展示了 FSQ 码本空间对实验效果的影响:

Method dq Recall@300(%) MRR@10(%) Recall Num.
RS CS RS CS
UniDex 16 71.60 66.23 34.18 28.47 26K
18 70.84 65.91 34.03 28.39 19K
19* 70.74 65.80 34.06 28.42 16K
20 69.81 64.78 33.75 28.08 13.5K
22 68.76 63.38 33.48 27.71 10K
24 66.16 61.92 32.58 27.11 7.6K

FSQ 的量化码本空间 (quantized codebook space) 显著影响语义模型的有效性和倒排索引的质量。本文进行了一系列对照实验,保持查询和视频的 SIDs 数量不变。

  • 结果分析:随着码本空间增大(dqd_q 从 16 增加到 24),Recall@300 逐渐下降。这主要是因为码本的量化维度快速膨胀,导致语义空间变得更加分散,一定程度上降低了检索阶段的召回率。然而,召回率的提高伴随着召回结果数量的增加。例如,当 dq=16d_q=16 时,召回结果数量达到 26K,这会显著增加系统负担,导致更高的延迟和计算资源消耗。
  • 选择 dq=19d_q=19:为了在召回率和系统效率之间取得更好的平衡,本文选择了 dq=19d_q=19。在此维度下,与 dq=16d_q=16 相比,Recall@300 和 MRR@10 的下降非常小,而检索到的项目数量显著减少了 10K(从 26K 降至 16K)。

6.2.4. 查询/视频 SIDs 数量的影响

图像 3 展示了不同 SIDs 数量配置对 RS 和 CS 测试集上 Recall@300 和 MRR@10 的影响。

Figure 3: The results of configurations with different SIDs quantities on RS and CS test set. (a) Comparison results of different SIDs quantities for Video, and (b) Comparison results of different SIDs quantities for Query. 该图像是一个图表,展示了不同视频和查询的SID配置对RS和CS在Recall@300和MRR@10指标的影响。其中,图(a)显示视频的效果,图(b)显示查询的效果。对应的图表呈现了各配置条件下的性能变化趋势。

  • 视频 SIDs 数量的影响 (图像 3a)
    • 随着视频 SIDs 数量的增加,Recall@300 和 MRR@10 均有所提高。
    • 从 8 增加到 24(三倍增加),Recall@300 约提高 2%,MRR 约提高 0.4%。
    • 然而,这也导致检索到的项目数量增加约 5K,显著增加了排序模块的推理资源消耗。
    • 因此,本文最终选择了 8 作为视频 SIDs 的数量配置,以平衡性能和效率。
  • 查询 SIDs 数量的影响 (图像 3b)
    • 当查询 SIDs 数量超过 3 时,各项指标的进一步改善变得微乎其微。
    • 这可能是因为查询通常较短,其语义信息可以通过 3 个 SIDs 有效捕捉。
    • 因此,本文选择了 3 作为查询 SIDs 的数量配置。

6.3. 在线测试

本文通过在快手的短视频搜索系统部署 UniDex,进行了为期 5 天的在线 A/B 测试,实验组和对照组各分配 10% 的实际搜索流量,以评估其在真实世界环境中的表现。

以下是原文 Table 5 的结果,展示了 UniDex 在线 A/B 测试与生产基线的比较:

UniDex Sat. CTR ↑ VPD ↑ LPC ↑ MRS ↑
+0.185% +0.287% +0.352% +0.346%
Cost Core ↓ Memory ↓ Latency ↓
-20550 -37TB -25%
  • 提升用户满意度 (Improving User Satisfaction)

    • CTR (Click-Through Rates, 点击率):+0.185%。用户点击视频的频率更高。
    • VPD (Video Playback Duration, 视频播放时长):+0.287%。用户观看相关内容的时间更长。
    • LPC (Long Play Count, 长播放计数):+0.352%。用户观看长视频的次数更多。
    • MRS (Mean Relevance Score of Top 4 Results, 前 4 个结果的平均相关性分数):+0.346%。这表明 UniDex 能够提供更相关的视频。 这些指标的提升表明 UniDex 显著改善了用户体验,不仅提高了系统整体的相关性表示能力,也对搜索系统的长期发展产生了积极影响。
  • 最小化系统资源消耗 (Minimizing System Resource Expenditure)

    • Core (CPU 核心数):节省 20550 核心。
    • Memory (内存):节省 37TB 存储资源。
    • Latency (延迟):系统响应时间提升 25%。 UniDex 取代了传统的基于词项的倒排索引,大大节省了推理资源。计算和存储需求的减少带来了更低的运营成本,提高了资源分配效率。这种效率使得系统能够处理更高并发量的用户请求,有效提升了可伸缩性和鲁棒性。同时,25% 的系统响应时间提升也改善了用户体验,加速了相关信息的获取。

6.4. 进一步分析

6.4.1. 提升检索效果

图像 4 展示了 UniDex 实施后召回率的变化。

Figure 4: The variations in recall ratio following the implementation of our comprehensive model, UniDex. 该图像是一个饼图,展示了在实施UniDex模型后独立召回比率增益(a)和整体召回比率增益(b)。图中显示了不同类别的比例,分别为Top 20与Top 400的召回比率,UniDex模型的增益分别为5.31%与6.56%,整体召回比率增益为26.17%与25.27%。

本文分析了两种召回率:整体召回率 (overall recall ratio)(包括通过倒排索引检索到的任何视频)和独立召回率 (independent recall ratio)(仅当视频通过此方法独家检索到时才计数)。

  • 结果分析:UniDex 在两种召回率上都表现出增强。整体召回率增加了超过 25%。这归因于 UniDex 极大地增强了倒排索引的泛化能力,使其能够检索到更多与语义检索重叠的视频。
  • 独立召回率提升:当将排序视频数量从 Top 20 扩展到 Top 400 时,UniDex 的独立召回率额外增加了 1.25%。这表明统一语义建模与倒排索引的集成对现有搜索管道提供了强大的互补增强,使其能够检索到以前无法检索到的视频。

6.4.2. 提升长尾语义表征

图像 5 展示了基于独立召回率改进,针对长尾和高频查询的数据分析。

Figure 5: Data analysis of Long-tail and High-frequency Queries based on improvements in Independent Recall Ratio for the Top 20. The top percentage reflects the contribution levels of queries at various frequencies. RRS denotes the Relevant Result Scarcity rate, while CTR refers to the Clickthrough Rate of the results. 该图像是一个图表,展示了基于独立召回率(RRS)和点击率(CTR)对长尾和高频查询的分析。左侧为长尾查询的RRS和CTR数据,右侧为高频查询的相关数据。图中显示,UniDex在这两类查询中均表现出改善。

本文通过不同频率的查询来详细分析独立召回率改进的来源。

  • 结果分析
    • 长尾查询贡献长尾查询 (long-tail queries) 的贡献比例比高频查询 (high-frequency queries) 多 14.48%(57.24% vs 42.76%)。
    • 相关结果稀缺率 (RRS)点击率 (CTR):UniDex 显著降低了长尾查询的 RRS 并提高了 CTR,这突显了其相比基于词项倒排索引的卓越语义表示能力。
    • 高频查询:虽然 UniDex 在高频查询的表示上也优于基线,但提升不如长尾查询显著。这可能是因为基于词项的倒排索引方法在捕捉高频查询的语义方面表现良好。
    • 语义理解能力:长尾查询需要更深层次的文本理解,而简单的词项匹配方法不足以应对。通过引入统一语义建模,UniDex 增强了倒排索引的语义表示能力,从而在长尾查询方面取得了显著改进。这种增强的语义能力对于满足平台更细致的搜索需求至关重要。

6.4.3. 泛化与匹配的平衡

图像 6 展示了 UniDex 检索过程的可视化案例。

Figure 6: The visualization of the UniDex retrieval process. 该图像是示意图,展示了UniDex检索过程的结构。使用查询可获得基于UniTouch的倒排索引,然后通过UniRank进行排名处理,从而提高检索效果。

  • 案例分析:当用户输入查询“Labubu 5th Generation”时:
    1. UniDex 首先激活 UniTouch 模块,将查询转换为一系列 SIDs(例如“61011, 61276, 62829”)。
    2. 这些 SIDs 被馈送到预存储的倒排索引中,该索引将 SIDs 链接到相应的视频列表,从而产生一组候选视频。
    3. 最后,UniRank 模块用于对候选集中的视频进行排序。
  • 语义泛化能力:在这个案例中,SID-61011 链接的大多数视频无法通过传统倒排索引检索,因为视频内容中没有出现“Labubu”这个词项。然而,UniDex 可以利用统一语义建模来理解实体“Labubu”的各种语言表达(例如,其中文名称),从而检索到包含“Labubu”中文名称描述的视频。这种语义泛化能力的增强提升了倒排索引检索的上限。
  • 词项匹配优势:同时,SID-62829 采用了类似于基于词项倒排索引的词项省略策略 (term omission strategy)。与它关联的大多数视频都与 Labubu 相关,但缺少“5th”等关键信息。当候选集中只有少数与查询相关的项目时,这种能力变得尤为关键,因为它允许检索尽可能多地模糊相关的视频。
  • 结论:UniDex 在增强泛化能力的同时,保留了基于词项倒排索引的词项匹配优势,实现了泛化和匹配的有效平衡。

7. 总结与思考

7.1. 结论总结

本文提出了 UniDex,一种创新的基于模型 (model-based) 方法,它将倒排索引 (inverted indexing) 从传统的基于词项 (term-based) 范式转变为统一语义建模 (unified semantic modeling) 框架。通过用流线型语义模型 (streamlined semantic model) 有效取代复杂的手动词项匹配策略 (manual term-matching strategies),UniDex 显著降低了维护开销 (maintenance overhead),并通过增强的语义泛化能力 (semantic generalization) 提升了检索能力 (retrieval capabilities)。UniDex 在快手短视频搜索系统中的成功部署,以及大规模在线 A/B 测试的验证,证明了其实际有效性和可伸缩性,高效服务于数亿用户。UniDex 不仅解决了现有方法的局限性,也为搜索技术的未来创新开辟了新途径。

7.2. 局限性与未来工作

尽管 UniDex 取得了显著成功,但论文中并未明确指出其局限性或未来的具体研究方向。然而,从其方法和实验中可以推断出一些潜在的考量和未来工作:

  • 计算复杂性与模型规模:UniDex 依赖于大型 BERT 模型进行编码。虽然在离线阶段进行了优化(例如 SIDs 的预计算),但模型的参数量和推理成本仍然相对较高,尤其是在实时的查询编码和 UniRank 的细粒度交互阶段。未来工作可能需要探索更轻量级的模型架构,或更高效的推理优化技术,以进一步降低成本并提升速度。
  • SIDs 的可解释性与优化:语义 ID (SIDs) 的离散化过程是模型学习的,但其具体含义和构成可能不直观。未来的研究可以探索如何提高 SIDs 的可解释性,例如通过分析不同 SIDs 代表的语义聚类,或者设计更具语义意义的量化目标。此外,SIDs 数量和维度的选择仍依赖经验调优,可能存在更自适应或数据驱动的优化方法。
  • 多模态信息的整合:快手是短视频平台,视频内容除了文本描述外,还包含视觉和听觉信息。当前 UniDex 主要关注文本语义建模。未来的工作可以探索如何将视频的多模态特征融入 SIDs 的生成,或在 UniRank 阶段利用多模态交互来进一步提升短视频搜索的准确性。
  • 动态调整 SIDs 数量:当前查询和视频的 SIDs 数量是固定的(例如查询 3 个,视频 8 个)。然而,不同查询和视频的语义复杂性可能差异很大。未来可以研究根据内容动态调整 SIDs 数量的机制,以更灵活地捕捉语义信息,同时控制计算成本。
  • 与稠密检索的进一步融合:虽然 UniDex 达到了与稠密检索相媲美的效果,但两者在底层机制上仍有差异。未来可以探索如何更深层次地融合这两种范式,例如将稠密检索的相似性得分作为 UniRank 的一部分,或者设计混合召回策略,以结合两者的优势。

7.3. 个人启发与批判

UniDex 的工作为信息检索领域带来了重要启发:

  • 范式革新:从基于词项 (term-based)基于模型 (model-based) 倒排索引的转变是一个大胆且成功的尝试。它证明了将深度学习的语义理解能力与传统检索系统的效率优势相结合的巨大潜力。这对于那些在语义鸿沟和效率之间挣扎的传统 IR 系统具有普适性的借鉴意义。

  • 工程与学术的结合:UniDex 不仅在学术上提出了新颖的方法,更通过在快手的大规模工业部署验证了其可行性和巨大业务价值。这种学术研究与实际工业落地的紧密结合,是推动技术进步的关键。

  • “统一”思想的价值:UniDex 的核心理念是“统一语义建模”,用一套模型驱动的机制取代了多种手动设计的启发式规则。这种简化不仅降低了维护成本,也使得系统更具泛化能力,能够更好地适应不断变化的查询和内容。这种化繁为简、以模型统一的思路,在其他复杂系统设计中也值得借鉴。

  • 对长尾效应的解决:UniDex 在长尾查询 (long-tail queries) 上的显著提升尤为令人印象深刻。长尾查询通常代表了用户更具体、更个性化的需求,也是传统系统难以有效处理的痛点。UniDex 能够深入理解这些细致的语义,对于提升用户体验和平台生态健康具有重要意义。

    批判性思考

  • 量化精度与信息损失:将连续语义向量强制量化为离散 SIDs,必然伴随一定程度的信息损失。虽然论文通过正则化等方法试图缓解,但这种损失对召回和排序效果的理论上限有多大影响,以及是否存在更优的量化方案(例如非均匀量化),仍有待深入研究。

  • SIDs 的稀疏性控制:SIDs 的数量(查询 3 个,视频 8 个)是经验设定的。如何在保持语义丰富性的同时,最大化 SIDs 的稀疏性和区分度,从而优化倒排索引的效率,是一个值得深挖的问题。过于稠密的 SIDs 可能会导致倒排列表过长,影响检索效率。

  • 模型可解释性挑战:与传统的词项匹配系统相比,基于模型生成的 SIDs 及其匹配逻辑对于人工诊断和优化可能更具挑战性。如何为这类语义倒排索引系统提供更好的可解释性工具,以帮助工程师理解和改进,是一个实际的工程问题。

  • 对新领域和多语言的适应性:尽管 UniDex 提高了泛化能力,但其核心编码器是基于特定语言和领域预训练的 BERT 模型。在跨领域或多语言环境下,其性能表现和适应成本需要进一步评估和优化。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。