Advanced Search

数据分析与知识发现, 2020, 4(2/3): 68-77 doi: 10.11925/infotech.2096-3467.2019.0728

专辑

基于多头自注意力神经网络的购物篮推荐方法*

倪维健, 郭浩宇, 刘彤,,, 曾庆田

山东科技大学计算机学院 青岛 266510

Online Product Recommendation Based on Multi-Head Self-Attention Neural Networks

Ni Weijian, Guo Haoyu, Liu Tong,,, Zeng Qingtian

College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266510, China

通讯作者: 刘彤,ORCID:0000-0003-4947-1340,E-mail:liu_tongtong@foxmail.com

收稿日期: 2019-06-20   修回日期: 2019-09-17   网络出版日期: 2020-02-25

基金资助: *本文系国家自然科学基金项目“面向用户群组的结构化推荐技术及其应用研究”.  61602278
国家自然科学基金项目“应急预案流程图谱自动建模方法及其在场景式诊断中的应用”的研究成果之一.  71704096

Received: 2019-06-20   Revised: 2019-09-17   Online: 2020-02-25

摘要

【目的】 针对用户一次购买多件物品的场景,为用户推荐下一次可能购买的多件物品。【方法】 基于多头自注意力神经网络设计一种新的购物篮推荐方法,该方法使用多头自注意力机制捕捉购物篮中不同物品的关系以及融合物品属性信息,并使用具有注意力的循环神经网络建模购物篮序列信息。【结果】 实验结果表明,本文方法优于传统推荐方法和现有基于深度学习的推荐方法,特别是在TaoBao数据集上F1值提升2%。【局限】 本文方法仅提升了推荐结果的准确性,是否能够提升多样性还需进一步验证。【结论】 多头自注意力能够更好地对购物篮进行建模,进而提升购物篮推荐效果。

关键词: 购物篮推荐 ; 深度神经网络 ; 多头自注意力 ; 物品属性

Abstract

[Objective] This paper aims to predict online customers’ future purchases based on their previous shopping behaviors.[Methods] We proposed a new product recommendation approach based on multi-head self-attention neural networks. Our method captured the relationship and attributes of items checked out by specific customers.Finally, we generated the recommended lists using recurrent neural networks with attentions.[Results] We examined the proposed approach on three real-world data sets and yielded better F1 values than existing methods (2% higher).[Limitations] The diversity of the recommended lists needs more analysis.[Conclusions] The multi-head self-attention mechanism is an effective way to model shopping behaviors and create better recommendations for the consumers.

Keywords: Next Basket Recommendation ; Deep Neural Network ; Multi-Head Self-Attention ; Item Attributes

