CN112541639B - 基于图神经网络和注意力机制的推荐系统评分预测方法 - Google Patents

基于图神经网络和注意力机制的推荐系统评分预测方法 Download PDF

Info

Publication number
CN112541639B
CN112541639B CN202011526793.2A CN202011526793A CN112541639B CN 112541639 B CN112541639 B CN 112541639B CN 202011526793 A CN202011526793 A CN 202011526793A CN 112541639 B CN112541639 B CN 112541639B
Authority
CN
China
Prior art keywords
user
vertex
project
scoring
item
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.)
Active
Application number
CN202011526793.2A
Other languages
English (en)
Other versions
CN112541639A (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.)
Research Institute Of Yibin University Of Electronic Science And Technology
University of Electronic Science and Technology of China
Original Assignee
Research Institute Of Yibin University Of Electronic Science And Technology
University of Electronic Science and Technology of 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 Research Institute Of Yibin University Of Electronic Science And Technology, University of Electronic Science and Technology of China filed Critical Research Institute Of Yibin University Of Electronic Science And Technology
Priority to CN202011526793.2A priority Critical patent/CN112541639B/zh
Publication of CN112541639A publication Critical patent/CN112541639A/zh
Application granted granted Critical
Publication of CN112541639B publication Critical patent/CN112541639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于图神经网络和注意力机制的推荐系统评分预测方法,包括S1、基于度和时间信息,将“用户‑项目评分图”转换为“用户‑项目评分可信度图”,并为图中的每个顶点采样邻居顶点;S2、利用采样结果结合时间信息,对“用户‑项目评分可信度图”中各个顶点状态进行更新;S3、基于注意力机制实现用户对项目的进行评分预测,并更新评分预测模型;S4、利用评分预测模型实现用户对项目的评分预测。本发明给出了图神经网络在通用推荐系统中的应用途径,结合用户和项目的静态特征,利用图神经网络的图表示学习能力学习用户项目交互网络中隐特征的重要程度,更关注地为推荐系统服务。

Description

