CN112905648B - 一种基于多任务学习的多目标推荐方法及系统 - Google Patents

一种基于多任务学习的多目标推荐方法及系统 Download PDF

Info

Publication number
CN112905648B
CN112905648B CN202110157059.1A CN202110157059A CN112905648B CN 112905648 B CN112905648 B CN 112905648B CN 202110157059 A CN202110157059 A CN 202110157059A CN 112905648 B CN112905648 B CN 112905648B
Authority
CN
China
Prior art keywords
user
recommended
behavior
vector
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN202110157059.1A
Other languages
English (en)
Other versions
CN112905648A (zh
Inventor
王玉龙
陈维玮
刘同存
王纯
张磊
王晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110157059.1A priority Critical patent/CN112905648B/zh
Publication of CN112905648A publication Critical patent/CN112905648A/zh
Application granted granted Critical
Publication of CN112905648B publication Critical patent/CN112905648B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于多任务学习的多目标推荐系统,包括用户多种行为序列获取模块、权重生成模块、GRU网络共享模块、SNR子网络路由模块、特征提取模块和多目标预测模块;一种基于多任务学习的多目标推荐方法,包括如下操作步骤:(1)根据用户与交互对象的交互行为,构建构造用户行为序列样本集合;(2)使用用户行为序列样本集合对系统进行训练;(3)保存训练好的系统最优模型,并通过系统最优模型计算并保存相关数据的最优值;(4)模型预测;(5)将得分最高的待推荐对象推荐至用户。

Description

一种基于多任务学习的多目标推荐方法及系统
技术领域
本发明涉及一种基于多任务学习的多目标推荐方法及系统,属于信息技术领域,特别是属于个性化推荐技术领域。
背景技术
推荐系统旨在帮助用户在众多信息中快速发现最感兴趣的信息,如:音乐、新闻资讯等。目前大部分推荐技术只进行单目标训练,例如使用LR(逻辑回归)、GBDT(梯度提升决策树)、深度学习等算法的点击率(CTR)预估技术。但是,对多个目标进行建模是推荐系统的常见需求,例如,因为用户的反馈是多种类型的,包括点击、完整播放等,只对单一反馈进行单目标优化的推荐算法推荐出的信息很可能有偏差,单独优化点击率的模型容易推荐出来标题党,单独优化完整播放率的模型可能短音乐短视频就容易被推荐出来,所以多目标推荐的需求应运而生,有必要同时优化点击率、完整播放率。
多目标推荐问题与单目标推荐问题不同,单目标推荐问题只优化单一目标,例如提高平台的点击率,但是平台的完整播放率等其他指标可能会变差,多目标推荐问题有多个目标函数,其目的是找到一种推荐方法使得多个目标达到整体最优,例如同时提高平台的点击率、完整播放率等。以音乐推荐系统为例,为了分析用户对推荐结果的满意性,推荐系统的业务指标不只是用户播放率,还有分享率、下载率、播放时长等指标,用户播放了某首歌曲不代表会完整播放也不代表会分享或下载,播放率与播放时长、分享率、下载率的关系并非是同步提升,有时候甚至呈现出此消彼长的趋势,因此,需要对多目标联合训练,通过多目标推荐模型尽可能地去求解多目标的共同最优解,希望同时提高系统中音乐的播放率、完整播放率、分享率、下载率等,更好地满足用户需求才能提高用户的留存率和活跃度。
多目标推荐的难点是同一套参数难以表达点击行为、完整播放行为等多种混合样本的分布。目前人们也提出了一些多目标推荐方法,但这些方法普遍存在一个共性问题即;当多个目标之间存在一定程度的冲突时,这些方法无法解决由于目标之间的冲突所导致多目标推荐模型推荐误差大的问题。
如何解决多目标推荐方法所存在的上述问题,成为多目标推荐技术领域一个亟待解决的技术难题。
发明内容
有鉴于此,本发明的目的就是发明一种多目标推荐方法和系统,当多个目标之间存在一定程度的冲突时,仍然能够保证多个目标行为预测值的精度。
为了达到上述目的,本发明提出了一种基于多任务学习的多目标推荐系统,所述系统包括用户多种行为序列获取模块、权重生成模块、GRU网络共享模块、SNR子网络路由模块、特征提取模块和多目标预测模块;各模块的功能如下:
用户多种行为序列获取模块的功能是:
(1)构造用户行为序列集合S,具体是:选取N位用户,根据用户行为类型将行为分为P种行为,分别记作B1,...,BP,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”;为每位用户分别选取其发生了行为B1,...,BP的交互对象ID,并按行为发生时间的先后顺序排列,来构成用户行为序列;将每位用户的历史行为的发生时间划分为T个时间槽;用户行为元组
Figure GDA0003781132550000021
表示第i位用户在第t个时间槽对交互对象o所发生的多种交互行为,
Figure GDA0003781132550000022
表示是否发生了行为B1,...,BP;所有用户的行为元组组成用户行为序列集合S,集合S包括N*T个(M+P)维向量,其中M为待推荐对象的总数,所有待推荐对象组成的集合等于所有交互对象组成的集合;用户i在第t个时间槽的行为Sit是(M+P)维向量,前M项Sit[0:M-1]是用户i在第t个时间槽的交互对象ID的one-hot向量,后P项Sit[M:M+P-1]是用户i在第t个时间槽与交互对象发生的行为类型的multi-hot向量;
(2)构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-,具体是:遍历用户行为序列集合S,每次读入一个用户行为元组,则向正样本集合S+和负样本集合S-中分别加入一个三元组,具体为:读入用户i第t个时间槽的用户行为元组
Figure GDA0003781132550000023
向正样本集合S+中加入一个三元组{xi,j,Yij},其中xi为用户i前t-1个时间槽的交互对象序列,即xi={Si1[0:M-1],...,Sit-1[0:M-1]},由于xi序列长度小于T,所以在序列xi首位补充一个或多个0使得序列xi长度为T,j为用户i第t个时间槽的交互对象ID的one-hot向量,即j=Sit[0:M-1],Yij是正样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure GDA0003781132550000024
即Yij=Sit[M:M+P-1];向负样本集合S-中加入一个三元组{xi,j,Yij},其中xi与上述正样本相同,j为用户i第t个时间槽任意一个未交互的对象ID的one-hot向量,Yij是负样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure GDA0003781132550000031
因为是负样本所以Yij全为0值。负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
GRU网络共享模块的功能是:
GRU网络共享模块包含k个并列的GRU网络,k值等于用户行为类型总数P,将k个GRU网络分别记作GRU1,...,GRUk;每个GRU网络的隐藏层单元数设定为K,利用其结构中的复位门和更新门,自动筛选出用户历史行为序列中的有用信息和用户当前行为中的重要信息,综合考虑用户的历史兴趣和即时兴趣,将用户i截止到第T个时间槽的序列信息提取为一个K维向量并输出;将k个GRU网络的输出分别记作
Figure GDA0003781132550000032
所述GRU网络的每一个都包含多个相同的网络单元,单元数量等于行为序列长度,每个单元对应一个时间槽;所述GRU网络以权重生成模块所输出的用户加权交互对象序列作为输入,输出最后一个单元的输出向量hiT;第t个网络单元中,复位门和更新门是并行的两个单层全连接神经网络,以输入序列中的第t个元素向量和上一个网络单元的输出向量hit-1的(M+K)维拼接向量为输入,以sigmoid为激活函数,输出结果即历史信息相关权重rit和即时信息相关权重uit,得到rit和uit后,通过一个单层全连接神经网络生成候选激活向量
Figure GDA0003781132550000033
该网络以输入序列中的第t个元素向量和加权后的上一个网络单元的输出向量rit*hit-1的(M+K)维拼接向量为输入,以tanh为激活函数,输出结果即K维候选激活向量
Figure GDA0003781132550000034
将uit作为
Figure GDA0003781132550000035
的权重、(1-uit)作为hit-1的权重,对
Figure GDA0003781132550000036
和hit-1进行加权求和得到第t个网络单元的输出向量hit,即
Figure GDA0003781132550000037
SNR子网络路由模块的功能是:以所述GRU网络共享模块的输出结果
Figure GDA0003781132550000038
作为输入,对
Figure GDA0003781132550000039
进行加权求和后输出用户兴趣表示向量
Figure GDA00037811325500000310
其中
Figure GDA00037811325500000311
是用户i第T+1个时间槽时在行为B1的预测目标中的用户兴趣表示向量,
Figure GDA00037811325500000312
是用户i第T+1个时间槽时在行为BP的预测目标中的用户兴趣表示向量,维度为K;所有用户第T+1个时间槽时在每种行为的预测目标中的用户兴趣表示向量分别构成集合
Figure GDA00037811325500000313
所有用户第T+1个时间槽时在所有行为的预测目标中的用户兴趣表示向量构成集合U;所述预测目标为根据用户i前T个时间槽的交互行为预测用户i第T+1个时间槽对待推荐对象j发生B1,...,BP行为的概率,每个行为的预测作为一个预测目标,每个预测目标对应一个用户兴趣表示向量;同一用户在不同预测目标中的偏好并不相同,因此SNR子网络路由模块为每个预测目标分别输出一个用户兴趣表示向量;
SNR子网络路由模块作为所述的GRU网络共享模块和多目标预测模块之间的连接模块,将上下级网络之间的两两连接情况抽象为编码变量z;学习所述的编码变量z相当于学习所述的GRU网络共享模块的每个输出结果在多目标预测模块的输入信息中所占的权重,权重接近0则相当于对应连接断开,实现自动学习网络共享结构的功能;
根据所述的编码变量z,用户i第T+1个时间槽的用户兴趣表示向量的计算公式为:
Figure GDA0003781132550000041
其中z=[z11,…,z1k,…,zP1,…,zPk]是P*k维向量;
根据以下公式来生成z:
Figure GDA0003781132550000042
z=g(s)=min(1,max(0,s(δ-γ)+γ)),其中u是符合均匀分布的P*k维随机向量,log(a)为需要学习的参数,将其初始化为按照正态分布生成的P*k维随机向量,随着训练进行端到端学习,其他参数为超参数,使得编码变量z可以基于梯度进行优化;
所述SNR子网络路由模块中编码变量z的生成公式中的超参数β、δ、γ,通过网格搜索方式寻找最佳值;
权重生成模块的功能是:根据与每个预测目标的相关度对输入序列中的元素进行加权,缓解频率低的行为被淹没的问题;将所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure GDA0003781132550000043
和第1,2,...,T个时间槽的用户交互对象Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]作为所述权重生成模块的输入,即分别拼接
Figure GDA0003781132550000044
与Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]组成所述权重生成模块的输入矩阵
Figure GDA0003781132550000045
其中concat()表示两个向量的拼接操作,所述权重生成模块首先计算出分别作为每个预测目标下第1,2,...,T个时间槽的交互对象对于用户i的P*T个权重值,记作
Figure GDA0003781132550000051
所述权重生成模块需要判断所述系统是否尚未存在用户i的用户兴趣表示向量
Figure GDA0003781132550000052
若是,则不执行上述权重生成模块的所有计算,直接使用系统新用户默认权重值,即上述P*T个权重值全部直接赋值为1;
然后根据上述权重值,计算用户i第1,2,...,T个时间槽的用户加权交互对象
Figure GDA0003781132550000053
计算公式为:
Figure GDA0003781132550000054
k与P是相等的,一共有k*T个;
所述用户i第1,2,...,T个时间槽的用户加权交互对象
Figure GDA0003781132550000055
将分别作为用户i第T+1个时间槽的所述GRU网络共享模块的第1、2、…、k个GRU网络的输入序列的第1,2,...,T个元素,即
Figure GDA0003781132550000056
作为用户i第T+1个时间槽的所述GRU网络共享模块的第1个GRU网络的输入序列,
Figure GDA0003781132550000057
作为用户i第T+1个时间槽的所述GRU网络共享模块的第k个GRU网络的输入序列;
所述权重生成模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用sigmoid激活函数;输入层节点数等于M+K,输出层节点数等于1,第一层隐藏层节点数等于
Figure GDA0003781132550000058
第二层隐藏层节点数等于
Figure GDA0003781132550000059
特征提取模块的功能是:构造所有待推荐对象的特征表示向量集合Q,具体为:根据待推荐对象j的属性的不同进行不同的预处理:对对象j的离散属性进行one-hot处理,对对象j的连续属性进行归一化处理,将所有预处理后的属性拼接为一个向量作为所述特征提取模块的输入;所述特征提取模块的输出为待推荐对象j的特征表示向量Qj,维度为K。所有待推荐对象的特征表示向量组成包含M个K维向量的集合Q;通过所述特征提取模块,减少人工特征提取的不准确性,更好地编码深层次复杂特征作为待推荐对象的特征表示;
所述特征提取模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用ReLU激活函数;输入层节点数等于所有属性预处理后拼接成的向量维度记作F,输出层节点数等于K,第一层隐藏层节点数等于
Figure GDA0003781132550000061
第二层隐藏层节点数等于
Figure GDA0003781132550000062
多目标预测模块的功能是:每个预测目标分别对应一个独立的MLP网络,记作
Figure GDA0003781132550000063
分别以所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure GDA0003781132550000064
和待推荐对象特征表示向量集合Q作为输入,则最终第i位用户第T+1个时间槽输出的对待推荐对象j的多目标预测概率为
Figure GDA0003781132550000065
其中
Figure GDA0003781132550000066
是用户i第T+1个时间槽对待推荐对象j的发生行为B1的预测概率,
Figure GDA0003781132550000067
是用户i第T+1个时间槽对待推荐对象j的发生行为BP的预测概率;
Figure GDA0003781132550000068
是所述多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作;对于
Figure GDA0003781132550000069
每个网络的结构均为:一个输入层、一个隐藏层和一个输出层,输入层节点数为K*2,隐藏层节点数为K/2,隐藏层使用ReLU激活函数,输出层节点数为2,输出层使用softmax损失函数,两个输出节点值分别代表发生对应交互行为的概率和不发生对应交互行为的概率,只保存第一个节点的值即发生此行为的概率记作
Figure GDA00037811325500000610
从而构造用户-待推荐对象多目标预测概率集合Prob。
本发明还提出了一种基于多任务学习的多目标推荐方法,所述方法包括如下操作步骤:
(1)根据用户与交互对象的交互行为,用户多种行为序列获取模块构建构造用户行为序列集合S;构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-
用户行为序列数据用于模型训练时,划分方式为:分别给定用户前1,2,...,T-1个时间槽的用户行为序列,预测该用户第2,3,...,T个时间槽时与待推荐对象j发生行为B1,...,BP的概率,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”,对于每个正的样本,随机抽取一个负的样本;负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
用户行为序列数据用于模型预测时,划分方式为:给定用户前T个时间槽的用户行为序列,预测该用户第T+1个时间槽时与待推荐对象j发生行为B1,...,BP的概率,每个行为的预测作为一个任务;
(2)使用所述的用户行为序列正样本集合S+和负样本集合S-,对系统进行训练,即:采用梯度下降法,对用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob构成中涉及的所有权重参数以及SNR子网络路由模块中的分布参数进行优化;具体内容如下:
先执行前向传播,计算用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob,再执行反向传播对系统各个模块中所有神经网络层的权值参数、SNR子网络路由模块的分布参数进行反向调整;重复上述过程直至收敛;
对于系统模块中涉及到的超参数,即:GRU网络共享模块中GRU网络的隐藏层单元数K、SNR子网络路由模块中编码变量z的生成公式中的β、δ、γ,通过网格搜索方式寻找最佳值;
(3)保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值,具体为:计算并保存所有待推荐对象的特征表示向量集合Q的最优值Q';计算并保存所有用户的第T+1个时间槽的最优中间结果,对用户i,计算并保存用户i第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果记作
Figure GDA0003781132550000071
计算并保存所有用户第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果所构成的k个集合H1,...,Hk,H1,...,Hk均为N个K维向量的集合;计算并保存用户i第T+1个时间槽的兴趣表示向量
Figure GDA0003781132550000072
的最优值
Figure GDA0003781132550000073
计算并保存所有用户第T+1个时间槽的用户兴趣表示向量
Figure GDA0003781132550000074
的最优值
Figure GDA0003781132550000075
均为N个K维向量的集合;
(4)模型预测,即基于所述的最优系统模型saved_model、根据用户兴趣表示向量最优值
Figure GDA0003781132550000076
待推荐对象特征表示向量最优值Q',并根据用户行为序列集合S,预测每个用户的未来行为,即预测用户i在第T+1个时间槽下对所有待推荐对象的B1,...,BP行为的发生概率,具体为:对待推荐对象j,预测用户i在第T+1个时间槽下的B1,...,BP行为的发生概率是
Figure GDA0003781132550000077
其中
Figure GDA0003781132550000081
是多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作,
Figure GDA0003781132550000082
是用户i在每个预测目标中的用户兴趣表示向量最优值,Q'j是待推荐对象j的特征表示向量最优值;待推荐对象特征表示向量与当前预测目标中的用户兴趣表示向量越相近的待推荐对象获得的预测概率越高;
(5)根据设置的每个预测目标的权重参数
Figure GDA0003781132550000083
对所述的用户i在第T+1个时间槽下对所有待推荐对象发生B1,...,BP行为的预测概率进行加权求和得到用户i对所有待推荐对象的综合得分,具体为:对待推荐对象j,对所述的用户i在第T+1个时间槽下发生B1,...,BP行为的预测概率
Figure GDA0003781132550000084
进行加权求和得到用户i对待推荐对象j的综合得分
Figure GDA0003781132550000085
对所有待推荐对象的综合得分进行排序;按照排序结果,将所述得分最高的待推荐对象推荐至用户i。
步骤2中所述采用梯度下降法对系统进行训练的具体内容是:基于用户-待推荐对象多目标预测概率集合Prob,利用随机梯度下降法优化系统模型,希望正负样本的各个行为的发生概率预测值都尽可能接近其真实标签,此外为目标函数增加一个附加项以鼓励标签相似的待推荐对象在系统模型中提取到的特征表示向量也相似;统计两两待推荐对象的标签交集中的标签个数集合Count并进行最大值归一化后保存为M*M个标量的集合W;将待推荐对象a的标签集合记作A、待推荐对象b的标签集合记作B,则a和b的标签交集中的标签个数为
Figure GDA0003781132550000086
进行最大值归一化后得到标签共现度
Figure GDA0003781132550000087
系统的优化目标函数定义如下:
Figure GDA0003781132550000088
其中S+表示正样本集合,S-表示负样本集合,|S+|表示正样本个数,|S-|表示负样本个数,
Figure GDA0003781132550000091
表示正负样本中用户i对交互对象j的B1,...,BP行为的真实标签,0表示没有发生,1表示发生,
Figure GDA0003781132550000092
表示系统模型预测得到的用户i在第T+1个时间槽下对待推荐对象j发生B1,...,BP行为的概率,|Q|表示待推荐对象特征表示向量集合中元素的个数,即待推荐对象个数,Wab表示待推荐对象a和b的标签共现度,即代表标签相似程度,|Qa-Qb|表示待推荐对象a和b的特征表示向量之间的欧式距离,
Figure GDA0003781132550000093
是每个预测目标的对数损失函数,B1,...,BP每个行为的发生概率的预测作为一个预测目标,Wab|Qa-Qb|是附加项,以鼓励标签相似的待推荐对象a和b在系统模型中提取到的特征表示向量Qa、Qb也相似。
参数更新方法选用自适应矩估计ADAM优化器。
对于步骤2和步骤3,要按照设定的周期,对系统进行离线训练,保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值。
步骤3中所述的用户兴趣表示向量最优值
Figure GDA0003781132550000094
要根据用户的实时行为进行实时增量更新,具体为:当用户i产生新行为时,将交互对象ID的one-hot向量记作S'i
通过以下公式更新
Figure GDA0003781132550000095
Figure GDA0003781132550000096
其中,attention()表示权重生成模块的输出值,即
Figure GDA0003781132550000097
表示S'i在B1行为预测目标中的权重;GRU1',...,GRUk'代表GRU网络共享模块中GRU1,...,GRUk的最后一个单元;直接将
Figure GDA0003781132550000098
作为倒数第二个单元输入给最后一个单元的记忆信息,而不需要再重复计算一遍除最后一个单元外的其他单元;将attention()与
Figure GDA0003781132550000099
拼接后的向量作为输入给最后一个单元的向量;SNR()表示经过SNR子网络路由模块的所有计算步骤产生的输出结果;括号内代表其需要的所有输入。
本发明的有益效果在于:本发明的方法和系统基于多任务学习,利用了注意力机制,扩展了循环神经网络GRU同时提取多种行为序列信息的能力,当多个目标之间存在一定程度的冲突时,仍然能够保证多个目标行为预测值的精度。
附图说明
图1是本发明提出的一种基于多任务学习的多目标推荐系统的组成模块示意图。
图2是本发明实施例中GRU网络共享模块中的GRU网络的结构示意图。
图3是本发明实施例中SNR子网络路由模块的结构示意图。
图4是本发明实施例中权重生成模块的结构示意图。
图5是本发明实施例中特征提取模块的结构示意图。
图6是本发明实施例中多目标预测模块的结构示意图。
图7是本发明提出的一种基于多任务学习的多目标推荐方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图1,介绍本发明提出的本发明提出了一种基于多任务学习的多目标推荐系统,所述系统包括用户多种行为序列获取模块、权重生成模块、GRU网络共享模块、SNR子网络路由模块、特征提取模块和多目标预测模块;各模块的功能如下:
用户多种行为序列获取模块的功能是:
(1)构造用户行为序列集合S,具体是:选取N位用户,根据用户行为类型将行为分为P种行为,分别记作B1,...,BP,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”;为每位用户分别选取其发生了行为B1,...,BP的交互对象ID,并按行为发生时间的先后顺序排列,来构成用户行为序列;将每位用户的历史行为的发生时间划分为T个时间槽;用户行为元组
Figure GDA0003781132550000101
表示第i位用户在第t个时间槽对交互对象o所发生的多种交互行为,
Figure GDA0003781132550000102
表示是否发生了行为B1,...,BP;所有用户的行为元组组成用户行为序列集合S,集合S包括N*T个(M+P)维向量,其中M为待推荐对象的总数,所有待推荐对象组成的集合等于所有交互对象组成的集合;用户i在第t个时间槽的行为Sit是(M+P)维向量,前M项Sit[0:M-1]是用户i在第t个时间槽的交互对象ID的one-hot(独热编码)向量,后P项Sit[M:M+P-1]是用户i在第t个时间槽与交互对象发生的行为类型的multi-hot(多热编码)向量;
(2)构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-,具体是:遍历用户行为序列集合S,每次读入一个用户行为元组,则向正样本集合S+和负样本集合S-中分别加入一个三元组,具体为:读入用户i第t个时间槽的用户行为元组
Figure GDA0003781132550000111
向正样本集合S+中加入一个三元组{xi,j,Yij},其中xi为用户i前t-1个时间槽的交互对象序列,即xi={Si1[0:M-1],...,Sit-1[0:M-1]},由于xi序列长度小于T,所以在序列xi首位补充一个或多个0使得序列xi长度为T,j为用户i第t个时间槽的交互对象ID的one-hot向量,即j=Sit[0:M-1],Yij是正样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure GDA0003781132550000112
即Yij=Sit[M:M+P-1];向负样本集合S-中加入一个三元组{xi,j,Yij},其中xi与上述正样本相同,j为用户i第t个时间槽任意一个未交互的对象ID的one-hot向量,Yij是负样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure GDA0003781132550000113
因为是负样本所以Yij全为0值。负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
参见图2,对GRU(Gated Recurrent Unit门控循环单元)网络共享模块进行介绍。图2中,我们只画出了GRU网络共享模块中的第一个GRU网络。GRU网络共享模块的功能是:
GRU网络共享模块包含k个并列的GRU网络,k值等于用户行为类型总数P,将k个GRU网络分别记作GRU1,...,GRUk;每个GRU网络的隐藏层单元数设定为K,利用其结构中的复位门和更新门,自动筛选出用户历史行为序列中的有用信息和用户当前行为中的重要信息,综合考虑用户的历史兴趣和即时兴趣,将用户i截止到第T个时间槽的序列信息提取为一个K维向量并输出;将k个GRU网络的输出分别记作
Figure GDA0003781132550000114
所述GRU网络的每一个都包含多个相同的网络单元,单元数量等于行为序列长度,每个单元对应一个时间槽;所述GRU网络以权重生成模块所输出的用户加权交互对象序列作为输入,输出最后一个单元的输出向量hiT;第t个网络单元中,复位门和更新门是并行的两个单层全连接神经网络,以输入序列中的第t个元素向量和上一个网络单元的输出向量hit-1的(M+K)维拼接向量为输入,以sigmoid为激活函数,输出结果即历史信息相关权重rit和即时信息相关权重uit,得到rit和uit后,通过一个单层全连接神经网络生成候选激活向量
Figure GDA0003781132550000121
该网络以输入序列中的第t个元素向量和加权后的上一个网络单元的输出向量rit*hit-1的(M+K)维拼接向量为输入,以tanh为激活函数,输出结果即K维候选激活向量
Figure GDA0003781132550000122
将uit作为
Figure GDA0003781132550000123
的权重、(1-uit)作为hit-1的权重,对
Figure GDA0003781132550000124
和hit-1进行加权求和得到第t个网络单元的输出向量hit,即
Figure GDA0003781132550000125
参见图3,对SNR子网络路由模块进行介绍(有关SNR子网络路由的概念可参见文献Ma J,Zhao Z,Chen J,et al.SNR:Sub-Network Routing for Flexible ParameterSharing in Multi-task Learning[J].Proceedings of the AAAI Conference onArtificial Intelligence,2019.),在图3中,以用户行为类型总数P=3为例。SNR子网络路由模块的功能是:以所述GRU网络共享模块的输出结果
Figure GDA0003781132550000126
作为输入,对
Figure GDA0003781132550000127
进行加权求和后输出用户兴趣表示向量
Figure GDA0003781132550000128
其中
Figure GDA0003781132550000129
是用户i第T+1个时间槽时在行为B1的预测目标中的用户兴趣表示向量,
Figure GDA00037811325500001210
是用户i第T+1个时间槽时在行为BP的预测目标中的用户兴趣表示向量,维度为K;所有用户第T+1个时间槽时在每种行为的预测目标中的用户兴趣表示向量分别构成集合
Figure GDA00037811325500001211
所有用户第T+1个时间槽时在所有行为的预测目标中的用户兴趣表示向量构成集合U;所述预测目标为根据用户i前T个时间槽的交互行为预测用户i第T+1个时间槽对待推荐对象j发生B1,...,BP行为的概率,每个行为的预测作为一个预测目标,每个预测目标对应一个用户兴趣表示向量;同一用户在不同预测目标中的偏好并不相同,因此SNR子网络路由模块为每个预测目标分别输出一个用户兴趣表示向量;
SNR子网络路由模块作为所述的GRU网络共享模块和多目标预测模块之间的连接模块,将上下级网络之间的两两连接情况抽象为编码变量z;学习所述的编码变量z相当于学习所述的GRU网络共享模块的每个输出结果在多目标预测模块的输入信息中所占的权重,权重接近0则相当于对应连接断开,实现自动学习网络共享结构的功能;
根据所述的编码变量z,用户i第T+1个时间槽的用户兴趣表示向量的计算公式为:
Figure GDA00037811325500001212
其中z=[z11,…,z1k,…,zP1,…,zPk]是P*k维向量;
根据以下公式来生成z:
Figure GDA0003781132550000131
z=g(s)=min(1,max(0,s(δ-γ)+γ)),其中u是符合均匀分布的P*k维随机向量,log(a)为需要学习的参数,将其初始化为按照正态分布生成的P*k维随机向量,随着训练进行端到端学习,其他参数为超参数,使得编码变量z可以基于梯度进行优化;
所述SNR子网络路由模块中编码变量z的生成公式中的超参数β、δ、γ,通过网格搜索方式寻找最佳值。在实施例中我们建议β=0.667,δ=1.1,γ=-0.1;
参见图4,对权重生成模块进行介绍,在图4中,以用户行为类型总数P=3为例。权重生成模块的功能是:根据与每个预测目标的相关度对输入序列中的元素进行加权,缓解频率低的行为被淹没的问题;将所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure GDA0003781132550000132
和第1,2,...,T个时间槽的用户交互对象Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]作为所述权重生成模块的输入,即分别拼接
Figure GDA0003781132550000133
与Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]组成所述权重生成模块的输入矩阵
Figure GDA0003781132550000134
其中concat()表示两个向量的拼接操作,所述权重生成模块首先计算出分别作为每个预测目标下第1,2,...,T个时间槽的交互对象对于用户i的P*T个权重值,记作
Figure GDA0003781132550000135
所述权重生成模块需要判断所述系统是否尚未存在用户i的用户兴趣表示向量
Figure GDA0003781132550000136
若是,则不执行上述权重生成模块的所有计算,直接使用系统新用户默认权重值,即上述P*T个权重值全部直接赋值为1;
然后根据上述权重值,计算用户i第1,2,...,T个时间槽的用户加权交互对象
Figure GDA0003781132550000137
计算公式为:
Figure GDA0003781132550000138
k与P是相等的,一共有k*T个;
所述用户i第1,2,...,T个时间槽的用户加权交互对象
Figure GDA0003781132550000141
将分别作为用户i第T+1个时间槽的所述GRU网络共享模块的第1、2、…、k个GRU网络的输入序列的第1,2,...,T个元素,即
Figure GDA0003781132550000142
作为用户i第T+1个时间槽的所述GRU网络共享模块的第1个GRU网络的输入序列,
Figure GDA0003781132550000143
作为用户i第T+1个时间槽的所述GRU网络共享模块的第k个GRU网络的输入序列;
所述权重生成模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用sigmoid激活函数;输入层节点数等于M+K,输出层节点数等于1,第一层隐藏层节点数等于
Figure GDA0003781132550000144
第二层隐藏层节点数等于
Figure GDA0003781132550000145
符号
Figure GDA0003781132550000146
表示上取整运算;
参见图5,特征提取模块的功能是:构造所有待推荐对象的特征表示向量集合Q,具体为:根据待推荐对象j的属性的不同进行不同的预处理:对对象j的离散属性进行one-hot处理,对对象j的连续属性进行归一化处理,将所有预处理后的属性拼接为一个向量作为所述特征提取模块的输入;所述特征提取模块的输出为待推荐对象j的特征表示向量Qj,维度为K。所有待推荐对象的特征表示向量组成包含M个K维向量的集合Q;通过所述特征提取模块,减少人工特征提取的不准确性,更好地编码深层次复杂特征作为待推荐对象的特征表示;
所述特征提取模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用ReLU激活函数;输入层节点数等于所有属性预处理后拼接成的向量维度记作F,输出层节点数等于K,第一层隐藏层节点数等于
Figure GDA0003781132550000147
第二层隐藏层节点数等于
Figure GDA0003781132550000148
符号[]表示取整运算;
参见图6,对多目标预测模块进行介绍,在图6中,以用户行为类型总数P=3为例。多目标预测模块的功能是:每个预测目标分别对应一个独立的MLP(MultilayerPerceptron多层感知机)网络,记作
Figure GDA0003781132550000149
分别以所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure GDA00037811325500001410
和待推荐对象特征表示向量集合Q作为输入,则最终第i位用户第T+1个时间槽输出的对待推荐对象j的多目标预测概率为
Figure GDA00037811325500001411
其中
Figure GDA00037811325500001412
是用户i第T+1个时间槽对待推荐对象j的发生行为B1的预测概率,
Figure GDA0003781132550000151
是用户i第T+1个时间槽对待推荐对象j的发生行为BP的预测概率;
Figure GDA0003781132550000152
是所述多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作;对于
Figure GDA0003781132550000153
每个网络的结构均为:一个输入层、一个隐藏层和一个输出层,输入层节点数为K*2,隐藏层节点数为K/2,隐藏层使用ReLU激活函数,输出层节点数为2,输出层使用softmax损失函数,两个输出节点值分别代表发生对应交互行为的概率和不发生对应交互行为的概率,只保存第一个节点的值即发生此行为的概率记作
Figure GDA0003781132550000154
从而构造用户-待推荐对象多目标预测概率集合Prob。
参见图7,本发明还提出了一种基于多任务学习的多目标推荐方法,所述方法包括如下操作步骤:
(1)根据用户与交互对象的交互行为,用户多种行为序列获取模块构建构造用户行为序列集合S;构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-
用户行为序列数据用于模型训练时,划分方式为:分别给定用户前1,2,...,T-1个时间槽的用户行为序列,预测该用户第2,3,...,T个时间槽时与待推荐对象j发生行为B1,...,BP的概率,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”,对于每个正的样本,随机抽取一个负的样本;负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
用户行为序列数据用于模型预测时,划分方式为:给定用户前T个时间槽的用户行为序列,预测该用户第T+1个时间槽时与待推荐对象j发生行为B1,...,BP的概率,每个行为的预测作为一个任务;
下面以一个音乐推荐系统进行示例说明:
假设该音乐推荐系统中用户数为2,歌曲数为7,行为类型为3种:收藏、下载、分享,用户行为序列长度设定为4。即N=2,M=7,P=3,B1=“收藏”,B2=“下载”,B3=“分享”,T=4。则收藏、下载、分享为3个目标行为,预测用户下一行为会收藏推荐歌曲的概率、下载推荐歌曲的概率、分享推荐歌曲的概率是该音乐推荐系统要同时完成的3个预测目标。
获取到的输入数据为用户行为序列集合S如下:
Figure GDA0003781132550000161
用于训练的正样本集合S+如下:
Figure GDA0003781132550000162
负样本集合S-如下:
Figure GDA0003781132550000163
Figure GDA0003781132550000171
需要注意的是,若是训练阶段,则多目标预测目标为:根据用户user_1(或user_2)第2(或3或4)个时间槽之前的歌曲ID的one-hot向量组成的序列预测其在第2(或3或4)个时间槽对第2(或3或4)个时间槽的正样本歌曲和负样本歌曲进行收藏、下载、分享的概率,预测收藏概率、下载概率、分享概率是该音乐推荐系统的3个预测目标;若是上线服务阶段,则多目标预测目标为:根据用户user_1(或user_2)第5个时间槽之前的歌曲ID的one-hot向量组成的序列预测其在第5个时间槽对歌曲库中的每首歌曲进行收藏、下载、分享的概率,预测收藏概率、下载概率、分享概率是该音乐推荐系统的3个预测目标。
(2)使用所述的用户行为序列正样本集合S+和负样本集合S-,对系统进行训练,即:采用梯度下降法,对用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob构成中涉及的所有权重参数以及SNR子网络路由模块中的分布参数进行优化;具体内容如下:
先执行前向传播,计算用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob,再执行反向传播对系统各个模块中所有神经网络层的权值参数、SNR子网络路由模块的分布参数进行反向调整;重复上述过程直至收敛;
对于系统模块中涉及到的超参数,即:GRU网络共享模块中GRU网络的隐藏层单元数K、SNR子网络路由模块中编码变量z的生成公式中的β、δ、γ,通过网格搜索方式寻找最佳值;
下面以前面所述的音乐推荐系统进行示例说明:
设定用户兴趣表示向量维度和待推荐对象特征表示向量维度均为8,即K=8。GRU网络个数等于行为类型总数,即k=3。
将步骤一中得到的正样本集合S+、负样本集合S-作为系统的输入,先执行前向传播。以第二条正样本为例,其取自用户user_1的用户行为序列数据,下文中为方便表述将其称作“该样本”,系统各模块前向传播计算流程如下:
(a)GRU网络共享模块:GRU网络共享模块包含3个并列的GRU网络,以权重生成模块所输出的用户加权交互对象序列作为输入,将长度为4的用户加权交互对象序列的信息提取为一个8维向量并输出;每个GRU网络隐藏层单元数均设定为8;每个GRU网络包含4个相同的网络单元,每个单元对应一个序列元素;每个GRU网络的最后一个单元的输出向量作为其输出,分别记作
Figure GDA0003781132550000181
是3个8维向量。
(b)SNR子网络路由模块:根据经验设定参数β=0.667,δ=1.1,γ=-0.1,u为由均匀分布产生的随机向量,维度为k*P,即维度为9,初始化需要学习的参数log(a)为由均值为0、标准差为0的正态分布产生的随机向量,维度为k*P,即维度为9。通过以下公式
Figure GDA0003781132550000182
z=g(s)=min(1,max(0,1.2s-0.1))计算得到编码向量z,即[z11,z12,z13,z21,z22,z23,z31,z32,z33]。SNR子网络路由模块的输入为所述GRU网络共享模块的输出
Figure GDA0003781132550000183
根据
Figure GDA0003781132550000184
计算得到输出结果
Figure GDA0003781132550000185
是3个8维向量。同一用户收藏歌曲的偏好、下载歌曲的偏好、分享歌曲的偏好并不相同,因此预测收藏概率、预测下载概率、预测分享概率这三个预测目标所对应的用户兴趣表示向量也不同,SNR子网络路由模块为三个预测目标分别输出一个用户兴趣表示向量。
(c)权重生成模块:网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用sigmoid激活函数;输入层节点数等于15,隐藏层节点数分别等于4和2,输出层节点数等于1。将所述SNR子网络路由模块输出的用户user_1的用户兴趣表示向量
Figure GDA0003781132550000186
和该样本第1,2,3,4个时间槽的用户交互对象[0000000,0000000,1000000,0100000]作为所述权重生成模块的输入,即分别拼接
Figure GDA0003781132550000187
与[0000000,0000000,1000000,0100000]组成所述权重生成模块的输入矩阵
Figure GDA0003781132550000188
其中concat()表示两个向量的拼接操作,权重生成模块首先依次将所述输入矩阵中的每一个拼接向量作为MLP网络的输入,计算出分别作为收藏、下载、分享行为预测目标下该样本第1,2,3,4个时间槽的交互对象对于用户user_1的P*T个权重值,记作
Figure GDA0003781132550000191
所述权重生成模块需要判断所述系统是否尚未存在用户user_1的用户兴趣表示向量
Figure GDA0003781132550000192
若是,则不执行上述权重生成模块的所有计算,直接使用系统新用户默认权重值,即上述P*T个权重值全部直接赋值为1。
然后根据上述权重值,计算该样本第1,2,3,4个时间槽的用户加权交互对象
Figure GDA0003781132550000193
计算公式为:
Figure GDA0003781132550000194
该样本第1,2,3,4个时间槽的用户加权交互对象
Figure GDA0003781132550000195
将分别作为该样本的所述GRU网络共享模块的第1、2、3、4个GRU网络的输入序列的第1,2,3,4个元素,即
Figure GDA0003781132550000196
作为该样本的所述GRU网络共享模块的第1个GRU网络的输入序列,
Figure GDA0003781132550000197
作为该样本的所述GRU网络共享模块的第2个GRU网络的输入序列,
Figure GDA0003781132550000198
作为该样本的所述GRU网络共享模块的第3个GRU网络的输入序列。
(d)特征提取模块:网络结构是1个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用ReLU激活函数;输入层节点数为16,隐藏层共2层其节点数分别为12和3,输出层节点数为8,即输出维度为8的向量。特征提取模块的输入是正样本歌曲4的时长、歌手、语言、风格,对时长进行归一化处理,对歌手、语言、风格分别进行one-hot处理,将处理后的所有特征拼接为一个向量作为MLP网络的输入,假设歌手共7位,语言共4种,风格共4种,则输入向量的维度为1+7+4+4=16,通过MLP网络提取深层次复杂特征作为输出向量,记作Q4
(e)多目标预测模块:收藏、下载、分享行为预测目标分别对应一个独立的MLP网络,记作tower收藏,tower下载,tower分享。对于tower收藏,tower下载,tower分享,每个网络的结构均为:输入层节点数为K*2,即输入层节点数为16,隐藏层共1层其节点数为4,隐藏层使用ReLU激活函数,输出层节点数为2,输出层使用softmax损失函数,两个输出节点值分别代表发生对应交互行为的概率和不发生对应交互行为的概率,只保存第一个节点的值即发生此行为的概率记作Prob收藏,Prob下载,Prob分享
tower收藏以SNR子网络路由模块输出结果中的
Figure GDA0003781132550000201
和特征提取模块输出结果中的正样本歌曲4对应的向量Q4拼接后的向量为输入,输出该样本中用户user_1在第5个时间槽收藏歌曲4的概率预测值
Figure GDA0003781132550000202
tower下载以SNR子网络路由模块输出结果中的
Figure GDA0003781132550000203
和Q4拼接后的向量为输入,输出该样本中用户user_1在第5个时间槽下载歌曲4的概率预测值
Figure GDA0003781132550000204
tower分享以SNR子网络路由模块输出结果中的
Figure GDA0003781132550000205
和Q4拼接后的向量为输入,输出该样本中用户user_1在第5个时间槽分享歌曲4的概率预测值
Figure GDA0003781132550000206
至此该样本的前向传播已完成,完成一批样本的前向传播后,选用ADAM优化器根据所述系统的目标函数执行反向传播,对系统各个模块中所有神经网络层的权值参数、SNR子网络路由模块的分布参数进行反向调整。前向传播和反向传播交叉进行,重复进行前向传播和反向传播直到收敛。
(3)保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值,具体为:计算并保存所有待推荐对象的特征表示向量集合Q的最优值Q';计算并保存所有用户的第T+1个时间槽的最优中间结果,对用户i,计算并保存用户i第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果记作
Figure GDA0003781132550000207
计算并保存所有用户第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果所构成的k个集合H1,...,Hk,H1,...,Hk均为N个K维向量的集合;计算并保存用户i第T+1个时间槽的兴趣表示向量
Figure GDA0003781132550000208
的最优值
Figure GDA0003781132550000209
计算并保存所有用户第T+1个时间槽的用户兴趣表示向量
Figure GDA00037811325500002010
的最优值
Figure GDA00037811325500002011
均为N个K维向量的集合;
下面以前面所述的音乐推荐系统进行示例说明:
保存训练好的系统最优模型saved_model,并将输入给系统最优模型saved_model,计算并保存相关数据的最优值,具体为:计算并保存所有待推荐歌曲即歌曲1到7的特征表示向量集合Q的最优值Q';将用户行为序列集合S中每位用户的4首交互歌曲ID的one-hot向量组成的序列作为系统最优模型saved_model的输入,计算并保存所有用户的第5个时间槽的最优中间结果,对用户user_1,计算并保存用户user_1第5个时间槽的GRU网络共享模块中GRU1,GRU2,GRU3的输出结果记作
Figure GDA0003781132550000211
对用户user_2,计算并保存用户user_2第5个时间槽的GRU网络共享模块中GRU1,GRU2,GRU3的输出结果记作
Figure GDA0003781132550000212
所有用户即用户user_1和user_2第5个时间槽的GRU网络共享模块中GRU1,GRU2,GRU3的输出结果构成3个集合H1,H2,H3,H1,H2,H3均为2个8维向量的集合;计算并保存用户user_1的第5个时间槽的兴趣表示向量
Figure GDA0003781132550000213
的最优值
Figure GDA0003781132550000214
计算并保存用户user_2的第5个时间槽的兴趣表示向量
Figure GDA0003781132550000215
的最优值
Figure GDA0003781132550000216
所有用户即用户user_1和user_2第5个时间槽的用户兴趣表示向量U收藏,U下载,U分享的最优值构成3个集合U'收藏,U'下载,U'分享,U'收藏,U'下载,U'分享均为2个8维向量的集合;
以24小时为周期定期离线进行模型训练并更新上述保存结果。
(4)模型预测,即基于所述的最优系统模型saved_model、根据用户兴趣表示向量最优值
Figure GDA0003781132550000217
待推荐对象特征表示向量最优值Q',并根据用户行为序列集合S,预测每个用户的未来行为,即预测用户i在第T+1个时间槽下对所有待推荐对象的B1,...,BP行为的发生概率,具体为:对待推荐对象j,预测用户i在第T+1个时间槽下的B1,...,BP行为的发生概率是
Figure GDA0003781132550000218
其中
Figure GDA0003781132550000219
是多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作,
Figure GDA00037811325500002110
是用户i在每个预测目标中的用户兴趣表示向量最优值,Q'j是待推荐对象j的特征表示向量最优值;待推荐对象特征表示向量与当前预测目标中的用户兴趣表示向量越相近的待推荐对象获得的预测概率越高;
下面以前面所述的音乐推荐系统进行示例说明:
基于所述的最优系统模型saved_model,根据用户兴趣表示向量最优值U'收藏,U'下载,U'分享、待推荐对象特征表示向量最优值Q',预测所有用户在第5个时间槽下对所有待推荐歌曲发生收藏、下载、分享行为的概率。以用户user_1为例,分别拼接
Figure GDA0003781132550000221
和Q'1,...,Q'7作为tower1网络的输入,tower收藏网络输出用户user_1在第5个时间槽收藏歌曲1到7的概率预测值
Figure GDA0003781132550000222
tower下载网络输出用户user_1在第5个时间槽收藏歌曲1到7的概率预测值
Figure GDA0003781132550000223
tower分享网络输出用户user_1在第5个时间槽收藏歌曲1到7的概率预测值
Figure GDA0003781132550000224
(5)根据设置的每个预测目标的权重参数
Figure GDA0003781132550000225
对所述的用户i在第T+1个时间槽下对所有待推荐对象发生B1,...,BP行为的预测概率进行加权求和得到用户i对所有待推荐对象的综合得分,具体为:对待推荐对象j,对所述的用户i在第T+1个时间槽下发生B1,...,BP行为的预测概率
Figure GDA0003781132550000226
进行加权求和得到用户i对待推荐对象j的综合得分
Figure GDA0003781132550000227
对所有待推荐对象的综合得分进行排序;按照排序结果,将所述得分最高的待推荐对象推荐至用户i。
下面以前面所述的音乐推荐系统进行示例说明:
以用户user_1为例,除去短期内听过的歌曲,对歌曲库的其他歌曲:歌曲3、5、6依次进行综合分计算。根据步骤4得到的结果,对歌曲3的收藏概率、下载概率、分享概率预测值为
Figure GDA0003781132550000228
对歌曲5的收藏概率、下载概率、分享概率预测值为
Figure GDA0003781132550000229
对歌曲6的收藏概率、下载概率、分享概率预测值为
Figure GDA00037811325500002210
设置的收藏、下载率预测目标、分享率预测目标的权重参数为60%,10%,30%。则针对歌曲3的综合分为0.9*60%+0.6*10%+0.4*30%=0.72,则针对歌曲5的综合分为0.3*60%+0.4*10%+0.1*30%=0.25,则针对歌曲6的总期望值为0.6*60%+0.9*10%+0.4*30%=0.57。因此,按综合分从大到小排序是:歌曲3,歌曲6,歌曲5。假设所述音乐推荐系统需要每次为用户推荐一首歌曲,则为用户user_1推荐歌曲3。
步骤2中所述采用梯度下降法对系统进行训练的具体内容是:基于用户-待推荐对象多目标预测概率集合Prob,利用随机梯度下降法优化系统模型,希望正负样本的各个行为的发生概率预测值都尽可能接近其真实标签,此外为目标函数增加一个附加项以鼓励标签相似的待推荐对象在系统模型中提取到的特征表示向量也相似;统计两两待推荐对象的标签交集中的标签个数集合Count并进行最大值归一化后保存为M*M个标量的集合W;将待推荐对象a的标签集合记作A、待推荐对象b的标签集合记作B,则a和b的标签交集中的标签个数为
Figure GDA0003781132550000231
进行最大值归一化后得到标签共现度
Figure GDA0003781132550000232
下面以前面所述的音乐推荐系统进行示例说明:
歌曲库共7首歌曲,即7个待推荐歌曲,歌曲的标签数据如下。
歌曲 标签
歌曲1 伤感
歌曲2 手机彩铃
歌曲3 动听、伤感
歌曲4 伤感、离别、手机彩铃
歌曲5 欢快
歌曲6 欢快、手机彩铃
歌曲7 离别、伤感
则两两歌曲之间的标签交集中的标签个数集合Count为
Count 歌曲1 歌曲2 歌曲3 歌曲4 歌曲5 歌曲6 歌曲7
歌曲1 0 0 1 1 0 0 1
歌曲2 0 0 0 1 0 1 0
歌曲3 1 0 0 1 0 0 1
歌曲4 1 1 1 0 0 1 2
歌曲5 0 0 0 0 0 1 0
歌曲6 0 1 0 1 1 0 0
歌曲7 1 0 1 2 0 0 0
则max(Count)=2,以歌曲1和歌曲3为例,歌曲1和歌曲3的标签关联度等于
Figure GDA0003781132550000233
系统的优化目标函数定义如下:
Figure GDA0003781132550000241
其中S+表示正样本集合,S-表示负样本集合,|S+|表示正样本个数,|S-|表示负样本个数,
Figure GDA0003781132550000242
表示正负样本中用户i对交互对象j的B1,...,BP行为的真实标签,0表示没有发生,1表示发生,
Figure GDA0003781132550000243
表示系统模型预测得到的用户i在第T+1个时间槽下对待推荐对象j发生B1,...,BP行为的概率,|Q|表示待推荐对象特征表示向量集合中元素的个数,即待推荐对象个数,Wab表示待推荐对象a和b的标签共现度,即代表标签相似程度,|Qa-Qb|表示待推荐对象a和b的特征表示向量之间的欧式距离,
Figure GDA0003781132550000244
是每个预测目标的对数损失函数,B1,...,BP每个行为的发生概率的预测作为一个预测目标,Wab|Qa-Qb|是附加项,以鼓励标签相似的待推荐对象a和b在系统模型中提取到的特征表示向量Qa、Qb也相似。
参数更新方法选用自适应矩估计ADAM优化器。
对于步骤2和步骤3,要按照设定的周期,对系统进行离线训练,保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值。
步骤3中所述的用户兴趣表示向量最优值
Figure GDA0003781132550000245
要根据用户的实时行为进行实时增量更新,具体为:当用户i产生新行为时,将交互对象ID的one-hot向量记作S'i
通过以下公式更新
Figure GDA0003781132550000246
Figure GDA0003781132550000247
其中,attention()表示权重生成模块的输出值,即
Figure GDA0003781132550000248
表示S'i在B1行为预测目标中的权重;GRU1',...,GRUk'代表GRU网络共享模块中GRU1,...,GRUk的最后一个单元;直接将
Figure GDA0003781132550000249
作为倒数第二个单元输入给最后一个单元的记忆信息,而不需要再重复计算一遍除最后一个单元外的其他单元;将attention()与
Figure GDA00037811325500002410
拼接后的向量作为输入给最后一个单元的向量;SNR()表示经过SNR子网络路由模块的所有计算步骤产生的输出结果;括号内代表其需要的所有输入。
下面以前面所述的音乐推荐系统进行示例说明:
假设用户user_1产生了新行为:收藏了歌曲6,则通过公式
Figure GDA0003781132550000251
实时更新U'收藏,U'下载,U'分享。此公式代表的计算过程为:将保存好的用户user_1在收藏歌曲方面的8维用户兴趣表示向量
Figure GDA0003781132550000252
和歌曲6的one-hot向量S'1=[0,0,0,0,0,1,0]进行拼接,输入给权重生成模块的网络得到权重值
Figure GDA0003781132550000253
Figure GDA0003781132550000254
同理,得到
Figure GDA0003781132550000255
Figure GDA0003781132550000256
Figure GDA0003781132550000257
Figure GDA0003781132550000258
分别与
Figure GDA0003781132550000259
拼接后输入给GRU1',GRU2',GRU3',GRU1',GRU2',GRU3'分别代表GRU1,GRU2,GRU3的最后一个单元。将GRU1',GRU2',GRU3'输出的3个结果向量输入到SNR子网络路由模块,SNR子网络路由模块的输出结果即更新后的
Figure GDA00037811325500002510
Figure GDA00037811325500002511
替换U'收藏,U'下载,U'分享集合中原有的
Figure GDA00037811325500002512
发明人对所提系统和方法进行了大量实验,并与现有的一些具有代表性的多目标推荐模型进行了对比实验,这些多目标推荐模型包括MOSE(Mixture of SequentialExperts)、MMOE(Multi-gate Mixture-of-Experts)以及单目标推荐模型GRU模型。对比实验结果如下:
对比模型 收藏率预测目标auc 下载率预测目标auc 分享率预测目标auc
本发明所述方法 0.7863 0.7658 0.7644
GRU模型 0.7838 0.7616 0.7599
MOSE模型 0.7854 0.7610 0.7596
MMOE模型 0.7688 0.7479 0.7523
实验结果表明本发明提出的方法在三个预测目标的效果评估值中都是最高的。auc指标是推荐系统中排序算法最常用的评估指标,auc评估值越高代表推荐效果越好。
实验结果表明本发明的方法和系统是有效的。

