【推荐系统】wss课程-行为序列

用户行为序列 = lastN(用户最近交互过的 N 个物品)

用户特征中的 last N特征很有效,加入召回和排序中所有指标都会大涨。

用户 lastn行为序列可以反应出用户对什么物品感兴趣

行为序列01-用户历史行为序列建模

用户最近 n 次点击、点赞、收藏、转发等行为都是推荐系统中重要的特征,可以帮助召回和排序变得更精准。这节课介绍最简单的方法——对用户行为取简单的平均,作为特征输入召回、排序模型。

 

召回的双塔模型,粗排三塔,精排模型都可以用 lastn 特征。

这是前面课程介绍的多目标排序模型,模型任务是预估点击率,点赞率等指标。根据指标对物品进行排序,选择出用户最感兴趣的物品。

用户 last N记录用户最近交互过的n个物品 id。做 emb,将 n 个物品 id map 为n 个向量。对向量取平均得到1个向量,表示用户曾经对什么样的物品感兴趣。

小红书的召回,粗排,精排都用了 lastn。

用户最近点击的 n 个物品,求emb的平均( 效果更好的是att,但是计算量更大)。类似的行为同样记录lastn物品 id。把不同行为的 last n emb concat。还可以使用物品其他特征,比如物品类目。把 id emb和其他特征的 emb 拼在一起,比只用id emb效果更好。

00:11-00:20 (3,8)

行为序列02-DIN模型(注意力机制)

上节课介绍了用户的 LastN 序列特征。这节课介绍 DIN 模型,它是对 LastN 序列建模的一种方法,效果优于简单的平均。DIN 的本质是注意力机制(attention)。

DIN 是阿里在 2018 年提出的,有兴趣的话可以阅读下面的参考文献。 参考文献: Zhou et al. Deep interest network for click-through rate prediction. In KDD, 2018.,

只能用与精排模型。

用户最近交互过的 n 个物品,取平均作为对用户行为的表征。

哪个 lastn 物品有候选物品更相似,它的权重越高。

a1是实数,计算相似度可以用内积,也可以用cos。

候选物品和lastn 逐个计算相似度。每个 a对应一个 x 向量。a 与对应的向量进行相乘,然后结果相加,紫色向量就是 lastn 向量的加权和,权重是相似度 a。

 

 

query只有一个向量,所以注意力机制的输出也是一个向量。 

在双塔召回的时候,一共有上亿个候选物品,用户塔只能看到用户特征。但 din需要知道候选物品的特征。

00:20-00:32   (4,12)

行为序列02:DIN模型(注意力机制)_哔哩哔哩_bilibili

行为序列01-SIM(长序列建模)

这节课继续讲解推荐系统中的用户行为序列建模。这节课介绍 SIM 模型,它的主要目的是保留用户的长期兴趣。SIM 的原理是对用户行为序列做快速筛选,缩短序列长度,使得DIN可以用于长序列。

参考文献: Qi et al. Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction. In CIKM, 2020.

SIM目的保留用户的长期兴趣,是有效的。

紫色向量可以看作是用户 lastn历史记录的表征,反应出用户兴趣。

 

n 越大,din的计算量就越大,记录的用户行为序列太短。记录的行为序列变长可以显著的提升推荐系统的所有指标。但暴力增加序列长度是不划算的,增加的计算量太大,但是带来的收益却不多,性价比不高。

目标:n 尽量大,推荐更精准。   

比如候选物品是关于美食的笔记,lastn 是美妆的,两者显然不相似,权重接近为0。如果把不相关的笔记从 lastn中排除掉,几乎不会影响 din加权平均的结果。

只把相关物品输入注意力层,可以大幅降低注意力层的计算量。

如果不用 sim,n 的大小一般100-200。

k是比较小的数,比如 k=100。记录用户最近交互过的1000个物品 id,n=1000, 根据候选物品的类目快速排除大部分lastn物品,只保留最相关的100个。把1000个变成100个。

k 较小,注意力层的计算量也较小。

sim分为2步,第一步是查找,第二步是注意力机制。

hard search 根据规则做筛选。用规则做筛选的速度非常快。

soft search,向量最近邻查找。需要把 lastn物品和候选物品 query都做 emb。效果更好,用于预估点击率等业务指标的话,auc 更高。

需要根据公司基建,除非基建牛逼,否则 hard search 就可以了

lastn为 topk,几乎不会影响加权平均的结果,紫色向量几乎不变。被排除物品的权重本身就接近与0。

 

小trick:记录用户与物品交互发生的时刻。 比如发生在1000h 之前,delta=1000。delta是连续值,需要对它做离散化,划分成很多区间,比如发生在最近1天,7天,30天,1年,1年以上。 

现在每个 lastn 物品有两个向量。两个向量 concat,拼成一个向量,作为一个 lastn物品的表征。 

候选物品 q 不需要对它的时间做 emb。

一个紫色向量为对用户兴趣的表征。 

din无需考虑时间,只记录用户近期交互100-200的物品。

sim的 lastn中可能有用户1年前的交互,也可能是10分钟前的交互,重要性不一样。

行为序列03:SIM模型(长序列建模)_哔哩哔哩_bilibili

00:32-00:58(9,26)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值