作者:十方,公众号:炼丹笔记

Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction

阿里对行为序列的研究可以说已经独领风骚了,前有DIN,后有MIMN,现在又出了这篇SIM。只能说行为序列确实对点击率预估很重要,阿里已经证明,丰富的用户行为数据对工业场景下推荐系统的点击率预估具有很大的价值。MINN已经把序列长度增加到了1000,然而当长度超过1000,MIMN很难准确捕捉用户兴趣了。淘宝23%的用户在过去5个月点击都超过1000个item,所以这篇论文想对任意长度的行为序列进行建模。

下图就是SIM,是个two-stage的策略,每个stage伴随着一个重要的unit,General Search Unit(GSU)和Exact Search Unit(ESU)。

  • first-stage: 这一步用GSU在线性时间内,把原始的长序列提取出top-K的子序列,K远远小于原始序列长度。
  • second-stage: 这一步用ESU把first-stage提取的top-K子序列作为输入,用一个类似DIN,DIEN的复杂结构精确的提取兴趣。

用户大量的历史行为,对当前点击率预估真正有用的也就一部分行为,所以无需把原始行为序列全都塞到模型中去,这样资源消耗和性能瓶颈是无法承受的,所以干脆做个筛选,GSU就是这个功能。论文给出GSU两种实现方式Hard-search和Soft-search。假设我们现在拿到的原始用户行为序列B = [b1, b2, ..., bT],GSU会计算每个行为bi的相关性ri,最后取相关性最高的K个行为作为新的序列。GSU两种实现方式本质就是ri计算方式不同,如下所示:

hard-search: 该方法没有任何参数,就是找到和目标item相同类目的历史序列的子序列。

soft-search: Wa和Wb是权重,ei和ea分别是序列第i个item和目标item的embedding,然后计算点积作为分数。论文提到可以用ALSH寻找top K的item,可以有个次线性的时间复杂度。

看到这里可能会有个疑问,ei和ea是怎么来的呢?见下图:

需要注意的是,b1~bT必须长期兴趣序列,因为GSU虽然是要从原始序列抽取K个兴趣,但是是为长期兴趣服务的,所以必须保证分布一致。图中的Sum pooling计算如下式:

然后Ur和目标向量concat在一起,接mlp预估点击率即可。

通过GSU,我们已经获取了一个K长度的序列了,Exact Search Unit以该序列 B* 作为输入,训练一个基于attention的模型。考虑到B*序列每个item的权重是不同的,本能上都会觉得越靠近预估的item权重越大,论文里是把距离预估的item的时间差进行embeding为Et(长度为K,embsize为D的序列,类似bert中的位置编码),B* 序列的也是一个长度为K的embeding序列E*。zb = concat((E*, Et), axis = 1),是一个长度为K,embsize为2*D的序列,作为用户最终的兴趣序列,然后用多头attention:

i表示第i个head,最后concat所有的head,输入到mlp中做ctr预估。如果我们用的是soft-search,loss就有两个了,LossGSU和LossESU,这两个loss权重都是1,如果用hard-search,只用LossESU即可。

毕竟再好的模型,不能上线都是白做,特别是在线服务都必须是毫秒级别,论文提到实施预估系统延迟需要低于30ms,以阿里的体量,流量巅峰时每秒要处理百万用户,论文给出了实实在在的上线方案,如下图:

论文提到hard-search和soft-search选取的top-k序列,惊人的相似,所以考虑到性能资源,就采用hard-search的方式上线。既然用hard-search,就要找与目标item相同category的序列,所以论文提出了user behavior tree(UBT),就是两层索引,第一层key为userid,第二层key为类目,最后value为行为序列。UBT用分布式系统实现,占22TB空间(有资源就是任性)。

实验

最后来看一下SIM的实验效果,首先看一下在阿里两个数据集的表现:

着重看下下图:

我们可以看到在短期行为的预估准确度DIEN和SIM是几乎一样的,但是长期行为上,SIM的优势就体现了。

更多干货,请关注微信公众号:炼丹笔记

传送门:这个点击率模型,值得用户托付终身