Claims (5)

1.一种基于多任务学习的多目标推荐系统,其特征在于:所述系统包括用户多种行为序列获取模块、权重生成模块、GRU网络共享模块、SNR子网络路由模块、特征提取模块和多目标预测模块;各模块的功能如下:
用户多种行为序列获取模块的功能是:
(1)构造用户行为序列集合S,具体是:选取N位用户,根据用户行为类型将行为分为P种行为,分别记作B1,...,BP,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”;为每位用户分别选取其发生了行为B1,...,BP的交互对象ID,并按行为发生时间的先后顺序排列,来构成用户行为序列,所述交互对象是指音乐;将每位用户的历史行为的发生时间划分为T个时间槽;用户行为元组
Figure FDA0003790087050000011
表示第i位用户在第t个时间槽对交互对象o所发生的多种交互行为,
Figure FDA0003790087050000012
表示是否发生了行为B1,...,BP;所有用户的行为元组组成用户行为序列集合S,集合S包括N*T个(M+P)维向量,其中M为待推荐对象的总数,所有待推荐对象组成的集合等于所有交互对象组成的集合;用户i在第t个时间槽的行为Sit是(M+P)维向量,前M项Sit[0:M-1]是用户i在第t个时间槽的交互对象ID的one-hot向量,后P项Sit[M:M+P-1]是用户i在第t个时间槽与交互对象发生的行为类型的multi-hot向量;
(2)构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-,具体是:遍历用户行为序列集合S,每次读入一个用户行为元组,则向正样本集合S+和负样本集合S-中分别加入一个三元组,具体为:读入用户i第t个时间槽的用户行为元组
Figure FDA0003790087050000013
向正样本集合S+中加入一个三元组{xi,j,Yij},其中xi为用户i前t-1个时间槽的交互对象序列,即xi={Si1[0:M-1],...,Sit-1[0:M-1]},由于xi序列长度小于T,所以在序列xi首位补充一个或多个0使得序列xi长度为T,j为用户i第t个时间槽的交互对象ID的one-hot向量,即j=Sit[0:M-1],Yij是正样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure FDA0003790087050000014
即Yij=Sit[M:M+P-1];向负样本集合S-中加入一个三元组{xi,j,Yij},其中xi与上述正样本相同,j为用户i第t个时间槽任意一个未交互的对象ID的one-hot向量,Yij是负样本的B1,...,BP行为的真实标签,Yij包括P个值分别记作
Figure FDA0003790087050000015
因为是负样本所以Yij全为0值;负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
GRU网络共享模块的功能是:
GRU网络共享模块包含k个并列的GRU网络,k值等于用户行为类型总数P,将k个GRU网络分别记作GRU1,...,GRUk;每个GRU网络的隐藏层单元数设定为K,利用其结构中的复位门和更新门,自动筛选出用户历史行为序列中的有用信息和用户当前行为中的重要信息,综合考虑用户的历史兴趣和即时兴趣,将用户i截止到第T个时间槽的序列信息提取为一个K维向量并输出;将k个GRU网络的输出分别记作
Figure FDA0003790087050000021
所述GRU网络的每一个都包含多个相同的网络单元,单元数量等于行为序列长度,每个单元对应一个时间槽;所述GRU网络以权重生成模块所输出的用户加权交互对象序列作为输入,输出最后一个单元的输出向量hiT;第t个网络单元中,复位门和更新门是并行的两个单层全连接神经网络,以输入序列中的第t个元素向量和上一个网络单元的输出向量hit-1的(M+K)维拼接向量为输入,以sigmoid为激活函数,输出结果即历史信息相关权重rit和即时信息相关权重uit,得到rit和uit后,通过一个单层全连接神经网络生成候选激活向量
Figure FDA0003790087050000022
该网络以输入序列中的第t个元素向量和加权后的上一个网络单元的输出向量rit*hit-1的(M+K)维拼接向量为输入,以tanh为激活函数,输出结果即K维候选激活向量
Figure FDA0003790087050000023
将uit作为
Figure FDA0003790087050000024
的权重、(1-uit)作为hit-1的权重,对
Figure FDA0003790087050000025
和hit-1进行加权求和得到第t个网络单元的输出向量hit,即
Figure FDA0003790087050000026
SNR子网络路由模块的功能是:以所述GRU网络共享模块的输出结果
Figure FDA0003790087050000027
作为输入,对
Figure FDA0003790087050000028
进行加权求和后输出用户兴趣表示向量
Figure FDA0003790087050000029
其中
Figure FDA00037900870500000210
是用户i第T+1个时间槽时在行为B1的预测目标中的用户兴趣表示向量,
Figure FDA00037900870500000211
是用户i第T+1个时间槽时在行为BP的预测目标中的用户兴趣表示向量,维度为K;所有用户第T+1个时间槽时在每种行为的预测目标中的用户兴趣表示向量分别构成集合
Figure FDA00037900870500000212
所有用户第T+1个时间槽时在所有行为的预测目标中的用户兴趣表示向量构成集合U;所述预测目标为根据用户i前T个时间槽的交互行为预测用户i第T+1个时间槽对待推荐对象j发生B1,...,BP行为的概率,每个行为的预测作为一个预测目标,每个预测目标对应一个用户兴趣表示向量;同一用户在不同预测目标中的偏好并不相同,因此SNR子网路由模块为每个预测目标分别输出一个用户兴趣表示向量;
SNR子网络路由模块作为所述的GRU网络共享模块和多目标预测模块之间的连接模块,将上下级网络之间的两两连接情况抽象为编码变量z;学习所述的编码变量z相当于学习所述的GRU网络共享模块的每个输出结果在多目标预测模块的输入信息中所占的权重,权重接近0则相当于对应连接断开,实现自动学习网络共享结构的功能;
根据所述的编码变量z,用户i第T+1个时间槽的用户兴趣表示向量的计算公式为:
Figure FDA0003790087050000031
其中z=[z11,…,z1k,…,zP1,…,zPk]是P*k维向量;
根据以下公式来生成z:
Figure FDA0003790087050000032
z=g(s)=min(1,max(0,s(δ-γ)+γ)),其中u是符合均匀分布的P*k维随机向量,log(a)为需要学习的参数,将其初始化为按照正态分布生成的P*k维随机向量,随着训练进行端到端学习,其他参数为超参数,使得编码变量z可以基于梯度进行优化;
所述SNR子网络路由模块中编码变量z的生成公式中的超参数β、δ、γ,通过网格搜索方式寻找最佳值;
权重生成模块的功能是:根据与每个预测目标的相关度对输入序列中的元素进行加权,缓解频率低的行为被淹没的问题;将所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure FDA0003790087050000033
和第1,2,...,T个时间槽的用户交互对象Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]作为所述权重生成模块的输入,即分别拼接
Figure FDA0003790087050000034
与Si1[0:M-1],Si2[0:M-1],...,SiT[0:M-1]组成所述权重生成模块的输入矩阵
Figure FDA0003790087050000035
其中concat()表示两个向量的拼接操作,所述权重生成模块首先计算出分别作为每个预测目标下第1,2,...,T个时间槽的交互对象对于用户i的P*T个权重值,记作
Figure FDA0003790087050000041
所述权重生成模块需要判断所述系统是否尚未存在用户i的用户兴趣表示向量
Figure FDA0003790087050000042
若是,则不执行上述权重生成模块的所有计算,直接使用系统新用户默认权重值,即上述P*T个权重值全部直接赋值为1;
然后根据上述权重值,计算用户i第1,2,...,T个时间槽的用户加权交互对象
Figure FDA0003790087050000043
计算公式为:
Figure FDA0003790087050000044
k与P是相等的,一共有k*T个;
所述用户i第1,2,...,T个时间槽的用户加权交互对象
Figure FDA0003790087050000045
将分别作为用户i第T+1个时间槽的所述GRU网络共享模块的第1、2、…、k个GRU网络的输入序列的第1,2,...,T个元素,即
Figure FDA0003790087050000046
作为用户i第T+1个时间槽的所述GRU网络共享模块的第1个GRU网络的输入序列,
Figure FDA0003790087050000047
作为用户i第T+1个时间槽的所述GRU网络共享模块的第k个GRU网络的输入序列;
所述权重生成模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用sigmoid激活函数;输入层节点数等于M+K,输出层节点数等于1,第一层隐藏层节点数等于
Figure FDA0003790087050000048
第二层隐藏层节点数等于
Figure FDA0003790087050000049
符号
Figure FDA00037900870500000410
表示上取整运算;
特征提取模块的功能是:构造所有待推荐对象的特征表示向量集合Q,具体为:根据待推荐对象j的属性的不同进行不同的预处理:对对象j的离散属性进行one-hot处理,对对象j的连续属性进行归一化处理,将所有预处理后的属性拼接为一个向量作为所述特征提取模块的输入;所述特征提取模块的输出为待推荐对象j的特征表示向量Qj,维度为K;所有待推荐对象的特征表示向量组成包含M个K维向量的集合Q;通过所述特征提取模块,减少人工特征提取的不准确性,更好地编码深层次复杂特征作为待推荐对象的特征表示;
所述特征提取模块的网络结构为一个MLP网络,包括一个输入层、两个隐藏层和一个输出层,均采用ReLU激活函数;输入层节点数等于所有属性预处理后拼接成的向量维度记作F,输出层节点数等于K,第一层隐藏层节点数等于
Figure FDA0003790087050000051
第二层隐藏层节点数等于
Figure FDA0003790087050000052
符号[]表示取整运算;
多目标预测模块的功能是:每个预测目标分别对应一个独立的MLP网络,记作
Figure FDA0003790087050000053
分别以所述的SNR子网络路由模块输出的用户i第T+1个时间槽的用户兴趣表示向量
Figure FDA0003790087050000054
和待推荐对象特征表示向量集合Q作为输入,则最终第i位用户第T+1个时间槽输出的对待推荐对象j的多目标预测概率为
Figure FDA0003790087050000055
其中
Figure FDA0003790087050000056
是用户i第T+1个时间槽对待推荐对象j的发生行为B1的预测概率,
Figure FDA0003790087050000057
是用户i第T+1个时间槽对待推荐对象j的发生行为BP的预测概率;
Figure FDA0003790087050000058
是所述多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作;对于
Figure FDA0003790087050000059
每个网络的结构均为:一个输入层、一个隐藏层和一个输出层,输入层节点数为K*2,隐藏层节点数为K/2,隐藏层使用ReLU激活函数,输出层节点数为2,输出层使用softmax损失函数,两个输出节点值分别代表发生对应交互行为的概率和不发生对应交互行为的概率,只保存第一个节点的值即发生此行为的概率记作
Figure FDA00037900870500000510
从而构造用户-待推荐对象多目标预测概率集合Prob。
2.一种基于多任务学习的多目标推荐方法,其特征在于:所述方法包括如下操作步骤:
(1)根据用户与交互对象的交互行为,用户多种行为序列获取模块构建构造用户行为序列集合S,所述交互对象是指音乐;构造用于系统训练的用户行为序列正样本集合S+和负样本集合S-
用户行为序列数据用于模型训练时,划分方式为:分别给定用户前1,2,...,T-1个时间槽的用户行为序列,预测该用户第2,3,...,T个时间槽时与待推荐对象j发生行为B1,...,BP的概率,其中P=3,表示用户行为类型分为3种:收藏、下载和分享,即B1=“收藏”,B2=“下载”,B3=“分享”,对于每个正的样本,随机抽取一个负的样本;负样本集合S-中的每个负样本与正样本集合S+中的每个正样本一一对应,训练时S+、S-中的数据交替按批量读取;
用户行为序列数据用于模型预测时,划分方式为:给定用户前T个时间槽的用户行为序列,预测该用户第T+1个时间槽时与待推荐对象j发生行为B1,...,BP的概率,每个行为的预测作为一个任务;
(2)使用所述的用户行为序列正样本集合S+和负样本集合S-,对系统进行训练,即:采用梯度下降法,对用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob构成中涉及的所有权重参数以及SNR子网络路由模块中的分布参数进行优化;具体内容如下:
先执行前向传播,计算用户兴趣表示向量集合U、待推荐对象特征表示向量集合Q、用户-待推荐对象多目标预测概率集合Prob,再执行反向传播对系统各个模块中所有神经网络层的权值参数、SNR子网络路由模块的分布参数进行反向调整;重复上述过程直至收敛;
对于系统模块中涉及到的超参数,即:GRU网络共享模块中GRU网络的隐藏层单元数K、SNR子网络路由模块中编码变量z的生成公式中的β、δ、γ,通过网格搜索方式寻找最佳值;
(3)保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值,具体为:计算并保存所有待推荐对象的特征表示向量集合Q的最优值Q';计算并保存所有用户的第T+1个时间槽的最优中间结果,对用户i,计算并保存用户i第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果记作
Figure FDA0003790087050000061
Figure FDA0003790087050000062
并保存所有用户第T+1个时间槽的GRU网络共享模块中GRU1,...,GRUk的输出结果所构成的k个集合H1,...,Hk,H1,...,Hk均为N个K维向量的集合;计算并保存用户i第T+1个时间槽的兴趣表示向量
Figure FDA0003790087050000063
的最优值
Figure FDA0003790087050000064
计算并保存所有用户第T+1个时间槽的用户兴趣表示向量
Figure FDA0003790087050000065
的最优值
Figure FDA0003790087050000066
均为N个K维向量的集合;
(4)模型预测,即基于所述的最优系统模型saved_model、根据用户兴趣表示向量最优值
Figure FDA0003790087050000067
待推荐对象特征表示向量最优值Q',并根据用户行为序列集合S,预测每个用户的未来行为,即预测用户i在第T+1个时间槽下对所有待推荐对象的B1,...,BP行为的发生概率,具体为:对待推荐对象j,预测用户i在第T+1个时间槽下的B1,...,BP行为的发生概率是
Figure FDA0003790087050000068
其中
Figure FDA0003790087050000071
是多目标预测模块中每个预测目标对应的MLP网络,concat()表示两个向量的拼接操作,
Figure FDA0003790087050000072
是用户i在每个预测目标中的用户兴趣表示向量最优值,Q'j是待推荐对象j的特征表示向量最优值;待推荐对象特征表示向量与当前预测目标中的用户兴趣表示向量越相近的待推荐对象获得的预测概率越高;
(5)根据设置的每个预测目标的权重参数
Figure FDA0003790087050000073
对所述的用户i在第T+1个时间槽下对所有待推荐对象发生B1,...,BP行为的预测概率进行加权求和得到用户i对所有待推荐对象的综合得分,具体为:对待推荐对象j,对所述的用户i在第T+1个时间槽下发生B1,...,BP行为的预测概率
Figure FDA0003790087050000074
进行加权求和得到用户i对待推荐对象j的综合得分
Figure FDA0003790087050000075
对所有待推荐对象的综合得分进行排序;按照排序结果,将所述得分最高的待推荐对象推荐至用户i。
3.根据权利要求2所述的一种基于多任务学习的多目标推荐方法,其特征在于:步骤2中所述采用梯度下降法对系统进行训练的具体内容是:基于用户-待推荐对象多目标预测概率集合Prob,利用随机梯度下降法优化系统模型,希望正负样本的各个行为的发生概率预测值都尽可能接近其真实标签,此外为目标函数增加一个附加项以鼓励标签相似的待推荐对象在系统模型中提取到的特征表示向量也相似;统计两两待推荐对象的标签交集中的标签个数集合Count并进行最大值归一化后保存为M*M个标量的集合W;将待推荐对象a的标签集合记作A、待推荐对象b的标签集合记作B,则a和b的标签交集中的标签个数为
Figure FDA0003790087050000076
进行最大值归一化后得到标签共现度
Figure FDA0003790087050000077
系统的优化目标函数定义如下:
Figure FDA0003790087050000078
其中S+表示正样本集合,S-表示负样本集合,|S+|表示正样本个数,|S-|表示负样本个数,
Figure FDA0003790087050000081
表示正负样本中用户i对交互对象j的B1,...,BP行为的真实标签,0表示没有发生,1表示发生,
Figure FDA0003790087050000082
表示系统模型预测得到的用户i在第T+1个时间槽下对待推荐对象j发生B1,...,BP行为的概率,|Q|表示待推荐对象特征表示向量集合中元素的个数,即待推荐对象个数,Wab表示待推荐对象a和b的标签共现度,即代表标签相似程度,|Qa-Qb|表示待推荐对象a和b的特征表示向量之间的欧式距离,
Figure FDA0003790087050000083
是每个预测目标的对数损失函数,B1,...,BP每个行为的发生概率的预测作为一个预测目标,Wab|Qa-Qb|是附加项,以鼓励标签相似的待推荐对象a和b在系统模型中提取到的特征表示向量Qa、Qb也相似;
参数更新方法选用自适应矩估计ADAM优化器。
4.根据权利要求2所述的一种基于多任务学习的多目标推荐方法,其特征在于:对于步骤2和步骤3,要按照设定的周期,对系统进行离线训练,保存训练好的系统最优模型saved_model,并通过系统最优模型saved_model计算并保存相关数据的最优值。
5.根据权利要求2所述的一种基于多任务学习的多目标推荐方法,其特征在于:步骤3中所述的用户兴趣表示向量最优值
Figure FDA0003790087050000084
要根据用户的实时行为进行实时增量更新,具体为:当用户i产生新行为时,将交互对象ID的one-hot向量记作S'i
通过以下公式更新
Figure FDA0003790087050000085
Figure FDA0003790087050000086
其中,attention()表示权重生成模块的输出值,即
Figure FDA0003790087050000087
表示S'i在B1行为预测目标中的权重;GRU1',...,GRUk'代表GRU网络共享模块中GRU1,...,GRUk的最后一个单元;直接将
Figure FDA0003790087050000088
作为倒数第二个单元输入给最后一个单元的记忆信息,而不需要再重复计算一遍除最后一个单元外的其他单元;将attention()与
Figure FDA0003790087050000089
拼接后的向量作为输入给最后一个单元的向量;SNR()表示经过SNR子网络路由模块的所有计算步骤产生的输出结果;括号内代表其需要的所有输入。
CN202110157059.1A 2021-02-04 2021-02-04 一种基于多任务学习的多目标推荐方法及系统 Expired - Fee Related CN112905648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110157059.1A CN112905648B (zh) 2021-02-04 2021-02-04 一种基于多任务学习的多目标推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110157059.1A CN112905648B (zh) 2021-02-04 2021-02-04 一种基于多任务学习的多目标推荐方法及系统

