南京大学学报(自然科学), 2024, 60(1): 12-17 doi: 10.13232/j.cnki.jnju.2024.01.002

基于用户长短期历史的多兴趣召回算法

张旭, 欧中洪,, 宋美娜

北京邮电大学计算机学院,北京,100876

Multi⁃interest recall algorithm based on users' long and short⁃term history

Zhang Xu, Ou Zhonghong,, Song Meina

College of Computer Science,Beijing University of Posts and Telecommunications,Beijing,100876,China

通讯作者: E⁃mail:zhonghong.ou@bupt.edu.cn

收稿日期: 2023-10-27  

基金资助: 国家自然科学基金.  62076035

Received: 2023-10-27  

摘要

随着互联网时代的高速发展,用户面临信息过载问题,推荐系统应运而生.推荐系统一般分两个阶段,即推荐召回和推荐排序,推荐召回阶段主要用来筛选出一部分候选集以减小推荐排序阶段的计算压力.多兴趣个性化推荐系统对于每一个用户,算法能学习到用户的多种不同的兴趣偏好,然而目前的多兴趣召回算法只考虑了用户短期历史纪录,忽视了用户长期历史纪录中蕴含的丰富信息.针对这一问题,提出一种基于用户长短期历史的多兴趣召回算法,通过不同的神经网络模型结构分别建模用户长短期兴趣偏好,并通过门控融合网络融合用户长短期兴趣偏好,最终得到用户的多个兴趣偏好,实现了个性化推荐召回.在两个公开数据集上的实验证明了模型的有效性.

关键词: 推荐系统 ; 序列推荐 ; 多兴趣 ; 长短期历史 ; 图神经网络

Abstract

With the rapid development of the internet era,users are facing the problem of information overload,and recommendation systems have emerged. Recommendation systems are generally divided into two stages: the recommendation recall stage and the recommendation ranking stage,with the main purpose of the recommendation recall stage being to select a part of the candidate set to reduce the computing load in the recommendation ranking stage. A multi⁃interest personalized recommendation system learns various users' interest preferences for each user. However,current multi⁃interest recall algorithms only consider users' short⁃term history and ignore the rich information contained in users' long⁃term history. To address this issue,this paper proposes a multi⁃interest recall algorithm based on users' long and short⁃term history. The algorithm models users' long and short⁃term interest preferences through different neural network model structures and uses a gate fusion network to fuse users' long and short⁃term interest preferences to ultimately obtain users' multiple interest preferences,achieving personalized recommendation recall. The effectiveness of the model is demonstrated through experiments on two public datasets.

Keywords: recommendation system ; sequential recommendation ; multi⁃interest ; long and short⁃term history ; graph neural network

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

本文引用格式

张旭, 欧中洪, 宋美娜. 基于用户长短期历史的多兴趣召回算法. 南京大学学报(自然科学)[J], 2024, 60(1): 12-17 doi:10.13232/j.cnki.jnju.2024.01.002

Zhang Xu, Ou Zhonghong, Song Meina. Multi⁃interest recall algorithm based on users' long and short⁃term history. Journal of nanjing University[J], 2024, 60(1): 12-17 doi:10.13232/j.cnki.jnju.2024.01.002

目前推荐系统多兴趣召回领域的研究主要聚焦于针对用户短期历史行为记录的建模,忽视了用户长期历史行为记录中隐含的用户长期兴趣偏好以及建立用户短期和长期兴趣偏好间的关联关系等问题.同时,在推荐系统用户长行为序列建模领域中,主流研究往往采用单个全局用户嵌入向量来表示用户的兴趣偏好,但这样会使用户多个兴趣的不同信息混合在一起,导致召回阶段的物品检测不准确.本文定义并构造了一种基于用户长短期历史的多兴趣召回算法模型,通过在两个开源数据集上进行的实验和对比分析,验证了提出的算法模型的有效性.

本文的主要贡献如下.

(1)提出一种基于用户长短期历史的多兴趣召回算法LSMNet (Long and Short Multi⁃Interest Network),成功建模用户长历史纪录下的多个不同兴趣偏好.

(2)通过使用图神经网络对用户短期历史表征进行增强,并利用结构化自注意力机制提取用户多个短期兴趣偏好.对于用户长期兴趣偏好,使用Transformer结构进行建模.最后,利用门控融合网络对长短期偏好进行融合,得到用户的最终兴趣偏好.

(3)在不同的公开数据集上进行了实验,结果证明LSMNet模型可以有效地捕捉用户长期历史中的兴趣偏好.

1 相关工作