PDF (1348KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

倪维健, 郭浩宇, 刘彤, 曾庆田. 基于多头自注意力神经网络的购物篮推荐方法*. 数据分析与知识发现[J], 2020, 4(2/3): 68-77 doi:10.11925/infotech.2096-3467.2019.0728

Ni Weijian. Online Product Recommendation Based on Multi-Head Self-Attention Neural Networks. Data Analysis and Knowledge Discovery[J], 2020, 4(2/3): 68-77 doi:10.11925/infotech.2096-3467.2019.0728

1 引 言

在信息过载的大数据时代,推荐系统已经成为用户快捷获取信息的必要手段。同时,推荐系统能够大大提升各类信息服务平台的用户粘性,进而为提升商家收益提供帮助。现有推荐系统大多为用户推荐一件可能购买的物品。然而在真实场景中,用户购物行为往往是在购物篮中放置多件物品并一起购买,比如用户可能将面包和啤酒放在一起购买。购物篮推荐任务就是针对这种场景为用户推荐下一次可能购买的多件物品。相比于传统推荐系统[1,2,3,4],购物篮推荐任务的挑战性在于不仅要考虑用户购买行为之间的序列关系,还需对同一购物篮内的物品关系进行有效建模。

作为一类重要的个性化推荐任务,购物篮推荐任务已得到广泛关注,研究者提出多种购物篮推荐方法。传统购物篮推荐方法主要包括基于统计的方法、基于频繁模式的方法和基于马尔可夫链的方法等。基于统计的方法主要基于用户历史购买数据的统计信息进行推荐,基于频繁模式的方法侧重于考虑同一个购物篮中不同物品之间的共现关系,基于马尔可夫链的方法则侧重于考虑不同购物篮之间的序列关系。近年来,深度学习技术也被应用于购物篮推荐任务,基本方法是使用池化技术构建购物篮向量,使用循环神经网络捕捉购物篮序列信息。

虽然基于深度神经网络的购物篮推荐方法取得了比传统方法更好的性能,但还存在如下问题:

(1)现有方法在构建购物篮向量时使用各种池化技术,以均值池化为例,将所有物品的向量取均值作为购物量向量,然而购物篮中不同的物品权重应该是不同的,比如一个购物篮中的小众物品往往更能反映该用户的偏好,因此现有方法并不能很好地对购物篮中的物品关系进行有效建模;

(2)现有方法大多仅考虑用户的购买信息,侧重于对其中的时序特征进行建模,而没用很好地利用物品的属性信息。

针对以上问题,本文提出一种基于多头自注意力神经网络的购物篮推荐方法。使用自注意力机制为购物篮中的物品自动计算权重,从而得到更优的购物篮向量表示;另外使用多头注意力机制将属性信息融入模型中,实现对购物篮更为全面的建模。

2 研究现状

现有购物篮推荐方法可以被大致归为4类:

(1)基于协同过滤的方法主要使用协同过滤技术提取用户偏好信息,并根据用户偏好为用户推荐物品[5,6]。由于协同过滤技术仅能直接处理传统的用户-物品评分或购买关系矩阵,所以难以对购物篮内部不同物品之间的关系进行建模,同时也未考虑购物篮之间的序列信息。

(2)基于频繁模式的方法主要从购物篮数据中挖掘物品的频繁模式[7,8],这类方法的基本思想是通过挖掘用户历史购买记录中的频繁模式实现购物篮推荐。代表性工作有:Lazcorreta等分两个阶段应用扩展的Apriori算法挖掘多角度的用户购买模式[8];Guidotti等考虑用户购买行为的共现性、序列性、周期性和再现性等4个因素,提出一种时序标注循环模式,并以之作为购物篮推荐的决策因素[9]。该方法的不足主要在于频繁模式的表达能力通常有限,而且在大规模用户历史购买数据中挖掘频繁模式需要较高的时空开销。

(3)基于马尔可夫链的方法主要侧重于应用马尔可夫链建模方法[10]捕捉购物篮的序列信息。代表性工作有:Rendle等将矩阵分解技术融入到马尔可夫链模型中,从而可以捕捉购物篮的序列信息和用户对物品的偏好信息[11];Chen等针对用户偏好中存在的遗忘特性,提出一种个性化兴趣遗忘马尔可夫链模型,实验结果表明引入遗忘特性能够显著提升推荐的准确性[12]。该方法的不足主要在于马尔可夫链虽然提供了一种较好的序列建模方法,但是当现实数据不符合马尔可夫特性时,其效果往往受到制约;此外,马尔可夫链建模方法通常假设所有物品是独立的,忽略了同一个购物篮中不同物品之间的关系。

(4)基于深度学习的方法是近年来购物篮推荐研究的一个热点方向,基本思想是应用各种深度神经网络模型解决购物篮推荐中的购物篮建模、序列建模等问题。代表性工作有:Wang等提出一种层次化表示模型,对一个购物篮中的所有物品进行聚合得到购物篮向量表示,之后对一个用户最近的N个历史购物篮进行聚合得到用户偏好的向量表示,聚合采用均值池化或最大池化两种方式[13];Yu等对层次化表示模型进行改进,购物篮聚合层使用长短期记忆网络(Long Short-Term Memory, LSTM),从而捕捉购物篮之间的序列信息[14];Bai等使用注意力机制将物品的属性信息加入到购物篮向量中,进一步提升了购物篮推荐的准确性[15]。整体而言,基于深度学习的购物篮推荐刚刚起步,使用的深度神经网络模型还较为简单,在购物篮建模和序列建模等方面还存在很大的改进空间。

3 研究框架与方法

3.1 购物篮推荐任务描述

UI分别表示所有用户的集合和所有物品的集合, uU表示某一个用户, iI表示某一个物品。用户u的历史购买记录由一系列购物篮构成,可以表示为 B1:Tu=<B1u,B2u,,BTu>,其中 BtuI(1tT)表示用户u在时刻t购买的物品集合,即一个购物篮。每个物品包含一些属性信息,比如物品类别、物品价格等,为能够对物品属性进行统一表示,令C表示所有属性取值的集合,物品i的属性表示为 ciC,进而购物篮 Btu对应的属性信息为 Ctu={ci|iBtu}。仅考虑物品类别信息作为物品的属性,但可以很容易地扩展到其他类型的属性。

基于上述符号表示,购物篮推荐任务的目标是给定用户u的历史购买记录 B1:Tu,预测其下一次购买的物品,即购物篮 BT+1u。通常,购物篮推荐被抽象为一个排序问题,即为用户u给所有物品进行打分并排序,将排在前K位的物品作为最终推荐结果。

3.2 多头自注意力机制

基于多头自注意力机制(Multi-Head Self-Attention Mechanism/Transformer)[16]设计针对购物篮推荐任务的深度神经网络模型。谷歌公司在Transformer神经网络模型中首次使用多头自注意力机制,该机制最早被应用于机器翻译任务中,当时取得了最优效果。由于多头自注意力机制能够很好地捕捉长序列信息,且具有速度快、可解释性强等特点,现已广泛应用于自然语言处理等领域[17,18]。然而,目前尚未有研究将多头自注意力机制应用于推荐系统任务中。

多头自注意力机制的模型结构如图1所示。

图1

图1   多头自注意力模型结构

Fig.1   Structure of Multi-Head Self-Attention


(1) 缩放点积注意力(Scaled Dot-Product Attention)

多头自注意力的输入包含查询向量或矩阵Q、键矩阵K、值矩阵V。在自然语言处理领域中,QKV通常是由词向量构成的矩阵,比如它们均是同一个句子中各个位置的词向量矩阵,因此此时 Q=K=V,也被称为自注意力。QKV首先进入缩放点积注意力模块进行运算,如公式(1)[16]所示。

Attention(Q,K,V)=SoftmaxQKTdkV

其中,Softmax函数本质上根据Q计算K中每个键的权重, dkK中每个键的向量维度,分母中的 dk主要对权重进行缩放,防止向量维度太高时计算出的点积结果过大。计算得到键的权重向量或矩阵后,与值矩阵相乘得到每个键的最终得分。

(2) 多头注意力(Multi-Head Attention)

为更全面地计算注意力,通常在计算缩放点积注意力时并不直接输入原始的QKV,而是先对它们进行多次不同的线性映射,之后对映射结果计算缩放点积注意力,其中每次计算结果称之为一个头(Head)。多头注意力模块计算如公式(2)和公式(3)[16]所示:

MultiHead(Q,K,V)=Concat(head1,head2,,headn)
headi=Attention(QWiQ,KWiK,VWiV)

其中, WiQWiKWiV分别是QKV的线性映射矩阵,Concat表示对所有头的注意力计算结果进行连接操作。

(3) 归一化及残差连接(Add & Norm)

得到多头注意力计算结果后,按层次进行归一化,并引入残差连接,以解决深度网络可能导致的退化问题。

(4) 全连接网络(Feed Forward)

归一化及残差连接模块输出后进入一个全连接网络,这个全连接网络包括两层全连接操作和一个ReLU激活函数,计算方法如公式(4)[16]所示。

FNN(x)=max(0,W1x+b1)W2+b2

全连接网络的输出经过归一化及残差连接处理后作为整个模型的最终输出。

图1所示的模型通常也被称之为Transformer神经网络,其可以被形式化表示如公式(5)所示。

O=Transformer(Q,K,V)

4 基于多头自注意力的购物篮推荐模型

基于多头自注意力的购物篮推荐模型总体结构如图2所示,其中主要包括5个模块:融合属性信息的多头自注意力模块(Item & Category Embedding)、购物篮编码模块(Basket Vecter)、序列建模模块(LSTM)、序列注意力模块(Attention)、全连接输出模块(Multi-layer Perceptron,MLP)。

图2

图2   基于多头自注意力的购物篮推荐模型结构

Fig.2   Structure of Basket Recommendation Model Based on Multi-Head Self-Attention


4.1 融合属性信息的多头自注意力模块

物品属性是购物篮推荐任务中的一个重要考虑因素。为了能够对物品属性有效建模,在多头自注意力机制中引入物品的属性信息,基本思想是分别将物品自身和物品属性使用QKV编码,设计基于物品自身的注意力模型和基于物品属性的注意力模型,分别如公式(6)和公式(7)所示。

Oitem=Transformer(Qitem,Kitem,Vitem)
Ocatg=Transformer(Qcatg,Kcatg,Vcatg)

4.2 购物篮编码模块

(1) 基本结构

一个购物篮是由一个或多个物品构成的。借鉴自然语言处理任务中将一个句子表示为向量的做法,即首先为所有句子设置一个标志位,用标志位与句子中所有的单词计算点积权重,利用计算出的权重对所有单词向量加权求和。在购物篮推荐任务中,为所有购物篮设置一个标志位,使用多头自注意力获得购物篮向量,如公式(8)所示。

bvec=Transformer(Flag,K,V)

其中,Flag表示购物篮的标志位向量,代替传统多头自注意力机制中的Q;KV表示一个购物篮内的所有物品或属性向量构成的矩阵。由于Flag是一个向量,公式(8)最后的输出也是一个向量,这个向量就是购物篮向量。

(2) 属性感知的购物篮向量

在上述基本结构的基础上,为融入物品属性信息,为每一个购物篮设置两个标志位,其中Flagitem为购物篮物品标志位向量,Flagcatg为购物篮属性标志位向量。基于4.2节中融合属性信息的多头自注意力模块,可以计算两类购物篮向量,如公式(9)和公式(10)所示。

bvecitem=Transformer(Flagitem,Kitem,Vitem)
bveccatg=Transformer(Flagcatg,Kcatg,Vcatg)

公式(9)是由购物篮内物品自身信息得到的购物篮向量,而公式(10)是由购物篮内物品的属性信息得到的购物篮向量,可以认为,两者从不同角度反映了购物篮的信息,具有一定的互补性。因此,通过这种方法将属性信息加入到网络中。

对于计算出的两种购物篮向量,采用拼接的方式将两者进行融合作为最终的购物篮向量表示,如公式(11)所示。

bvec=Concat(bvecitem,bveccatg)

4.3 序列建模模块

对于用户u的历史购物篮信息 Bu=<B1u,B2u,,BTu>,经过购物篮编码模块可以得到该用户的历史购物篮向量序列 <bvec1u,bvec2u,bvecTu>。为有效捕捉用户历史行为信息,使用LSTM神经网络[19]进行建模,其在每个时刻t的输入是 bvectu,结合t时刻之前的序列编码向量,输出t时刻的编码向量,如公式(12)所示。

htu=LSTM(bvectu,ht-1u)

4.4 序列注意力模块

经过LSTM可以得到用户购物篮序列中每个时刻的编码 <h1u,h2u,hTu>。为得到用户购物篮序列的整体编码,笔者设计一种序列注意力机制,以有效考虑不同时刻购物篮的重要程度。具体而言,各个时刻的编码通过线形组合的方式计算序列的整体编码,如公式(13)所示。

uvec=t=1Tαt×ht

其中, αt为时刻t的权重,如公式(14)所示。

αt=exp(score(ht,hT))t'=1Texp(score(ht',hT))

