这次是KDD 2024专场。
目录:
-
Deep Bag-of-Words Model: An Efficient and Interpretable Relevance Architecture for Chinese E-Commerce
【词袋模型和语言模型结合,构建可解释的相关性计算方法】 -
Understanding the Ranking Loss for Recommendation with Sparse User Feedback
【从梯度的角度分析为什么pairwise损失在反馈稀疏的场景下有效?】 -
Unsupervised Ranking Ensemble Model for Recommendation
【如何把多个序融合为一个序?】 -
Non-autoregressive Generative Models for Reranking Recommendation
【如何用非自回归的方式从n个物品中选出m个进行重排?】 -
Multi-objective Learning to Rank by Model Distillation
【把多个单目标的模型蒸馏到一个模型中】
-
Mitigating Pooling Bias in E-commerce Search via False Negative Estimation
【一种减轻假阴样本影响的方法】 -
总结
Deep Bag-of-Words Model: An Efficient and Interpretable Relevance Architecture for Chinese E-Commerce
- https://arxiv.org/pdf/2407.09395,KDD 2024,Alibaba.
应用在淘宝电商搜索中的相关性匹配模型,主要解决用户查询和商品之间的文本相关性问题。
BERT类的模型虽然在文本匹配领域应用广泛,但依然存在一些问题:1)性能问题,一些场景下部署BERT还是比较消耗资源的;2)可解释性问题,通过双塔模型计算文本的相似性比较“黑盒”,可解释性较差,难以做出针对性的优化。一些传统精确匹配的方法(如BM25、tf-idf等)则存在文本表述形式差异带来不准确的问题。
因此,本文提出了一个深度词袋模型,一个高效且可解释的可解释架构,基本思路:将用户查询或商品编码成稀疏的词袋表示,即一系列<词,权重>,相似性表示为查询和商品之间匹配上的词的累计权重。具体的,利用预训练语言模型,将查询或商品编码为一个高维的向量,维度大小等于词表的大小,每一维表示词的权重。
以上方法有两个问题:1)如何将表示的每一维与特定的词对应起来;2)维度扩大带来的计算和存储上的问题。如何解决这俩挑战:
- 通过模型结构和损失函数的设计,将表示的维度与词对齐。
- 在损失函数中增加稀疏约束,降低高维表示中的有效位置。
- 对高维表示进行采样降低表示用到的词数。
具体实现:
- 训练两个编码器,分别从字符粒度和词粒度对输入文本进行编码,如下图的Character Encoder和Word Encoder。
- 扩展了词表(原文是"N-gram Hashing Vocabulary")。
- 根据编码的结果,构建BoW表示。如下图的Term-Weighting Bow和Synonym-Expansion Bow表示。Bow表示即将输入的文本进行词袋表示:\(\\\{w_i : p_i\}\)。重点是如何计算每个词的权重,具体细节不赘述。其中Synonym-Expansion Bow即对输入文本进行扩展,避免一些同义、表述不一致的问题。可以看作是补充了词袋模型的语义功能。
- 损失函数看起来比较常规,没啥好讲的。此外,还用人工标注数据训练了一个交互式的模型,作为教师模型进行蒸馏。
论文的实验表明,即使使用2层的模型效果依然很好。
看这篇论文的效果倒是挺好的,而且也部署在了淘宝的线上系统,不知道如果用于召回的话可行不。
Understanding the Ranking Loss for Recommendation with Sparse User Feedback
- https://arxiv.org/pdf/2403.14144,KDD 2024,Tencent.
概述:
论文探讨了在稀疏用户反馈情况下,结合排名损失和二元交叉熵损失在推荐系统中的有效性。研究的动机在于:
- 如何在正样本(如点击)稀疏的情况下优化模型以提高CTR准确性。
- 为何结合交叉熵和排名损失能够提升CTR预测的性能。
论文揭示了在用户反馈稀疏时:交叉熵损失容易导致负样本的梯度消失问题,而排名损失能够为负样本生成更大的梯度,从而缓解了模型学习过程中的优化问题。论文通过理论分析和在公开数据集上的实验验证了这一观点,并在腾讯在线广告系统中部署了排名损失,取得了显著的商业价值提升。
直接揭晓答案:交叉熵损失的优化曲面相对平缓(如下图),在正样本稀疏的情况下梯度一般都比较小,所以存在收敛速度慢、收敛效果不够好的问题,而结合排名损失后优化曲面更“凸”,正好解决了该问题。
简单说一下理论分析:过求损失函数对正/负样本的logits的梯度,可以看出交叉熵下负样本的梯度的均值与样本集中的CTR接近,而在稀疏场景下CTR一般都很小,具体的分析见论文,不赘述。
另外说一下论文中讨论的排名损失基本是pair形式的。直观地来说,正负样本组pair能够增大梯度是正常的?
Unsupervised Ranking Ensemble Model for Recommendation
- KDD 2024,Kuaishou.
看题目就知道了,排序继承(融合)模型,即如何把多个序融合成一个序。虽然没找到这篇论文的PDF版本,但是根据摘要和放出的报告视频,感觉还有点意思,还挺符合线上的融合排序的场景的—— 集成多个分进行排序。
实际场景中,通常会有多个打分模型,每个模型通常代表一个指标,如点击、喜欢、收藏等。当然,如果有一个最终序的监督信号,可以直接用这个信号融合这些分,但是往往这种最终的监督信号是缺失的。因此,论文提出了一个无监督的方法集成多个排序模型,来学习多个序的信息。
具体来说,主要学习多个序的两种信息:1)序列信息,衡量两个序之间的距离,使最终的序和输入的多个序之间的距离最小;2)数值信息,使模型能够学习到原来序的打分信息。论文提出的方法内容可以参考下图,应该也是基于变形金刚做的(?),等论文出来再看看细节:
Non-autoregressive Generative Models for Reranking Recommendation
- https://arxiv.org/pdf/2402.06871,KDD 2024,Kuaishou.
这篇论文提出了一种非自回归生成式的推荐重排模型,NAR4Rec。研究动机主要针对现有自回归模型的以下问题:
- 只能逐个地生成结果,推理速度慢。
- 训练与推理之间的不一致性问题。这个乍一看没看明白,原来就是指生成模型训练和推理时不一致的问题。
训练时:基于已有的序列预测下一个token。
推理时:基于之前生成的序列预测下一个token。 - 自左向右地生成顺序忽视了后生成结果的信息,导致次优。
针对这些问题,论文提出了NAR4Rec:
- 能够同时生成目标序列中的所有项,从而提高效率和有效性。
- 介绍了一种匹配模型来解决训练样本稀疏和动态候选项对模型收敛性的影响,以及一种序列级非似然训练目标和对比解码方法,以捕捉目标项之间的相关性。
在正式介绍之前,先看下自回归和非自回归的区别:
再看下重排。描述一下重排任务:从n个候选结果中排列出m个物品。重排的两类典型方法:
- 单阶段方法。就是给定一个结果列表,在此基础上为每个结果打分,再依据打分按照贪心的策略重排这些结果。问题:打分只考虑了初始的序,但是重排过程中序以及发生变化,打分可能已经不准确。
- 双阶段方法。采用生成器-评估器框架,生成器生成多个可行的序,评估器对序打分以选择最优序列。
这么看,本文的方法应该是双阶段的,NAR4Rec框架如下:
简单介绍一下: