1 基本概念
1.1 定义与核心目标
深度学习排序是指利用神经网络对候选对象的相关性、偏好度、点击概率或转化可能性进行建模,并据此生成排序分数的技术。其核心目标不是简单地给出“是否相关”,而是尽可能将更符合用户需求的结果排在更靠前的位置,以提升检索、推荐或广告系统的整体效果。
1.2 与传统排序方法的区别
与依赖人工特征和线性组合的传统排序方法相比,深度学习排序更擅长自动学习复杂特征交互,尤其是在语义匹配、上下文变化和用户行为序列建模方面表现突出。传统方法通常结构清晰、解释性较强,而深度模型往往能获得更高的预测上限,但对数据规模、特征质量和计算资源的要求也更高。
1.3 适用场景
深度学习排序广泛应用于需要对大量候选结果进行优先级排列的任务中,常见于搜索、推荐、广告和问答系统。其适用前提是存在可用于学习排序关系的数据反馈,并且任务目标可以通过分数预测或相对偏好来表达。
1.3.1 搜索排序
在搜索场景中,模型需要根据查询词与文档内容之间的语义和结构关系,对结果进行相关性排序。除了词面匹配,系统还会结合用户历史、设备类型和搜索上下文等信息,以提升结果的命中率与可用性。
1.3.2 推荐排序
在推荐系统中,排序模块通常负责对海量候选内容进行个性化优先级判断。模型会综合用户兴趣、物品属性、实时上下文和历史交互记录,决定哪些内容更可能被点击、停留或进一步互动。
1.3.3 广告排序
广告排序的任务通常更强调点击率、转化率以及商业收益。模型不仅要估计广告与用户的匹配程度,还要兼顾出价、竞争关系和展示位置等因素,以实现效果与收益之间的平衡。
1.3.4 问答与知识检索排序
在问答和知识检索中,排序模型用于判断候选答案或条目是否能够直接回应问题。与一般搜索相比,这类任务更强调语义一致性、答案完整度以及上下文对齐程度。
2 理论基础
2.1 信息检索中的排序任务
排序任务的本质是在候选集合中学习一个可比较的优先级函数。模型输出的分数通常代表相关性、满意度或某种业务目标的预估值,再由系统按分数高低生成最终列表。
2.1.1 候选召回与精排
现代检索系统通常分为召回和精排两阶段。召回阶段从全量库中快速筛出较小规模的候选集,精排阶段则使用更复杂的模型对候选结果进行细致排序,深度学习排序多部署于后者。
2.1.2 相关性建模
相关性建模关注的是查询、用户和候选对象之间是否存在有效匹配。深度模型可以从词语含义、行为偏好和上下文条件中提取隐含关系,从而比单纯的关键词匹配更灵活。
2.1.3 用户反馈信号
用户的点击、停留、收藏、转发、购买等行为常被视为反馈信号。这些信号可用于构造监督数据,但也会受到位置偏差、曝光机制和噪声行为的影响,因此通常需要进一步处理。
2.2 深度学习基础
深度学习排序建立在表示学习和函数逼近的基础上,通过多层网络逐步提取高层语义特征。其建模能力来自非线性变换、参数共享以及对大规模数据的自动特征学习。
2.2.1 表示学习
表示学习的目标是把离散、稀疏或复杂结构的信息转化为可计算的向量或隐空间表示。对于排序任务来说,良好的表示能够显著提升不同对象之间的可分性。
2.2.2 特征交互建模
特征交互建模用于刻画不同变量之间的联合影响,例如用户年龄与兴趣类别、查询词与文档段落、时间上下文与点击倾向等。深度网络可以通过非线性层、交叉层或注意力机制自动学习这类关系。
2.2.3 序列建模
序列建模主要用于处理按时间排列的行为数据,例如浏览、点击或购买序列。模型需要捕捉兴趣演化、短期偏好变化以及长期偏好的共存关系。
2.2.4 注意力机制
注意力机制能够为不同输入片段分配不同权重,使模型聚焦于更关键的部分。在排序任务中,它常用于强调与当前查询或目标最相关的历史行为、文本片段或特征组合。
3 数据与特征
3.1 训练数据来源
深度学习排序依赖多种类型的数据源,包括显式标注和隐式反馈。不同来源的数据质量和噪声水平差异较大,因此常需要进行清洗、对齐和重加权处理。
3.1.1 点击日志
点击日志是最常见的训练数据来源之一,记录了用户在特定曝光条件下对候选结果的响应。由于采集方便、规模巨大,这类数据在工业排序系统中具有重要价值。
3.1.2 人工标注数据
人工标注数据通常由评审人员根据相关性标准对查询与候选对象进行打分或分级。这类数据质量较高,适合构建基准集,但成本较高、覆盖范围有限。
3.1.3 行为反馈数据
行为反馈数据包括停留时长、复访、收藏、分享、购买等更丰富的交互结果。相比单一点击信号,这些反馈更接近用户真实满意度,但也更容易受到场景因素影响。
3.2 特征类型
排序任务中的特征可分为内容特征、用户特征、物品特征和上下文特征等。实际系统往往同时使用多类特征,以便更全面地描述当前决策环境。
3.2.1 文本特征
文本特征主要来自查询、标题、摘要、评论、描述等内容字段。它们用于表示语义信息,是搜索和问答排序中的关键输入。
3.2.2 用户特征
用户特征描述个体的长期偏好、人口属性、兴趣分布和历史行为模式。此类特征有助于将同一候选结果在不同用户面前的优先级区分开来。
3.2.3 物品特征
物品特征反映候选对象本身的属性,如类别、主题、质量、热度或价格。对于推荐与广告场景,这些信息直接影响排序结果。
3.2.4 上下文特征
上下文特征包括时间、地点、设备、网络环境、会话阶段等因素。它们能够解释短时行为变化,并帮助模型适应不同的展示条件。
3.3 特征表示方式
特征表示方式决定了输入数据如何被模型接收与处理。不同表示方法在存储效率、表达能力和训练难度上各有侧重。
3.3.1 稀疏表示
稀疏表示通常用于离散ID、词袋特征和类别编码。其优点是简单直接、便于大规模存储,但难以表达细粒度语义关系。
3.3.2 稠密向量表示
稠密向量表示通过嵌入或编码器将原始特征映射到低维连续空间。此类表示更适合神经网络处理,也更能体现相似性结构。
3.3.3 预训练嵌入
预训练嵌入来自大规模语料或行为数据的预先训练结果,可为后续排序模型提供较好的初始表示。它能缓解稀疏问题,并提升模型收敛速度。
4 模型结构
4.1 点式排序模型
点式排序模型将每个候选对象独立输入模型,直接预测其对应分数。该类方法实现简单,适合大规模在线推理,但无法直接建模候选之间的相对关系。
4.1.1 回归式打分
回归式打分把排序问题视为连续值预测任务,例如预测点击概率、停留时长或满意度分数。模型输出越高,通常表示候选对象越值得靠前展示。
4.1.2 分类式打分
分类式打分将候选对象划分为相关与不相关,或者多级相关类别。此方法便于训练,但对排序细粒度差异的表达能力相对有限。
4.2 对式排序模型
对式排序模型关注两个候选对象之间的相对顺序,通过比较学习让相关性更高的样本排在更前面。它更贴近“谁更好”的排序本质。
4.2.1 成对比较学习
成对比较学习以样本对为单位训练模型,使其学会区分正负样本的相对优先级。常见做法是让正样本得分高于负样本,并对差值进行优化。
4.2.2 偏好建模
偏好建模强调用户或系统在两个候选项之间的选择倾向。它常用于表达“更喜欢哪个”这一相对判断,而不是独立估计绝对分数。
4.3 列表式排序模型
列表式排序模型直接对整个候选列表进行优化,更接近真实排序目标。此类方法能够同时考虑多个位置上的整体效果,因此常与评价指标保持较高一致性。
4.3.1 整体列表优化
整体列表优化把一个查询下的候选集合视为统一训练对象,从而学习全局排序结构。它通常比单点或成对方法更能贴近最终业务需求。
4.3.2 位置敏感建模
位置敏感建模会考虑结果在列表中的所在位置,因为用户对不同位置的注意程度并不相同。此类方法常用于改进点击建模和曝光偏差处理。
4.4 语义匹配网络
语义匹配网络主要处理查询与候选文本之间的匹配关系,常见于搜索、问答和文本检索。其重点在于从浅层词项对应扩展到深层语义对齐。
4.4.1 双塔模型
双塔模型将两侧输入分别编码,再通过向量相似度计算匹配程度。它适合高效召回和大规模检索,但交互细节表达能力相对有限。
4.4.2 交互式模型
交互式模型在编码过程中直接引入查询与候选之间的细粒度交互,能够捕捉更丰富的匹配信号。代价是计算复杂度更高,在线部署时通常更谨慎。
4.4.3 多粒度匹配
多粒度匹配同时考虑词、短语、句子甚至段落层面的对应关系。这样可以兼顾局部精确匹配和整体语义一致性。
4.5 序列与上下文建模
序列与上下文建模用于将用户历史、会话变化和实时环境纳入排序决策。它尤其适合兴趣变化明显、行为链条较长的应用。
4.5.1 RNN排序模型
RNN排序模型使用循环结构处理行为序列,能够按时间顺序提取前后依赖关系。它在早期行为建模中较为常见。
4.5.2 Transformer排序模型
Transformer排序模型依靠自注意力机制捕捉序列中任意位置之间的关联,适合处理长序列和复杂依赖。其并行计算能力也较强,便于大规模训练。
4.5.3 用户历史行为编码
用户历史行为编码将过往点击、浏览或购买记录压缩为可供排序模型使用的表示。编码结果可体现长期兴趣、短期偏好以及近期意图。
5 损失函数与优化目标
5.1 点式损失
点式损失针对单个样本进行优化,常用于回归或分类式排序模型。其优点是形式简单、易于实现,适合作为基础训练目标。
5.1.1 均方误差
均方误差用于衡量预测分数与真实标签之间的平方偏差,适合连续值目标。它对大误差样本较为敏感,因此会更强烈地纠正偏离较大的预测。
5.1.2 交叉熵损失
交叉熵损失常用于二分类或多分类排序任务,训练时会鼓励模型提高正确类别的概率。它在点击率预测等场景中应用广泛。
5.2 对式损失
对式损失围绕样本对之间的相对次序展开,目标是让正例得分高于负例。此类损失更直接地优化排序关系。
5.2.1 排序铰链损失
排序铰链损失通过设定间隔约束,使模型不仅要区分正负样本,还要保持一定分数差距。它常用于强调排序边界的学习。
5.2.2 Logistic Pairwise Loss
Logistic Pairwise Loss 使用逻辑函数对样本对的分数差进行建模,训练过程通常较平滑。它在成对排序学习中是一种常见选择。
5.3 列表式损失
列表式损失直接面向整个候选列表进行优化,更适合与排序指标对齐。其难点在于训练复杂度和梯度设计通常更高。
5.3.1 Listwise概率损失
Listwise概率损失将整个列表的排序结果视为一个概率分布进行学习。模型通过拟合正确排列的分布来提升整体排序质量。
5.3.2 NDCG近似优化
NDCG近似优化尝试让训练目标与NDCG指标保持一致。由于NDCG本身不可直接微分,因此实际方法通常借助平滑近似或可导替代形式。
5.4 多任务学习目标
多任务学习将多个相关目标联合训练,以提高模型对复杂业务的适应能力。对于排序系统来说,这种方式有助于同时优化点击、转化和长期价值。
5.4.1 点击率预测
点击率预测用于估计候选对象被点击的概率,是排序系统中最基础的目标之一。它常作为排序分数的重要来源。
5.4.2 转化率预测
转化率预测关注点击之后是否会产生购买、注册或其他目标行为。相比点击率,它更贴近实际业务收益。
5.4.3 多目标联合优化
多目标联合优化试图在多个指标之间取得平衡,例如点击、停留和转化同时提升。其关键在于合理设定目标权重和冲突处理机制。
6 训练与评估
6.1 训练流程
深度学习排序的训练流程通常包括样本构造、负样本选择、模型更新与稳定性控制。由于数据分布和业务目标较复杂,训练过程往往需要反复调参。
6.1.1 样本构造
样本构造决定模型学习到什么样的排序关系。实际中通常根据曝光、点击和后续行为生成正负样本,并进行分组或分层组织。
6.1.2 负采样策略
负采样用于从大量未点击或不相关候选中选取训练负例。采样方式会明显影响模型的难度分布与泛化能力。
6.1.3 训练稳定性
训练稳定性涉及梯度爆炸、收敛速度、过拟合和分布漂移等问题。工程上常通过归一化、正则化、学习率调整和早停等手段加以控制。
6.2 离线评估指标
离线评估用于在上线前比较不同模型的排序效果。常见指标多从准确率、覆盖率和排序位置质量三个角度衡量。
6.2.1 Precision@K
Precision@K 衡量前K个结果中相关项所占比例,适合关注头部列表质量的场景。它对前排结果较敏感。
6.2.2 Recall@K
Recall@K 衡量在前K个结果中找回了多少相关项,常用于评估系统对目标内容的覆盖能力。它在召回较少或候选集较大时尤为重要。
6.2.3 MRR
MRR 关注第一个相关结果出现的位置,适合答案检索和问答任务。其值越高,表示模型越能把正确结果尽快排到前面。
6.2.4 NDCG
NDCG 综合考虑相关性等级和位置折损,是排序任务中非常常用的指标之一。它能够较好地反映高等级结果出现在前列时的收益。
6.3 在线评估方法
在线评估直接观察模型在真实流量中的效果,是判断排序系统是否可用的关键步骤。相比离线指标,它更接近最终业务结果。
6.3.1 A/B测试
A/B测试通过将流量分配给不同版本的系统,比较其实际表现。它是工业界验证排序改进最常见的方法之一。
6.3.2 实验分流
实验分流指将用户、请求或会话按规则划分到不同实验组,以减少相互干扰。合理的分流设计有助于提升实验可信度。
6.3.3 业务指标监控
业务指标监控关注点击、停留、转化、留存等关键结果,并实时观察是否出现异常波动。它能帮助及时发现模型失效或流量结构变化。
6.4 常见评估问题
排序系统的评估常受到数据偏差和目标不一致的影响。若处理不当,离线结果可能与线上表现出现明显偏离。
6.4.1 偏差与泄漏
偏差与泄漏包括位置偏差、曝光偏差以及训练集和测试集信息交叉等问题。它们会使评估结果虚高,降低模型的真实性能判断。
6.4.2 冷启动影响
冷启动影响指新用户、新物品或新场景在数据不足时难以获得稳定排序结果。这个问题在推荐和广告系统中较为突出。
6.4.3 指标不一致
指标不一致是指离线优化目标与线上业务目标并不完全匹配。比如某些模型能提升点击率,却未必改善长期满意度或整体收益。
7 典型模型与方法
7.1 经典神经排序模型
早期神经排序模型主要探索如何用深度网络替代人工特征组合,并学习查询与文档之间的语义关系。这些方法为后续复杂模型奠定了基础。
7.1.1 DSSM
DSSM 通过深层网络将查询和文档映射到同一语义空间,再计算相似度进行排序。它在语义检索方向具有代表性。
7.1.2 CDSSM
CDSSM 在 DSSM 基础上引入卷积结构,以更好地处理局部上下文和字符级信息。它对拼写变化和短文本匹配较为友好。
7.1.3 Deep Crossing
Deep Crossing 通过多层残差式结构建模特征交互,适合处理大规模稀疏特征。它在推荐和广告排序中具有一定影响力。
7.2 交互增强模型
这类模型强调候选与查询之间的细粒度匹配,通常比单纯的向量相似度模型更强。它们常用于提升文本相关性和排序精度。
7.2.1 KNRM
KNRM 利用核函数捕捉不同程度的词项匹配关系,从而更细致地表示语义相似性。它特别适合处理软匹配信号。
7.2.2 DRMM
DRMM 通过匹配直方图和分层神经网络建模查询词与文档词之间的关联。其设计思路强调局部匹配分布的汇总。
7.2.3 MatchPyramid
MatchPyramid 将匹配矩阵视作“图像”进行卷积处理,以提取多层匹配模式。它能够学习从局部对齐到更高层结构的特征。
7.3 用户行为建模模型
此类模型重点利用历史点击与行为序列,刻画用户兴趣随时间的变化。它们在电商、短视频和信息流推荐中表现突出。
7.3.1 DIN
DIN 通过对目标物品相关历史行为施加注意力,突出与当前候选最有关的兴趣片段。它较好地解决了“同一用户对不同候选关注点不同”的问题。
7.3.2 DIEN
DIEN 在 DIN 基础上进一步引入兴趣演化建模,强调兴趣从静态偏好到动态变化的过程。它适合处理会话驱动较强的场景。
7.3.3 SASRec
SASRec 使用自注意力结构建模用户行为序列,能够有效捕捉长距离依赖关系。它在序列推荐中具有较高代表性。
7.4 预训练与大模型方法
随着预训练技术发展,排序模型开始借助大规模语料和通用语义能力提升效果。此类方法通常在复杂语义理解和泛化方面更具优势。
7.4.1 语义预训练排序
语义预训练排序利用预训练语言模型作为编码器,再针对排序任务进行微调。这样可以更充分地利用语言知识和上下文理解能力。
7.4.2 跨编码器重排序
跨编码器重排序把查询与候选拼接后共同编码,能够学习更精细的交互关系。其效果通常较强,但推理成本也更高。
7.4.3 检索增强排序
检索增强排序结合外部检索结果或辅助证据,帮助模型在排序时引入更多上下文信息。它适合知识密集型和长文本场景。
8 工业应用
8.1 搜索引擎排序架构
搜索系统通常采用分层式排序架构,以兼顾效率与效果。深度学习排序多位于中后段精排环节,也可能参与部分召回或粗排过程。
8.1.1 召回层
召回层负责快速筛选出与查询可能相关的候选结果,要求高效率和较低延迟。此阶段通常使用简单模型或向量检索。
8.1.2 粗排层
粗排层在较大候选集上进行初步筛选,平衡速度与精度。它常使用比召回更复杂、但仍可快速计算的模型。
8.1.3 精排层
精排层对少量候选做细致打分,是深度排序模型发挥作用最典型的位置。这里通常会综合更多特征与交互信息。
8.2 推荐系统中的应用
推荐系统中的排序任务强调个性化和实时反馈,模型需要根据用户状态不断调整结果。深度学习排序在此类场景中尤为常见。
8.2.1 首页信息流排序
首页信息流排序决定用户首先看到哪些内容,直接影响点击和停留。模型通常会综合内容质量、兴趣匹配和时效性。
8.2.2 个性化推荐
个性化推荐根据用户画像和行为记录生成差异化列表。排序模型会让同一物品在不同用户面前呈现不同优先级。
8.2.3 长短期兴趣融合
长短期兴趣融合旨在兼顾稳定偏好与即时需求,避免模型只关注近期行为或过度依赖历史模式。它是推荐排序中常见的建模方向。
8.3 广告与商业化排序
广告排序兼顾效果、收益与体验,通常比一般推荐更强调目标函数的精细设计。深度学习排序常与竞价机制协同使用。
8.3.1 竞价与相关性结合
竞价与相关性结合意味着广告展示不仅看出价,也要看内容与用户是否匹配。这样有助于提高整体展示质量和商业效率。
8.3.2 CTR预估
CTR预估是广告排序中的基础环节,用于预测广告被点击的概率。它直接影响广告出价、排序与流量分配。
8.3.3 转化优化
转化优化关注最终产生购买、注册或留资的可能性,通常比点击预测更接近收益目标。其建模难度也相对更高。
8.4 系统部署
排序模型在工业环境中不仅要准确,还要足够快、稳定且易于维护。部署阶段常涉及推理加速和资源控制。
8.4.1 在线推理
在线推理要求模型在毫秒级或更短时间内返回结果,因此对延迟极为敏感。实际系统常通过缓存、批处理和异步机制降低时延。
8.4.2 模型压缩
模型压缩包括剪枝、量化、蒸馏等方法,目的是减少模型体积和计算量。它有助于在资源受限环境中部署深度排序模型。
8.4.3 延迟优化
延迟优化围绕网络结构、特征读取和服务链路展开,目标是缩短整体响应时间。工程实现中常需与精度折中。
9 发展挑战
9.1 可解释性
深度学习排序模型通常是黑箱式的,难以直观说明某个结果为何排在前面。对于需要审查和分析的业务场景,这一点尤为重要。
9.2 计算资源消耗
高性能排序模型往往意味着更高的训练和推理成本。大规模特征输入、复杂交互结构和长序列建模都会增加资源消耗。
9.3 数据偏差与偏见
训练数据可能受到曝光机制、历史流量分配和用户行为习惯的影响,从而形成偏差。若不加处理,模型会继承并放大这些倾向。
9.4 冷启动与稀疏问题
对于新用户、新内容或低频行为,模型往往缺少足够信息进行可靠判断。稀疏数据会限制表示学习效果,并降低排序稳定性。
9.5 泛化能力与鲁棒性
排序模型需要适应不同场景、不同时间段和不同分布条件下的变化。若泛化不足,模型在新环境中容易性能下降。
9.6 实时性与可扩展性
工业排序系统通常面对高并发请求,需要在保持效果的同时支持快速扩容。如何兼顾实时响应与系统规模,是长期挑战之一。
10 发展趋势
10.1 预训练模型驱动排序
预训练模型正在成为排序系统的重要基础模块,尤其在语义理解和跨场景迁移方面优势明显。未来排序模型可能更多依赖通用表征能力,再针对业务任务微调。
10.2 多模态排序
多模态排序将文本、图像、音频和结构化行为信号融合起来,以更完整地描述候选对象。它适合内容形态丰富的推荐与搜索场景。
10.3 生成式排序
生成式排序尝试利用生成模型直接产出排序结果或候选偏好描述。相比传统打分方式,这类方法有望在复杂任务中提供更灵活的决策形式。
10.4 强化学习与反馈闭环
强化学习与反馈闭环强调通过长期用户反馈持续调整排序策略,而不仅仅优化单次点击。它有助于建模长期价值和序列决策过程。
10.5 因果推断与去偏学习
因果推断与去偏学习旨在减少曝光偏差、位置偏差等对训练的干扰,使模型更接近真实偏好。该方向对提升排序评估可信度具有重要意义。
10.6 端到端检索排序一体化
端到端检索排序一体化希望将召回、排序乃至重排过程联合设计,减少模块间割裂带来的损失。随着模型效率提升,这种整体化架构的应用空间正在扩大。