在购物篮推荐任务中,用户在最近时刻T的购买信息往往对于推荐结果具有最大的影响,因此每个时刻的权重依据该时刻编码向量与最近时刻编码向量的关系进行计算,如公式(15)所示。

score(ht,hT)=htWatthT

4.5 全连接输出模块

序列注意力模块的输出可以被认为是一个用户历史购物记录的编码向量,将其输入至一个全连接网络中,该网络的输出大小等于所有物品的数量 |I|,计算方法如公式(16)所示。

p=softmax(Wout,uvec)

其中, pR|I|,每个维度分别表示各个物品被后续购买的概率。

为尽可能提高网络学习效果,使用带权交叉熵作为损失函数,如公式(17)所示。

L=uUt=1T-1iI-myt+1u(i)log(ptu(i))-n(1-yt+1u(i))log(1-ptu(i))

其中, ptu(i)表示公式(16)计算得到的物品it时刻的得分,即物品it+1时刻被用户u购买的概率; yt+1u(i)表示用户ut+1时刻是否购买了物品i,如果购买,则 yt+1u(i)=1,否则 yt+1u(i)=0mn分别是正类和负类的权重。由于用户购买的物品数量仅占所有物品中的一小部分,即负类样本数量远远大于正类样本数量,因此要为正类和负类设置不同的权重大小,以解决样本的类别不均衡问题。