基于图神经网络和注意力机制的推荐系统评分预测方法
技术领域
本发明属于推荐系统技术领域,具体涉及一种基于图神经网络和注意力机制的推荐系统评分预测方法。
背景技术
推荐系统旨在为用户推荐潜在关联项目,其中项目是指电影、音乐、网页和商品等可供推荐的各类资源。在推荐系统中,用户对项目的评分预测是进行推荐和排名的前提,该过程也被描述为矩阵填充,即对评分矩阵中暂缺的评分数据进行填充,传统的图表示学习方法,基于矩阵分级等技术生成或学习得到用户和项目的向量表示,进而利用向量和点积运算实现评分预测。这类评分预测方法注重于挖掘静态的用户项目交互网络结构特征,存在三点问题:其一,没有充分利用用户顶点和项目顶点本身的静态特征,评分预测的精度提升很容易达到瓶颈;其二,很少考虑时间信息,对时间不敏感的特点使得这类模型无法捕获网络的演变特性,难以保证基于预测评分的推荐过程长期有效;其三,使用点积运算进行评分预测完全依赖于用户和项目的表示学习过程,却忽略了在评分预测任务中对用户项目表示重要程度的衡量。
发明内容
针对现有技术中的上述不足,本发明提供的基于图神经网络和注意力机制的推荐系统评分预测方法充分利用了用户和项目的静态特征以及时间度信息,实现更准确的评分预测,解决了背景技术中的上述问题。
为了达到上述发明目的,本发明采用的技术方案为:基于图神经网络和注意力机制的推荐系统评分预测方法,包括以下步骤:
S1、基于度和时间信息,将“用户-项目评分图”转换为“用户-项目评分可信度图”,并为“用户-项目评分可信度图”中的每个顶点采样邻居顶点;
S2、利用采样结果结合时间信息,基于图神经网络分别从用户视角和项目视角对“用户-项目评分可信度图”中各个顶点状态进行更新;
S3、基于注意力机制实现推荐系统中用户对项目的评分预测模型的构建,并完成模型训练及相关参数的更新;
S4、利用训练完成的评分预测模型,实现推荐系统中用户对象项目的评分预测。
进一步地,所述步骤S1中,将“用户-项目评分图”转换为“用户-项目评分可信度图”的方法具体为:
A1、获取“用户-项目评分图”的数据集合;
其中,“用户-项目评分图”的数据集合包括N个用户U={u1,u2,…,up,…,uN}和M个项目I={i1,i2,…,iq,…,iM}一起构成的顶点集V=U∪I、用户对项目的评分集R={rpq|up∈U,iq∈I,0≤rpq≤F}和归一化的时间戳集T={tpq|up∈U,iq∈I,0<tpq<1};
式中,u1,u2,…,up,…,uN表示第1到N个用户,i1,i2,…,iq,…,iM表示第1到M个项目,rpq表示用户up与项目iq之间存在的评分,且评分最大值为F,当rpq∈R时,表示用户up与项目iq之间暂无评分,tpq表示用户up给项目iq评分rpq的时间,已归一化(0,1)的范围内,tpq数值越大越临近现在,即对应的评分rpq越新;
A2、根据“用户-项目评分图”的数据集合中的评分集R统计出各个顶点的度,得到表征度信息统计的度集D={dv|v∈V};
式中,dv为顶点集V中顶点v的度;
A3、基于度集D={dv|v∈V}和时间戳集T={tpq|up∈U,iq∈I,0<tpq<1},计算得到评分可信度集C={cpq|vp,vq∈V},并通过顶点集V和评分可信度集C构成“用户-项目评分可信度图”;
式中,cpq表示源顶点vp给目标顶点vq之间的边评分的可信度。
进一步地,所述步骤S1中,为“用户-项目评分可信度图”中的每个顶点采样邻居顶点的方法具体为:
B1、根据“用户-项目评分可信度图”,基于置信度计算图中各个顶点的邻居顶点被采样的概率P(vq|vp);
B2、基于邻居顶点被采样的概率P(vq|vp)的分布为顶点集V中的各个顶点采样
Figure SMS_1
个邻居顶点;
B3、基于采样的
Figure SMS_2
个邻居顶点,在“用户-项目评分可信度图”中以用户节点u为源顶点采样得到邻居顶点/>
Figure SMS_3
以项目节点为源顶点采样得到邻居顶点
Figure SMS_4
进而实现邻居顶点采样;
式中,
Figure SMS_5
为用户u采样的/>
Figure SMS_6
个其评分的项目顶点,/>
Figure SMS_7
为项目i采样的/>
Figure SMS_8
个其评分的用户顶点。
进一步地,所述步骤S2具体为:
S21、获取用户和项目的静态特征矩阵XU和XI
其中,用户静态特征矩阵XU中每一行表示为一个用户u的特征输入
Figure SMS_9
项目特征矩阵XI中每一行表示为一个项目i的特征输入/>
Figure SMS_10
S22、将用户和项目的静态特征
Figure SMS_11
和/>
Figure SMS_12
分别作为用户u和项目i的初始状态,记为/>
Figure SMS_13
和/>
Figure SMS_14
S23、结合
Figure SMS_15
和时间戳集T分别从用户和项目两个视角,通过图神经网络状态更新过程聚合邻居顶点特征,生成并逐层更新用户u和项目i的状态表示/>
Figure SMS_16
和/>
Figure SMS_17
实现“用户-项目评分可信度图”中各个顶点的状态更新。
进一步地,所述步骤S23中的图神经网络包括K层,第k层更新得到的用户状态表示和项目状态表示分别为
Figure SMS_18
和/>
Figure SMS_19
用户视角和项目视角的状态更新过程的公式表示分别为:
Figure SMS_20
Figure SMS_21
式中,AGGREGATOR1(·)和AGGREGATOR2(·)分别表示用户视角和项目视角下图神经网络的状态更新过程函数,包括若干个待学习的参数矩阵,该状态更新过程结合时间信息聚合邻居顶点上一层的状态表示,生成当前层的状态表示,最后一层图神经网络状态更新过程函数的输出即为用户u和项目i的最终状态表示
Figure SMS_22
和/>
Figure SMS_23
进一步地,所述步骤S23中AGGREGATOR1(·)和AGGREGATOR2(·)的实现方法包括利用GRU多到一的序列学习能力的聚合方法实现或利用考虑时间信息的加权平均聚合方法实现;
当利用GRU多到一的序列学习能力的聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure SMS_24
Figure SMS_25
式中,SORTED(·)表示排序过程函数,
Figure SMS_26
和/>
Figure SMS_27
分别表示两个视图下第k层的循环神经单元,/>
Figure SMS_28
为第k-1层图神经网络状态更新过程函数输出的源顶点的状态表示,/>
Figure SMS_29
为第k-1层图神经网络状态更新过程函数输出的目标顶点的状态表示;
当利用考虑时间信息的加权平均聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure SMS_30
Figure SMS_31
式中,σ(·)为sigmoid激活函数,MEAN(·)为均值函数,Wagg1和Wagg2分别为用户视角和项目视角下待学习的参数矩阵,tpi为用户为源顶点时的时间信息,tuq为项目为目标顶点时的时间信息。
进一步地,所述步骤S3具体为:
S31、基于用户状态表示
Figure SMS_32
和项目状态表示/>
Figure SMS_33
分别计算用户u的状态的注意力矩阵/>
Figure SMS_34
和项目i的注意力矩阵/>
Figure SMS_35
其中,ATTENTION1(·)和ATTENTION2(·)分别表示注意力的计算过程函数,包括若干用于学习衡量状态信息重要性权重的待学习参数的参数矩阵;
S32、基于注意力矩阵Au和Ai,利用用户和项目的状态表示
Figure SMS_36
和/>
Figure SMS_37
生成用户u对项目i的预测评分/>
Figure SMS_38
并将所有用户对所有项目的预测评分构成集
Figure SMS_39
其中,PREDICT(·)表示基于注意力机制的预测评分函数,包括若干个待学习的参数矩阵;
S33、基于预测评分的集合
Figure SMS_40
和实际评分的评分集R,计算损失值/>
Figure SMS_41
其中,LOSS(·)为损失函数;
S34、基于计算出的损失值,采用随机梯度下降法更新推荐系统中评分预测模型中的各个待学习参数矩阵直到损失值收敛,进而使基于图神经网络和注意力机制的评分预测模型得到训练,并完成相关参数的更新。
进一步地,所述步骤S31中的注意力矩阵Au和注意力矩阵Ai分别为:
Figure SMS_42
Figure SMS_43
式中,
Figure SMS_44
均为待学习的参数矩阵,σ(·)是sigmoid激活函数,SOFTMAX为softmax函数。
进一步地,所述步骤S32中,通过全连接注意力网络或注意力点积网络生成用户u对项目i的预测评分
Figure SMS_45
当通过全连接注意力网络生成用户u对项目i的预测评分时,分别将用户、项目的注意力矩阵和状态矩阵拼接成完整的注意力矩阵和输入矩阵,得到预测评分
Figure SMS_46
Figure SMS_47
式中,WR为待学习的参数矩阵,σ(·)为sigmoid激活函数,SCORE_PROJECT为映射函数,用于将(0,1)范围内的输出映射到实际评分的范围内,·||为拼接操作;
当通过注意力点积网络生成用户u对项目i的预测评分时,将全连接注意力网络中的参数矩阵替换为点积运算,得到预测评分
Figure SMS_48
Figure SMS_49
式中,·表示点积运算。
本发明的有益效果为:
(1)本发明给出了图神经网络在通用推荐系统中的应用途径,结合用户和项目的静态特征,利用图神经网络的图表示学习能力学习用户项目交互网络中隐特征的重要程度,使得整个评分预测模型的训练过程摆脱了单纯的“图表示学习导向”,更关注地为推荐系统服务。
附图说明
图1为本发明提供的基于图神经网络和注意力机制的推荐系统评分预测方法流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,基于图神经网络和注意力机制的推荐系统评分预测方法,包括以下步骤:
S1、基于度和时间信息,将“用户-项目评分图”转换为“用户-项目评分可信度图”,并为“用户-项目评分可信度图”中的每个顶点采样邻居顶点;
S2、利用采样结果结合时间信息,基于图神经网络分别从用户视角和项目视角对“用户-项目评分可信度图”中各个顶点状态进行更新;
S3、基于注意力机制实现推荐系统中用户对项目的评分预测模型的构建,并完成模型训练及相关参数的更新;
S4、利用训练完成的评分预测模型,实现推荐系统中用户对象项目的评分预测。
在本实施例的步骤S1中,将“用户-项目评分图”转换为“用户-项目评分可信度图”的方法具体为:
A1、获取“用户-项目评分图”的数据集合;
其中,“用户-项目评分图”的数据集合包括N个用户U={u1,u2,…,up,…,uN}和M个项目I={i1,i2,…,iq,…,iM}一起构成的顶点集V=U∪I、用户对项目的评分集R={rpq|up∈U,iq∈I,0≤rpq≤F}和归一化的时间戳集T={tpq|up∈U,iq∈I,0<tpq<1};
式中,u1,u2,…,up,…,uN表示第1到N个用户,i1,i2,…,iq,…,iM表示第1到M个项目,rpq表示用户up与项目iq之间存在的评分,且评分最大值为F,当rpq∈R时,表示用户up与项目iq之间暂无评分,tpq表示用户up给项目iq评分rpq的时间,已归一化(0,1)的范围内,tpq数值越大越临近现在,即对应的评分rpq越新;这里需要强调的是,顶点集V中包含了用户和项目两类顶点;
A2、根据“用户-项目评分图”的数据集合中的评分集R统计出各个顶点的度,得到表征度信息统计的度集D={dv|v∈V};
式中,dv为顶点集V中顶点的v的度,即每个顶点分别有多少个邻居节点与之相连,对每个用户顶点来说是指该用户有多少个评过分的项目,对每个项目顶点而言来说就是指有多少个用户为该项目评过分;
A3、基于度集D={dv|v∈V}和时间戳集T={tpq|up∈U,iq∈I,0<tpq<1},计算得到评分可信度集C={cpq|vp,vq∈V},并通过顶点集V和评分可信度集C构成“用户-项目评分可信度图”;
式中,cpq表示源顶点vp给目标顶点vq之间的边评分的可信度。
具体地,计算评分可信度的过程如下公式:
Figure SMS_50
在步骤A1中已知,vp和vq均是顶点集V=U∪I中的顶点,cpq表示源顶点是vp目标顶点是vq的情况下对顶点vp来说顶点vq与它之间的评分可信度。计算过程中需要注意区分“源顶点是用户顶点”即vp∈I,vq∈U,rpq∈R和“源顶点是项目顶点”即vp∈U,vq∈I,rqp∈R两种情况:
1)源顶点是用户顶点:当源顶点是用户即vp∈U的时候,目标顶点是项目即vq∈I,那么对于用户顶点vp来说项目顶点vq与它之间的评分rpq可信度为cpq,Dq为项目顶点vq的度,tpq表示用户顶点vp给项目顶点vq评分时对应的归一化时间戳信息(0<tpq<1);Dq越大表示项目顶点vq和用户之间存在的交互关系越多,tpq越大表示用户顶点vp对项目顶点vq评分的时间越接近现在;对于用户顶点vp来说,Dq和tpq越大,它对项目顶点vq的评分行为具有越高的可信度。
2)源顶点是项目顶点:当源顶点是项目即vp∈I的时候,目标顶点是用户即vq∈U,那么对于项目顶点vp来说用户顶点vq与它之间的评分rqp可信度为cpq,Dq为用户顶点vq的度,tqp表示项目顶点vp被用户顶点vq评分时对应的归一化时间戳信息(0<tpq<1);Dq越大表示用户顶点vq和项目之间存在的交互关系越多,tpq越大表示项目顶点vp被用户顶点vq评分的时间越接近现在;对于项目顶点vp来说,Dq和tpq越大,它被用户顶点vq评分的行为具有越高的可信度。
可以看出来2)和1)两种情况的计算过程高度相似,实际上由于用户和项目之间评分行为的对称性,两种情况下评分时间也是相同的,即tpq=tqp;但是,需要注意的是,用户项目交互图中一条边上的项目顶点和用户顶点各自的度是不一样的,因此计算得到的cpq是不一样的,cpq衡量的是对于源顶点来说目标顶点的可信度,这将作为邻居采样的依据。
顶点集V和评分可信度集C共同构成了“用户-项目评分可信度图”,该图的特殊之处在于其顶点之间可能包含两条边或者没有边,只要用户顶点和项目顶点之间存在评分,那么它们之间就会有两条边,一条边的权重是对用户顶点来说相连项目顶点的可信度,另一条上的权重是对项目顶点来说相连用户顶点的可信度,这两个数值含义不同,数值也不相同;
本实施例的步骤S1中,为“用户-项目评分可信度图”中的每个顶点采样邻居顶点的方法具体为:
B1、根据“用户-项目评分可信度图”,基于置信度计算图中各个顶点的邻居顶点被采样的概率P(vq|vp);
B2、基于邻居顶点被采样的概率P(vq|vp)的分布为顶点集V中的各个顶点采样
Figure SMS_51
个邻居顶点;
B3、基于采样的
Figure SMS_52
个邻居顶点,在“用户-项目评分可信度图”中以用户节点u为源顶点采样得到邻居顶点/>
Figure SMS_53
以项目节点为源顶点采样得到邻居顶点
Figure SMS_54
进而实现邻居顶点采样;
式中,
Figure SMS_55
为用户u采样的/>
Figure SMS_56
个其评分的项目顶点,/>
Figure SMS_57
为项目i采样的/>
Figure SMS_58
个其评分的用户顶点。
具体地,和前面计算评分可信度一样,这里P(vq|vp)的计算也需要考虑“源顶点是用户顶点”即vp∈I,vq∈U,rpq∈R和“源顶点是项目顶点”即vp∈U,vq∈I,rqp∈R两种情况:
Figure SMS_59
其中,针对源顶点vp,所有与之相连(即存在评分交互,rpj∈R或rjp∈R)若干个顶点的可信度之和
Figure SMS_60
或/>
Figure SMS_61
作为归一化因子,用目标顶点vq的可信度cpq除以这个归一化因子即可得到源顶点为vp时目标顶点vq被采样的概率。
最终,以用户节点u为源顶点采样得到的邻居顶点表示为
Figure SMS_62
Figure SMS_63
表示为用户u采样的/>
Figure SMS_64
个其评分的项目顶点;以项目节点i为源顶点采样得到的邻居顶点表示为
Figure SMS_65
Figure SMS_66
表示为项目i采样的/>
Figure SMS_67
个为其评分的用户顶点。SAMPLE(V,R,P)表示利用顶点集、评分集和计算得到的概率分布P进行采样的过程,具体实现可采用python语言中random包提供的choices方法实现。
本实施例的步骤S2具体为:
S21、获取用户和项目的静态特征矩阵XU和XI
其中,用户静态特征矩阵XU中每一行表示为一个用户u的特征输入
Figure SMS_68
项目特征矩阵XI中每一行表示为一个项目i的特征输入/>
Figure SMS_69
S22、将用户和项目的静态特征
Figure SMS_70
和/>
Figure SMS_71
分别作为用户u和项目i的初始状态,记为/>
Figure SMS_72
和/>
Figure SMS_73
S23、结合
Figure SMS_74
和时间戳集T分别从用户和项目两个视角,通过图神经网络状态更新过程聚合邻居顶点特征,生成并逐层更新用户u和项目i的状态表示/>
Figure SMS_75
和/>
Figure SMS_76
实现“用户-项目评分可信度图”中各个顶点的状态更新。
具体地,步骤S23中的图神经网络包括K层,第k层更新得到的用户状态表示和项目状态表示分别为
Figure SMS_77
和/>
Figure SMS_78
用户视角和项目视角的状态更新过程的公式表示分别为:
Figure SMS_79
Figure SMS_80
式中,AGGREGATOR1(·)和AGGREGATOR2(·)分别表示用户视角和项目视角下图神经网络的状态更新过程函数,包括若干个待学习的参数矩阵,该状态更新过程结合时间信息聚合邻居顶点上一层的状态表示,生成当前层的状态表示,最后一层图神经网络状态更新过程函数的输出即为用户u和项目i的最终状态表示
Figure SMS_81
和/>
Figure SMS_82
其中,AGGREGATOR1(·)和AGGREGATOR2(·)的实现方法包括利用GRU多到一的序列学习能力的聚合方法实现或利用考虑时间信息的加权平均聚合方法实现;
当利用GRU多到一的序列学习能力的聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure SMS_83
Figure SMS_84
式中,SORTED(·)表示排序过程函数,查找归一化信息集T对采样得到的邻居顶点
Figure SMS_87
或者/>
Figure SMS_93
进行按照从过去到现在的顺序对邻居顶点/>
Figure SMS_97
或/>
Figure SMS_88
的上层状态表示/>
Figure SMS_90
或/>
Figure SMS_94
进行排序,即按照T中对应时间戳tuq∈T或tpi∈T从小到大排列;然后输入GRU循环单元(可利用keras框架提供的相关api实现),GRU的输出与上一层用户顶点u状态表示/>
Figure SMS_98
或者上一层项目顶点i状态表示/>
Figure SMS_85
进行||拼接操作,得到当前层对应的顶点状态表示/>
Figure SMS_89
或/>
Figure SMS_92
需要强调的一点是,上述两个公式中即用户视图和项目视图的每一层状态更新中GRU均包含不同的待学习参数矩阵(每层每个视角均有6个待学习的参数矩阵,每层共12个待学习的参数矩阵),因此分别用/>
Figure SMS_96
和/>
Figure SMS_86
表示两个视图下第k层的循环神经单元,/>
Figure SMS_91
为第k-1层图神经网络状态更新过程函数输出的源顶点的状态表示,/>
Figure SMS_95
为第k-1层图神经网络状态更新过程函数输出的目标顶点的状态表示;
当利用考虑时间信息的加权平均聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure SMS_99
Figure SMS_100
式中,σ(·)为sigmoid激活函数,MEAN(·)为均值函数,tpi为用户为源顶点时的时间信息,tuq为项目为目标顶点时的时间信息,Wagg1和Wagg2分别为用户视角和项目视角下待学习的参数矩阵,通过加权平均和激活函数的输出与上一层用户顶点u状态表示
Figure SMS_101
或者上一层项目顶点i状态表示/>
Figure SMS_102
进行||拼接操作,得到当前层对应的顶点状态表示/>
Figure SMS_103
或/>
Figure SMS_104
该方案相对于基于GRU的实现方案需要学习的参数矩阵较少,每层仅需要学习2个参数矩阵,训练所需成本小了很多,但是欠缺挖掘时序特征的能力,可以根据实际情况选择。
本实施例的步骤S3具体为:
S31、基于用户状态表示
Figure SMS_105
和项目状态表示/>
Figure SMS_106
分别计算用户u的状态的注意力矩阵
Figure SMS_107
和项目i的注意力矩阵/>
Figure SMS_108
其中,ATTENTION1(·)和ATTENTION2(·)分别表示注意力的计算过程函数,包括若干用于学习衡量状态信息重要性权重的待学习参数的参数矩阵,具体计算公式为:
Figure SMS_109
Figure SMS_110
式中,
Figure SMS_111
均为待学习的参数矩阵,σ(·)是sigmoid激活函数,SOFTMAX为softmax函数,用于将输出注意力矩阵中的各个元素映射到(0,1)区间内;
S32、基于注意力矩阵Au和Ai,利用用户和项目的状态表示
Figure SMS_112
和/>
Figure SMS_113
生成用户u对项目i的预测评分/>
Figure SMS_114
并将所有用户对所有项目的预测评分构成集
Figure SMS_115
其中,PREDICT(·)表示基于注意力机制的预测评分函数,包括若干个待学习的参数矩阵,该过程有两个实现方案,包括通过全连接注意力网络或注意力点积网络生成用户u对项目i的预测评分
Figure SMS_116
1)当通过全连接注意力网络生成用户u对项目i的预测评分时,即常规的注意力网络分别将用户、项目的注意力矩阵和状态矩阵拼接成完整的注意力矩阵和输入矩阵,得到预测评分
Figure SMS_117
Figure SMS_118
式中,WR为待学习的参数矩阵,σ(·)为sigmoid激活函数,SCORE_PROJECT为映射函数,用于将(0,1)范围内的输出映射到实际评分的范围内以便后续计算损失,具体实现可直接给输出乘上可获得的最高评分F,必要时还可以进一步四舍五入,即可得到{0,1,2,…,F}中的离散值作为预测评分;||为拼接操作;
2)当通过注意力点积网络生成用户u对项目i的预测评分时,为了节省计算成本,将全连接注意力网络中的参数矩阵替换为点积运算,得到预测评分
Figure SMS_119
Figure SMS_120
式中,·表示点积运算,即计算数量积;该方案省略了一个待学习的参数,而是通过注意力矩阵Au和Ai对用户和项目的状态表示
Figure SMS_121
和/>
Figure SMS_122
中各个维度进行重要性权衡,然后进行点积运算,最后的输出也需要通过SCORE_PROJECT进行映射;
S33、基于预测评分的集合
Figure SMS_123
和实际评分的评分集R,计算损失值/>
Figure SMS_124
其中,LOSS(·)为损失函数,用于衡量预测评分与实际评分之间的差距,本实施例中采样MSE均方差误差实现,如下公式所示;
Figure SMS_125
其中,
Figure SMS_126
表示预测评分的数目,由于具体实现时可能还需要划分训练集、验证集和测试集,这里的数据就是指当前划分数据集中预测的评分的数目;
S34、基于计算出的损失值,采用随机梯度下降法更新推荐系统中评分预测模型中的各个待学习参数矩阵直到损失值收敛,进而使基于图神经网络和注意力机制的评分预测模型得到训练,并完成相关参数的更新。
需要主要的是,在实现模型训练时可能还需要划分训练集、验证集和测试集,这里用于更新模型的损失值是根据训练集计算得到的,验证集或者测试集上进计算损失仅用于评估模型。

