前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系统遇上深度学习(一零一)-[阿里]时间感知的深度物品演化网络

推荐系统遇上深度学习(一零一)-[阿里]时间感知的深度物品演化网络

作者头像
石晓文
发布2020-11-24 10:40:03
1K0
发布2020-11-24 10:40:03
举报
文章被收录于专栏:小小挖掘机

今天介绍的论文是阿里在CIKM20上发表的一篇文章,标题为《Deep Time-Aware Item Evolution Network for Click-Through Rate Prediction》,之前介绍的阿里的论文大都是从用户行为序列出发,来建模用户的兴趣表示,而缺少对候选物品的更为丰富的建模,而本文则是从物品的角度出发,将物品行为引入到网络中,一起来看一下。

1、背景

之前介绍的阿里的论文大都是从用户行为序列出发,来建模用户的兴趣表示。但是,用户的偏好会发生变化或者产生新的偏好,例如热点新闻、推特或者照片,会吸引用户的注意力,使其产生新的兴趣。而在电商领域,如双十一,用户可能会有不同于平常购物的新的兴趣出现,一些促销力度较大的商品,可能在短期内成为热销商品。在上述的场景下,使用用户行为序列通常无法预测用户新产生的兴趣,不仅因为用户行为中有过时的兴趣,同时预测用户新的兴趣严重依赖于物品的演化过程。

为了解决上述的问题,论文提出了时间感知的深度物品演化网络(Deep Time-Aware Item Evolution Network,简称TIEN ),我们在下一节中进行介绍。

2、TIEN介绍

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

可以看到,主要包括Embedding Layer、Time-Interval Attention Layer、Robust Personalized Attention Layer和Time-Aware Evolution Layer。接下来分别进行介绍。

2.1 模型输入

模型输入主要包含四部分,用户u,候选物品i,用户行为序列Iu和物品行为序列Ui。用户行为序列即用户交互过的物品(物品特征)按照时间先后的排序结果,物品行为序列则是与该物品有过交互的用户(用户特征)按照时间先后的排序结果。

用户和物品特征主要包括多个离散特征,对用户特征来说,包括用户ID、性别、年龄段等等,对物品特征来说,主要包括物品ID、店铺ID和品类ID等等。用户行为序列中每一个物品会转换为对应的特征表示,而物品行为序列中每一个用户也会转换为对应的特征表示。

2.2 Embedding Layer

在Embedding层,用户和物品特征会转换为对应的embedding,分别用eu和ei表示。

同样,用户行为序列中的每一个物品特征也会转换为对应的embedding表示,用Su表示,物品行为序列中每一个用户特征也会转换为对应的embedding表示,用Si表示:

2.3 Time-Interval Attention Layer

物品行为序列是一系列用户的集合,在Time-Interval Attention Layer,我们使用GRU单元来建模物品的演化过程,同时将时间因素考虑进来,利用时间信息对每一个行为进行加权,如更近期交互的用户应该具有更高的权重。假设当前请求的时间为t,物品行为序列中第k个用户与其交互的时间为tk,则其时间间隔为tivk=|t-tk|。进一步,将时间间隔进行划分[0,1),[1,2),[2,4),...[2j,2j+1)不同分段,将tivk转换为对应的离散特征xtiv,进一步转换为对应的embedding表示:

同时,利用GRU单元建模物品行为的演化过程,第k步的hidden state为huk。同时,显式将时间间隔embedding考虑进来,作为权重,计算得到hutk(二者进行element-wise的相加):

2.4 Robust Personalized Attention Layer

在Robust Personalized Attention Layer,主要解决两方面的问题,首先是如何过滤物品交互序列中的噪声。其次是如何从物品行为序列的用户中,找到与当前用户(target-user)更为相似的用户。

第二个问题主要是用注意力机制解决,注意力机制计算如下:

其中K使用hutk,V使用huk。即在计算与当前用户的相关性权重时,我们将时间因素考虑进来,而在计算最后的加权向量表示时,则将时间因素进行剔除。

接下来的问题是Q是什么,Q可以是当前用户的向量表示eu。但为了过滤噪声,论文中使用的Q计算如下:

上式中第二项是物品行为序列中所有用户向量的avg-pooling,使用avg-pooling的方式得到的向量,能够表示所有用户的一些共性的特点,一些明显与共性特点不同的用户,在计算权重时,得到的权重会相对较小,从而一定程度上达到了消除噪声的目的,当然这是一种个性化与噪声消除相互权衡的做法。实际中也不一定能够取得更好的效果。

Q、K、V确定后,使用Multi-head attention得到这一层的输出,计作erpi。计算如下:

2.5 Time-Aware Evolution Layer

在Time-Aware Evolution Layer,主要建模物品的潮流趋势或者说生命周期。如一些商品可能仅在双十一的时候卖的比较火爆,而在平时则很少有人去购买。

这里的做法主要是通过一个GRU单元,将之前得到的时间向量作为输入,得到最终的隐层输出:

通过Robust Personalized Attention Layer,得到了erpi,在Time-Aware Evolution Layer,得到了h'tiv,二者经过一定的融合函数,得到最终的物品行为序列的向量表示,融合方式可以是element-wise相加,相乘或更为复杂的非线性方式等等。

2.6 全连接层&损失计算

上述主要介绍的是对物品行为序列的处理过程,对于用户行为序列,使用GRU和Attention层进行建模,可以参考TIEN的整体结构图,本文不做详细介绍。

在最后的全连接层,将当前用户的向量表示,候选物品的向量表示,用户行为序列的向量表示,物品行为序列的向量表示,拼接后输入到全连接层中,得到最终的预测结果(当然下游任务不一定是CTR,CVR/GMV/Price预估等都可以)。如果下游任务是CTR,则使用logloss来计算损失:

3、实验结果

首先,来看下TIEN与baseline模型的效果对比,其在不同数据集上的效果均好于base模型:

其次,看一下不同的Layer是否都对最终的结果有提升作用:

最后,看下物品行为序列的长度对于AUC的影响:

好了,本文就介绍到这里,感兴趣的同学可以阅读原文哟~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、背景
  • 2、TIEN介绍
    • 2.1 模型输入
      • 2.2 Embedding Layer
        • 2.3 Time-Interval Attention Layer
          • 2.4 Robust Personalized Attention Layer
            • 2.5 Time-Aware Evolution Layer
              • 2.6 全连接层&损失计算
              • 3、实验结果
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档