序列特征Embedding后怎么用?

75 篇文章 1 订阅
38 篇文章 3 订阅

写在前面:前段时间做了个项目,用到了word2vec将用户浏览商品序列做了Embedding。

但是这个Embedded的序列特征向量到底该怎么用呢?后面的模型该怎么设计呢?

如何评价到底哪种用法是适合场景的?这种方法又该如何解释呢?

所以,这里就解答这个问题。


1、序列特征的处理方法之一:基于注意力机制方法

序列特征的处理方法之一:基于注意力机制方法 - 知乎前言之前两篇讲过 稠密特征和多值类别特征加入CTR预估模型的常用处理方法,这篇介绍一下针对序列特征采用的最基本的注意力机制方法。我们都知道用户在使用APP或网站的时候,用户会产生一些针对物品的行为,比如点…https://zhuanlan.zhihu.com/p/103012005softmax归一化

前言

之前两篇讲过稠密特征多值类别特征加入CTR预估模型的常用处理方法,这篇介绍一下针对序列特征采用的最基本的注意力机制方法。

我们都知道用户在使用APP或网站的时候,用户会产生一些针对物品的行为,比如点击感兴趣的物品,收藏或购买物品等,而这些行为往往代表着用户对这些物品是感兴趣的,而将这些交互过的物品放在时间轴来看,就形成了用户感兴趣的物品序列,如下图所示:

那么如何利用这些用户感兴趣的物品序列来提取到用户的兴趣特征呢?从另一个层面上讲也就是怎样在这些用户感兴趣的物品序列当中提炼出一些共有的属性,而这些属性就能反映出用户当时的兴趣。

方法

(1)分析数据对象

我们要处理的数据对象是用户感兴趣的物品序列,而在用户感兴趣的物品序列中有两方面的信息可以提取,一方面是物品本身的特征信息,另一方面是物品的序列特征信息。可以理解为比如有同样的三个物品,不同的顺序排列代表着他们的序列特征信息不同,但是物品本身的特征信息相同。

(2)模型方法

如图 1 所示,举一个最基本的采用MLP模型的方法来实现的在推荐系统中的排序模型,在这个具体任务中模型的输入是用户的最近 N-1 次行为的数据,包括物品序列和物品本身的特征,模型的输出是一个固定长度的特征向量,用来表示用户的兴趣。因此可以通过计算用户的兴趣特征与候选物品特征的相似性来得到对每个候选物品的打分,从而进行对物品的排序。同样的,在训练阶段如果知道用户下一个交互的物品,可以采用二分类问题进行损失计算从而对网络进行训练。

▲ 图1. 采用attention pooling的MLP排序模型

从图中可以看出,在对物品序列和物品特征序列处理的时候,不是直接采用sum/max/mean pooling进行融合,而是对每个物品和每个物品特征分别进行了加权融合。因为考虑到这样一种情况,比如当前用户要书,那么在用户的历史购买行为中,我们应该去多关注该用户之前都买什么样的书,而该用户在其他方面的购买记录就相对显得没有那么重要。因此基于此想法,权重的计算就是根据当前物品和历史物品序列中每个物品的相似度得到。具体做法是对当前物品的embedding和历史物品序列中每个物品embedding进行点乘,然后再对这些得到的结果进行softmax归一化,得到的结果即为对应每个物品的权重,同理物品特征的权重计算也一样。

上面的介绍中提到了两次相似度计算,一次是计算用户兴趣特征与物品特征的相似度,一次是计算当前物品和历史物品序列中每个物品的相似度,因此在这对相似性的计算方式总结一下,拿第一次为例,其中用户兴趣特征表示为 U ,物品特征表示为 [公式] : 

总结

在对序列特征处理的时候,最简单最便捷的方法是直接对序列进行sum/max/mean pooling操作,而相对复杂有效一些的就是采用注意力机制,对序列进行加权融合,除此之外,还有一些其他有效的方法,比如采用TextCNN,还有RNN以及transformer等,后面有时间一一进行介绍,感兴趣的可以关注一下公众号~

参考文献

[1] Deep learning sequential recommendation systems

序列特征的处理方法之二:基于卷积神经网络方法 - 知乎前言上一篇文章介绍了基本的 基于注意力机制方法对序列特征的处理,这篇主要介绍一下基本的基于卷积神经网络方法对序列特征的处理,也就是TextCNN方法。序列特征的介绍,背景以及应用可以参考上一篇的详细介绍,这…https://zhuanlan.zhihu.com/p/104216734

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值