5 实验结果及分析

5.1 数据集

本文使用如下三个真实数据集开展实验研究:

(1)Ta-Feng数据集(①http://www.bigdatalab.ac.cn/benchmark/bm/dd?data=Ta-Feng.):记录了2000年11月-2001年2月期间用户在Ta-Feng超市的购物篮记录,由ACM推荐系统国际会议公开。

(2)JingDong数据集(②https://jdata.jd.com/html/detail.html?id=1.),记录了2016年02月-2016年4月期间用户在京东商城的购物信息,由京东高潜用户购买意向预测比赛公开。

(3)TaoBao数据集(③https://tianchi.aliyun.com/competition/entrance/1/introduction?spm=5176.12281957.1004.4.38b04c2aMgKVsd.),记录了2014年11月-2014年12月期间用户在淘宝商城的购物信息,由天池天猫重复购买预测比赛公开。

对上述数据集进行预处理,移除购物篮个数少于10的用户或被购买次数少于4的物品。在进行实验时,选择前n个购物篮作为训练数据,最后一个购物篮作为测试数据。

经过数据预处理后三个数据集的基本信息如表1所示,包括每个数据集的用户数量、物品数量、物品属性数量和购物篮数量。

表1   数据集基本信息(单位:个)

Table 1  Basic Statistics of Datasets

数据集用户数量物品数量购物篮数量物品属性数量
Ta-Feng2 34814 71639 1012 013
JingDong16 89117 718250 99610
TaoBao1 23511 62316 9371 619

新窗口打开| 下载CSV


5.2 评价指标

本文设计的购物篮推荐模型可以为每个物品计算一个得分,对所有物品得分进行排序,选择前5个物品作为推荐结果,记作 R(u),用户真正购买的物品购物篮记作 T(u)。为评估模型效果,评价指标计算如公式(18)-公式(22)所示。

(1) 精确率(Precision)

Precision=T(u)R(u)R(u)

(2) 召回率(Recall)

Recall=T(u)R(u)T(u)

(3) F1值(F1-score)

F1=2×Precision×RecallPrecision+Recall

(4) 命中率(Hit-Rate)

Hit-Rate=uUIT(u)R(u)ϕ|U|

(5) NDCG值(Normalized Discounted Cumulative Gain)

NDCG@k=1Nkj=1k2I(Rj(u)T(u))-1log(j+1)

其中, I()为示性函数,当条件测试为真时取值为1,否则为0。

5.3 对比实验

为验证本文方法的优越性,采用如下经典的购物篮推荐方法作为基线方法:

(1)TOP:基于物品流行度(被购买的次数)的推荐方法。

(2)Item-CF[5]:基于物品的协同过滤推荐方法。

(3)NFM[20]:基于非负矩阵分解的推荐方法,其被证实为传统方法中效果最好的方法之一。

(4)DREAM[14]:基于循环神经网络的推荐方法。

(5)NAM[15]:基于注意力机制和循环神经网络的推荐方法。

(6)ANAM[15]:在NAM方法基础上进一步引入物品属性信息,其被证实为当前效果最好的购物篮推荐方法。

各个基线方法的具体实现方案为:三个传统方法TOP、Item-CF、NFM均基于Scikit-Learn 0.21机器学习库(①https://scikit-learn.org/.)实现;三个基于深度学习的方法DREAM、NAM、ANAM均基于PyTorch 0.4.0深度学习库(②https://pytorch.org/.)实现,相关参数使用原始论文中给出的默认值。

本文方法也基于PyTorch 0.4.0深度学习库实现,物品向量和属性向量维度均设置为50,多头自注意力机制中的头数设置为2,优化器使用Adam,学习率设置为0.001,正样本权重设置为50,负样本权重设置为1。基线方法和本文方法在三个数据集上的效果如表2-表4所示。

表2   Ta-Feng数据集结果

Table 2  Results on Ta-Feng Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
TOP0.04970.06980.05800.21720.0833
Item-CF0.02720.04000.03240.12440.0431
NFM0.05180.07280.06050.24320.0831
DREAM0.05330.07810.06330.23220.0851
NAM0.05990.09410.07320.26270.0925
ANAM0.06000.09420.07330.26320.0925
本文方法0.06240.09680.07590.27320.0940

新窗口打开| 下载CSV


表3   JingDong数据集结果

Table 3  Results on JingDong Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
TOP0.01400.03920.02060.06790.0270
Item-CF0.01230.03410.01810.05840.0251
NFM0.03370.08220.04780.14090.0633
DREAM0.02130.05920.03140.09880.0413
NAM0.02570.06780.03720.11500.0485
ANAM0.05680.15300.08280.22940.1226
本文方法0.06780.18590.09940.26200.1485

新窗口打开| 下载CSV


表4   TaoBao数据集结果

Table 4  Results on TaoBao Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
TOP0.00110.00240.00150.00480.0025
Item-CF0.00120.00340.00180.00560.0022
NFM0.00740.01850.01060.03070.0136
DREAM0.00200.00440.00280.00880.0038
NAM0.00190.00420.00260.00800.0037
ANAM0.00190.00460.00270.00880.0038
本文方法0.01580.04770.02370.07040.0410

新窗口打开| 下载CSV


(1)在TOP、Item-CF、NFM三个传统方法中,TOP和Item-CF的效果较差,其主要原因是它们仅考虑用户历史购物记录的基本统计信息,而NFM取得了接近深度学习方法的效果,这说明传统的矩阵分解方法在购物篮推荐任务中依然具有一定应用价值。

(2)DREAM、NAM、ANAM三个基于深度学习的方法在大多数情况下均取得了比传统方法更优的效果,这说明深度学习已成为购物篮推荐任务中的主流方法。整体而言,这三个方法的效果呈现不断上升趋势,这是由于DREAM仅使用LSTM捕捉购物篮的序列信息,NAM进一步引入注意力机制,ANAM则进一步将属性信息融入网络模型中,随着网络结果的不断复杂,学习效果不断提升。

(3)本文方法在三个数据集中都获得最优效果,验证了本文模型能够更好地对购物篮信息进行建模。特别地,本文方法在TaoBao数据集上提升的效果最为明显。根据表1可以发现,TaoBao数据集是三个数据集中规模最小的,这一定程度上说明本文方法更适用于小数据集。

5.4 网络模块效果分析

为评估网络中某一部分结构对于最终推荐结果的影响,在实验中移除图2所示网络模型中的某些模块,评估剩余部分的推荐效果。具体而言,设计了如下由部分网络结构构成的推荐模型:

(1)-category-attention:对购物篮建模时不使用属性信息,且移除序列建模中的注意力模块;

(2)-category-transformer:对购物篮建模时不使用属性信息,使用平均池化技术代替购物篮建模中的多头自注意力模块;

(3)-multihead:仅使用单头自注意力模块对购物篮进行建模;

(4)-attention:仅移除序列建模中的注意力模块;

(5)-transformer:使用平均池化技术代替购物篮建模中的多头自注意力模块。

各部分网络模型在三个数据集上的效果如表5-表7所示。

表5   Ta-Feng数据集网络部分性能结果

Table 5  Ablated Results on Ta-Feng Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
-category-attention0.05890.09350.07230.26290.0930
-category-transformer0.05330.07460.06210.23170.0686
-multihead0.06170.09610.07520.26870.0934
-attention0.06010.09430.07340.26340.0787
-transformer0.05560.08990.06870.25120.0836
完整网络0.06240.09680.07590.27320.0940

新窗口打开| 下载CSV


表6   JingDong数据集网络部分性能结果

Table 6  Ablated Results on JingDong Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
-category-attention0.04280.11570.06250.18350.0919
-category-transformer0.05590.15060.08160.22250.1232
-multihead0.06650.17810.09690.25770.1480
-attention0.04280.12230.06340.18200.0930
-transformer0.05680.15390.08290.23040.1256
完整网络0.06780.18590.09940.26200.1485

新窗口打开| 下载CSV


表7   TaoBao数据集网络部分性能结果

Table 7  Ablated Results on TaoBao Dataset

ModelPrecisionRecallF1Hit-RateNDCG@5
-category-attention0.00800.02210.01180.03630.0178
-category-transformer0.00460.01420.00700.02090.0101
-multihead0.01710.05430.02600.07380.0450
-attention0.00470.01430.00710.02720.0138
-transformer0.00550.01450.00800.02520.0176
完整网络0.01580.04770.02370.07040.0410

新窗口打开| 下载CSV


(1)对比-category-attention与-attention、-category-transformer与-transformer,去除物品类别信息后在大多数情况下推荐效果均有所下降,这说明物品属性对于提升购物篮推荐效果十分重要;

(2)对比-category-attention与-category-transformer、-attention与-transformer,去除序列注意力与去除多头自注意力均会导致推荐效果下降,其中在Ta-Feng和TaoBao数据集上去除多头自注意力导致的效果下降更显著,在JingDong数据集上去除序列注意力导致的效果下降更显著,这说明不同模块在不同数据集上的重要性也存在区别;

(3)完整网络模型在Ta-Feng和JingDong数据集上取得了最优效能,但在TaoBao数据集上略低于去除多头机制的模型,其主要原因是TaoBao数据集规模较小,而多头机制会导致更多的参数,在小数据集上可能存在参数学习不充分的现象。

5.5 购物篮建模可视化分析

本文使用多头自注意力机制对购物篮进行建模,相比于现有工作中采用的平均池化等方式,其优势在于能够自动学习购物篮中每个物品的权重。在本实验中对物品权重进行可视化展示,以更为直观地理解多头自注意力机制的作用。具体而言,以Ta-Feng数据集为例,对公式(9)和公式(10)得到的基于物品自身的物品权重和基于物品属性的物品权重使用热度图进行可视化展示,分别如图3图4所示。图中的横轴为各个购物篮,纵轴为各个物品,颜色深浅表示权重大小。对比图3图4可以发现,同一购物篮内不同物品的权重通常是不同的,且不同方式得到的物品权重具有很大差异,这印证了购物篮内的物品不应被同等对待。此外,本文使用的多头自注意力机制能够有效对购物篮的物品信息和属性信息进行建模。

图3

图3   基于物品的自注意力权重可视化

Fig. 3   Visualization of Weights of Item-based Self-Attention


图4

图4   基于属性的自注意力权重可视化

Fig. 4   Visualization of Weights of Attribute-based Self-Attention


6 结 语

本文基于多头自注意力神经网络提出一种新的购物篮推荐模型。该方法在构建购物篮向量时使用多头自注意力机制为不同的物品计算不同的权值,且解决了物品属性信息融合的问题,此外使用具有注意力的LSTM网络捕捉用户购物篮的序列信息。在三个真实数据集上开展实验研究,结果表明本文方法的推荐效果优于传统推荐方法和现有的基于深度学习的推荐方法,网络模块效果分析和购物篮建模可视化分析也证实了本文模型中各模块的有效性。

在个性化推荐领域,购物篮推荐是一个较新的研究话题,推荐效果仍有很大的提升空间。本文提出的基于多头自注意力的购物篮推荐方法虽然在准确性上得到较大提升,但是依然存在可解释性差等不足,如何提升基于深度学习的购物篮推荐方法的可解释性是未来的一个重要研究方向。

作者贡献声明

倪维健:提出研究思路,设计研究方案;

郭浩宇:采集、清洗和分析数据,进行实验;

刘彤:论文起草及修改;

曾庆田,倪维健:论文最终版本修订。

利益冲突声明

所有作者声明不存在利益冲突关系。

支撑数据

支撑数据由作者自存储,E-mail: liu_tongtong@foxmail.com。

[1] 刘彤. Ta-Feng.txt. Ta-Feng购物篮数据集.

[2] 刘彤. JingDong.txt. JingDong购物篮数据集.

[3] 刘彤. TaoBao.txt. TaoBao购物篮数据集.

参考文献

Hidasi B, Karatzoglou A, Baltrunas L , et al.

Session-based Recommendations with Recurrent Neural Networks

[OL]. arXiv Preprint, arXiv: 1511.06939.

[本文引用: 1]

Hidasi B, Quadrana M, Karatzoglou A .

Parallel Recurrent Neural Network Architectures for Feature-rich Session-based Recommendations

[C]// Proceedings of the 10th ACM Conference on Recommender Systems, Boston, USA. ACM, 2016: 241-248.

[本文引用: 1]

Quadrana M, Karatzoglou A, Hidasi B , et al.

Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks

[C]// Proceedings of the 11th ACM Conference on Recommender Systems, Como, Italy. ACM, 2017: 130-137.

[本文引用: 1]

Jannach D, Ludewig M .

When Recurrent Neural Networks Meet the Neighborhood for Session-based Recommendation

[C]// Proceedings of the 11th ACM Conference on Recommender Systems, Como, Italy. ACM, 2017: 306-310.

[本文引用: 1]

De Montjoye Y A, Shmueli E, Wang S S .

openPDS: Protecting the Privacy of Metadata Through Safe Answers

[J]. PLoS One, 2014,9(7):e98790.

[本文引用: 2]

Vescovi M, Perentis C, Leonardi C , et al.

My Data Store: Toward User Awareness and Control on Personal Data

[C]// Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct Publication, Seattle, USA. ACM, 2014: 179-182.

[本文引用: 1]

Hsu C N, Chung H H, Huang H S .

Mining Skewed and Sparse Transaction Data for Personalized Shopping Recommendation

[J]. Machine Learning, 2004,57(1-2):35-59.

[本文引用: 1]

Lazcorreta E, Botella F, Fernández-Caballero A .

Towards Personalized Recommendation by Two-step Modified Apriori Data Mining Algorithm

[J]. Expert Systems with Applications, 2008,35(3):1422-1429.

[本文引用: 2]

Guidotti R, Rossetti G, Pappalardo L , et al.

Next Basket Prediction Using Recurring Sequential Patterns

[OL]. arXiv Preprint, arXiv: 1702.07158.

[本文引用: 1]

Chand C, Thakkar A, Ganatra A .

Sequential Pattern Mining: Survey and Current Research Challenges

[J]. International Journal of Soft Computing and Engineering, 2012,1(2):185-193.

[本文引用: 1]

Rendle S, Freudenthaler C, Schmidt-Thieme L .

Factorizing Personalized Markov Chains for Next-Basket Recommendation

[C]// Proceedings of the 19th International Conference on World Wide Web. New York: ACM, 2010: 811-820.

[本文引用: 1]

Chen J, Wang C, Wang J .

A Personalized Interest-forgetting Markov Model for Recommendations

[C]// Proceedings of the 29th AAAI Conference on Artificial Intelligence. 2015.

[本文引用: 1]

Wang P, Guo J, Lan Y , et al.

Learning Hierarchical Representation Model for Next Basket Recommendation

[C]// Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval, Santiago, Chile. ACM, 2015: 403-412.

[本文引用: 1]

Yu F, Liu Q, Wu S , et al.

A Dynamic Recurrent Model for Next Basket Recommendation

[C]// Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval, Pisa, Italy. ACM, 2016: 729-732.

[本文引用: 2]

Bai T, Nie J Y, Zhao W X , et al.

An Attribute-aware Neural Attentive Model for Next Basket Recommendation

[C]// Proceedings of the 41st International ACM SIGIR Conference on Research & Development in Information Retrieval, Ann Arbor, MI, USA. ACM, 2018: 1201-1204.

[本文引用: 3]

Vaswani A, Shazeer N, Parmar N , et al.

Attention is All You Need

[C]// Proceedings of the 31st International Conference on Neural Information Processing Systems. 2017: 5998-6008.

[本文引用: 4]

Yu A W, Dohan D, Luong M T , et al.

QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension

[OL]. arXiv Preprint, arXiv: 1804.09541.

[本文引用: 1]

Shen T, Zhou T, Long G , et al.

DiSAN: Directional Self-Attention Network for RNN/CNN-Free Language Understanding

[C]// Proceedings of the 32nd AAAI Conference on Artificial Intelligence. 2018.

[本文引用: 1]

Hochreiter S, Schmidhuber J .

Long Short-term Memory

[J]. Neural Computation, 1997,9(8):1735-1780.

[本文引用: 1]

Lee D D, Seung H S .

Algorithms for Non-negative Matrix Factorization

[C]// Proceedings of the 13th International Conference on Neural Information Processing Systems. 2001: 556-562.

[本文引用: 1]

/

版权所有 © 2015 《数据分析与知识发现》编辑部
地址:北京市海淀区中关村北四环西路33号 邮编:100190
电话/传真:(010)82626611-6626,82624938
E-mail:jishu@mail.las.ac.cn