[论文阅读] ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation

pdf: https://arxiv.org/abs/1711.06632
[AAA2018]

这篇文章是阿里和北大提出的基于注意力机制的用户异构行为建模框架,主要用于推荐任务。

一个用户可以被Ta的历史行为所表示,但是由于用户行为是异构且动态的,难以建模。异构数据可以通过计算潜在空间的距离来表示,却没有一种可以将用户的异构行为进行表征的方法。

此外,用户的历史行为可以看作一种序列数据,早期对序列数据的处理是人工提取特征,提取的特征不能充分的表示数据本身,同时需要太多的工作,而且聚合的特征可能会丢失与下游应用相关的特性;现有的针对序列数据进行推荐的方法如RNN,CNN,LSTM将之前所有的序列数据保存下来进行推荐,而要推荐的物品很可能只与用户历史行为的一小部分有关,降低了关联物品的相关性,同时会引入噪声;而RNN,CNN方法的编码器,将序列数据进行固定长度的编码,无法适应长短不一的序列数据,影响推荐效果。

作者提出注意力机制来处理异构数据,创新在于同时考虑异构数据和时序两方面,并用了一种较为简单的方式来实现。

模型框架如图,包含以下几层:
Raw Feature Spaces
Behavior Embedding Spaces
Latent Semantic Spaces
Self-Attention Layer
Downstream Application Network

在这里插入图片描述

Definition

一个用户的行为可以用一个三元组来表示:a tuple{a,o,t} 三元组(动作类型,目标,时间)
其中:
a: 用户行为 (E.g., 点击/收藏/加购、领取/使用)
o: 用户行为目标,用它所包含的特征来表示(E.g., 商品行为,优惠券行为,关键字行为)
t: 用户发生行为的时间

一个用户可以表示为它所有的行为:
在这里插入图片描述

Raw Feature Spaces

原始特征层的任务是划分,根据目标类型将用户的行为划分进不同的行为组G。

用户行为组为:
在这里插入图片描述
其中
在这里插入图片描述

Behavior Embedding Spaces

行为嵌入层的任务是将用户的行为转换为嵌入向量。
嵌入向量:
在这里插入图片描述
将用户向量里的行为目标,行为时间,用户行为分别向量化来表示用户的嵌入向量。
其中,因为行为目标是由其属性表示的,所以是实值属性,直接进行Embedding嵌入,而时间因为是一个连续值,所以将其离散化后再进行lookup嵌入,用户行为本身是一个id属性,可以直接进行lookup嵌入,lookup做的是一个查找的工作,实际是进行one-hot编码。

此外,由于有一些属性是共有的,比如店铺id,物品类别id,所以允许参数共享,可以减少一定的稀疏性,同时降低参数总量。

在这一层,仔细观察模型框架图可以发现每一组的嵌入表示的长短不一,这是因为每一组所包含的用户行为数量不同,而且每一个用户行为所包含的信息也是不同的。
那么如何进行比较呢,下一层会将各组的长度进行统一。

一些符号:
一个用户的行为(A user behavior):
在这里插入图片描述
用户行为组(Behavior groups):
在这里插入图片描述
所有的用户行为组(All behavior groups):
在这里插入图片描述

Latent Semantic Spaces

潜在语义层将每一组用户行为投射到K个潜在的语义空间,仔细观察这一层的各组长度统一,主要进行了以下两个操作:
在这里插入图片描述在这里插入图片描述
将各组的长度统一后,进行concat操作可以得到一个潜在的语义空间S,将同样的行为重复k次,可以得到k个潜在的语义空间,Sk指的是第k层的投射。
在这里插入图片描述

Self-Attention Layer

这一层参考的是Transformer的结构。
首先计算k层潜在语义层的注意力矩阵:
在这里插入图片描述
可以和Transformer的公式进行对应,Sk对应Q,S对应K:
在这里插入图片描述
然后得到k层潜在语义层的注意力向量:
在这里插入图片描述
在这里插入图片描述

Downstream Application Network

可以根据目标任务来选择神经网络的结构。
框架图中灰色的 bar 代表待预测的任意种类的行为,将该行为也通过 embedding、projection 等转换,然后和用户表征产出的行为向量做 vanilla attention,最后 Attention 向量和目标向量将被送入一个 Ranking Network。
在这里插入图片描述
Loss函数是sigmoid的二元交叉熵损失,评测指标是AUC。
数据集:
在这里插入图片描述
实验结果:
在这里插入图片描述

参考:
[1] AAAI 2018 | 阿里&北大提出基于注意力机制的用户行为建模框架:https://www.sohu.com/a/219081289_129720
[2] 推荐系统遇上深度学习(五十二)-基于注意力机制的用户行为建模框架:ATRank:https://www.jianshu.com/p/1fe9c66dac4a
[3] 使用Excel通俗易懂理解Transformer!:https://www.jianshu.com/p/2b0a5541a17c

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bi-vldoc是一种用于视觉丰富文档的双向视觉-语言建模方法。 bi-vldoc通过将视觉信息与语言信息结合起来,能够有效地处理视觉丰富的文档。传统的自然语言处理方法通常只处理文本信息,忽视了文档中的视觉元素。而bi-vldoc能够同时考虑文本和图像,并将它们作为输入进行建模,从而更全面地理解和分析文档内容。 bi-vldoc的关键思想是利用双向建模技术。它使用了两个模型:一个是基于视觉的模型,另一个是基于语言的模型。这两个模型相互配合,通过互相补充的方式提高了整体的建模效果。 基于视觉的模型主要用于从图像中提取视觉特征,并将其编码为向量表示。这些向量表示包含了图像的语义信息,能够用于理解图像中的内容。 基于语言的模型主要用于处理文本信息。它能够将文本编码为向量表示,并用于生成关于文本的预测。 在训练时,bi-vldoc使用了大量的带有标注的视觉丰富文档数据集。通过最大化真实标注的概率来训练模型,使其能够根据给定的文档内容生成正确的视觉和语言输出。 bi-vldoc在实际应用中具有广泛的应用前景。例如,在图像描述生成中,它可以根据图像内容生成相关的文本描述。在问答系统中,它可以回答关于图像内容的问题。此外,bi-vldoc还可以应用于文档分类、信息检索等领域,提供更准确和全面的分析和理解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值