导读
我们对电商场景兴趣建模的理解愈发清晰:1. 通过预估目标item的信息对用户过去的行为做search提取和item相关的信息是一个很核心有效的技术。2. 更长的用户行为序列信息对CTR建模是非常有效且珍贵的。从用户的角度思考,我们也希望能关注用户长期的兴趣。但是当前的search方法无论是DIN和DIEN都不允许我们在线对一个超长的行为序列比如1000以上做有效搜索。所以我们的目标就比较明确了,研发一个可以根据预估目标item信息对用户全生命周期行为进行search,获取该item相关信息的方法
方法
直接用类似DIN或者DIEN的方案对全行为序列search无疑是在线计算时无法接受的,因此我们想到了能否把搜索解开来,在文中我们提出了两阶段的search模式:general search 和 exact search。从精度角度我们将搜索拆解为一个相对粗糙普适的搜索和一个更为具体精确的搜索。从计算过程角度我们希望general search的大部分计算可以离线完成,并且将历史行为的数量缩小到几百的量级,给exact search部分的建模保留充足的计算复杂度空间。
exact seatch部分我们没有投入太多的精力,可以把它看做是一个短序列建模问题,用DIN/DIEN或者一些其他的类似结构皆可行。当然在长序列建模里,我们发现以前尝试不那么有效的时间信息影响变大了,因此在exact search这部分引入了时间信息,具体的做法可以看披露的论文SIM。核心的难点还是在general search部分,研发过程中有两种思路:1. 用参数化的方式,我们通过对用户的行为和item进行向量化,然后用基于内积的近似最近邻检索出Top_K个相关的行为,比如这篇文章Maximum Inner Product Search (MIPS)[5]。在线计算CTR时,通过向量对每个用户的历史行为构建一个基于内积距离的近似近邻层次索引,每个item可以高效的检索与其相关的行为。具体此方法的在线和离线实现可以看看论文,这里不详细介绍。2. 在实践过程中,我们发现电商数据天然的账户体系或者结构性让general search有更简单的实现方式。电商场景用户行为大部分交互对象也是item,item有其固有的类目信息categoryÿ