
之前咱们介绍过阿里的SIM,通过一种两阶段的方式来使用用户所有行为序列来提升点击率预估的精度。而最近阿里的最新的进展中,尝试将两阶段的处理方式升级为端到端的处理方式,相关的论文会在后续进行介绍。而今天,我们主要介绍另一篇通过两阶段的方式对用户行为序列进行使用的论文UBR4CTR,一起来看一下。
1、背景
在CTR预估场景下,用户历史行为序列对于用户未来兴趣的预测起到至关重要的作用。如何对用户历史行为序列进行有效的建模,也引起了越来越多的关注。首先简单回忆一下之前介绍过的对于历史行为序列处理的方式。最早的Youtube DNN对用户最近观看的N个视频的embedding进行avg-pooling,这种方式最主要的缺点是针对不同的target item,用户行为序列处理后得到的embedding都是相同的,对序列中的每个行为赋予相同的重要度。但用户对于target item是否喜欢,往往只与历史行为中部分行为紧密相关,因此阿里的DIN、DIEN等通过注意力机制,计算行为序列中每个item和target item的相关性作为权重,对行为序列中的Embedding进行加权。
但在实际工业界落地的过程中,由于耗时的限制,DIN等方法通常仅使用用户最近的N个行为,在一些用户行为频次较低的场景下,这种做法是OK的,但像淘宝这样的场景下,有超过20%以上的用户有1000+的历史行为,这种截断的方法往往难以有效建模用户行为中的序列模式。举个简单的例子,当前时间为夏天,用户想买一件T恤,而截断的N个行为中,都是去年冬天的购买记录,那么就容易出现夏天推荐羽绒服的bad case。
因此,如何突破耗时的限制,来利用用户更长的行为序列甚至是所有的历史行为呢?主要有两类方法,一种是基于memory的方法,如MIMN,另一种是基于检索的方法,如之前介绍的SIM。这里不再对这两篇论文进行回忆,感兴趣的同学可以翻阅相关论文或本系列之前的文章。而今天我们介绍的UBR4CTR(User Behavior Retrieval for CTR prediction) ,同样从检索的角度出发,设计了用户行为检索模块,基于每一次不同的请求和target item,从用户历史行为中抽取最有用的部分行为用于后续的点击率预估,一起来看一下。
2、UBR4CTR介绍
2.1 整体介绍
首先来看一下UBR4CTR的整体架构,如下图所示:

可以看到,UBR4CTR主要分为用户行为检索模块(user behavior retrieval module)和预测模块(prediction module)。用户行为检索模块又包括特征选择模块(feature selection model)、检索引擎(search engine client)和用户行为档案(user history archive)。

UBR4CTR是一种用户行为检索模型,用于CTR预估。它通过用户行为检索模块和预测模块,利用用户历史行为进行建模,解决长行为序列处理问题。特征选择通过self-attention确定query,检索模块采用BM25算法选择相关行为,预测模块则类似DIN进行加权预测。模型通过交替训练方式进行优化,提高了推荐系统的精度。
最低0.47元/天 解锁文章

951

被折叠的 条评论
为什么被折叠?