推荐搜索炼丹笔记:SIM 用户行为序列点击率预估模型相关推荐

  1. 推荐搜索炼丹笔记:双塔模型在Airbnb搜索排名中的应用

    作者:一元,公众号:炼丹笔记 Improving Deep Learning For Airbnb Search(KDD20) 本文是一篇偏实践的文章,不讲太多虚的,什么有效什么无效,您请细品! 将深 ...

  2. 推荐搜索炼丹笔记:向量召回 MIND多兴趣双塔模型

    作者:十方,公众号:炼丹笔记 熟悉双塔的人都知道,在用户侧,模型最后往往都生成一个向量去检索,这个向量不足以表达用户的多兴趣,<Multi-Interest Network with Dynam ...

  3. 推荐搜索炼丹笔记:MiNet阿里跨域点击率CTR预估

    作者:一元,公众号:炼丹笔记 MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction(CIKM20) ...

  4. 【推荐算法】点击率预估模型(CTR) 快速入门(赋源码)

    CTR 快速入门 本项目主要使用 DeepCTR 进行CTR模型训练. 开源本项目,方便初学者快速进行CTR模型训练. [项目说明] 配置化运行,无需修改代码. 仅需提供训练数据,并通过简单的配置,即 ...

  5. 推荐系统学习笔记-论文研读--点击率预估中特征交互的作用

    研究背景 当前点击率预估模型没有完全挖掘特征交互的潜力 特征的表征学习与特征的交互存在冲突 笛卡尔积的方法比当前的点击率预估模型效果都好 算法模型的效率和效果的平衡 阿里巴巴线上业务量级和耗时的考虑 ...

  6. 基于点击率预估的推荐

    1.传统算法不能真正应用到生产系统 2.推荐场景数据是海量的,数据是稀疏的,要求是实时性是秒级 3.推荐系统的核心是"数据召回"和"模型排序" 4.GBDT和L ...

  7. 推荐算法炼丹笔记:排序模型CTR点击率预估系列

    微信公众号:炼丹笔记 ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在 ...

  8. 推荐算法炼丹笔记:序列化推荐系统

    作者:一元 公众号:炼丹笔记 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以及用 ...

  9. 推荐算法炼丹笔记:CTR点击率预估系列入门手册

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

最新文章

  1. springboot 物联网_物联网架构实例分享
  2. 东大19春在线作业计算机应用基础,东大19春学期《计算机应用基础》在线作业2...
  3. 有参组装新转录本cufflinks_转录本组装软件StringTie的使用说明
  4. 不用卷积也能生成清晰图像,用两个Transformer构建一个GAN
  5. oracle存储过程+游标处理select数据
  6. Mybatis源码阅读(二):动态节点解析2.1 —— SqlSource和SqlNode
  7. Js中对id和class属性进行模糊查询
  8. Ubuntu16.4配置caffe详细流程
  9. Spring事务-1
  10. SOPCAST所有频道的地址
  11. python处理时序数据总结
  12. 二叉树的层序遍历(二)---之字形层序遍历
  13. 【百度快照】基于MATLAB GUI的条形码识别系统
  14. 为什么在抖音直播间打字别人看不见,所有抖音直播间看不见我说话
  15. css 针对ie6 hank 兼容的终极解决办法
  16. SQL中的连接(左、右、内连接)
  17. NX从刷机到更换开机logo
  18. AMD APU A10-5800K, Debian Wheezy, 系统安装ATI闭源驱动
  19. Google Earth Engine(GEE)——计算不同美国州的气温折线图和散点图
  20. windows安装JDK出现error:could not open ‘...jvm.cfg‘

热门文章

  1. JRE与JDK,SDK的区别
  2. spring+quartz定时任务配置---MethodInvokingJobDetailFactoryBean
  3. [导入]《交互设计之路——让高科技产品回归人性》读书笔记(一)
  4. php 命令执行脚本文件路径,php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法...
  5. 手机电脑同屏_骚操作!手机秒变触摸电脑、扩展屏幕!
  6. 重磅!全网最全13010本SCI2020最新影响因子下载!CA+四大神刊!预警期刊最新影响因子一览!
  7. winserver下oracle好运维吗,在Windows 客户端下备份远程Linux服务器上的Oracle数据库...
  8. 安装 | 手把手教你Android studio 3.5.2安装(安装教程)
  9. ANSI和UNICODE字符串处理函数
  10. vc实现透明位图,透明背景