在推荐系统的早期研究阶段,召回算法主要分两大类,即基于内容的推荐算法和基于协同过滤的推荐算法.基于协同过滤的算法主要分两类,即基于模型的协同过滤算法1-3和基于记忆的协同过滤算法4-6.

召回算法按照使用几个向量代表用户兴趣偏好分为单兴趣召回算法和多兴趣召回算法.多兴趣召回算法(如Octopus7模型)与经典单兴趣召回算法(如Youtube DNN8和FAT模型9)相比,使用了更复杂的模型结构,并用多个高维稠密向量来代表用户潜在的兴趣偏好.和单兴趣召回算法相比,多兴趣召回算法避免将用户的多个兴趣混合在一起,提高了召回阶段候选集的准确性,实现了千人万面效果.然而,目前的主流研究都忽视了用户长期历史行为记录中蕴含的潜在信息,没有将用户的长期历史和短期历史综合考虑.

另一方面,召回算法按照模型输入的用户历史行为记录长度分为短期历史召回算法和长短期历史召回算法.如Youtube DNN,MIND和FAT等模型均为短期历史召回算法模型,只基于用户最近的历史行为记录建模.长短期历史召回算法对用户长期历史和短期历史使用不同的模型进行建模,并将得到的用户长期兴趣偏好和短期兴趣偏好进行融合.如SHAN模型10使用两层注意力网络建模用户长期偏好并与用户短期历史进行融合.ADNNet模型11使用卷积神经网络建模用户短期偏好,利用门控循环单元建模用户长期偏好,通过自注意力机制将两者进行融合.

2 基于用户长短期历史的多兴趣召回算法

本节介绍基于用户长短期历史的多兴趣召回算法的模型结构,模型结构如图1所示.

图1

图1   LSMNet的整体架构图

Fig.1   The overall architecture of LSMNet


2.1 嵌入层

在召回任务中,输入数据由物品的ID组成,但神经网络无法直接处理ID类特征,一种常用的做法是借助嵌入变换用一个低维度稠密向量表示物品.具体计算如下:

ei=Witemxi

其中,xi表示用户在第i个位置上点击的物品对应的ID,Witem代表物品嵌入矩阵,ei表示用户在第i个位置上点击的物品对应的嵌入向量.

因为Transformer结构和图神经网络中不能区分物品的先后顺序,所以为每个位置加上对应的嵌入向量.最终用户的物品嵌入向量如下:

E=e1+p1,e2+p2,,en+pn

其中,E表示用户历史嵌入向量,pi表示第i个位置对应的嵌入向量.

2.2 长期兴趣偏好提取模块

对于物品嵌入E,将其输入2.1中的Transformer编码器来提取用户的长期兴趣偏好.具体的计算过程如下:

headi=AttentionQWiQ,KWiK,VWiV
Z=Concathead1,,headhWO
AttentionQ,K,V=SoftmaxQKTdkV

其中,WiQ,WiK,WiV为多头注意力映射权重矩阵,WO表示输出映射权重矩阵,QKV为自注意力层的输入.之后,将中间表示Z输入前馈网络层,具体计算如下:

X=LayerNormZ+V
XFNN=max0,XW1+b1W2+b2
Y=LayerNormXFNN+X

其中,LayerNorm表示层级归一化,W1W2表示前馈网络层的权重参数,b1b2表示前馈网络层的偏置项,max表示取最大值,V为自注意力层的输入,Y为物品嵌入E经过一层Transformer编码器编码后的向量.通过堆叠上述Transformer编码器,并将每一层编码器的输出输入至下一层,最终得到用户长期兴趣偏好Ilong.

2.3 短期兴趣偏好提取模块

短期兴趣偏好提取模块由两个子模块组成,即图交互子模块和结构化自注意力子模块.图交互子模块负责将用户短期历史序列在图视角下进行交互计算,结构化自注意力子模块将经由图交互子模块的物品嵌入转换为多个用户短期兴趣偏好.

2.3.1 图交互子模块

图交互子模块以用户历史交互物品嵌入E为输入,重新记为E0,上标表示在图交互子模块中的迭代次数,0表示原始输入.使用对应的小写字母代表某个物品,用小标表示该物品所处的位置,如er2表示两轮图算法迭代后第r个位置的物品的嵌入.

首先构建一张线性图,以物品作为图节点,为相邻的历史物品间添加一条有向边,有向边的方向从较远交互物品指向较近交互物品.在图上新构建一个节点C,为该节点与用户所有输入历史物品间添加一条无向边,并初始化节点C的嵌入c0为所有历史物品嵌入的平均值.具体计算如下:

