社区所有版块导航
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学习  »  机器学习算法

推荐系统遇上深度学习(一三五)-序列推荐中的特征粒度深度自注意力网络

小小挖掘机 • 3 年前 • 231 次点击  

从这篇开始,咱们陆续来介绍几篇推荐系统中特征建模的文章。今天要介绍的是19年的一篇文章,算是比较早的一篇在特征上进行建模的论文,对现在的一些建模方式具有一定的借鉴意义,一起来看一下。

1、背景

序列推荐的目标是基于用户的历史行为序列pattern,来推荐用户下一个最可能交互的item。这种pattern不仅存在在item粒度,也可能存在特征粒度。从item粒度举例,如购买过苹果手机的用户,很有可能下一个会购买苹果手机壳;从特征粒度来讲,以品类为例,购买了衣服的用户,后有可能下一个会购买鞋子。因此,从item和feature粒度对用户的行为偏好pattern进行建模,对于提升推荐效果是具有显著的意义的。但当前(指该论文发表以前,现在对于特征建模的论文就比较多了)的论文大都关注item粒度的pattern建模,而忽略了feature粒度的pattern建模。因此,论文提出了Feature-level Deeper Self-Attention Network (以下简称FDSA),使用self-attention对用户feature粒度的偏好pattern进行建模。

2、FDSA介绍

FDSA模型的整体结构如下图所示:

主要分为上下两部分,上面的部分是Item粒度的self-attention,建模item粒度的的偏好。下面是feature粒度的self-attention,建模用户feature粒度的偏好。最后两部分的输出进行拼接,通过MLP层,输出每一个target item的偏好概率。接下来,主要对feature粒度的建模过程进行介绍。

2.1 Input

这部分的输入包括n个历史行为的feature,如果用户历史行为长度不足n,则用0补齐,如果超过n,则按时间进行截断。特征主要分为两类,一类是item的基础属性特征如品类category、品牌brand,这类特征通过embedding layer转换为对应的embedding表示;另一类是文本特征。对于文本特征,首先使用word2vec进行词向量的学习,再抽取标题和描述中的五个关键词,使用mean pooling方式得到item的文本特征表示。

2.2 Vanilla attention layer

这一层的主要作用是筛选用户关注的特征,即哪些特征对于用户的决策起到了更重要的作用,假设item i的的输入表示为:

接下来,首先计算每个特征的attention score,然后对特征进行加权,得到该item的特征层面的最终表示:

2.3 Feature-based self-attention block

最后,针对每个item的表示,经过多个self-attention block得到feature建模部分的最终输出。self-attention的具体计算过程就不做赘述,这里主要提一点,为了在计算过程中融入行为发生的顺序信息,输入self-attention模块时,融入了position encoding:

3、实验结果

最后看下实验结果

4、总结

论文在细粒度feature建模方面,所提出的方法具有一定的借鉴意义。可以看到,论文采用的是一种两阶段的建模思路,即先建模单个item内用户对于不同feature的偏好程度,再建模item之间的相互影响。其实还有其他的思路,如先关注不同item的相同属性的相互影响,如item的价格,评分,再建模用户对于不同feature的偏好(美团的crossDQN),再比如使用一阶段的建模方式,同时建模item和feature的偏好(如ebay的trans2D)。不同的思路结合建模场景可灵活选择。

好了,本文就介绍到这里,感兴趣的同学可以阅读原文,最后祝大家端午安康~


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