文章链接:https://arxiv.org/pdf/2006.05639
机构:阿里
发布时间:2020
Copyright (c) Wang-Luning. All Rights Reserved.
SIM(Search-based Interest Model,2020)致力于建模超长的用户历史行为序列。其分为两个级连部分,首先从完整的长行为序列(>10000)中筛选出与当前候选目标相关的行为,去除序列中绝大部分噪声,然后再对筛选后的子行为序列(~100)进行深度学习建模,使用类似DIN的方法用attention模块来达成候选物品和历史物品的交互,最终抽象出来的表征用于预测CTR等指标。其参考了DIN中关于针对候选物品来选取序列中有用信息的思想,并设计了一种更高效的从用户行为序列中提取有用信息的方法。
具体而言,首先使用一个“通用搜索单元”(General Search Unit, GSU)来使用候选物品产生的query从原始的长行为序列中提取相关信息,从而过滤掉噪声,获得筛选后和候选物品强相关的子序列SBS(Sub user Behavior Sequence)。然后,使用“精确搜索单元”(Exact Search Unit, ESU)来建模候选物品和SBS之间的精确关系。
GSU模块:
该部分希望从原始长序列中找到top-k个相关的子行为。设原始输入序列为
Hard search:
直接选取和候选物品属于同一类别的物品作为相关物品。这里的
Soft search:
将每个历史交互物品
这里的计算是一个MIPS(Maximum Inner Product Search)问题,给定候选物品向量(的变换结果),想要快速找到和它内积最大的那些历史物品向量,也即用内积表示相关性。它和最近邻搜索有相似之处,如果所有向量模长相等则等价于最近邻搜索。可以使用ALSH等方法高效搜索。
在训练soft search部分时,由于直接使用短序列训练全模型得到的参数会误导长序列兴趣建模,因此这里基于长序列数据使用一个辅助CTR预测任务进行训练,如上图所示,产生的用户表征向量记为
ESU模块:
得到top-k个相关历史物品构成的子序列
由于这些历史行为之间的时间间隔大小不一,因此再引入一个时间间隔序列
然后再使用多头attention模块来捕捉候选物品和每个历史行为之间的注意力分数:
也即使用候选物品的embedding
可见,其思路本质和DIN一致,使用候选物品对于历史序列中的相关物品做完attention后得到它和历史兴趣的相关性,抽象出来的用户历史表征即可拿来预测CTR。这种做法也被称为target attention。
GSU和ESU模块最终会在CELoss下进行联合训练(若采用hard search则去掉GSU项):