c0=averageE0

为了使物品信息能在图结构上进行传播,将节点更新过程分为两步并不断重复L次,L为超参数.第一步更新所有物品节点的嵌入,第二步更新新增节点c的嵌入.

(1)第一步,以第l次迭代为例,第r个物品节点具体的更新计算如下:

grl=concater-1l-1;cl-1;erl-1;er0
erl=MultiHeadQ=erl-1,K=grl,V=grl

其中,MultiHead表示多头自注意力层,详细计算参考式(5);er0表示第r个物品的初始嵌入,erl-1表示第r个物品上一轮中的嵌入,er-1l-1表示前一个物品上一轮中的嵌入;cl-1表示节点C上一轮中的嵌入;grl为第l次迭代第r个物品临时向量;输出erl表示第r个物品第l次迭代后的嵌入.对每个物品节点按上述公式同时进行更新,得到第l次迭代后所有物品嵌入El.

(2)第二步,以第l次迭代为例,节点C的更新过程如下:

ql=concatcl-1;El
cl=MultiAttQ=cl-1,K=ql,V=ql

其中,El表示第一步计算得到的第l轮迭代后的所有物品嵌入,cl-1表示节点C在第l-1轮迭代后的嵌入,ql为第l轮迭代中临时向量,cl表示节点C在第l轮迭代后的嵌入.

经过两步L轮迭代后,得到最终物品嵌入EL,并将其输入结构化自注意力子模块中.

2.3.2 结构化自注意力子模块

对于图交互子模块的输出物品嵌入EL,重新用H标记,使用结构化自注意力机制从中提取用户多个短期兴趣偏好.具体计算如下:

A=SoftmaxWs2tanhWs1HT
Ishort=AH

其中,Softmax表示归一化指数函数,Ws1RK×4dWs2R4d×4表示权重矩阵,K表示用户兴趣偏好数量,d表示隐藏层维度,tanh表示双曲正切函数,HT表示物品嵌入H的转置,IshortRK×d表示用户多个短期兴趣偏好,A为计算过程中的临时变量.

2.4 兴趣融合模块

通过长期兴趣偏好提取模块和短期兴趣偏好提取模块分别得到用户的长期兴趣偏好Ilong和短期兴趣偏好Ishort,使用兴趣融合模块对长短期兴趣偏好进行融合.兴趣融合模块由门控融合网络组成,对于每一个短期兴趣偏好,使用门控融合网络计算其与长期兴趣偏好的权重值并加权求和.例如,对第j个短期兴趣偏好,具体的计算流程如下:

Gj=sigmoidW1Ijshort+W2Ilong+b
Vj=1-GjIjshort+GjIlong

其中,W1W2为可学习的权重映射矩阵,b为偏置项,Gj为第j个兴趣偏好计算过程中长期兴趣偏好的权重,Vj表示用户的第j个融合兴趣偏好.将用户的所有兴趣偏好进行拼接,得到用户最终的兴趣偏好V

V=V1,V2,,VK

3 模型训练推理

在得到用户最终兴趣偏好V后,对于某一个交互物品i,可以找到与物品嵌入ei最相似的用户兴趣向量,如下所示:

v=V:,argmaxVTei

其中,argmax表示取最大值所对应的小标,v表示与物品嵌入ei最相似的用户兴趣偏好,VT表示V的转置.

给定训练样本u,i,通过上述步骤得到eiv,可以计算用户u点击物品i的可能性:

Pθiu=exp vUTeikexpvUTek

其中,表示物品集.

模型训练时的损失函数为最小化负对数似然,具体计算如下:

loss=u𝒰iu-lgPθiu

其中,𝒰表示所有用户,u表示用户u的交互物品集.

模型推理时,根据目标用户的多个兴趣偏好,每个兴趣偏好召回一定数量的候选物品集,将这些候选物品集合按点积相似度从大到小排序,取前Top⁃K个物品作为目标用户召回物品候选集.

4 实验与结果

4.1 数据集介绍

MovieLens数据集由用户对电影的评分信息和时间戳组成,同时包含了电影和用户的部分元数据特征.用户特征含有用户的性别、年龄和所在地,物品特征含有电影标题和电影类型.

MovieLens提供了多种大小的数据集,本文选择MovieLens⁃1M数据集来衡量召回阶段的相关性能.MovieLens⁃1M数据集共包含2000年4月25日至2002年2月28日6040名用户对3952部电影的1000209条评分,评分范围为1~5的整数.

