社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

推荐系统遇上深度学习(一三九)-[阿里]商品属性变化感知的分层注意力演化网络CAEN

小小挖掘机 • 2 年前 • 295 次点击  

今天给大家带来Recsys2022上阿里中稿的一篇文章。商品的属性如价格,评分等对于用户在电商场景下的行为决策起着较为重要的作用,但过往的推荐系统大都关注用户历史行为的建模,而对于商品属性的变化很少关注。因此,论文从商品属性动态演化的角度出发,通过建模商品不同属性下的属性画像和交互用户画像和当前商品属性以及目标用户的匹配度,来提升CTR等下游任务的效果,一起来看一下。

1、背景

从YoutubeDNN、DIN等开始,CTR预估模型的研究大都关注于对于用户兴趣的建模,即通过用户的历史交互行为来建模用户兴趣表示,对商品属性的变化却很少关注。电商场景下,商品的属性变化是十分频繁的,如商品的价格会随着不同的节日(京东618,双11等)或者商家的操作频繁变动,当同一商品处于不同价位时,会吸引不同优惠敏感度用户的关注。如下图所示,当目标商品是奢侈包包时,高收入用户(对商品价格不敏感)无论在何种价位下都会产生兴趣;而对于价格十分敏感的用户来说,只有当商品有较大的折扣力度时才会吸引用户的点击。

因此,从商品属性动态演化的角度出发,论文提出了Core Attributes Evolution Network (CAEN),通过建模商品不同属性下的属性画像和交互用户画像和当前商品属性以及目标用户的匹配度,来提升CTR等下游任务的效果。下一章,将对CAEN的具体细节进行介绍。

2、CAEN介绍

CAEN的整体结构如下图所示:

模型整体结构看上去较为复杂,主要分为四部分,用户画像模块,商品画像模块,用户行为建模模块,商品行为建模模块。本文主要关注的是商品行为建模模块(Item Behavior Modeling),该模块又包含5部分:Attribute-Based State Partition Layer (SPL)、Attribute Attention Layer (AAL)、State Evolution Layer(SEL)、Personalized Attention Layer (PAL)和Frequency Extraction Layer (FEL)。接下来,对这五部分进行详细介绍。

2.1 Attribute-Based State Partition Layer (SPL)

在这一层,首先根据商品属性的历史变化情况切分为不同的状态,不同状态下商品的属性不同。在每一种状态下,输入包含三部分,该状态下的属性值、该属性值下与之交互的用户集合、以及该状态修改的时间戳。三部分输入经过embedding层转换为对应的Embedding表示。

2.2 Attribute Attention Layer (AAL)

这一层主要是对每个状态下的交互用户信息进行聚合。交互用户中部分可能是受到该状态下的属性值进行吸引才产生对应的行为,部分可能是无论属性值都会发生行为的用户。我们希望能够将受到该状态下的属性值进行吸引的用户进行有效区分,因此AAL采用Attention的方式对用户信息进行聚合,如下图所示:

这一层采用Multi-Head Attention方式,其中Query是该状态下对应的商品属性信息,Key和Value则是对应的用户Embedding,输出为该商品属性下,产生交互行为的用户信息的聚合表示。

2.3 State Evolution Layer(SEL)

考虑到商品属性处于不断变化的过程中,用户的交互行为不仅受当前状态属性值的影响,也有可能受到过去属性值的影响,如前后价格的对比产生的交互行为,因此论文进一步引入SEL,使用GRU来建模这种状态的演进过程,输入包括AAL的输出以及商品属性值对应的embedding。输出的hidden state可以认为是商品在该状态下的信息聚合表示。

2.4 Personalized Attention Layer (PAL)

PAL同样采用Multi-Head Attention方式,建模当前目标商品和用户,与该商品历史不同状态表示的相似性,这种相似性包括两方面,一是商品属性的相似性,二是用户的相似性,具体结构如下:

其中,Query为目标商品属性和目标用户的embedding表示,Key为不同状态下State Evolution Layer的输出以及该状态下的商品属性embedding表示,Value为SEL的输出。

2.5 Frequency Extraction Layer (FEL)

上述的几层看上去比较类似于DIEN的操作,只是把用户层面的建模挪到商品层面的建模。除此之外,论文还引入了FEL层,旨在捕捉商品属性变化的频率,量化卖家操作的活跃程度。这一层同样采用GRU结构,输入为每个状态对应的时间戳Embedding。

3、实验结果

最后看下论文的实验结果,与多个base模型进行比较,CAEN均取得了不错的离线收益:

同时,结合不同的用户行为建模的模型,引入CAEN同样取得了正向的离线收益:


好了,论文就介绍到这里,国庆快乐~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/147836
 
295 次点击