推荐系统遇上深度学习(八十四)-[阿里]抽取用户多维度兴趣的DH
本文介绍的论文为《Deep Interest with Hierarchical A ention Network for Click-Through Rate Prediction》
论文下载地址为:https://arxiv.org/abs/2005.12981
对应代码地址为:https://github.com/stellaxu/DHAN
1、背景
在CTR预估中,用户历史行为信息是很重要的一类信息,从中抽取出用户的兴趣可以有效提升推荐的效果。
用户的兴趣往往遵从一种层级的模式,从higher-level的属性(如品类、价格区间、品牌)到具体到lower-level的属性(具体的item)。之前有关用户兴趣抽取的模型如阿里的DIN和DIEN模型,显然忽略了这种层级的模式,仅仅从item级别去抽取用户兴趣。
针对用户兴趣遵从的层级模式,论文提出了一种新的结构:Deep Interest with Hierarchical Attention Network (DHAN),一起来看一下。
2、DHAN介绍
DHAN的整体架构如下图:
上图看上去较为复杂,本文仅介绍其一种较为简单的结构,如下图所示:
DHAN主要从item级别和属性级别去建模用户的兴趣。
item级别建模方式同DIN,主要去计算用户历史行为中物品embedding和目标物品embedding的相关性权重,权重用W={w1,w2,...,wt,...wT}表示,输出用Ix表示。(当然也可以采用类似DIEN的方式,后续会给出图示)
属性级别建模方式较为复杂,对于一个具体的属性或不同的属性组合(简单结构中应该是对不同的属性做了一个组合),首先会对历史行为中物品进行聚类,得到L个类别,用I={I1,I2,...,IL}表示。第l个类别中包含的物品权重为wl={wl1,wl2,...,wlX},权重从W中获取。而第I个类别中包含的物品Embedding为Il={il1,il2,...,ilX}。那么第I个类别的embedding表示为如下的加权求和方式:
上式中除以权重之和的目的是将每一个类别中物品的权重之和均变为1。
接下来,是计算每一个类别与目标物品的相关性权重,计作Wc = {wc1,wc2,...,wcL},最后通过加权求和的方式,得到属性级别的向量输出:
接下来对三部分的向量进行拼接:分别是item级别兴趣建模得到的向量输出ix,属性级别兴趣建模得到的向量输出x,和目标物品的embedding向量ea,通过多层全连接神经网络得到点击率的预估值。
在上文中我们层提到过,item级别的建模也可以通过DIEN的方式,其结构如下:
3、实验结果
最后来看下DHAN和DIN的比较,评价指标为AUC,可以看到,DHAN的AUC有着较为明显的提升:
最后总结一下,论文还是围绕着用户兴趣建模展开,除建模物品之间的相关性外,还进一步建模用户对于不同品类、价格区间、品牌的偏好,能够更细粒度的刻画用的兴趣,针对相似场景的推荐(电商、外卖等),值得一试。