Taobao数据集12是阿里巴巴提供的一个淘宝用户行为数据集,可用于隐式反馈推荐问题的研究.Taobao数据集包含2017年11月25日至2017年12月3日987994名有行为的用户在4162024件物品上的100150807条行为.行为包括点击、喜欢、购买、加购,额外特征只包含商品类目特征.

对于两个数据集,首先去除出现次数小于五次的冷门物品,再去除历史行为少于五次的不活跃用户.对于每个用户的历史行为记录,参考SDM (Sequential Deep Matching)13的方法进行处理,并将所有用户的倒数第二件物品作为验证集,将所有用户的倒数第一件物品作为测试集.

4.2 评估指标介绍

命中率(Hit Rate,HR14对所有的用户整体考虑推荐预测结果的准确性,表示有多少比例的用户的预测物品结果中至少包含一件与用户有交互的物品.

归一化折损累积增益(Normalized Discounted Cumulative Gain,NDCG14主要用来衡量和评价搜索算法,也适用于推荐系统评估.在推荐系统领域中,根据测试集和推荐的预测结果顺序,依次计算累计增益(Cumulative Gain,CG)、折损累计增益(Discounted Cumulative Gain,DCG)、理想折损累计增益(Ideal Discounted Cumulative Gain,IDCG).归一化折损累积增益定义为折损累计增益经过理想折损累计增益归一化后的结果.

4.3 实验对比模型

选取六种主流的推荐召回算法作为基线算法,与提出的算法进行对比研究.

(1) MIND15:是深度学习多兴趣召回经典算法之一,使用共享权重的胶囊神经网络建模用户多个兴趣偏好.

(2) Comirec⁃SA14:使用自注意力层从用户历史行为中提取用户多个兴趣偏好.

(3) Comirec⁃DR14:同样使用胶囊神经网络建模用户多个兴趣偏好.和MIND相比,Comirec⁃DR使用独享权重的胶囊神经网络,即不同的低层胶囊和不同的高层胶囊使用不同的参数.

(4) Transformers4Rec16:利用Transformer结构建模用户兴趣偏好,用户最近行为对应的向量代表用户兴趣偏好.

(5) SHAN10:首先通过一层注意力网络建模用户的长期兴趣偏好,再利用一层注意力网络联合用户的长期兴趣偏好和短期兴趣偏好来计算最终的用户兴趣偏好.

(6) SDM13:通过带残差的LSTM (Long⁃Short Term Memory)加自注意力机制的复杂模型对用户短期兴趣进行建模,利用注意力机制对用户长期兴趣进行建模,最终通过门控神经网络融合用户长期兴趣和用户短期兴趣.

所有模型使用Tensorflow17实现,并使用Adam18优化器对模型进行优化学习.

4.4 实验结果

对比实验的结果如表1所示,表中黑体字表示性能最优.

表1   不同召回模型的性能对比

Table 1  Performance of different recall models

模型MovieLensTaobao
HR@50NDCG@100HR@100NDCG@100
LSMNet46.3318.2823.719.20
MIND34.4212.9020.687.60
Comirec⁃SA36.7812.4818.697.36
Comirec⁃DR35.5314.1019.957.61
Transformers4Rec41.3416.6418.016.43
SHAN33.9912.3314.554.90
SDM44.3417.8721.848.71

新窗口打开| 下载CSV


由表可见,LSMNet的表现均优于其他基线模型.具体地,在MovieLens数据集上,LSMNet的HR@50和NDCG@100分别提升4.49%和2.31%;在Taobao数据集上,LSMNet的HR@100和NDCG@100分别提升8.55%和5.68%.实验结果充分证明了该算法的有效性.

虽然和MIND相比,Comirec⁃DR去除了共享参数,理论上应该有更大的模型容量,但其在两个数据集上的表现却各有优劣,可能因为和Movie⁃Lens数据集相比,Taobao数据集含有更多噪声.

虽然SHAN考虑了用户长期历史行为,但是因为其模型结构比较简单,表现不佳.和SHAN相比,SDM的模型结构更复杂,所以SDM在两个数据集上都获得了次优表现.

4.5 消融实验对比

定义LSMNet去除长期兴趣偏好提取模块的模型为LSMNet⁃L,去除图神经网络的模型为LSMNet⁃G.表2展示了LSM⁃Net模型去掉部分模块后的性能表现.由表可见,去除长期历史建模模块或图神经网络后,模型的性能明显下降,而且去除长期历史建模模块后,模型性能的下降更明显.充分证明了建模用户长期历史和图神经网络的有效性.

表2   模型各模块的消融实验结果对比

Table 2  Performance of each module of LSMNet in ablation experiments

模型MovieLensTaobao
HR@50NDCG@100HR@100NDCG@100
LSMNet⁃L38.27813.07421.9158.731
LSMNet⁃G44.28817.10522.1168.507
LSMNet46.33418.28023.7089.203

新窗口打开| 下载CSV


5 结论

本文提出一种基于用户长短期历史的多兴趣召回算法,利用图神经网络和结构化自注意力捕捉用户短期兴趣偏好,利用Transformer架构捕捉用户长期兴趣偏好,并通过门控融合网络融合用户长短期兴趣偏好得到最终用户兴趣偏好.实验结果表明,本文提出的基于用户长短期历史的多兴趣召回算法,其性能表现优于许多已有的召回算法.该算法是可行且高效的.

参考文献

岳小琛. 推荐系统中基于模型的协同过滤算法研究. 硕士学位论文.烟台烟台大学2022.

[本文引用: 1]

Yue X C. Research on model⁃based collaborative filtering algorithm in recommender system. Master Dissertation. Yantai: YanTai University,2022.

[本文引用: 1]

Koren YBell RVolinsky C.

Matrix factorization techniques for recommender systems

Computer,200942(8):30-37.

Koren Y.

The bellkor solution to the netflix grand prize

Netflix Prize Documentation,2009811-10.

[本文引用: 1]

虞雅雯束静徐影.

基于用户的协同过滤算法对产品评分进行预测研究

电脑编程技巧与维护,2022(5):61-64.

[本文引用: 1]

吴建帆曾昭平郑亮.

基于用户的协同过滤推荐算法研究

现代计算机,2020(19):27-2967.

Wu J FZeng S PZheng Let al.

Research on user based collaborative filtering recommendation algorithm

Modern Computer,2020(19):27-2967.

杨海龙. 基于物品的协同过滤算法的电源推荐系统. 硕士学位论文. 兰州兰州交通大学2019.

[本文引用: 1]

Yang H L. Movie recommentation system based on collaborative filtering algorithm. Master Dissertation. LanzhouLanzhou Jiaotong University2019.

[本文引用: 1]

Liu ZLian J CYang J Het al.

Octopus:Comprehensive and elastic user representation for the generation of recommendation candidates

Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. Virtual EventACM2020289-298.

[本文引用: 1]

Covington PAdams JSargin E.

Deep neural networks for youtube recommendations

Proceedings of the 10th ACM Conference on Recommender Systems. Boston,MA,USAACM2016191-198.

[本文引用: 1]

Lu Y JZhang S YHuang Y Xet al.

Future⁃aware diverse trends framework for recommendation

2021,arXiv:.

[本文引用: 1]

Ying H CZhuang F ZZhang F Zet al.

Sequential recommender system based on hierarchical attention network

Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm,SwedenAAAI Press20183926-3932.

[本文引用: 2]

Yan C RWang Y WZhang Y Tet al.

Modeling long⁃ and short⁃term user behaviors for sequential recommendation with deep neural networks

2021 International Joint Conference on Neural Networks. Shenzhen,ChinaIEEE20211-8.

[本文引用: 1]

Zhu HLi XZhang P Yet al.

Learning tree⁃based deep model for recommender systems

Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London,United KingdomACM20181079-1088.

[本文引用: 1]

Lv FJin TYu Cet al.

SDM:Sequential deep matching model for online large⁃scale recommender system

Proceedings of the 28th ACM International Conference on Information and Knowledge Manage⁃ment. Beijing,ChinaACM20192635-2643.

[本文引用: 2]

Cen Y KZhang J WZou Xet al.

Controllable multi⁃interest framework for recommendation

Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Virtual EventACM20202942-2951.

[本文引用: 4]

Li CLiu Z YWu M Met al.

Multi⁃interest network with dynamic routing for recommendation at Tmall

Proceedings of the 28th ACM International Conference on Information and Knowledge Manage⁃ment. Beijing,ChinaACM20192615-2623.

[本文引用: 1]

de Souza Pereira Moreira GRabhi SLee J Met al.

Transformers4Rec:Bridging the gap between NLP and sequential/session⁃based recommendation

Proceedings of the 15th ACM Conference on Recommender Systems. Amsterdam,NetherlandsACM2021143-153.

[本文引用: 1]

Abadi MBarham PChen J Met al.

TensorFlow:A system for large⁃scale machine learning

Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. Savannah,GA,USAUSENIX Association2016265-283.

[本文引用: 1]

Kingma D PBa J.

Adam:A method for stochastic optimization

2017,arXiv:.

[本文引用: 1]

/