Publications (2)

Publication Number Publication Date
CN112905648A CN112905648A (zh) 2021-06-04
CN112905648B true CN112905648B (zh) 2022-09-20

Family

ID=76122641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110157059.1A Expired - Fee Related CN112905648B (zh) 2021-02-04 2021-02-04 一种基于多任务学习的多目标推荐方法及系统

Country Status (1)

Country Link
CN (1) CN112905648B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113378045B (zh) * 2021-06-08 2024-02-09 深圳Tcl新技术有限公司 数字内容分发方法、装置及存储介质
CN113254792B (zh) * 2021-07-15 2021-11-02 腾讯科技(深圳)有限公司 训练推荐概率预测模型的方法、推荐概率预测方法及装置
CN115705583A (zh) * 2021-08-09 2023-02-17 财付通支付科技有限公司 多目标预测方法、装置、设备及存储介质
CN114708584A (zh) * 2022-03-31 2022-07-05 重庆中烟工业有限责任公司 基于大数据的卷烟产品质量缺陷防控学习系统及方法
CN114722238B (zh) * 2022-05-13 2022-09-30 北京达佳互联信息技术有限公司 视频推荐方法、装置、电子设备、存储介质及程序产品
CN116244517B (zh) * 2023-03-03 2023-11-28 北京航空航天大学 基于层次化信息抽取网络的多场景多任务的模型训练方法
CN116523608B (zh) * 2023-07-03 2023-08-29 苏州大学 基于概率逻辑推理的物品序列推荐方法
CN116911955B (zh) * 2023-09-12 2024-01-05 深圳须弥云图空间科技有限公司 目标推荐模型的训练方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107909421A (zh) * 2017-09-29 2018-04-13 中国船舶重工集团公司第七0九研究所 一种基于用户空间的多gru层神经网络的隐含反馈推荐方法及系统
CN110334741A (zh) * 2019-06-06 2019-10-15 西安电子科技大学 基于循环神经网络的雷达一维距离像识别方法
CN111429234A (zh) * 2020-04-16 2020-07-17 电子科技大学中山学院 一种基于深度学习的商品序列推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176330B2 (en) * 2019-07-22 2021-11-16 Advanced New Technologies Co., Ltd. Generating recommendation information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107909421A (zh) * 2017-09-29 2018-04-13 中国船舶重工集团公司第七0九研究所 一种基于用户空间的多gru层神经网络的隐含反馈推荐方法及系统
CN110334741A (zh) * 2019-06-06 2019-10-15 西安电子科技大学 基于循环神经网络的雷达一维距离像识别方法
CN111429234A (zh) * 2020-04-16 2020-07-17 电子科技大学中山学院 一种基于深度学习的商品序列推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多任务学习和用户行为序列的音乐推荐系统设计与实现;陈维玮;《中国优秀硕士学位论文全文数据库》;20220115;全文 *

