CN114117220A - 基于知识增强的深度强化学习交互式推荐系统及方法 - Google Patents

基于知识增强的深度强化学习交互式推荐系统及方法 Download PDF

Info

Publication number
CN114117220A
CN114117220A CN202111420425.4A CN202111420425A CN114117220A CN 114117220 A CN114117220 A CN 114117220A CN 202111420425 A CN202111420425 A CN 202111420425A CN 114117220 A CN114117220 A CN 114117220A
Authority
CN
China
Prior art keywords
user
item
project
representing
representation
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.)
Pending
Application number
CN202111420425.4A
Other languages
English (en)
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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN202111420425.4A priority Critical patent/CN114117220A/zh
Publication of CN114117220A publication Critical patent/CN114117220A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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
    • G06N3/045Combinations of networks
    • 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)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于知识增强的深度强化学习交互式推荐系统及方法,涉及推荐技术领域。本系统包括数据采集清洗模块、环境模拟器构建模块、知识图谱构建模块、图卷积模块、用户状态表示模块、策略网络模块和值网络模块。本发明结合知识图谱中丰富的语义信息,利用图卷积网络结构,沿着高阶连通性递归地传播相邻实体的嵌入表示,并采用图注意力网络思想,利用知识图谱中丰富的语义信息增强项目表示,同时又融合了用户‑项目二部图,从集体的用户行为充分挖掘潜在关系,从而准确捕捉用户的动态偏好,并利用深度强化学习自主学习最优推荐策略,从而提高推荐准确度。

Description

