Press "Enter" to skip to content

常见的召回优化方式

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

知乎:小雨姑娘

 

https://www.zhihu.com/people/xuechuanyu

 

 

题主之前参加了 KDDCUP2020,CIKM2019 等几个经典的推荐系统比赛,发现大部分优胜方案都采用了传统的 Item-CF 召回方式,在通过一些 trick 进行微调后同样可以取得甚至超过 embedding+faiss,Self-Attentive Sequnetial Model。这里总结了可以提高 item-CF 召回效果的几种方案,供大家参考。

 

1.基于时间维度的优化

 

1.1 时间权重优化

 

由于用户的兴趣变化较快,在召回时更改时间权重可以使推荐系统更加关注于用户的当前兴趣,其中在 KDD2020 比赛中前排大部分采用了以下策略 [1]:

 

即在计算两个商品相似度时,增加一个权重表示用户选择商品 i 与选择商品 j 的时间差。这个策略的核心思想是如果用户选择两个商品时的时间间隔越近,则两个商品的相关性更强。例如用户下单手机后又马上下单了手机壳,则手机壳和手机之间的权重更大,手机跟昨晚用户下单的马桶刷之间权重更低。

 

1.2 session

 

另一种更加直观的方法是根据时间把用户的评分分成几个 session,每个 session 中计算相似度:

 

即根据时间把用户的评分分为 T 个阶段(通常是 30 分钟或一两个小时),分阶段计算相似度最终求和。在阿里巴巴 18 年 KDD 论文 [2] 中有使用该方法,如下图 (a) 所示

其次在 KDD2020 比赛中也听说前排队伍使用该方法极大地提高了召回效果。该方法的核心思想是认为用户在时间段内的行为具有一定的关联,举个例子你的女朋友买口红一般会短时间内只看看很多口红,买粉底会短时间内只看粉底。

 

2.基于序列次序的优化

 

2.1 序列次序权重优化

 

基于序列次序权重的方法与时间权重优化的思路类似,策略是为用户行为序列中临近的商品设置更高的权重:

 

其中是用户 u 对商品 i 在行为序列中的位次。核心思想是用户序列中更近的商品的关联性更高。[1]

 

2.2 基于序列的单向相似性优化

 

这种方法假定用户的行为具有一定的序列意义,例如用户在购买手机后可能会追加购买相应型号的手机壳(正次序),但用户购买手机壳后却往往不会购买手机(反次序)。其中一种方法是为反次序增加一个衰减因子:

 

在最极端的情况下使得 lambda 取 0,则代表仅考虑正次序相似度。

 

3.基于用户/商品热度的优化

 

比较经典的一种基于用户商品热度的优化方法来源于 TF-IDF 算法 [3]:

 

其中,是全体用户集合,是对商品 i 感兴趣的用户集合;代表用户 u 对相似性的贡献度,用户 u 的行为数量越多,则它的贡献度越低。

 

策略的核心思想是兴趣广泛的用户的行为更难体现偏好,他的行为纪录多种多样,随机选出两个商品具有较高关联性的概率较低。

 

另一种基于用户商品热度优化的方法是,降低那些流行商品的相似性 [4]:

 

此方法来源于关联规则分析中的置信度公式。核心思想是流行的商品被买的多,也就更有机会与其他商品计算相似度,因此要降低他们的相似度。

 

4.对于 Match 的优化

 

以上方法都是作用在相似度计算环节,也就是召回的 Item-to-Item 环节,而对于 Match 的优化聚焦于召回的 User-to-Item 环节。

与上面的次序权重和时间权重类似,当通过用户历史行为进行 matching 时,应该让用户临近的行为具有更高的权重:

 

其中代表用户 u 历史行为 i 出现的时间。

 

5.Swing [5]

 

swing 指的是秋千,例如用户 u 和用户 v,都购买过同一件商品 i,则三者之间会构成一个类似秋千的关系图。若用户 u 和用户 v 之间除了购买过 i 外,还购买过商品 j,则认为两件商品是具有某种程度上的相似的。也就是说,商品与商品之间的相似关系,是通过用户关系来传递的。为了衡量物品 i 和 j 的相似性,考察都购买了物品 i 和 j 的用户 u 和 v, 如果这两个用户共同购买的物品越少,则物品 i 和 j 的相似性越高。

 

6.NCF 召回[6]

 

这篇文章发表在《World Wide Web》(2017)上,论文链接 https://arxiv.org/pdf/1708.05031.pdf。

 

文章提出,神经网络已经被证明可以近似模拟任意连续函数 [1],并且深度学习在很多领域的成功应用也证明了其有效性。而一些近期的研究也将深度学习应用到了推荐中,然而很多工作都是将深度学习作为辅助工作,比如提取文本和图像的特征,而对于推荐的关键特征处理,user 特征和 item 特征的交互,仍使用 MF 的思想。作者利用深度学习来对 user 和 item 特征进行建模,使模型具有非线性表达能力。具体来说使用多层感知机来学习 user-item 交互函数。

 

参考

 

 

KDD2020-baseline

 

SDM

 

Using TF-IDF to Determine Word Relevance in Document Queries

 

CIKM2019 冠军方案

 

原文链接 Swing-CSDN

 

NCF 参考 – CSDN

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注