Claims (3)

1.基于图神经网络和注意力机制的推荐系统评分预测方法,其特征在于,包括以下步骤:
S1、基于度和时间信息,将“用户-项目评分图”转换为“用户-项目评分可信度图”,并为“用户-项目评分可信度图”中的每个顶点采样邻居顶点;
其中,项目包括电影、音乐、网页和商品;
S2、利用采样结果结合时间信息,基于图神经网络分别从用户视角和项目视角对“用户-项目评分可信度图”中各个顶点状态进行更新;
S3、基于注意力机制实现推荐系统中用户对项目的评分预测模型的构建,并完成模型训练及相关参数的更新;
S4、利用训练完成的评分预测模型,实现推荐系统中用户对象项目的评分预测;
所述步骤S2具体为:
S21、获取用户和项目的静态特征矩阵XU和XI
其中,用户静态特征矩阵XU中每一行表示为一个用户u的特征输入
Figure QLYQS_1
项目特征矩阵XI中每一行表示为一个项目i的特征输入/>
Figure QLYQS_2
S22、将用户和项目的静态特征
Figure QLYQS_3
和/>
Figure QLYQS_4
分别作为用户u和项目i的初始状态,记为/>
Figure QLYQS_5
Figure QLYQS_6
S23、结合
Figure QLYQS_7
和时间戳集T分别从用户和项目两个视角,通过图神经网络状态更新过程聚合邻居顶点特征,生成并逐层更新用户u和项目i的状态表示/>
Figure QLYQS_8
和/>
Figure QLYQS_9
实现“用户-项目评分可信度图”中各个顶点的状态更新;
所述步骤S23中的图神经网络包括K层,第k层更新得到的用户状态表示和项目状态表示分别为
Figure QLYQS_10
和/>
Figure QLYQS_11
用户视角和项目视角的状态更新过程的公式表示分别为:
Figure QLYQS_12
Figure QLYQS_13
式中,AGGREGATOR1(·)和AGGREGATOR2(·)分别表示用户视角和项目视角下图神经网络的状态更新过程函数,包括若干个待学习的参数矩阵,该状态更新过程结合时间信息聚合邻居顶点上一层的状态表示,生成当前层的状态表示,最后一层图神经网络状态更新过程函数的输出即为用户u和项目i的最终状态表示
Figure QLYQS_14
和/>
Figure QLYQS_15
所述步骤S23中AGGREGATOR1(·)和AGGREGATOR2(·)的实现方法包括利用GRU多到一的序列学习能力的聚合方法实现或利用考虑时间信息的加权平均聚合方法实现;
当利用GRU多到一的序列学习能力的聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure QLYQS_16
Figure QLYQS_17
式中,SORTED(·)表示排序过程函数,
Figure QLYQS_18
和/>
Figure QLYQS_19
分别表示两个视图下第k层的循环神经单元,/>
Figure QLYQS_20
为第k-1层图神经网络状态更新过程函数输出的源顶点的状态表示,
Figure QLYQS_21
为第k-1层图神经网络状态更新过程函数输出的目标顶点的状态表示;
当利用考虑时间信息的加权平均聚合方法实现时,AGGREGATOR1(·)和AGGREGATOR2(·)分别为:
Figure QLYQS_22
Figure QLYQS_23
式中,σ(·)为sigmoid激活函数,MEAN(·)为均值函数,Wagg1和Wagg2分别为用户视角和项目视角下待学习的参数矩阵,tpi为用户为源顶点时的时间信息,tuq为项目为目标顶点时的时间信息;
所述步骤S3具体为:
S31、基于用户状态表示
Figure QLYQS_24
和项目状态表示/>
Figure QLYQS_25
分别计算用户u的状态的注意力矩阵
Figure QLYQS_26
和项目i的注意力矩阵/>
Figure QLYQS_27
其中,ATTENTION1(·)和ATTENTION2(·)分别表示注意力的计算过程函数,包括若干用于学习衡量状态信息重要性权重的待学习参数的参数矩阵;
S32、基于注意力矩阵Au和Ai,利用用户和项目的状态表示
Figure QLYQS_28
和/>
Figure QLYQS_29
生成用户u对项目i的预测评分/>
Figure QLYQS_30
并将所有用户对所有项目的预测评分构成集/>
Figure QLYQS_31
其中,PREDICT(·)表示基于注意力机制的预测评分函数,包括若干个待学习的参数矩阵;
S33、基于预测评分的集合
Figure QLYQS_32
和实际评分的评分集R,计算损失值/>
Figure QLYQS_33
其中,LOSS(·)为损失函数;
S34、基于计算出的损失值,采用随机梯度下降法更新推荐系统中评分预测模型中的各个待学习参数矩阵直到损失值收敛,进而使基于图神经网络和注意力机制的评分预测模型得到训练,并完成相关参数的更新;
所述步骤S31中的注意力矩阵Au和注意力矩阵Ai分别为:
Figure QLYQS_34
Figure QLYQS_35
式中,
Figure QLYQS_36
均为待学习的参数矩阵,σ(·)是sigmoid激活函数,SOFTMAX为softmax函数;
所述步骤S32中,通过全连接注意力网络或注意力点积网络生成用户u对项目i的预测评分
Figure QLYQS_37
当通过全连接注意力网络生成用户u对项目i的预测评分时,分别将用户、项目的注意力矩阵和状态矩阵拼接成完整的注意力矩阵和输入矩阵,得到预测评分
Figure QLYQS_38
Figure QLYQS_39
式中,WR为待学习的参数矩阵,σ(·)为sigmoid激活函数,SCORE_PROJECT为映射函数,用于将(0,1)范围内的输出映射到实际评分的范围内,||为拼接操作;
当通过注意力点积网络生成用户u对项目i的预测评分时,将全连接注意力网络中的参数矩阵替换为点积运算,得到预测评分
Figure QLYQS_40
Figure QLYQS_41
式中,·表示点积运算。
2.根据权利要求1所述的基于图神经网络和注意力机制的推荐系统评分预测方法,其特征在于,所述步骤S1中,将“用户-项目评分图”转换为“用户-项目评分可信度图”的方法具体为:
A1、获取“用户-项目评分图”的数据集合;
其中,“用户-项目评分图”的数据集合包括N个用户U={u1,u2,…,up,…,uN}和M个项目I={i1,i2,…,iq,…,iM}一起构成的顶点集V=U∪I、用户对项目的评分集R={rpq|up∈U,iq∈I,0≤rpq≤F}和归一化的时间戳集T={tpq|up∈U,iq∈I,0<tpq<1};
式中,u1,u2,…,up,…,uN表示第1到N个用户,i1,i2,…,iq,…,iM表示第1到M个项目,rpq表示用户up与项目iq之间存在的评分,且评分最大值为F,当rpq∈R时,表示用户up与项目iq之间暂无评分,tpq表示用户up给项目iq评分rpq的时间,已归一化(0,1)的范围内,tpq数值越大越临近现在,即对应的评分rpq越新;
A2、根据“用户-项目评分图”的数据集合中的评分集R统计出各个顶点的度,得到表征度信息统计的度集D={dv|v∈V};
式中,dv为顶点集V中顶点v的度;
A3、基于度集D={dv|v∈V}和时间戳集T={tpq|up∈U,iq∈I,0<tpq<1},计算得到评分可信度集C={cpq|vp,vq∈V},并通过顶点集V和评分可信度集C构成“用户-项目评分可信度图”;
式中,cpq表示源顶点vp给目标顶点vq之间的边评分的可信度。
3.根据权利要求2所述的基于图神经网络和注意力机制的推荐系统评分预测方法,其特征在于,所述步骤S1中,为“用户-项目评分可信度图”中的每个顶点采样邻居顶点的方法具体为:
B1、根据“用户-项目评分可信度图”,基于置信度计算图中各个顶点的邻居顶点被采样的概率P(vq|vp);
B2、基于邻居顶点被采样的概率P(vq|vp)的分布为顶点集V中的各个顶点采样
Figure QLYQS_42
个邻居顶点;
B3、基于采样的
Figure QLYQS_43
个邻居顶点,在“用户-项目评分可信度图”中以用户节点u为源顶点采样得到邻居顶点/>
Figure QLYQS_44
以项目节点为源顶点采样得到邻居顶点
Figure QLYQS_45
进而实现邻居顶点采样;
式中,
Figure QLYQS_46
为用户u采样的/>
Figure QLYQS_47
个其评分的项目顶点,/>
Figure QLYQS_48
为项目i采样的
Figure QLYQS_49
个其评分的用户顶点。
CN202011526793.2A 2020-12-22 2020-12-22 基于图神经网络和注意力机制的推荐系统评分预测方法 Active CN112541639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011526793.2A CN112541639B (zh) 2020-12-22 2020-12-22 基于图神经网络和注意力机制的推荐系统评分预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011526793.2A CN112541639B (zh) 2020-12-22 2020-12-22 基于图神经网络和注意力机制的推荐系统评分预测方法