基于知识增强的深度强化学习交互式推荐系统及方法
技术领域
本发明涉及推荐技术领域,尤其涉及一种基于知识增强的深度强化学习交互式推荐系统及方法。
背景技术
随着抖音、潘多拉电台和Instagram Feeds等移动应用软件的快速发展,现有的推荐系统面临着巨大的压力,需要应对不断涌现的新用户、用户兴趣的不断变化以及环境的动态变化等问题。但是传统的推荐方法,如基于内容的推荐方法和基于矩阵分解的推荐方法等,它们都假设用户兴趣是静止不变的,通过从用户和项目之间的历史交互数据中学习用户对项目的偏好。然而,这些方法往往忽略了用户兴趣和环境的动态变化。此外,现有的大多数推荐系统都是为了最大化推荐的即时(短期)回报,即让用户购买推荐的商品,而完全忽略了这些推荐商品在未来是否会带来更有利可图(长期)的回报。
与传统推荐不同,交互式推荐系统是一个多步决策过程。在每一个步骤中,系统按顺序向用户推荐一个(或一系列)项目,用户与这些项目交互并提供相应的反馈,通过在迭代过程中接收反馈来调整推荐策略。近年来,由于深度强化学习在动态环境下的决策和长期规划方面具有巨大潜力,研究人员将深度强化学习模型应用到交互式推荐中。目前现有的基于强化学习的交互式推荐方法仍然存在两个局限性:(1)现有的交互式推荐方法大多利用历史交互记录学习策略,然而由于用户反馈稀疏和动作空间庞大,造成很难高效的学习到最优的推荐策略;(2)现有的基于强化学习的方法,孤立地表示每个单独用户的状态/动作,尚未考虑不同用户之间的潜在关系。基于此,本发明提出利用知识图谱和用户-项目二部图存在的语义相关性和结构相关性,缓解数据稀疏的问题。同时,利用图神经网络的邻域传播机制,递归传播邻域节点信息,增强项目表示,并根据用户动态偏好的演化的采用深度强化学习方法自主学习最优的推荐策略,从而提高推荐准确率。
发明内容
针对现有技术的不足,本发明提供一种基于知识增强的深度强化学习交互式推荐系统及方法,利用知识图谱中丰富的语义信息增强项目表示,同时又融合了用户-项目二部图,从集体的用户行为充分挖掘潜在关系,从而准确捕捉用户的动态偏好,并利用深度强化学习自主学习最优推荐策略,从而提高推荐准确度。
为解决上述技术问题,本发明所采取的技术方案是:
一方面,一种基于知识增强的深度强化学习交互式推荐系统,包括数据采集清洗模块、环境模拟器构建模块、知识图谱构建模块、图卷积模块、用户状态表示模块、策略网络模块和值网络模块。
所述数据采集清洗模块用于采集清洗系统中产生的历史交互记录,历史交互记录包括用户信息、交互记录中的交互项目信息,经过数据清洗操作后对剩余数据进行存储;所述用户信息为用户的ID,所述交互项目信息包括项目ID,交互项目的评分以及交互的时间;
所述环境模拟器构建模块根据用户与项目的历史交互信息,构建交互式推荐模拟器来模拟在线环境,即根据相应推荐的反馈来模拟奖励,并将顺序奖励与原始奖励相结合,作为最终的奖励值;
所述环境模拟器构建模块根据用户与项目的交互历史信息,构建交互式推荐模拟器来模拟在线推荐系统环境,即根据相应用户对项目的评分作为其原始奖励,并结合顺序奖励作为最终的奖励值;所述的顺序奖励为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,其中在交互中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn
所述知识图谱构建模块用于根据用户与项目的历史交互信息,构建用户-项目二部图以及根据项目的属性信息构建项目-属性知识图谱,并将用户-项目二部图和项目-属性知识图谱两者组成统一的图;
所述图卷积模块包括两部分,分别为语义特征的提取以及结构特征的提取与融合;所述语义特征的提取通过知识图谱嵌入方法将实体和关系参数化为向量表示;所述实体包括用户、项目以及项目的属性信息,关系参数为用户、项目以及项目的属性信息之间存在的联系。所述结构特征的提起与融合,是利用图卷积的邻域传播机制提取结构特征,并结合图注意力网络的思想,根据重要度将邻居节点信息聚合到目标实体中,从而获得项目的嵌入表示;
所述用户状态表示模块通过采用自注意力机制捕获项目之间的长期语义,提取用户的状态嵌入表示;
所述策略网络模块将当前观测的用户状态嵌入表示作为输入,输出基于当前的用户状态所生成的动作向量以及推荐的项目;
所述值网络模块,将当前的用户状态以及所生成的动作向量作为输入,负责对当前生成的动作向量进行评估,从而根据评估结果对当前推荐方法进行调整;
另一方面,一种基于知识增强的深度强化学习交互式推荐方法,基于前述一种基于知识增强的深度强化学习交互式推荐系统实现,包括以下步骤:
步骤1:数据采集清洗模块对产生的历史交互记录进行数据清洗操作,去除交互次数少于预设N次的用户,针对用户与同一项目多次交互,保留时间戳最近的一次交互记录,获取用户与物品交互信息,并根据时间戳按顺序对每个用户的交互记录进行排序;
步骤2、采用环境模拟器模块,根据步骤1中获取的用户与物品交互信息,建立基于离线数据集下的环境模拟器,该模拟器将原始奖励和顺序奖励相结合,具体步骤如下:
步骤2.1、根据步骤1中获取的用户与物品交互信息,利用矩阵分解方法来训练用户和项目的嵌入表示,其计算公式如下;
Figure BDA0003376505480000031
其中,rui表示用户u对项目i的评分,pu表示用户的嵌入表示,qi表示项目的嵌入表示,η为正则化系数,防止过拟合,p*表示学习到最优用户的嵌入表示,q*表示学习到最优项目嵌入表示,K表示用户与项目交互集合;
步骤2.2、根据步骤2.1中的用户和项目的嵌入表示,通过内积得到每个用户对所有项目预测评分,并将评分归一化到[-1,1]的范围内,作为用户的原始奖励;
步骤2.3、将历史交互记录中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn,其顺序奖励表示为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,将顺序奖励与原始奖励相结合,得到最终的奖励函数,计算公式如下:
R(st,it)=ri,j+λ(cp-cn)
其中,st表示t时刻下当前用户所处的状态,it表示t时刻下推荐系统所推荐的项目,ri,j表示模拟器给出的预测评分,cp和cn在交互序列中连续正向反馈和负向反馈的个数,λ为衰减因子;
步骤3、采用知识图谱构建模块,根据步骤1中获取的用户与物品交互信息,构建用户-项目二部图;根据项目的属性信息,构建项目-属性知识图谱,具体步骤如下:
步骤3.1、获取用户与物品交互信息,将每个用户的交互信息表示为一个三元组形式(u,Interact,i),其中u为用户的ID,Interact表示用户与项目的交互关系,i表示项目ID,将历史交互记录中的每个用户的交互信息三元组组成一个总的结合,即为用户-项目二部图G1
步骤3.2、针对历史交互记录中的每个项目,采用Microsoft Satori公开知识数据库,通过项目名称映射到知识数据库中的一个实体,通过匹配项目名称提取该实体ID对应的所有知识图谱三元组;
步骤3.3、将历史交互记录中的每个项目的知识图谱三元组组成一个总的结合,即为基于历史交互记录的知识图谱G2
步骤3.4、将用户-项目二部图G1和知识图谱G2组合混合知识图谱G。
步骤4、采用图卷积模块,分别进行语义特征的提取以及结构特征的提取与融合,最终获得增强的项目嵌入表示,具体步骤如下:
步骤4.1、给定用户u,采用在线模拟用户u的交互行为,与推荐系统交互n次,获得历史交互序列ot={i1,i2,...,in},并根据步骤2的环境模拟器,得出用户u针对每一次与项目交互的原始奖励Rt={r1,r2,...,rn},其中in表示交互的第n个项目,rn表示对交互的第n个项目的原始奖励;
步骤4.2、获取用户的正向反馈,根据步骤4.1的用户的原始奖励筛选出用户的正向反馈,得到当前的用户状态表示,若正向反馈序列长度小于n,则选择随机一个项目作为填充至序列长度为n;
步骤4.3、根据步骤3获取的混合知识图谱G,采用知识表示学习方法学习混合知识图谱中的实体和关系的嵌入表示,从而得到用户和项目的嵌入表示;
步骤4.3.1、将实体和关系嵌入化表示,随机初始化为e∈Rd和er∈Rk,其中e表示为实体向量,Rd表示其维度为d,er为关系向量,Rk表示其维度为k;
步骤4.3.2、采用TransR知识图谱嵌入法,将混合知识图谱G中存在三元组(h,r,t)的实体和关系进行向量化表示,实体和关系的嵌入满足:
Wreh+er≈Wret
其中,h表示为头实体,r为关系,t表示尾实体,eh表示为头实体向量,et表示为尾实体向量,er表示为关系向量,Wr为投影矩阵,Wreh和Wret分别是eh和et在关系r空间下的投影表示,并且eh∈Rd,et∈Rd,er∈Rk以及Wr∈Rk×d
步骤4.3.3、对于给定的三元组(h,r,t),其评分函数计算公式如下:
Figure BDA0003376505480000041
其中,fr(h,t)中评分越低,表示三元组(h,r,t)成立的可能性越大;
步骤4.4、采用图卷积神经网络的思想,沿着高阶连通性递归的传播相邻实体的嵌入表示,并采用图注意力网络思想,针对每个邻居实体节点学习目标实体节点语义能力不同,利用注意力机制区分连接相邻节点的关系的重要程度,从而根据重要度将邻居节点信息聚合到目标实体中;
步骤4.4.1、对于给定节点h∈ε,经过单层传播,聚合节点h相邻节点的特征信息,计算公式如下:
Figure BDA0003376505480000051
其中,ε表示实体节点集合,eN(h)表示聚合相邻节点后所获的向量表示,N(h)表示实体节点h相邻的邻居实体节点集合。αh_t表示注意力分数,用于确定在关系r下有多少信息从相邻实体节点t传播到节点h,其中注意力分数计算公式如下:
Figure BDA0003376505480000052
其中,(h,r′,t′)∈Nh,表示给定实体h所相邻的节点构成的三元组,Wr′表示给定实体h其邻居节点所连接的关系r′的投影矩阵,et′表示给定实体h邻居节点的向量表示,er′表示给定实体h其邻居节点所连接的关系r′的向量表示;tanh为非线性激活函数,·T表示转置操作,Wreh和Wret分别是eh和et在关系r空间下的投影表示。
步骤4.4.2、将目标实体节点eh与邻居实体节点表示eN(h)聚合,计算公式如下:
eh=LeakyReLU(W(eN(h)+eh))
上式作为单层聚合获得eh,通过不断叠加聚合来计算高阶的连通信息,计算公式如下:
Figure BDA0003376505480000053
最终,得到第K层聚合后的实体表示,计算公式如下:
Figure BDA0003376505480000054
其中,l代表网络层数,LeakyReLU为激活函数,
Figure BDA0003376505480000055
表示在K层聚合邻居节点后的实体向量表示,
Figure BDA0003376505480000056
表示在l层聚合邻居节点后的实体向量表示;采用多层感知器学习参数WK∈Rd′×d
步骤4.4.3、每个实体经过K层聚合后,将用户点击的项目转化成
Figure BDA0003376505480000057
其中,
Figure BDA0003376505480000058
表示在t时刻下项目i在经过K层聚合获得的项目嵌入表示,it(G)表示在t时刻下项目i通过利用混合知识图谱G所增强后的项目嵌入表示;
步骤5、采用用户状态表示模块,利用自注意力机制捕获项目之间的长期语义,并提取用户的状态St(G),具体步骤如下:
步骤5.1、给定用户当前t时刻下的历史交互序列ot={i1,i2,...,in},如果序列长度小于n,则向左侧重复添加一个填充项,直到长度为n;
步骤5.2、根据步骤4.4.3所获得的增强后的项目嵌入表示,将历史交互序列转化为项目嵌入矩阵
Figure BDA0003376505480000061
其中,d表示潜在的维度,n表示在项目空间下所有项目的个数;
步骤5.3、构建位置嵌入表示,学习当前历史交互记录中项目的位置信息,将位置嵌入与项目嵌入表示相融合,计算公式如下:
Figure BDA0003376505480000062
其中,n代表输入序列长度,Mj代表项目的嵌入表示向量,
Figure BDA0003376505480000063
代表位置值向量,Wv代表值权重矩阵,st表示输入的项目j与位置的加权和,αij代表其他项目对当前项目j的影响权重,使用Softmax函数计算,计算公式如下:
Figure BDA0003376505480000064
其中,eij表示输入序列中项目j对当前项目i的影响的重要程度,通过将键向量与查询向量采用缩放点积注意力机制来获得,计算公式如下:
Figure BDA0003376505480000065
其中,
Figure BDA0003376505480000066
为缩放因子,用于调整QKT值的范围,即键向量与查询向量点积后的值,WQ,WK分别代表查询权重矩阵和键权重矩阵,
Figure BDA0003376505480000067
为位置键向量表示,Mj为项目j的向量表示,d表示潜在的维度,k表示键值向量;
步骤5.4、将步骤5.3获得的状态表示st输入到两层全连接神经网络中,计算公式如下:
ht=FFN(st)=ReLU(stW(1)+b(1)W(2)+b(2)
其中,W(1)
Figure BDA0003376505480000068
b(1)
Figure BDA0003376505480000069
ht为经过两层全连接神经网络获得的特征表示,FFN表示全连接神经网络层,ReLU表示激活函数;
最终得到当前的用户状态表示,st(G)=ht,其中st(G)表示在t时刻下通过混合知识图谱G增强后的用户状态表示,ht为经过两层全连接神经网络获得的特征表示;
步骤6、采用策略网络模块,基于步骤5.4获得的用户状态st(G)作为输入,策略网络模块利用深度的神经网络近似表示当前策略,根据当前策略,在t时刻下生成动作at
步骤6.1、将用户状态表示St(G)输入到深度神经网络层中,获得动作at;计算公式如下:
at=πα(st(G))=Tanh(ReLU(St(G)W(3)+b(3))W(4)+b(4))
其中,动作
Figure BDA00033765054800000610
为连续的参数向量,πθ表示为包含参数θ的策略函数,Tanh与ReLU为激活函数,W(3)
Figure BDA0003376505480000071
表示训练学习的权重矩阵,b(3)
Figure BDA0003376505480000072
表示训练学习的偏差向量;
步骤6.2、获取候选项目集合,利用混合知识图谱中的语义信息过滤掉与用户偏好不相关的项目,动态获得用户感兴趣的候选集合;
步骤6.2.1、获取用户的历史交互数据,以该历史交互数据充当种子集合
Figure BDA0003376505480000073
从种子实体经过L次跳,获取邻居节点集合,其表示为:
Figure BDA0003376505480000074
其中
Figure BDA0003376505480000075
表示经过L跳后获得的邻居节点集合,
Figure BDA0003376505480000076
表示每一次的头节点h都是从上一层的邻居节点集合中选择;
步骤6.2.2、将当前用户状态下的所有种子节点的邻居汇聚成候选集合,计算公式如下:
Figure BDA0003376505480000077
其中,
Figure BDA0003376505480000078
表示在t时刻下经过l跳所获邻居节点集合,∪为并集符号,I为整体的项目集合,item为最后筛选出的项目;
步骤6.3、采用相似性度量计算生成的动作和候选集中项目的之间相似度,计算公式如下:
Figure BDA0003376505480000079
其中,Candidate Set为候选的项目集合,i表示候选项目集合中的项目,it表示在当前t时刻下,获得相似度最高的项目,推荐给用户;
步骤7、采用值网络模块,负责对当前策略网络生成策略进行评估,通过其评估结果调整策略网络模块,完成深度强化学习交互式推荐;其具体步骤如下:
步骤7.1、将用户状态表示st(G)和生成的动作at输入到值网络中,得到Q值,计算公式如下:
Figure BDA00033765054800000710
其中,Qπ(st(G),at)表示在当前状态st(G)下遵循策略π,获得的累计期望奖励值,
Figure BDA00033765054800000711
表示期望函数,T表示总的交互次数,γj表示在交互的第j时刻下的衰减因子的值,γ∈[0,1],用于平衡即时奖励和未来奖励,当γ=0时,智能体仅仅考虑当前的即时奖励;当γ=1时,将考虑所有未来的奖励,;rt表示在t时刻下用户接收智能体推荐的项目,用户给予反馈奖励;如果用户接受,则给予正向的反馈;如果用户拒绝,则给予负向的反馈;
步骤7.2、根据步骤5.1获得的Q值,基于确定性策略梯度定理,利用采样梯度策略调整当前策略,计算公式如下:
Figure BDA0003376505480000081
Figure BDA0003376505480000082
其中J(πθ)是基于当前策略πθ所有可能Q值的期望值,采用小批量策略,m表示批量的大小,st(G)表示t时刻下的用户状态表示,at表示t时刻下的动作向量表示,
Figure BDA0003376505480000083
表示对动作at求偏导;
采用上述技术方案所产生的有益效果在于:
本发明提出了一种基于知识增强的深度强化学习交互式推荐系统及方法,本发明针对目前基于深度强化学习的交互式推荐方法存在的用户反馈稀疏的问题。为此,本发明结合知识图谱中丰富的语义信息,利用图卷积网络结构,沿着高阶连通性递归地传播相邻实体的嵌入表示,并采用图注意力网络思想,针对每个邻居实体节点学习目标实体节点语义能力不同,利用注意力机制区分连接相邻节点的关系的重要程度,从而根据不同的重要程度将邻居节点信息聚合到目标实体中,增强了项目的嵌入表示,从而缓解数据稀疏的问题;
其次,现有研究都孤立地表示每个单独用户的状态/动作,尚未考虑不同用户之间的潜在关系用户。基于此,本发明考虑了将用户-项目二部图与知识图谱相融合,既包含了项目的属性信息,又充分挖掘项目之间基于属性的协作信号,从而进一步提升推荐的准确性;
此外,交互式推荐系统通常包含大量离散的候选动作,导致基于强化学习的方法时间复杂度高、准确率低。基于此,本发明利用知识图谱和用户-项目二部图存在的语义相关性和结构相关性,过滤掉不相关的项目,从而动态获得用户感兴趣的候选集合,提升推荐的准确性;
附图说明
图1为本发明一种基于知识增强的深度强化学习交互式推荐系统的体系结构框图;
图2为本发明一种实施例三元组知识图谱结构示意图;
图3为本发明一种实施例在不同衰减因子下的推荐效果测试图;
图4为本发明一种实施例在不同候选集长度下的推荐效果测试图;
图5为本发明一种实施例在消融实验下的推荐性能测试图;
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
一方面,一种基于知识增强的深度强化学习交互式推荐系统,如图1所示,包括数据采集清洗模块、环境模拟器构建模块、知识图谱构建模块、图卷积模块、用户状态表示模块、策略网络模块和值网络模块。
所述数据采集清洗模块用于采集清洗系统中产生的历史交互记录,历史交互记录包括用户信息、交互记录中的交互项目信息,经过数据清洗操作后对剩余数据进行存储;所述用户信息为用户的ID,所述交互项目信息包括项目ID,交互项目的评分以及交互的时间;
所述环境模拟器构建模块根据用户与项目的历史交互信息,构建交互式推荐模拟器来模拟在线环境,即根据相应推荐的反馈来模拟奖励,并将顺序奖励与原始奖励相结合,作为最终的奖励值;
所述环境模拟器构建模块根据用户与项目的交互历史信息,构建交互式推荐模拟器来模拟在线推荐系统环境,即根据相应用户对项目的评分作为其原始奖励,并结合顺序奖励作为最终的奖励值;所述的顺序奖励为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,其中在交互中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn
所述知识图谱构建模块用于根据用户与项目的历史交互信息,构建用户-项目二部图以及根据项目的属性信息构建项目-属性知识图谱,并将用户-项目二部图和项目-属性知识图谱两者组成统一的图;
所述图卷积模块包括两部分,分别为语义特征的提取以及结构特征的提取与融合;所述语义特征的提取通过知识图谱嵌入方法将实体和关系参数化为向量表示;所述实体包括用户、项目以及项目的属性信息,关系参数为用户、项目以及项目的属性信息之间存在的联系。例如:用户和项目之间存在交互关系,项目与项目属性之间存在所属关系;所述结构特征的提起与融合,是利用图卷积的邻域传播机制提取结构特征,并结合图注意力网络的思想,根据重要度将邻居节点信息聚合到目标实体中,从而获得项目的嵌入表示;
所述用户状态表示模块通过采用自注意力机制捕获项目之间的长期语义,提取用户的状态嵌入表示;
所述策略网络模块将当前观测的用户状态嵌入表示作为输入,输出基于当前的用户状态所生成的动作向量以及推荐的项目;其中,动作向量为连续的参数向量;
所述值网络模块,将当前的用户状态以及所生成的动作向量作为输入,负责对当前生成的动作向量进行评估,从而根据评估结果对当前推荐方法进行调整;
另一方面,一种基于知识增强的深度强化学习交互式推荐方法,基于前述一种基于知识增强的深度强化学习交互式推荐系统实现,包括以下步骤:
步骤1:数据采集清洗模块对产生的历史交互记录进行数据清洗操作,去除交互次数少于200次的用户,针对用户与同一项目多次交互,保留时间戳最近的一次交互记录,获取用户与物品交互信息,并根据时间戳按顺序对每个用户的交互记录进行排序;
本实施例中实验数据采集的MovieLens-1M数据集交互记录。该数据集包含6040个用户数,3952个项目,1000209次交互。用户交互记录的格式如下:用户ID、项目ID、评分、交互的时间戳。首先针对MovieLens-1M数据集中历史交互记录进行数据清洗操作,去除交互次数少于200的用户及项目。针对用户与同一项目多次交互,保留时间戳最近的一次交互记录,并根据时间戳按顺序对每个用户的交互记录进行排序;
经过数据清洗操作之后,目前历史交互记录包含6040个用户数,2347个项目,656461次交互。将用户序列按照时间排序,某用户历史交互记录的前5行如表1所示的:
表1用户固定签到数据信息
用户ID 项目ID 评分 时间戳
6039 58 4 956704056
6039 22 4 956704996
6039 1670 4 956715676
6039 79 3 956716016
6039 751 4 956716845
步骤2、采用环境模拟器模块,根据步骤1中获取的用户与物品交互信息,建立基于离线数据集下的环境模拟器,该模拟器将原始奖励和顺序奖励相结合,具体步骤如下:
步骤2.1、根据步骤1中获取的用户与物品交互信息,利用矩阵分解方法来训练用户和项目的嵌入表示,其计算公式如下;
Figure BDA0003376505480000101
其中,rui表示用户u对项目i的评分,pu表示用户的嵌入表示,qi表示项目的嵌入表示,η为正则化系数,防止过拟合,p*表示学习到最优用户的嵌入表示,q*表示学习到最优项目嵌入表示,K表示用户与项目交互集合;
步骤2.2、根据步骤2.1中的用户和项目的嵌入表示,通过内积得到每个用户对所有项目预测评分,并将评分归一化到[-1,1]的范围内,作为用户的原始奖励;
数据如表2所示;
Figure BDA0003376505480000102
Figure BDA0003376505480000111
步骤2.3、将历史交互记录中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn,其顺序奖励表示为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,将顺序奖励与原始奖励相结合,得到最终的奖励函数,计算公式如下:
R(st,it)=ri,j+λ(cp-cn)
其中,st表示t时刻下当前用户所处的状态,it表示t时刻下推荐系统所推荐的项目,ri,j表示模拟器给出的预测评分,cp和cn在交互序列中连续正向反馈和负向反馈的个数,λ为衰减因子,用于平衡本能反馈与顺序反馈;
步骤3、采用知识图谱构建模块,根据步骤1中获取的用户与物品交互信息,构建用户-项目二部图;根据项目的属性信息,构建项目-属性知识图谱,如图2所示,具体步骤如下:
步骤3.1、获取用户与物品交互信息,将每个用户的交互信息表示为一个三元组形式(u,Interact,i),其中u为用户的ID,Interact表示用户与项目的交互关系,i表示项目ID,将历史交互记录中的每个用户的交互信息三元组组成一个总的结合,即为用户-项目二部图G1
步骤3.2、针对历史交互记录中的每个项目,采用Microsoft Satori公开知识数据库,通过项目名称映射到知识数据库中的一个实体,通过匹配项目名称提取该实体ID对应的所有知识图谱三元组;
步骤3.3、将历史交互记录中的每个项目的知识图谱三元组组成一个总的结合,即为基于历史交互记录的知识图谱G2;其表示为G2={(h,r,t)|h,t∈ε,r∈R}。
其中,h∈ε,r∈R,t∈ε,分别表示头实体、关系和尾实体,且ε和R表示实体集合和关系集合。例如:其中的一个三元组(Godfather,film.genre,Action)表示Godfather的是Action类型的电影;
步骤3.4、将项目i∈I与知识图谱中实体e∈ε相链接,利用项目-实体对齐矩阵,将用户-项目二部图G1和知识图谱G2组合成一个统一的图G,其表示为G={(h,r,t)|h,t∈ε′,r∈R′},其中ε′=ε∪Utrain以及R′=R∪{Interact}。其中,Interact关系表示用户u与项目i交互。
步骤4、采用图卷积模块,分别进行语义特征的提取以及结构特征的提取与融合,最终获得增强的项目嵌入表示,具体步骤如下:
步骤4.1、给定用户u,采用在线模拟用户u的交互行为,与推荐系统交互n次,获得历史交互序列ot={i1,i2,...,in},并根据步骤2的环境模拟器,得出用户u针对每一次与项目交互的原始奖励Rt={r1,r2,...,rn},其中in表示交互的第n个项目,rn表示对交互的第n个项目的原始奖励;
本实施例中给定某用户u,采用在线模拟用户u的交互行为,与推荐系统交互10次,获得用户的历史交互序列{i968,i905,i1085,i842,i1520,i795,i459,i414,i1648,i1918},用户针对每一次与项目交互的本能反馈为{0.621,0.324,0.559,0.455,0.255,0.446,0.802,0.611,0.779,-0.284}。
步骤4.2、获取用户的正向反馈,因为交互式推荐系统的状态表示是从用户点击的项目抽象出来,通常,正向反馈包含着描述用户偏好的关键信息,根据步骤4.1的用户的原始奖励筛选出用户的正向反馈,其正向反馈的序列为{i968,i1085,i842,i795,i459,i414,i1648},序列长度小于10,则选择随机一个项目作为填充至序列长度为10。
步骤4.3、根据步骤3获取的混合知识图谱G,采用知识表示学习方法学习混合知识图谱中的实体和关系的嵌入表示,从而得到用户和项目的嵌入表示;
步骤4.3.1、将实体和关系嵌入化表示,随机初始化为e∈Rd和er∈Rk,其中e表示为实体向量,Rd表示其维度为d,er为关系向量,Rk表示其维度为k;
步骤4.3.2、采用TransR知识图谱嵌入法,将混合知识图谱G中存在三元组(h,r,t)的实体和关系进行向量化表示,实体和关系的嵌入满足:
Wreh+er≈Wret
其中,h表示为头实体,r为关系,t表示尾实体,eh表示为头实体向量,et表示为尾实体向量,er表示为关系向量,Wr为投影矩阵,Wreh和Wret分别是eh和et在关系r空间下的投影表示,并且eh∈Rd,et∈Rd,er∈Rk以及Wr∈Rk×d
步骤4.3.3、对于给定的三元组(h,r,t),其评分函数计算公式如下:
Figure BDA0003376505480000121
其中,fr(h,t)中评分越低,表示三元组(h,r,t)成立的可能性越大;
步骤4.4、采用图卷积神经网络的思想,沿着高阶连通性递归的传播相邻实体的嵌入表示,并采用图注意力网络思想,针对每个邻居实体节点学习目标实体节点语义能力不同,利用注意力机制区分连接相邻节点的关系的重要程度,从而根据重要度将邻居节点信息聚合到目标实体中;
步骤4.4.1、对于给定节点h∈ε,经过单层传播,聚合节点h相邻节点的特征信息,计算公式如下:
Figure BDA0003376505480000131
其中,ε表示实体节点集合,eN(h)表示聚合相邻节点后所获的向量表示,N(h)={(h,r,t)|(h,r,t)∈G}表示实体节点h相邻的邻居实体节点集合。αh_t表示注意力分数,用于确定在关系r下有多少信息从相邻实体节点t传播到节点h,其中注意力分数计算公式如下:
Figure BDA0003376505480000132
其中,(h,r′,t′)∈Nh,表示给定实体h所相邻的节点构成的三元组,Wr′表示给定实体h其邻居节点所连接的关系r′的投影矩阵,et′表示给定实体h邻居节点的向量表示,er′表示给定实体h其邻居节点所连接的关系r′的向量表示;tanh为非线性激活函数,·T表示转置操作,Wreh和Wret分别是eh和et在关系r空间下的投影表示。
步骤4.4.2、将目标实体节点eh与邻居实体节点表示eN(h)聚合,计算公式如下:
eh=LeakyReLU(W(eN(h)+eh))
上式作为单层聚合获得eh,为了收集到从更远邻居节点传播的信息,通过不断叠加聚合来计算高阶的连通信息,计算公式如下:
Figure BDA0003376505480000133
最终,得到第K层聚合后的实体表示,计算公式如下:
Figure BDA0003376505480000134
其中,l代表网络层数,LeakyReLU为激活函数,
Figure BDA0003376505480000135
表示在K层聚合邻居节点后的实体向量表示,
Figure BDA0003376505480000136
表示在l层聚合邻居节点后的实体向量表示;采用多层感知器学习参数WK∈Rd′×d
步骤4.4.3、每个实体经过K层聚合后,将用户点击的项目转化成
Figure BDA0003376505480000137
其中,
Figure BDA0003376505480000138
表示在t时刻下项目i在经过K层聚合获得的项目嵌入表示,it(G)表示在t时刻下项目i通过利用混合知识图谱G所增强后的项目嵌入表示;
本实施例中其中,用户u的正向反馈的序列{i968,i1085,i842,i795,i459,i414,i1648}转化为项目的嵌入表示,其中维度为50,即:
Figure BDA0003376505480000141
步骤5、采用用户状态表示模块,利用自注意力机制捕获项目之间的长期语义,并提取用户的状态St(G),具体步骤如下:
步骤5.1、给定用户当前t时刻下的历史交互序列ot={i1,i2,...,in},如果序列长度小于n,则向左侧重复添加一个填充项,直到长度为n;
步骤5.2、根据步骤4.4.3所获得的增强后的项目嵌入表示,将历史交互序列转化为项目嵌入矩阵
Figure BDA0003376505480000142
其中,d表示潜在的维度,n表示在项目空间下所有项目的个数;
本实施例中d=50表示潜在的维度,n=10表示在交互序列的个数;
步骤5.3、构建位置嵌入表示,学习当前历史交互记录中项目的位置信息,将位置嵌入与项目嵌入表示相融合,计算公式如下:
Figure BDA0003376505480000143
其中,n代表输入序列长度,Mj代表项目的嵌入表示向量,
Figure BDA0003376505480000144
代表位置值向量,Wv代表值权重矩阵,st表示输入的项目j与位置的加权和,αij代表其他项目对当前项目j的影响权重,使用Softmax函数计算,计算公式如下:
Figure BDA0003376505480000145
其中,eij表示输入序列中项目j对当前项目i的影响的重要程度,通过将键向量与查询向量采用缩放点积注意力机制来获得,计算公式如下:
Figure BDA0003376505480000146
其中,
Figure BDA0003376505480000147
为缩放因子,用于调整QKT值的范围,即键向量与查询向量点积后的值,WQ,WK分别代表查询权重矩阵和键权重矩阵,
Figure BDA0003376505480000148
为位置键向量表示,Mj为项目j的向量表示,d表示潜在的维度,k表示键值向量;
步骤5.4、将步骤5.3获得的状态表示st输入到两层全连接神经网络中,计算公式如下:
ht=FFN(st)=ReLU(stW(1)+b(1)W(2)+b(2)
其中,W(1)
Figure BDA0003376505480000151
b(1)
Figure BDA0003376505480000152
ht为经过两层全连接神经网络获得的特征表示,FFN表示全连接神经网络层,ReLU表示激活函数;
最终得到当前的用户状态表示,st(G)=ht,其中st(G)表示在t时刻下通过混合知识图谱G增强后的用户状态表示,ht为经过两层全连接神经网络获得的特征表示;即
st(G)=
[[0.357,0.072,0.009,0.001,0.299,-0.021,...,0.124,-0.009,-0.238,-0.095]]1×50
步骤6、采用策略网络模块,基于步骤5.4获得的用户状态st(G)作为输入,策略网络模块利用深度的神经网络近似表示当前策略,根据当前策略,在t时刻下生成动作at
步骤6.1、将用户状态表示St(G)输入到深度神经网络层中即ReLU层和Tanh层,获得动作at;计算公式如下:
at=πθ(st(G))=Tanh(ReLU(St(G)W(3)+b(3))W(4)+b(4))
其中,动作
Figure BDA0003376505480000153
为连续的参数向量,πθ表示为包含参数θ的策略函数,Tanh与ReLU为激活函数,W(3)
Figure BDA0003376505480000154
表示训练学习的权重矩阵,b(3)
Figure BDA0003376505480000155
表示训练学习的偏差向量;经过10次交互,at的特征表示为:
a1=[[0.071,-0.014,-0.052,-0.035,-0.205,...,0.047,0.011,0.190,0.021]]1×50
a2=[[0.063,-0.093,0.029,-0.008,-0.141,...,-0.111,0.087,0.217,-0.010]]1×50
a3=[[0.061,-0.033,0.033,-0.062,-0.136,...,-0.140,0.042,0.190,0.004]]1×50
a4=[[0.054,-0.140,0.015,-0.069,-0.252,...,0.006,0.096,0.233,0.022]]1×50
a5=[[0.021,-0.010,0.030,-0.149,-0.165,...,-0.062,0.072,0.110,-0.065]]1×50
a6=[[-0.074,-0.162,0.024,-0.084,-0.254,...,-0.068,0.122,0.235,0.463]]1×50
a7=[[0.042,-0.071,-0.041,-0.051,-0.242,...0.035,0.112,0.156,-0.045]]1×50
a8=[[0.073,-0.059,-0.003,-0.066,-0.116,...-0.062,0.088,0.121,-0.121]]1×50
a9=[[0.026,-0.012,0.043,-0.113,-0.197,...-0.056,0.093,0.185,-0.052]]1×50
步骤6.2、获取候选项目集合,利用混合知识图谱中的语义信息过滤掉与用户偏好不相关的项目,动态获得用户感兴趣的候选集合;
步骤6.2.1、获取用户的历史交互数据,以该历史交互数据充当种子集合
Figure BDA0003376505480000156
从种子实体经过L次跳,获取邻居节点集合,其表示为:
Figure BDA0003376505480000157
其中
Figure BDA0003376505480000158
表示经过L跳后获得的邻居节点集合,
Figure BDA0003376505480000159
表示每一次的头节点h都是从上一层的邻居节点集合中选择;
步骤6.2.2、将当前用户状态下的所有种子节点的邻居汇聚成候选集合,计算公式如下:
Figure BDA0003376505480000161
其中,
Figure BDA0003376505480000162
表示在t时刻下经过l跳所获邻居节点集合,∪为并集符号,I为整体的项目集合,item为最后筛选出的项目;
步骤6.3、采用相似性度量计算生成的动作和候选集中项目的之间相似度,计算公式如下:
Figure BDA0003376505480000163
其中,Candidate Set为候选的项目集合,i表示候选项目集合中的项目,it表示在当前t时刻下,获得相似度最高的项目,推荐给用户;以生成的动作a1为例,计算其和候选集中的相似度:
[-0.066,-1.333,-0.624,0.384,-0.783,…,0.474,0.252,1.303,0.585]
选取相似度最大的作为当前推荐的给用户的项目,计算所得相似度最大的项目为:i968
步骤7、采用值网络模块,负责对当前策略网络生成策略进行评估,通过其评估结果调整策略网络模块,完成深度强化学习交互式推荐;其具体步骤如下:
步骤7.1、将用户状态表示st(G)和生成的动作at输入到值网络中,得到Q值,计算公式如下:
Figure BDA0003376505480000164
其中,Qπ(st(G),at)表示在当前状态st(G)下遵循策略π,获得的累计期望奖励值,
Figure BDA0003376505480000165
表示期望函数,T表示总的交互次数,γj表示在交互的第j时刻下的衰减因子的值,γ∈[0,1],用于平衡即时奖励和未来奖励,当γ=0时,智能体仅仅考虑当前的即时奖励;当γ=1时,将考虑所有未来的奖励,;rt表示在t时刻下用户接收智能体推荐的项目,用户给予反馈奖励;如果用户接受,则给予正向的反馈;如果用户拒绝,则给予负向的反馈;
步骤7.2、根据步骤5.1获得的Q值,基于确定性策略梯度定理,利用采样梯度策略调整当前策略,计算公式如下:
Figure BDA0003376505480000166
Figure BDA0003376505480000167
其中J(πθ)是基于当前策略πθ所有可能Q值的期望值,采用小批量策略,m表示批量的大小,st(G)表示t时刻下的用户状态表示,at表示t时刻下的动作向量表示,
Figure BDA0003376505480000168
表示对动作at求偏导;
本发明实施例中,通过实验验证了所提的一种基于知识增强的深度强化学习交互式推荐系统的有效性和可行性,通过三个实验对该系统进行性能验证。
首先,考虑衰减因子参数对模型影响。传统的推荐方法采用贪婪策略优化即时奖励,与之不同的强化学习则考虑长期的性能。基于深度强化学习模型中衰减因子γ是强化学习中重要的参数之一,它用来权衡即时奖励和未来奖励。如图3所示,在保持其他最佳超参数不变的情况下,衰减因子γ从0.0到0.5的准确率的变化。当在数据集ML(1M)中衰减因子为0.35性能达到峰值,所以考虑未来奖励是可以有效的提升推荐性能。同时,在达到峰值之后性能逐渐降低,由于衰减因子增大到一定程度也会限制强化学习的探索,从而导致性能的下降。
其次,考虑候选集大小对模型影响。如图4所示,在数据集ML(1M)设计的候选集大小为{400,600,800,1000,1200,1400,1600,1800,2000}中,推荐性能的变化。从图4可以看出,随着候选集尺寸的增大,性能逐渐提升,候选集大小为1200时性能达到峰值。同时,在达到峰值之后性能逐渐降低,这是因为随着候选集尺寸的增大引入了不相关的项目,从而降低了推荐性能。
另外,本实施例实验中还设计了消融实验,验证每一模块对推荐性能的影响。如图5所示设计四组实验,其中DDPG表示在模型中去掉知识图谱以及用户-项目二部图部分,DDPG+G1表示在模型中只包含用户-项目二部图部分,DDPG+G2表示在模型中只包含用知识图谱部分,DDPG+G表示在模型中包含知识图谱与用户-项目二部图部分,从图5中可以看出,融合用户-项目二部图或者知识图谱部分都在一定程度上缓解了数据稀疏的问题,提升了推荐的准确性,而本研究在此基础上将用户-项目二部图和知识图谱相融合,又进一步提升了推荐的准确性。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种基于知识增强的深度强化学习交互式推荐系统,其特征在于,包括数据采集清洗模块、环境模拟器构建模块、知识图谱构建模块、图卷积模块、用户状态表示模块、策略网络模块和值网络模块;
所述数据采集清洗模块用于采集清洗系统中产生的历史交互记录,历史交互记录包括用户信息、交互记录中的交互项目信息,经过数据清洗操作后对剩余数据进行存储;所述用户信息为用户的ID,所述交互项目信息包括项目ID,交互项目的评分以及交互的时间;
所述环境模拟器构建模块根据用户与项目的历史交互信息,构建交互式推荐模拟器来模拟在线环境,即根据相应推荐的反馈来模拟奖励,并将顺序奖励与原始奖励相结合,作为最终的奖励值;
所述知识图谱构建模块用于根据用户与项目的历史交互信息,构建用户-项目二部图以及根据项目的属性信息构建项目-属性知识图谱,并将用户-项目二部图和项目-属性知识图谱两者组成统一的图;
所述图卷积模块包括两部分,分别为语义特征的提取以及结构特征的提取与融合;所述语义特征的提取通过知识图谱嵌入方法将实体和关系参数化为向量表示;所述实体包括用户、项目以及项目的属性信息,关系参数为用户、项目以及项目的属性信息之间存在的联系;所述结构特征的提起与融合,是利用图卷积的邻域传播机制提取结构特征,并结合图注意力网络的思想,根据重要度将邻居节点信息聚合到目标实体中,从而获得项目的嵌入表示;
所述用户状态表示模块通过采用自注意力机制捕获项目之间的长期语义,提取用户的状态嵌入表示;
所述策略网络模块将当前观测的用户状态嵌入表示作为输入,输出基于当前的用户状态所生成的动作向量以及推荐的项目;
所述值网络模块,将当前的用户状态以及所生成的动作向量作为输入,负责对当前生成的动作向量进行评估,从而根据评估结果对当前推荐方法进行调整。
2.根据权利要求1所述的一种基于知识增强的深度强化学习交互式推荐系统,其特征在于,所述环境模拟器构建模块根据用户与项目的交互历史信息,构建交互式推荐模拟器来模拟在线推荐系统环境,即根据相应用户对项目的评分作为其原始奖励,并结合顺序奖励作为最终的奖励值;所述的顺序奖励为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,其中在交互中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn
3.一种基于知识增强的深度强化学习交互式推荐方法,基于权利要求1所述的一种基于知识增强的深度强化学习交互式推荐系统实现,其特征在于,包括以下步骤:
步骤1:数据采集清洗模块对产生的历史交互记录进行数据清洗操作,去除交互次数少于预设N次的用户,针对用户与同一项目多次交互,保留时间戳最近的一次交互记录,获取用户与物品交互信息,并根据时间戳按顺序对每个用户的交互记录进行排序;
步骤2、采用环境模拟器模块,根据步骤1中获取的用户与物品交互信息,建立基于离线数据集下的环境模拟器,该模拟器将原始奖励和顺序奖励相结合;
步骤3、采用知识图谱构建模块,根据步骤1中获取的用户与物品交互信息,构建用户-项目二部图;根据项目的属性信息,构建项目-属性知识图谱;
步骤4、采用图卷积模块,分别进行语义特征的提取以及结构特征的提取与融合,最终获得增强的项目嵌入表示;
步骤5、采用用户状态表示模块,利用自注意力机制捕获项目之间的长期语义,并提取用户的状态St(G);
步骤6、采用策略网络模块,基于步骤5.4获得的用户状态st(G)作为输入,策略网络模块利用深度的神经网络近似表示当前策略,根据当前策略,在t时刻下生成动作at
步骤7、采用值网络模块,负责对当前策略网络生成策略进行评估,通过其评估结果调整策略网络模块,完成深度强化学习交互式推荐。
4.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤2具体包括以下步骤:
步骤2.1、根据步骤1中获取的用户与物品交互信息,利用矩阵分解方法来训练用户和项目的嵌入表示,其计算公式如下;
Figure FDA0003376505470000021
其中,rui表示用户u对项目i的评分,pu表示用户的嵌入表示,qi表示项目的嵌入表示,η为正则化系数,防止过拟合,p*表示学习到最优用户的嵌入表示,q*表示学习到最优项目嵌入表示,K表示用户与项目交互集合;
步骤2.2、根据步骤2.1中的用户和项目的嵌入表示,通过内积得到每个用户对所有项目预测评分,并将评分归一化到[-1,1]的范围内,作为用户的原始奖励;
步骤2.3、将历史交互记录中用户对项目的评分超过阈值τ称为正向反馈,反之作为负向反馈,统计在交互记录中连续正向反馈的个数cp以及连续负向反馈的个数cn,其顺序奖励表示为连续正向反馈的个数cp与连续负向反馈的个数cn的差值,将顺序奖励与原始奖励相结合,得到最终的奖励函数,计算公式如下:
R(st,it)=ri,j+λ(cp-cn)
其中,st表示t时刻下当前用户所处的状态,it表示t时刻下推荐系统所推荐的项目,ri,j表示模拟器给出的预测评分,cp和cn在交互序列中连续正向反馈和负向反馈的个数,λ为衰减因子。
5.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤3具体包括以下步骤:
步骤3.1、获取用户与物品交互信息,将每个用户的交互信息表示为一个三元组形式(u,Interact,i),其中u为用户的ID,Interact表示用户与项目的交互关系,i表示项目ID,将历史交互记录中的每个用户的交互信息三元组组成一个总的结合,即为用户-项目二部图G1
步骤3.2、针对历史交互记录中的每个项目,采用Microsoft Satori公开知识数据库,通过项目名称映射到知识数据库中的一个实体,通过匹配项目名称提取该实体ID对应的所有知识图谱三元组;
步骤3.3、将历史交互记录中的每个项目的知识图谱三元组组成一个总的结合,即为基于历史交互记录的知识图谱G2
步骤3.4、将用户-项目二部图G1和知识图谱G2组合混合知识图谱G。
6.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤4具体包括以下步骤:
步骤4.1、给定用户u,采用在线模拟用户u的交互行为,与推荐系统交互n次,获得历史交互序列ot={i1,i2,...,in},并根据步骤2的环境模拟器,得出用户u针对每一次与项目交互的原始奖励Rt={r1,r2,...,rn},其中in表示交互的第n个项目,rn表示对交互的第n个项目的原始奖励;
步骤4.2、获取用户的正向反馈,根据步骤4.1的用户的原始奖励筛选出用户的正向反馈,得到当前的用户状态表示,若正向反馈序列长度小于n,则选择随机一个项目作为填充至序列长度为n;
步骤4.3、根据步骤3获取的混合知识图谱G,采用知识表示学习方法学习混合知识图谱中的实体和关系的嵌入表示,从而得到用户和项目的嵌入表示;
步骤4.3.1、将实体和关系嵌入化表示,随机初始化为e∈Rd和er∈Rk,其中e表示为实体向量,Rd表示其维度为d,er为关系向量,Rk表示其维度为k;
步骤4.3.2、采用TransR知识图谱嵌入法,将混合知识图谱G中存在三元组(h,r,t)的实体和关系进行向量化表示,实体和关系的嵌入满足:
Wreh+er≈Wret
其中,h表示为头实体,r为关系,t表示尾实体,eh表示为头实体向量,et表示为尾实体向量,er表示为关系向量,Wr为投影矩阵,Wreh和Wret分别是eh和et在关系r空间下的投影表示,并且eh∈Rd,et∈Rd,er∈Rk以及Wr∈Rk×d
步骤4.3.3、对于给定的三元组(h,r,t),其评分函数计算公式如下:
Figure FDA0003376505470000041
其中,fr(h,t)中评分越低,表示三元组(h,r,t)成立的可能性越大;
步骤4.4、采用图卷积神经网络的思想,沿着高阶连通性递归的传播相邻实体的嵌入表示,并采用图注意力网络思想,针对每个邻居实体节点学习目标实体节点语义能力不同,利用注意力机制区分连接相邻节点的关系的重要程度,从而根据重要度将邻居节点信息聚合到目标实体中;
步骤4.4.1、对于给定节点h∈ε,经过单层传播,聚合节点h相邻节点的特征信息,计算公式如下:
Figure FDA0003376505470000042
其中,ε表示实体节点集合,eN(h)表示聚合相邻节点后所获的向量表示,N(h)表示实体节点h相邻的邻居实体节点集合;αh_t表示注意力分数,用于确定在关系r下有多少信息从相邻实体节点t传播到节点h,其中注意力分数计算公式如下:
Figure FDA0003376505470000043
其中,(h,r′,t′)∈Nh,表示给定实体h所相邻的节点构成的三元组,Wr′表示给定实体h其邻居节点所连接的关系r′的投影矩阵,et′表示给定实体h邻居节点的向量表示,er′表示给定实体h其邻居节点所连接的关系r′的向量表示;tanh为非线性激活函数,·T表示转置操作,Wreh和Wret分别是eh和et在关系r空间下的投影表示;
步骤4.4.2、将目标实体节点eh与邻居实体节点表示eN(h)聚合,计算公式如下:
eh=LeakyReLU(W(eN(h)+eh))
上式作为单层聚合获得eh,通过不断叠加聚合来计算高阶的连通信息,计算公式如下:
Figure FDA0003376505470000044
最终,得到第K层聚合后的实体表示,计算公式如下:
Figure FDA0003376505470000051
其中,l代表网络层数,LeakyReLU为激活函数,
Figure FDA0003376505470000052
表示在K层聚合邻居节点后的实体向量表示,
Figure FDA0003376505470000053
表示在l层聚合邻居节点后的实体向量表示;采用多层感知器学习参数WK∈Rd′×d
步骤4.4.3、每个实体经过K层聚合后,将用户点击的项目转化成
Figure FDA0003376505470000054
其中,
Figure FDA0003376505470000055
表示在t时刻下项目i在经过K层聚合获得的项目嵌入表示,it(G)表示在t时刻下项目i通过利用混合知识图谱G所增强后的项目嵌入表示。
7.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤5具体包括以下步骤:
步骤5.1、给定用户当前t时刻下的历史交互序列ot={i1,i2,...,in},如果序列长度小于n,则向左侧重复添加一个填充项,直到长度为n;
步骤5.2、根据步骤4.4.3所获得的增强后的项目嵌入表示,将历史交互序列转化为项目嵌入矩阵
Figure FDA0003376505470000056
其中,d表示潜在的维度,n表示在项目空间下所有项目的个数;
步骤5.3、构建位置嵌入表示,学习当前历史交互记录中项目的位置信息,将位置嵌入与项目嵌入表示相融合,计算公式如下:
Figure FDA0003376505470000057
其中,n代表输入序列长度,Mj代表项目的嵌入表示向量,
Figure FDA0003376505470000058
代表位置值向量,Wv代表值权重矩阵,st表示输入的项目j与位置的加权和,αij代表其他项目对当前项目j的影响权重,使用Softmax函数计算,计算公式如下:
Figure FDA0003376505470000059
其中,eij表示输入序列中项目j对当前项目i的影响的重要程度,通过将键向量与查询向量采用缩放点积注意力机制来获得,计算公式如下:
Figure FDA00033765054700000510
其中,
Figure FDA00033765054700000511
为缩放因子,用于调整QKT值的范围,即键向量与查询向量点积后的值,WQ,WK分别代表查询权重矩阵和键权重矩阵,
Figure FDA0003376505470000061
为位置键向量表示,Mj为项目j的向量表示,d表示潜在的维度,k表示键值向量;
步骤5.4、将步骤5.3获得的状态表示st输入到两层全连接神经网络中,计算公式如下:
ht=FFN(st)=ReLU(stW(1)+b(1))W(2)+b(2)
其中,
Figure FDA0003376505470000062
b(1)
Figure FDA0003376505470000063
ht为经过两层全连接神经网络获得的特征表示,FFN表示全连接神经网络层,ReLU表示激活函数;
最终得到当前的用户状态表示,st(G)=ht,其中st(G)表示在t时刻下通过混合知识图谱G增强后的用户状态表示,ht为经过两层全连接神经网络获得的特征表示。
8.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤6具体包括以下步骤:
步骤6.1、将用户状态表示St(G)输入到深度神经网络层中,获得动作at;计算公式如下:
at=πα(st(G))=Tanh(ReLU(St(G)W(3)+b(3))W(4)+b(4))
其中,动作
Figure FDA0003376505470000064
为连续的参数向量,πθ表示为包含参数θ的策略函数,Tanh与ReLU为激活函数,
Figure FDA0003376505470000065
表示训练学习的权重矩阵,b(3)和
Figure FDA0003376505470000066
表示训练学习的偏差向量;
步骤6.2、获取候选项目集合,利用混合知识图谱中的语义信息过滤掉与用户偏好不相关的项目,动态获得用户感兴趣的候选集合;
步骤6.2.1、获取用户的历史交互数据,以该历史交互数据充当种子集合
Figure FDA0003376505470000067
从种子实体经过L次跳,获取邻居节点集合,其表示为:
Figure FDA0003376505470000068
其中
Figure FDA0003376505470000069
表示经过L跳后获得的邻居节点集合,
Figure FDA00033765054700000610
表示每一次的头节点h都是从上一层的邻居节点集合中选择;
步骤6.2.2、将当前用户状态下的所有种子节点的邻居汇聚成候选集合,计算公式如下:
Figure FDA00033765054700000611
其中,
Figure FDA00033765054700000612
表示在t时刻下经过l跳所获邻居节点集合,∪为并集符号,I为整体的项目集合,item为最后筛选出的项目;
步骤6.3、采用相似性度量计算生成的动作和候选集中项目的之间相似度,计算公式如下:
Figure FDA00033765054700000613
其中,Candidate Set为候选的项目集合,i表示候选项目集合中的项目,it表示在当前t时刻下,获得相似度最高的项目,推荐给用户。
9.根据权利要求3所述的一种基于知识增强的深度强化学习交互式推荐方法,其特征在于,所述步骤7具体包括以下步骤:
步骤7.1、将用户状态表示st(G)和生成的动作at输入到值网络中,得到Q值,计算公式如下:
Figure FDA0003376505470000071
其中,Qπ(st(G),at)表示在当前状态st(G)下遵循策略π,获得的累计期望奖励值,
Figure FDA0003376505470000072
表示期望函数,T表示总的交互次数,γj表示在交互的第j时刻下的衰减因子的值,γ∈[0,1],用于平衡即时奖励和未来奖励,当γ=0时,智能体仅仅考虑当前的即时奖励;当γ=1时,将考虑所有未来的奖励,;rt表示在t时刻下用户接收智能体推荐的项目,用户给予反馈奖励;如果用户接受,则给予正向的反馈;如果用户拒绝,则给予负向的反馈;
步骤7.2、根据步骤5.1获得的Q值,基于确定性策略梯度定理,利用采样梯度策略调整当前策略,计算公式如下:
Figure FDA0003376505470000073
Figure FDA0003376505470000074
其中J(πθ)是基于当前策略πθ所有可能Q值的期望值,采用小批量策略,m表示批量的大小,st(G)表示t时刻下的用户状态表示,at表示t时刻下的动作向量表示,
Figure FDA0003376505470000075
表示对动作at求偏导。
CN202111420425.4A 2021-11-26 2021-11-26 基于知识增强的深度强化学习交互式推荐系统及方法 Pending CN114117220A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111420425.4A CN114117220A (zh) 2021-11-26 2021-11-26 基于知识增强的深度强化学习交互式推荐系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111420425.4A CN114117220A (zh) 2021-11-26 2021-11-26 基于知识增强的深度强化学习交互式推荐系统及方法

Publications (1)

Publication Number Publication Date
CN114117220A true CN114117220A (zh) 2022-03-01

Family

ID=80369866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111420425.4A Pending CN114117220A (zh) 2021-11-26 2021-11-26 基于知识增强的深度强化学习交互式推荐系统及方法

Country Status (1)

Country Link
CN (1) CN114117220A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491541A (zh) * 2022-03-31 2022-05-13 南京众智维信息科技有限公司 基于知识图谱路径分析的安全运营剧本自动化编排方法
CN115017418A (zh) * 2022-08-10 2022-09-06 北京数慧时空信息技术有限公司 基于强化学习的遥感影像推荐系统及方法
CN115187343A (zh) * 2022-07-20 2022-10-14 山东省人工智能研究院 基于注意图卷积神经网络的多行为推荐方法
CN115239442A (zh) * 2022-09-22 2022-10-25 湖南快乐通宝小额贷款有限公司 一种互联网金融产品推广的方法及系统和存储介质
CN115618098A (zh) * 2022-09-08 2023-01-17 淮阴工学院 基于知识增强与空洞卷积的冷链物流推荐方法及装置
CN115762490A (zh) * 2022-11-08 2023-03-07 广东广信通信服务有限公司 一种基于轨迹修正的在线强化语义学习方法
CN115905691A (zh) * 2022-11-11 2023-04-04 云南师范大学 一种基于深度强化学习的偏好感知推荐方法
CN116155991A (zh) * 2023-01-30 2023-05-23 杭州滨电信息技术有限公司 一种基于深度强化学习的边缘内容缓存与推荐方法及系统
CN116306322A (zh) * 2023-05-18 2023-06-23 天津中科谱光信息技术有限公司 一种基于高光谱数据的水体总磷浓度反演方法和装置
CN116628247A (zh) * 2023-07-24 2023-08-22 北京数慧时空信息技术有限公司 基于强化学习和知识图谱的影像推荐方法
CN116720007A (zh) * 2023-08-11 2023-09-08 河北工业大学 基于多维学习者状态和联合奖励的在线学习资源推荐方法
CN117290611A (zh) * 2023-11-24 2023-12-26 北京信立方科技发展股份有限公司 基于多层次知识图谱的仪器推荐方法及装置
CN117312542A (zh) * 2023-11-29 2023-12-29 泰山学院 基于人工智能的阅读推荐方法及系统
CN117349386A (zh) * 2023-10-12 2024-01-05 吉玖(天津)技术有限责任公司 一种基于数据强弱关联模型的数字人文应用方法
CN117851650A (zh) * 2024-03-05 2024-04-09 烟台大学 一种基于用户群和强化学习的项目推荐方法、系统和设备

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491541A (zh) * 2022-03-31 2022-05-13 南京众智维信息科技有限公司 基于知识图谱路径分析的安全运营剧本自动化编排方法
CN115187343A (zh) * 2022-07-20 2022-10-14 山东省人工智能研究院 基于注意图卷积神经网络的多行为推荐方法
CN115187343B (zh) * 2022-07-20 2023-08-08 山东省人工智能研究院 基于注意图卷积神经网络的多行为推荐方法
CN115017418A (zh) * 2022-08-10 2022-09-06 北京数慧时空信息技术有限公司 基于强化学习的遥感影像推荐系统及方法
CN115017418B (zh) * 2022-08-10 2022-11-01 北京数慧时空信息技术有限公司 基于强化学习的遥感影像推荐系统及方法
CN115618098B (zh) * 2022-09-08 2023-07-04 淮阴工学院 基于知识增强与空洞卷积的冷链物流推荐方法及装置
CN115618098A (zh) * 2022-09-08 2023-01-17 淮阴工学院 基于知识增强与空洞卷积的冷链物流推荐方法及装置
CN115239442A (zh) * 2022-09-22 2022-10-25 湖南快乐通宝小额贷款有限公司 一种互联网金融产品推广的方法及系统和存储介质
CN115239442B (zh) * 2022-09-22 2023-01-06 湖南快乐通宝小额贷款有限公司 一种互联网金融产品推广的方法及系统和存储介质
CN115762490A (zh) * 2022-11-08 2023-03-07 广东广信通信服务有限公司 一种基于轨迹修正的在线强化语义学习方法
CN115905691A (zh) * 2022-11-11 2023-04-04 云南师范大学 一种基于深度强化学习的偏好感知推荐方法
CN115905691B (zh) * 2022-11-11 2024-06-18 云南师范大学 一种基于深度强化学习的偏好感知推荐方法
CN116155991A (zh) * 2023-01-30 2023-05-23 杭州滨电信息技术有限公司 一种基于深度强化学习的边缘内容缓存与推荐方法及系统
CN116155991B (zh) * 2023-01-30 2023-10-10 杭州滨电信息技术有限公司 一种基于深度强化学习的边缘内容缓存与推荐方法及系统
CN116306322B (zh) * 2023-05-18 2023-08-25 天津中科谱光信息技术有限公司 一种基于高光谱数据的水体总磷浓度反演方法和装置
CN116306322A (zh) * 2023-05-18 2023-06-23 天津中科谱光信息技术有限公司 一种基于高光谱数据的水体总磷浓度反演方法和装置
CN116628247A (zh) * 2023-07-24 2023-08-22 北京数慧时空信息技术有限公司 基于强化学习和知识图谱的影像推荐方法
CN116628247B (zh) * 2023-07-24 2023-10-20 北京数慧时空信息技术有限公司 基于强化学习和知识图谱的影像推荐方法
CN116720007A (zh) * 2023-08-11 2023-09-08 河北工业大学 基于多维学习者状态和联合奖励的在线学习资源推荐方法
CN116720007B (zh) * 2023-08-11 2023-11-28 河北工业大学 基于多维学习者状态和联合奖励的在线学习资源推荐方法
CN117349386A (zh) * 2023-10-12 2024-01-05 吉玖(天津)技术有限责任公司 一种基于数据强弱关联模型的数字人文应用方法
CN117349386B (zh) * 2023-10-12 2024-04-12 吉玖(天津)技术有限责任公司 一种基于数据强弱关联模型的数字人文应用方法
CN117290611B (zh) * 2023-11-24 2024-02-23 北京信立方科技发展股份有限公司 基于多层次知识图谱的仪器推荐方法及装置
CN117290611A (zh) * 2023-11-24 2023-12-26 北京信立方科技发展股份有限公司 基于多层次知识图谱的仪器推荐方法及装置
CN117312542A (zh) * 2023-11-29 2023-12-29 泰山学院 基于人工智能的阅读推荐方法及系统
CN117312542B (zh) * 2023-11-29 2024-02-13 泰山学院 基于人工智能的阅读推荐方法及系统
CN117851650A (zh) * 2024-03-05 2024-04-09 烟台大学 一种基于用户群和强化学习的项目推荐方法、系统和设备
CN117851650B (zh) * 2024-03-05 2024-05-10 烟台大学 一种基于用户群和强化学习的项目推荐方法、系统和设备

Similar Documents

Publication Publication Date Title
CN114117220A (zh) 基于知识增强的深度强化学习交互式推荐系统及方法
CN112364976B (zh) 基于会话推荐系统的用户偏好预测方法
CN108563755A (zh) 一种基于双向循环神经网络的个性化推荐系统及方法
CN114817663B (zh) 一种基于类别感知图神经网络的服务建模与推荐方法
CN115270007B (zh) 一种基于混合图神经网络的poi推荐方法及系统
CN112016002A (zh) 融合评论文本层级注意力和时间因素的混合推荐方法
CN112417289A (zh) 一种基于深度聚类的资讯信息智能推荐方法
Lin et al. Quality of information-based source assessment and selection
CN106897776A (zh) 一种基于名义属性的连续型特征构造方法
CN114265986A (zh) 一种融合知识图谱结构与路径语义的信息推送方法和系统
CN115221413B (zh) 一种基于交互式图注意力网络的序列推荐方法及系统
Wang et al. Multi-scale graph attention subspace clustering network
Lai et al. Transconv: Relationship embedding in social networks
CN114971784B (zh) 一种融合自注意力机制基于图神经网络的会话推荐方法与系统
CN115687760A (zh) 一种基于图神经网络的用户学习兴趣标签预测方法
CN114519097A (zh) 一种异质信息网络增强的学术论文推荐方法
Hao et al. Deep graph clustering with enhanced feature representations for community detection
CN112487305B (zh) 一种基于gcn的动态社交用户对齐方法
CN113919440A (zh) 一种融合双重注意力机制和图卷积社交网络谣言检测系统
Li et al. Capsule neural tensor networks with multi-aspect information for Few-shot Knowledge Graph Completion
CN115840853A (zh) 一种基于知识图谱和图注意力网络的课程推荐系统
CN114238758B (zh) 一种基于多源跨界数据融合的用户画像预测方法
CN115545833A (zh) 一种基于用户社交信息的推荐方法及系统
Wang et al. Improving Relevance Prediction with Transfer Learning in Large-scale Retrieval Systems
CN115034837A (zh) 一种基于知识图谱的产品销量预测方法、设备和介质

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