Also Published As

Publication number Publication date
CN112905648A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112905648B (zh) 一种基于多任务学习的多目标推荐方法及系统
Huang et al. A deep reinforcement learning based long-term recommender system
US11531900B2 (en) Imitation learning for machine learning systems with synthetic data generators
CN111241311B (zh) 媒体信息推荐方法、装置、电子设备及存储介质
CN107423442B (zh) 基于用户画像行为分析的应用推荐方法及系统,储存介质及计算机设备
Song et al. Poisonrec: an adaptive data poisoning framework for attacking black-box recommender systems
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
Kabir et al. A new wrapper feature selection approach using neural network
Yang et al. Finding progression stages in time-evolving event sequences
WO2019067960A1 (en) AGGRESSIVE DEVELOPMENT USING COOPERATIVE GENERATORS
CN112150210A (zh) 一种基于ggnn网络的改进型神经网络推荐方法及系统
CN110781409B (zh) 一种基于协同过滤的物品推荐方法
CN110955826B (zh) 基于改进型循环神经网络单元的推荐系统
CN111400603A (zh) 一种信息推送方法、装置、设备及计算机可读存储介质
CN111506820A (zh) 推荐模型、方法、装置、设备及存储介质
CN111723910A (zh) 构建多任务学习模型的方法、装置、电子设备及存储介质
CN111611488A (zh) 基于人工智能的信息推荐方法、装置、电子设备
CN113344615A (zh) 一种基于gbdt和dl融合模型的营销活动预测方法
CN115618101A (zh) 基于负反馈的流媒体内容推荐方法、装置及电子设备
CN115438787A (zh) 行为预测系统的训练方法及装置
CN111506821A (zh) 推荐模型、方法、装置、设备及存储介质
CN117216281A (zh) 一种基于知识图谱的用户兴趣扩散推荐方法及系统
CN114840745A (zh) 一种基于图表征学习和深度语义匹配模型的个性化推荐方法及系统
CN114691838A (zh) 聊天机器人搜索推荐模型的训练、推荐方法及电子设备
US20220261683A1 (en) Constraint sampling reinforcement learning for recommendation systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220920