Publications (2)

Publication Number Publication Date
CN112541639A CN112541639A (zh) 2021-03-23
CN112541639B true CN112541639B (zh) 2023-07-07

Family

ID=75019650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011526793.2A Active CN112541639B (zh) 2020-12-22 2020-12-22 基于图神经网络和注意力机制的推荐系统评分预测方法

Country Status (1)

Country Link
CN (1) CN112541639B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113365298B (zh) * 2021-04-22 2022-08-02 山东师范大学 基于高阶模糊认知图的mr网络信号强度预测方法及系统
CN112884496B (zh) * 2021-05-06 2021-08-20 达而观数据(成都)有限公司 计算企业信用因子分数的方法、装置及计算机存储介质
CN113688315B (zh) * 2021-08-19 2023-04-18 电子科技大学 一种基于无信息损失图编码的序列推荐方法
CN114819070B (zh) * 2022-04-12 2024-09-17 重庆康洲大数据(集团)有限公司 基于图神经网络的时序数据自适应可信采样方法
CN116862667A (zh) * 2023-08-16 2023-10-10 杭州自旋科技有限责任公司 一种基于对比学习和解耦图神经的欺诈检测和信用评估方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059262A (zh) * 2019-04-19 2019-07-26 武汉大学 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法
CN110119467A (zh) * 2019-05-14 2019-08-13 苏州大学 一种基于会话的项目推荐方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544535B2 (en) * 2019-03-08 2023-01-03 Adobe Inc. Graph convolutional networks with motif-based attention
CN110765260A (zh) * 2019-10-18 2020-02-07 北京工业大学 一种基于卷积神经网络与联合注意力机制的信息推荐方法
CN110879864B (zh) * 2019-10-29 2022-06-07 南京大学 一种基于图神经网络和注意力机制的上下文推荐方法
CN111080400B (zh) * 2019-11-25 2023-04-18 中山大学 一种基于门控图卷积网络的商品推荐方法及系统、存储介质
CN111241423B (zh) * 2020-01-17 2023-07-25 江西财经大学 融合信任不信任关系和注意力机制深度推荐方法及系统
CN111311324B (zh) * 2020-02-18 2022-05-20 电子科技大学 基于稳定神经协同过滤的用户-商品偏好预测系统和方法
CN111966889B (zh) * 2020-05-20 2023-04-28 清华大学深圳国际研究生院 一种图嵌入向量的生成方法以及推荐网络模型的生成方法
CN112084407B (zh) * 2020-09-08 2024-03-12 辽宁工程技术大学 一种融合图神经网络和注意力机制的协同过滤推荐方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059262A (zh) * 2019-04-19 2019-07-26 武汉大学 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法
CN110119467A (zh) * 2019-05-14 2019-08-13 苏州大学 一种基于会话的项目推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112541639A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN112541639B (zh) 基于图神经网络和注意力机制的推荐系统评分预测方法
WO2020207196A1 (zh) 用户标签生成方法、装置、存储介质和计算机设备
WO2020249125A1 (zh) 用于自动训练机器学习模型的方法和系统
CN108763362B (zh) 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
CN111222332B (zh) 一种结合注意力网络和用户情感的商品推荐方法
CN108829763B (zh) 一种基于深度神经网络的影评网站用户的属性预测方法
CN113822494A (zh) 风险预测方法、装置、设备及存储介质
CN113806630B (zh) 基于注意力的多视角特征融合跨域推荐方法及装置
CN110188198A (zh) 一种基于知识图谱的反欺诈方法及装置
CN109582956A (zh) 应用于句子嵌入的文本表示方法和装置
CN106778894A (zh) 一种学术异构信息网络中作者合作关系预测的方法
CN113065974A (zh) 一种基于动态网络表示学习的链路预测方法
CN112446739B (zh) 一种基于分解机和图神经网络的点击率预测方法及系统
CN113761250A (zh) 模型训练方法、商户分类方法及装置
CN113762703A (zh) 确定企业画像的方法和装置、计算设备和存储介质
CN115062732A (zh) 基于大数据用户标签信息的资源共享合作推荐方法及系统
CN115631008A (zh) 商品推荐方法、装置、设备及介质
CN114386513A (zh) 一种集成评论与评分的交互式评分预测方法及系统
CN115840853A (zh) 一种基于知识图谱和图注意力网络的课程推荐系统
CN108154380A (zh) 基于大规模评分数据对用户进行商品在线实时推荐的方法
CN112487305B (zh) 一种基于gcn的动态社交用户对齐方法
CN114254738A (zh) 双层演化的动态图卷积神经网络模型构建方法及应用
Meng et al. POI recommendation for occasional groups Based on hybrid graph neural networks
CN115952438B (zh) 社交平台用户属性预测方法、系统、移动设备及存储介质
CN114265954B (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
GR01 Patent grant
GR01 Patent grant