CN116992099B - 一种基于交互选择的图神经网络推荐方法、系统及终端 - Google Patents
一种基于交互选择的图神经网络推荐方法、系统及终端 Download PDFInfo
- Publication number
- CN116992099B CN116992099B CN202311254867.5A CN202311254867A CN116992099B CN 116992099 B CN116992099 B CN 116992099B CN 202311254867 A CN202311254867 A CN 202311254867A CN 116992099 B CN116992099 B CN 116992099B
- Authority
- CN
- China
- Prior art keywords
- user
- interaction
- node
- nodes
- feature
- 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
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 40
- 230000002452 interceptive effect Effects 0.000 claims description 57
- 238000004220 aggregation Methods 0.000 claims description 40
- 230000002776 aggregation Effects 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000010586 diagram Methods 0.000 claims description 28
- 230000007246 mechanism Effects 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 14
- 230000004927 fusion Effects 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 12
- 230000009286 beneficial effect Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 abstract description 13
- 238000002679 ablation Methods 0.000 abstract description 9
- 238000013461 design Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 74
- 230000000694 effects Effects 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 11
- 230000001965 increasing effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 208000028659 discharge Diseases 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 241001235534 Graphis <ascomycete fungus> Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000531116 Blitum bonus-henricus Species 0.000 description 1
- 235000008645 Chenopodium bonus henricus Nutrition 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Probability & Statistics with Applications (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于信息技术服务技术领域,尤其涉及一种基于交互选择的图神经网络推荐方法、系统及终端,首先构建用户内部交互图、物品内部交互图和用户‑物品交叉交互图三个子图,然后,将所有的用户及其属性、物品及其属性进行特征编码,根据一个注意力分数来对边进行挑选,然后进行消息的传播与聚合;使用RNN来融合从特征编码模块传来的信息,得到最终的节点信息;最后将全图的节点分为用户部分节点和物品部分节点,得到预测结果。本发明设计了一个通过特征交互和MLP计算的注意力分数,用于挑选图中该分数排名靠前的边,也就是接下来的多头注意力模型用来交互的边,并利用消融实验验证了该交互选择步骤的有效性。
Description
技术领域
本发明属于信息技术服务技术领域,尤其涉及一种基于交互选择的图神经网络推荐方法、系统及终端。
背景技术
推荐系统核心任务是解决信息过载问题,推荐用户可能感兴趣的商品,因此点击行为通常被视为用户表达喜好的行为,点击率(CTR)预测是推荐系统中的重要环节。传统的推荐系统包括基于内容和基于协同过滤(Collaborative Filtering,CF)的研究方法,然而,由于用户和商品之间的互动非常稀疏,传统的协同过滤方法的效果非常有限。
随着模型进入神经网络(NN)时代,NN模型具备的拟合能力以及在数据红利的加持下,极大地减少了算法工程师们在特征工程上的精力开销,工作重点开始聚焦于模型结构。虽然理论上NN可以拟合一切函数,但在有限的数据和训练周期内,无法快速地逼近效果上限。在这种背景下,显式特征交叉重新得到大家的关注,围绕自动交叉特征,研究者们迭代出FM/XDeepFM/DCN等模型,并取得了非常好的效果,但是它们的高阶交互计算复杂度较高。在深度学习的背景下,用于推荐的双塔模型DSSM、Que2Search、EBR等也被提出,但双塔模型会带来两侧特征交互太晚,细节信息损失的问题。
图是一种数据结构,它反映了一组实体(节点)及其关系(边)。在现实场景下,大量数据是以图的形式存在的,例如,购物网站上的用户ID、商品ID,以及用户和商品各自的属性可以组成一张图。目前,图神经网络(GNN)作为基于图结构数据的深度学习体系结构,越来越受到人们的关注。作为一类在捕获图中节点之间的高阶关系的有效模型,GNN通过一层一层地从它们的邻域中迭代聚合特征来学习节点嵌入,节点之间的高阶关系可以通过堆叠层显式地编码在嵌入中,因此,GNN在建模高阶特征相互作用预测CTR方面显示出巨大潜力。例如,Fi-GNN在构建图时使用全连通图,对每对特征都进行交互,然后,利用门控图神经网络对特征图上的特征交互进行建模。然而,并不是所有的特征交互都是有益的。最近,一些研究试图利用注意力机制以一种可解释的方式来建模特征之间的相互作用,AutoInt首先尝试使用多头自注意机制来显式地建模特征交互。GMCF设计的网络结构则解决了两侧特征交互太晚的问题,模型在两侧特征交互前设计了一个交叉交互模块。
通过上述分析,现有技术存在的问题及缺陷为:由于用户和商品之间的互动非常稀疏,传统的协同过滤方法的效果非常有限。
发明内容
为了捕捉用户和物品的联系,同时减少无益交互带来的影响,本发明提供了一种基于交互选择的图神经网络推荐方法、系统及终端。设计了一种新的方法来选择有益的特征交互,在选择有益的边后,模型采用一种带注意力的消息传播结构,用于更新特征表示。并且为了增强模型的泛化性能,采用了一种多头注意机制。本发明提出的模型设计了多层结构,模型的每一层都在现有的基础上产生更高阶的交互作用。本发明显式地在图结构中以不同的方式建模和聚合内部交互和交叉交互。具体来说,使用由用户(物品)ID及其属性组成的图来表示用户(物品)。每个ID或属性是一个节点,每个成对的属性交互是一条边。
本发明是这样实现的,一种基于交互选择的图神经网络推荐系统,基于交互选择的图神经网络推荐系统包括:
图构建模块,MGNN_IS模型首先构建了用户内部交互图、物品内部交互图和用户-
物品交叉交互图三个子图,在构建用户内部交互图和物品内部交互图时构建的是
全连通图,在构建用户与物品交叉的交互图时,用户部分和物品部分间是全部连接的;
从而,完整的图也是一个全连通图;
特征嵌入模块,将所有的用户及其属性、物品及其属性进行特征编码,MGNN_IS模
型将所有节点组合在一起,使用特征矩阵来对节点进行编码;
交互选择与传播聚合模块,由多层组成,层与层之间使用残差连接和层归一化,
GNN模块首先根据一个注意力分数来对边进行挑选,注意力分数排名靠后的交互不进行
计算,然后进行消息的传播与聚合,这里模型采用了多头注意力机制;
特征融合模块,使用了RNN来融合从特征编码模块传来的原始节点信息、交互选择与传播聚合模块产生的内部交互后的节点信息、和交叉交互后的节点信息,从而得到最终的节点信息;
预测模块,将全图的节点分为用户部分节点和物品部分节点,所有节点的平均值
就是用户部分和物品部分的特征表示,提取用户和物品特征后,使用点积计算用户和物品
是否进行交互,预测出。
进一步,图构建模块具体包括:
定义为用户及其属性的
集合,其中,代表用户ID,代表用户属性;为物品及其属性集合,其中,代表物品ID,代表物品属性;定义集合,表示用户、物品以及它们的属性所产生的关系;
每个不同的用户拥有多个属性,每个不同的物品拥有多个属性。推
荐系统的训练数据通常是有用户—物品的历史交互,每对用来表示用户和物品的历
史交互,其中、;
通过用户及其属性,物品及其属性,用户和物品的交互构建了三个子图,、、,其中,表示用户和其属性间的关系,表示物品和其属性间的关系,表示
用户及其属性和物品及其属性之间的关系;将输入到模型的完整的节点和关系的信息表示
为。
具体来说,对于每个用户,它的ID表示为,拥有属性,ID和
属性都是用户属性图的节点,边就是节点间的相互作用关系;同样的,对于每个,它的ID表
示为,拥有属性,ID和属性就是物品图的节点,在图构建模块内部交互
采用全连通图的方式构建;对于交叉交互,其节点为,构建图的方式是将用户部分的节点和物品
部分的节点全部连接,而它们的内部不产生连接。
进一步,特征嵌入模块包括:
首先将每个输入的节点表示为one-hot向量,其中,代表节点的数量,更具体的解释是为
数据集中所有用户ID、用户属性、物品ID、物品属性的总量,用户ID表示为User,用户属性表
示为Userattr,物品ID表示为Item,物品属性表示为Itemattr;代表第个节点的
one-hot向量,由于one-hot向量非常的稀疏和高维,需要构建一个可训练的矩阵,将这些one-hot向量映射到低维的潜在空间中;具体来说,向量,被映射
为稠密嵌入,如下式所示:
;
因此,可以通过特征嵌入组成特征嵌入矩阵:
。
进一步,交互选择与传播融合模块由多层构成,每一层由一个GNN模块和一个Add&
Norm模块构成,GNN模块的输出是每层节点特征更新的结果,Add&Norm模块的输出
是下一层的输入;第一层的输入即为特征嵌入的结果在
交互选择与传播模块的表示,每层节点特征更新结果进行连接后即可得到交互选择与传播
聚合模块的最终输出;
MGNN_IS模型在图构建模块采用的是节点间全连接的方式,但并非所有的节点交互都是有益的,因此,设计了一个交互选择机制;
在GNN模块,首先要进行交互选择,在此处设计了一个具有一个隐藏层的多层感知机通过节点对的点乘来计算两节点之间边的权重,如下式所示:
;
其中,为一对邻居节点的特征向量,代表点乘,即,对两个特征向量进
行逐元素的乘法,代表MLP第一个线性层的权重,代表当前批次图中
边的数量,hidden是隐藏层的大小,代表MLP第一个线性层的偏置,为MLP第一
层的激活函数修正线性单元ReLU,代表MLP第二个线性层的权重,代表MLP第二个线性层的偏置,为激活函数sigmoid;是所得结
果,其中数值的取值范围为,它是边的权重也是一个注意力分数;
得到注意力分数后,选择保留排名靠前的个边,其它边的权重置为0,的个
数的设定为一个固定比例乘以图中边的数量,计算过程如下式所示:
;
其中,代表选取排名靠前的个分数的操作,为排名靠前的个分
数的索引,为的整体索引除去剩下的索引;
经过交互选择后,节点特征剩余的邻居节点特征集合定义为;接下来要进行传播聚合操作,提出的MGNN_IS模
型采用了一个多头注意力机制,定义注意力的计算如下式所示:
;
其中,为可训练的权重,为一对邻居节点的特征向量,,
代表点乘,是所使用的激活函数,代表注意力分数,可以理解为边的权重;
为了使不同特征节点之间的系数易于比较,使用softmax函数对注意力分数进
行归一化:
;
其中,表示以自然常数e为底的指数函数,是节点特征的邻居节点特征
集合;
得到归一化的注意力分数后更新节点的特征表示:
;
其中,为可训练的线性变换矩阵,和是通过不同函数计算的注意力分
数,将它们结合起来计算节点特征向量间的特征交互权重,为激活函数sigmoid,表示
点乘,是节点特征的邻居节点特征集合,为更新后的节点特征。
为了增强模型的泛化能力,捕捉不同语义子空间中的特征交互的多义性,模型采
用了多头注意力机制;具体来说,有H个独立的注意力计算,需要将节点特征均等的拆成
H份,为了使特征向量能够被任意个头拆分,模型首先对其进行了线性变换,将其
映射为,拆分后的特征独立执行更新,然后将这些特征链接起来,得到更新后特
征,计算过程如下式所示:
;
其中,代表连接,为第h个头的注意力计算,是第h个头的可训练线性变换
矩阵,是特征选择阶段得到的注意力分数,为激活函数sigmoid,为一对邻居
节点的特征向量,表示点乘,是节点特征的邻居节点特征集合;得到后模型会
再进行一个线性变换使得,以方便后续的计算。
进一步,交互网络层通过特征嵌入模块可以得到图的所有节点特征集合,通
过交互选择与传播聚合模块,可以得到内部交互图、更新后的所有节点特征集合,和交叉交互图更新后的所有节点特征集合,和中的节点特征是每一层
GNN模块输出的拼接;为了使拼接后的特征能够进行后续的计算,模型使用了一个线性层将
拼接后的维度映射为原始维度大小;在特征融合部分,模型选用了门控循环单元模型对三
个节点特征集合、、进行结合,从而得到最终的节点特征集合,,GRU的计算过程展示如下式:
;
其中,是当前时间步t的输入,表示节点总数,表示层数,为输入
维度大小,与是权重参数,其中是
隐藏单元大小,是偏置,表示重置门的向量,是
更新门的向量,是上一时间步的结果,是时间步t的隐状态,是时间步t的候选隐状态;表示点乘;表示激活函数双曲正切函数,为
激活函数sigmoid;
具体来说,集合中的节点特征是第一个时间步的输入,需要说明的是
为了能够和交互选择和传播聚合模块的输出进行计算,将其维度映射为,集合中的节点特征则是最后一个时间步的输入,最后输出。
进一步,预测模块具体包括:
通过特征融合模块,得到了最终的节点特征集合
),接下来模型将划分为用户节点特征集合与物品节点特征集合,它们的定义展示
如下式:
;
其中,是用户ID和用户属性的集合,是物品ID和物品属性的集合,表示最终
节点特征集合中的用户特征,表示最终节点特征集合中的物品特征;
接下来需要计算用户图和物品图的整图属性,此处假设集合中有个节点,集
合中有个节点,用户图属性和物品图属性由各自节点集合的平均值得出,公式
化的展示如下所示:
;
最后,使用两图属性的点乘的和来进行最终的预测,计算出预测值,展示如下
式:
;
其中,,b是批次大小,表示层数,为维度大小,代表sigmoid
函数,表示点乘,所得的结果中的值的范围为;
此处需要完成的是用户是否对物品感兴趣的二分类任务,于是模型中选择使用二元交叉熵损失函数(BCELoss),如下式所示:
;
其中是真实标签,是预测值,表示进行对数计算,优化器采用Adam。
本发明的另一目的在于提供一种应用所述的基于交互选择的图神经网络推荐系统的基于交互选择的图神经网络推荐方法,基于交互选择的图神经网络推荐方法包括:
步骤一,构建用户内部交互图、物品内部交互图和用户-物品交叉交互图三个子
图,在构建用户内部交互图和物品内部交互图时构建的是全连通图,在构建用户
与物品交叉的交互图时,用户部分和物品部分间是全部连接的;从而,完整的图也是
一个全连通图;
步骤二,将所有的用户及其属性、物品及其属性进行特征编码,MGNN_IS模型将所
有节点组合在一起,使用特征矩阵来对节点进行编码;
步骤三,根据一个注意力分数来对边进行挑选,注意力分数排名靠后的交互不
进行计算,然后进行消息的传播与聚合;
步骤四,使用RNN来融合从特征编码模块传来的原始节点信息、交互选择与传播聚合模块产生的内部交互后的节点信息、和交叉交互后的节点信息,从而得到最终的节点信息;
步骤五,将全图的节点分为用户部分节点和物品部分节点,所有节点的平均值就是用户部分和物品部分的特征表示,提取用户和物品特征后,使用点积计算用户和物品是否进行交互,得到预测结果。
本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于交互选择的图神经网络推荐方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的基于交互选择的图神经网络推荐方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的基于交互选择的图神经网络推荐系统。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一,本发明提供的基于图神经网络的推荐系统是一种利用图结构来建模用户和物品之间的复杂关系和交互的方法。它可以有效地提高推荐的准确性、多样性、可解释性和公平性。现有的基于图神经网络的推荐系统技术大多是基于二部图的,但是在实际的应用中各类需要使用到推荐的场景大多是拥有用户属性和物品属性的,在实际应用中不使用这些属性是十分可惜的。同时带属性的图可以包含更多的边信息,例如用户和物品的特征、知识图谱等,这些信息可以帮助缓解数据稀疏性和冷启动问题,以及增强用户和物品的表示。
使用带属性的图而不是二部图的技术难度在于,目前在网络上所能找到的公开数据集极大一部分是只有用户与物品的交互信息的,这意味着这些数据集构建二部图是容易的,但是像这些数据集中添加属性信息是较为困难的。困难在于,公开的用户与物品交互数据集为了保护用户的隐私,只会显示重新设置后的用户ID和物品ID,而不会涉及到有含义的文本信息。所以本发明需要寻找自带用户和物品属性的数据集,并且如果物品名称是有意义文本的情况下,选择在相关网站爬去更多属性信息。
很多基于图神经网络的推荐方法是先将用户信息与物品信息先分开提取,到模型的预测部分再进行融合,也就相当于基于图神经网络的双塔模型,这样会带来两侧交互太晚,细节损失的问题。于是,本发明分别构建了用户和物品的内部交互和交叉交互图,交叉交互图是用来解决两侧特征交互太晚的问题。
拥有属性信息的图中如何构建ID与属性的连接是一个难点,它并不会像二部图一样有一个明确的连接关系,但构建完全图也会存在并不是每个交互都是有益的问题。本发明为了解决这个问题,在构建完全图的基础上设计了一个交互选择子模块。完全图是一个简单的无向图,其中每对不同的顶点之间都恰连有一条边相连。交互选择模块,则是计算无向图中所有边的权重,在本发明现有的参数设置中。只有权重排名靠前的50%的边会被保留下来,参与下一步的多头注意力传播与聚合子模块的计算,拥有多头注意力的传播与聚合子模块也会对不同的边赋予不同的权重。通过交互选择与多头注意力的传播与聚合两步操作,从一定程度上缓解了完全图中并不是每个交互都是有益的问题。
多层交互选择与含有多头注意力的传播聚合模块的堆叠问题是一个难点。多层GNN可以使每个节点获取更远距离的邻居节点的信息,从而提高节点表示的全局性和表达能力;可以增加模型的非线性和复杂度,从而提高模型的拟合能力和泛化能力。但是堆叠多层GNN也会存在问题,例如,梯度消失或过度平滑,导致节点表示失去区分性。本发明通过残差连接缓解梯度消失和过渡平滑问题。残差连接的基本思想是在每一层的输出上加上输入本身,从而保留了原始的信息,同时增加了新的信息。残差连接可以使网络更容易地学习恒等映射,从而避免了深层网络中梯度消失的问题;也可以减少过渡平滑的问题,因为它可以保持节点之间的差异性,而不是让它们趋于一致。事实上,多层GNN并不一定总是比单层或少层的GNN效果更好,需要根据具体的数据来选择合适的层数。本发明通过实验发现了,多层GNN在AliEC数据集上的效果反而没有单层的GNN好,而AliEC数据集的单个用户属性和物品属性是所本发明实验所挑选的三个数据集中最多的。通过分析,本发明发现,图结构越稀疏,多层GNN越有优势,相反,图结构越密集,多层GNN越有劣势。
通过对模型多层堆叠的实验发现,本发明模型在不同数据集上并非一个固定的层数能获得最好的表现,这意味着,在实际应用中,需要根据所处理的数据不同灵活调整堆叠层数。
单头注意力和多头注意力都是一种用于计算输入特征之间的相关性的技术,但是多头注意力有以下两个优点。第一,多头注意力可以让模型在不同的子空间中学习不同的表示,从而增强模型的表达能力和解释性。第二,让模型在计算复杂度和表达能力之间达到一个平衡,多头注意力机制的计算代价和单头注意力机制相似。由于多头注意力相比单头注意力的优点,本发明选择使用基于多头注意力机制的传播与聚合。
多头数量的选择也是一个难点,只是增加多头数量的时候不一定会带来模型效果的提升。这是因为,将特征送入多头前需要进行平均的拆分,这意味着头数越多每个头能得到的信息量是更少的,而多头的目的是为了在多个语义子空间进行学习,增加多样性使得模型的泛化能力更强。调整头的个数就是在每个头所得到的信息量和模型的多样性间去做权衡。这就导致模型在不同数据集上的实验结果是在不同多头数量和不同GNN层数上得到了。
第二,本发明索要保护的技术翻案具备的技术效果是点击率预测,提供一对未产生交互的用户ID、物品ID,并且提供它们的属性,预测这对未产生交互的(用户,物品)对产生交互的概率。评估指标使用AUC、NDCG@5和NDCG@10,本发明在三个数据集MovieLens1M、Book-Crossing、AliEC上均达到了比所选基线模型更好的效果。
本发明所要保护的技术方案具备的优点如下:
1.分别构建了user和item的内部交互和交叉交互图。其中设计的交叉交互图缓解了双塔模型两侧特征交互太晚,所带来的细节丢失问题。
2.设计了一个拥有多头注意力的传播聚合模型,并将残差连接的思想加入到了模型中。残差连接缓解了多层传播聚合模型的所带来的梯度消失问题,以及过度平滑问题。多头注意力相比单头注意力同样优点明显,在计算代价少量增加的情况下让计算复杂度和表达能力之间达到一个平衡,多头注意力对模型的效果提升有较大贡献。
3.设计了一个通过特征交互和MLP计算的注意力分数,用于挑选图中该分数排名靠前的边。该技术缓解了完全图中并不是所有交互都是有益交互的问题,本发明通过消融实验证明该模块对本发明模型的贡献。
4.通过与其他模型的对比及消融实验的结果,证明了本发明模型的有效性和可解释性。
第三,本发明的技术方案相比先前的推荐系统模型拥有更好的性能,同时计算量也在可接受范围,能增加推荐场景下的推荐准确率,为需要推荐系统的平台带来更多的收益。工业上的推荐系统一般分为“召回——粗排——精排——重排”这四个阶段,本发明可以用于实际应用中的精排阶段。同时,本发明的技术方案容易部署上线,实时性较高,在实际应用上训练好的模型只需要进行前向传播,计算速度较快。在业务中,如果新增了之前特征编码部分没有的节点,可以在离线训练中增加训练样本后选择冻结本发明模型非特征编码部分的参数,仅对特征编码部分参数进行更新。
第四,本发明的技术方案首次将交互选择结合带有残差连接的多头注意力图神经网络用于推荐,拥有比先前技术更优秀的性能。
第五,首先,本发明的技术方案解决了目前推荐系统模型大多基于二部图,而没有使用用户和物品的属性信息的缺点。事实上,在各类需要应用推荐系统的网站(购物网站、视频平台、博客网站)中都拥有一定的用户属性和物品属性,这类属性信息得不到使用是非常可惜的。
其次,本发明的技术方案不仅在构建图的时候构建了用户与用户属性、物品与物品属性的交互,还构建了用户及其属性与物品及其属性的交互。解决了其他模型用户与物品特征交互太晚的问题,而特征交互太晚会带来细节特征丢失的问题,本发明的技术方案使得该问题得到了缓解。
第六,本发明的技术方案,从一定程度上克服了长尾物品推荐效果差的技术偏见。无限货架是指有别于传统超市的货架,因为受到门店的物理空间限制,不能无限制的上架所有的商品,所以门店内的货架资源是有限的,只能上架需求曲线当中头部的热门商品。但是在网络上,货架的陈列不受物理空间限制,上架的商品边际成本几乎为0,所以可以无限的上架商品。这就让很多之前没有机会向消费者展示的一些小众商品,在无限货架当中陈列展示。而人的精力是有限的,这就导致了无限货架并非正真的无限,推荐系统解决的是信息过载问题,推荐系统会更倾向于向用户推荐热门商品。长尾物品是指需求非常不频繁,需求变动也很大的产品。在推荐系统中,长尾物品占据了大部分的商品数量,但是只占据了少部分的用户交互。先前推荐系统大多是基于二部图的,这种数据的物品属性训练非常依赖于用户与物品的交互数量,而交互少或者没有交互的物品则得不到很有效编码,对长尾物品的推荐效果差。本发明的技术方案除了使用用户和物品的ID外还利用了二者的属性,即使物品ID的编码没有训练好,也可以利用其属性信息进行推荐,从一定程度上缓解了长尾物品推荐效果差的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于交互选择的图神经网络推荐系统结构图;
图2是本发明实施例提供的图构建模块示意图;其中,(a)表示用户内部交互图,(b)表示物品内部交互图,(c)表示用户-物品交叉交互图;
图3是本发明实施例提供的特征嵌入模块示意图;
图4是本发明实施例提供的交互选择与传播聚合模块的多层结构
图5是本发明实施例提供的交互选择与传播聚合模块的每一层详细结构;
图6是本发明实施例提供的特征融合模块示意图;
图7是本发明实施例提供的模型对比可视化结果示意图,其中,(a)为MovieLens1M,(b)为Book-Crossing,(c)为AliEC;
图8是本发明实施例提供的不同头数与不同层数的MGNN_IS模型在不同数据集上的不同分数比较示意图;其中,(a)为MovieLens1M,AUC;(b)为MovieLens1M,NDCG@5;(c)为MovieLens1M,NDCG@10;(d)为Book-Crossing,AUC;(e)为Book-Crossing,NDCG@5;(f)为Book-Crossing,NDCG@10;(g)为AliEC,AUC;(h)为AliEC,NDCG@5;(i)为AliEC,NDCG@10;
图9是本发明实施例提供的对交互选择步骤进行消融实验结果图;其中,(a)为MovieLens1M,AUC;(b)为MovieLens1M,NDCG@5;(c)为MovieLens1M,NDCG@10;(d)为Book-Crossing,AUC;(e)为Book-Crossing,NDCG@5;(f)为Book-Crossing,NDCG@10;(g)为AliEC,AUC;(h)为AliEC,NDCG@5;(i)为AliEC,NDCG@10。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明所提出MGNN_IS模型由四个组件组成,每部分的内容作用如下。
1)图构建模块。MGNN_IS模型首先构建了用户内部交互图、物品内部交互图和用
户-物品交叉交互图三个子图,在构建用户内部交互图和物品内部交互图时构建
的是全连通图,在构建用户与物品交叉的交互图时,用户部分和物品部分间是全部连
接的。从而,完整的图也是一个全连通图。
2)特征嵌入模块。将所有的用户及其属性、物品及其属性进行特征编码,MGNN_IS
模型将所有节点组合在一起,使用特征矩阵来对节点进行编码。
3)交互选择与传播聚合模块。这是最重要的模块,该模块由多层组成,层与层之间
使用残差连接和层归一化,GNN模块首先根据一个注意力分数来对边进行挑选,注意力
分数排名靠后的交互不进行计算,然后进行消息的传播与聚合,这里模型采用了多头注意
力机制。
4)特征融合模块。该模块使用了RNN来融合从特征编码模块传来的原始节点信息、交互选择与传播聚合模块产生的内部交互后的节点信息、和交叉交互后的节点信息,从而得到最终的节点信息。
5)预测模块。该模块将全图的节点分为用户部分节点和物品部分节点,所有节点
的平均值就是用户部分和物品部分的特征表示,提取用户和物品特征后,使用点积计算用
户和物品是否进行交互,预测出。
本发明提出的模型架构如图1所示,以下将根据模型架构中的各个部分进行详细阐述。
图构建模块:
定义为用户及其属性的
集合,其中,代表用户ID,代表用户属性;为物品及其属性集合,其中,代表物品ID,代表物品属性。定义集合,表示用户、物品以及它们的属性所产生的关系。
每个不同的用户拥有多个属性,每个不同的物品拥有多个属性。推
荐系统的训练数据通常是有用户—物品的历史交互,将每对用来表示用户和物品的
历史交互,其中、。
通过用户及其属性,物品及其属性,用户和物品的交互构建了三个子图,、、,其中,表示用户和其属性间的关系,表示物品和其属性间的关系,表示
用户及其属性和物品及其属性之间的关系。最后,将输入到模型的完整的节点和关系的信
息表示为。
具体来说,用户交互如图2(a)所示,对于每个用户,它的ID表示为,拥有属性,ID和属性都是用户属性图的节点,边就是节点间的相互作用关系。同
样的,物品交互如图2(b)所示,对于每个,它的ID表示为,拥有属性,ID
和属性就是物品图的节点,在图构建模块内部交互采用全连通图的方式构建。如图2(c)所
示,对于交叉交互,其节点为,构建图的方式
是将用户部分的节点和物品部分的节点全部连接,而它们的内部不产生连接。
特征嵌入模块:
如图3所示,在此模块,首先将每个输入的节点表示为one-hot向量,其中,代表节点的数量,更具体的解释是为
数据集中所有用户ID、用户属性、物品ID、物品属性的总量,在图3中用户ID表示为User,用
户属性表示为User attr,物品ID表示为Item,物品属性表示为Item attr。代表第
个节点的one-hot向量,由于one-hot向量非常的稀疏和高维,需要构建一个可训练的矩阵,将这些one-hot向量映射到低维的潜在空间中。具体来说,向量,被映射
为稠密嵌入,如下式所示:
其中,。因此,可以通过特征嵌入组成特征嵌入矩阵:
交互选择与传播聚合模块:
交互选择与传播聚合模块结构图如图4和图5所示,该模块由多层构成,每一层由
一个GNN模块和一个Add & Norm模块构成,GNN模块的输出是每层节点特征更新的结
果,Add & Norm模块的输出是下一层的输入。第一层的输入即为特征嵌入的结果在交互选择与传播模块的表示,每
层节点特征更新结果进行连接后即可得到交互选择与传播聚合模块的最终输出。
MGNN_IS模型在图构建模块采用的是节点间全连接的方式,但并非所有的节点交互都是有益的,因此,设计了一个交互选择机制。
在GNN模块,首先要进行交互选择,在此处设计了一个具有一个隐藏层的多层感知机通过节点对的点乘来计算两节点之间边的权重,如下式所示:
其中,
为一对邻居节点的特征向量,
代表点乘,即,对两个特征向量进行逐元素的乘法,
代表MLP第一个线性层的权重,代表当前批次图中边的数
量,hidden是隐藏层的大小
代表MLP第一个线性层的偏置,
为MLP第一层的激活函数修正线性单元ReLU,
代表MLP第二个线性层的权重
代表MLP第二个线性层的偏置,
为激活函数sigmoid,
是所得结果,其中数值的取值范围为,它是边的权重也是一个
注意力分数。
得到注意力分数后,选择保留排名靠前的个边,其它边的权重置为0,的个
数的设定为一个固定比例乘以图中边的数量。计算过程如下式所示:
其中,
代表选取排名靠前的个分数的操作,
为排名靠前的个分数的索引,为的整体索引除去剩下的索引。
经过交互选择后,节点特征剩余的邻居节点特征集合定义为。接下来要进行传播聚合操作,在此操作中提出
的MGNN_IS模型采用了一个多头注意力机制。定义注意力的计算如下式所示:
其中,
为可训练的权重,
为一对邻居节点的特征向量,,
代表点乘,
是所使用的激活函数,
代表注意力分数,可以理解为边的权重。
为了使不同特征节点之间的系数易于比较,使用softmax函数对注意力分数进
行归一化,如下式:
其中,
表示以自然常数e为底的指数函数;
是节点特征的邻居节点特征集合。
得到归一化的注意力分数后更新节点的特征表示,如下式:
其中,
为可训练的线性变换矩阵,
和是通过不同函数计算的注意力分数,将它们结合起来计算节点特征向量
间的特征交互权重,
为一对邻居节点的特征向量,
为激活函数sigmoid,
表示点乘,
是节点特征的邻居节点特征集合,
为更新后的节点特征。
为了增强模型的泛化能力,捕捉不同语义子空间中的特征交互的多义性,模型采
用了多头注意力机制。具体来说,有H个独立的注意力计算,需要将节点特征均等的拆成
H份,为了使特征向量能够被任意个头拆分,模型首先对其进行了线性变换,将其
映射为,拆分后的特征独立执行更新,然后将这些特征链接起来,得到更新后特
征,计算过程如下式所示。
其中,
代表连接,
为第h个头的注意力计算,
是第h个头的可训练线性变换矩阵,
是特征选择阶段得到的注意力分数,
为激活函数sigmoid,
为一对邻居节点的特征向量,
表示点乘
是节点特征的邻居节点特征集合。
得到后模型会再进行一个线性变换使得,以方便后续的计算。
交互网络层:
如图1所示,通过特征嵌入模块可以得到图的所有节点特征集合,通过交互选
择与传播聚合模块,可以得到内部交互图、更新后的所有节点特征集合,和交叉
交互图更新后的所有节点特征集合,和中的节点特征是每一层GNN模块输出
的拼接。为了使拼接后的特征能够进行后续的计算,模型使用了一个线性层将拼接后的维
度映射为原始维度大小。在特征融合部分,模型选用了门控循环单元模型对三个节点特征
集合、、进行结合,从而得到最终的节点特征集合,。GRU的计算过程展示如下式:
其中,
是当前时间步t的输入,表示节点总数,表示层数,为输入维度
大小,
与是权重参数,其中是隐
藏单元大小,
是偏置,
表示重置门的向量,
是更新门的向量,
是上一时间步的结果,是时间步t的隐状态,
是时间步t的候选隐状态;
表示点乘;
表示激活函数双曲正切函数
为激活函数sigmoid。
具体来说,如图6所示,集合中的节点特征是第一个时间步的输入,需
要说明的是为了能够和交互选择和传播聚合模块的输出进行计算,将其维度映射为,集合中的节点特征则是最后一个时间步的输入,最后输出。
预测模块
通过特征融合模块,得到了最终的节点特征集合
),接下来模型将划分为用户节点特征集合与物品节点特征集合,它们的定义展示
如下式:
其中,是用户ID和用户属性的集合,是物品ID和物品属性的集合,表示最终
节点特征集合中的用户特征,表示最终节点特征集合中的物品特征。
接下来需要计算用户图和物品图的整图属性,此处假设集合中有个节点,集
合中有个节点,用户图属性和物品图属性由各自节点集合的平均值得出,公式
化的展示如下式:
最后,使用两图属性的点乘的和来进行最终的预测,计算出预测值,展示如下
式:
其中,,b是批次大小,表示层数,为维度大小,代表sigmoid
函数,表示点乘,所得的结果中的值的范围为。
在这项工作中需要完成的是用户是否对物品感兴趣的二分类任务,于是模型中选择使用二元交叉熵损失函数(BCELoss),如下式:
其中是真实标签,是预测值,表示进行对数计算,优化器采用Adam。
本发明的应用实施例提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行基于交互选择的图神经网络推荐方法的步骤。
本发明的应用实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行基于交互选择的图神经网络推荐方法的步骤。
本发明的应用实施例提供了一种信息数据处理终端,信息数据处理终端用于实现基于交互选择的图神经网络推荐系统。
下面结合本发明的实验过程及实验结果对本发明进一步描述:
1.实验环境设置
本发明的相关实验基于Python3.6及以上版本和torch1.7.0或更高版本,运行环境版本需Anaconda3-2020.02及以上。
主要的数据包包括torch==1.7.1+cu110、torch-geometric==1.4.3、torch-cluster==1.5.8、torch-scatter==2.0.5、torch-sparse==0.6.8、torch-spline-conv==1.2.0、numpy==1.23.5、pandas==1.5.3、scikit-learn===1.2.2等。
2.数据描述
MGNN_IS模型在三个基准数据集上进行了实验,分别是MovieLens1M、Book-Crossing和AliEC表1汇总了这些数据集的统计细节。
(1)MovieLens1M:包含用户与电影的交互,即评分,数据集中包含用户属性和电影属性。由于模型完成的是一个二分类问题,于是将评分大于3的标签设置为1,其他评分的标签设置为0,此外,还对数据集进行了挑选,保留了对10个及以上电影给出标签为1的用户及其交互。
(2)Bookcrossing:包含了用户对书籍的评分,用户和书籍都拥有属性,对于二分类问题,将有明确评分的书籍作为标签为1的样本,并随机为用户选择与标签为1样本等量的0标签样本,选择对20个及以上书籍给出标签为1的用户及其交互。
(3)AliEC:是淘宝网上展示广告点击率预测数据集,拥有用户是否点击广告的信息,直接采用该数据集的标签。用户和广告都拥有属性,选择对20个及以上广告进行点击的用户及其交互,具体的数据集信息如表1所示。
表1数据集统计
3.评价指标
本发明使用了三种评估指标,分别为ROC曲线下面积(AreaUndertheROCCurve,简称AUC),归一化折损累计增益top5(NormalizedDiscountedCumulativeGaintop5,简称NDCG@5)和归一化折损累计增益top10(NDCG@10)。AUC值越大表示模型的分类性能越好,常见的AUC取值范围为0.5到1,其中0.5表示随机猜测的分类器,1表示完美分类器。NDCG是基于排序的评估指标,用于衡量推荐系统中推荐列表的质量。在推荐系统中,通常会针对每个用户生成一个推荐列表,该列表中包含了推荐系统认为该用户最感兴趣的物品。NDCG通过比较推荐列表中的物品与用户真正感兴趣的物品之间的关系,来评估推荐系统的性能。NDCG@5代表推荐列表中是排名前5的物品,NDCG@10代表推荐列表中排名前10的物品,其取值范围是0到1,值越接近1模型效果越好。
4.参数设置
具体的超参数设置如表2所示。
表2超参数设置
5.与其他模型比较的实验结果
为了证明本发明提出方法的有效性,本发明与以下的方法进行了对比,且实验结果如表3所示。
(1)FM:在低维稠密空间下计算相关性,而不是直接计算输入向量本身的相关性。
(2)NFM:将FM与神经网络相结合,以提高FM捕获特征之间多阶交互信息的能力。
(3)W&D:由单层的Wide部分和多层的Deep部分组成的混合模型,让模型具有较强的“记忆能力”同时具有“泛化能力”。
(4)AutoInt:引入了多头注意力机制来实现特征间的高阶显性交互。
(5)Fi-GNN:将特征建模为全连通图,并利用门控图神经网络对特征交互进行建模。
(6)GMCF:是一种基于图的CF方法,它同时使用了内部交互和交叉交互。
6.实验结果分析
本实验以近几年表现不错的模型为基准。与基线方法相比,结果如表3所示,并可视化的展示为图7,图7中的横轴是模型名称,纵轴标识评估指标的分数,图例对三个评价指标进行了区分。可以观察到,所提出的MGNN_IS模型在三个数据集上的性能皆有改善,且在Book-Crossing数据集上有着显著的改进。此处需要说明的是对于不同的数据集,模型的最优表现并不是在同一多头数量和层数量下得出,其具体情况展示如图8。
表3模型性能比较。表现最好的模型以粗体显示,第二好的模型以下划线显示,最后一行是所提出的MGNN_IS模型与最佳基线相比的相对改进。
7.Att-GCN层数研究
尝试分析模型中头的数量和层的数量对所提出模型的性能影响,如图8所示在三个数据集上均进行了实验,利用折线图可视化的展示头数分别为1、2、3、4和层数分别为1、2、3、4的情况下的模型性能。图例展示在图8的最上方,以有不同标记的折线表示不同的层数,图8中子图的横轴是头数,纵轴是评估指标的得分。
在图8中可以发现,对于MovieLens1M和Book-Crossing数据集,模型都是在头数为2层数为4的情况下表现最好,而且在三层以后,层数的增加对模型性能的增加非常微小。而在AliEC数据集上对于模型层数的变化,所得出的结果却与其他两个数据集不同。这是因为AliEC的数据量较大,用户和物品的交互较多,单个用户和物品拥有的属性也更多,所以浅层的模型也能在AliEC数据集有着较好的表现,而增加层数却会导致最终得到的特征更平滑,从而影响模型表现。通过对三个数据集上变现的整体分析,可以发现多头数量为2或3是模型的效果较好,只是增加多头数量的时候不一定会带来模型效果的提升。这是因为,将特征送入多头前需要进行平均的拆分,这意味着头数越多每个头能得到的信息量是更少的,而多头的目的是为了在多个语义子空间进行学习,增加多样性使得模型的泛化能力更强。调整头的个数就是在每个头所得到的信息量和模型的多样性间去做权衡。
8.消融实验
为了验证模型中交互选择的有效性,进行了消融实验,在每个数据集表现最好的多头数量和层数上删去交互选择步骤进行实验,也就是在MovieLens1M数据集上使用2头4层、在Book-Crossing数据集上使用2头4层、在AliEC数据及上使用3头1层,得出的结果如图9所示。需要说明的是,为了更好的对结果进行展示,图9中对每个数据集的AUC分数和NDCG分数采用了不同的坐标轴,横轴表示评估指标,纵轴对应评估指标的分数,图例表示原始模型和进行交互选择步骤消融的模型。图中MGNN_IS是的原始模型使,MGNN_IS(-交互选择)是对交互选择步骤进行了消融的模型,柱状图中的数值是对应评估指标的具体分数,百分数是进行消融实验后评估分数降低的幅度。可以看出对交互选择步骤进行消融后,模型在三个指标上的表现都有一定的下降,这证明了此步骤是有效的。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于交互选择的图神经网络推荐系统,其特征在于,基于交互选择的图神经网络推荐系统包括:
图构建模块,MGNN_IS模型首先构建了用户内部交互图、物品内部交互图和用户-物品交叉交互图三个子图,在构建用户内部交互图和物品内部交互图/>时构建的是全连通图,在构建用户与物品交叉的交互图/>时,用户部分和物品部分间是全部连接的;
特征嵌入模块,将所有的用户及其属性、物品及其属性进行特征编码,MGNN_IS模型将所有节点组合在一起,使用特征矩阵来对节点进行编码;
交互选择与传播聚合模块,由多层组成,层与层之间使用残差连接和层归一化,GNN模块首先根据一个注意力分数来对边进行挑选,注意力分数排名靠后的交互不进行计算,然后进行消息的传播与聚合,这里模型采用了多头注意力机制;
特征融合模块,使用了RNN来融合从特征编码模块传来的原始节点信息、交互选择与传播聚合模块产生的内部交互后的节点信息、和交叉交互后的节点信息,从而得到最终的节点信息;
预测模块,将全图的节点分为用户部分节点和物品部分节点,所有节点的平均值就是用户部分和物品部分的特征表示,提取用户和物品特征后,使用点积计算用户和物品是否进行交互,预测出;
图构建模块具体包括:
定义为用户及其属性的集合,其中,/>代表用户ID,/>代表用户属性;为物品及其属性集合,其中,代表物品ID,/>代表物品属性;定义集合,/>表示用户、物品以及它们的属性所产生的关系;
每个不同的用户拥有多个属性/>,每个不同的物品/>拥有多个属性/>;推荐系统的训练数据通常是有用户—物品的历史交互,每对/>用来表示用户和物品的历史交互,其中/>、/>;
通过用户及其属性,物品及其属性,用户和物品的交互构建了三个子图,、、,其中,表示用户和其属性间的关系,/>表示物品和其属性间的关系,/>表示用户及其属性和物品及其属性之间的关系;将输入到模型的完整的节点和关系的信息表示为/>;
具体来说,对于每个用户,它的ID表示为/>,拥有属性/>,ID和属性都是用户属性图的节点,边就是节点间的相互作用关系;同样的,对于每个/>,它的ID表示为,拥有属性/>,ID和属性就是物品图的节点,在图构建模块内部交互采用全连通图的方式构建;对于交叉交互,其节点为,构建图的方式是将用户部分的节点和物品部分的节点全部连接,而它们的内部不产生连接;
交互选择与传播融合模块由多层构成,每一层由一个GNN模块和一个Add&Norm模块构成,GNN模块的输出是每层节点特征更新的结果,Add&Norm模块的输出/>是下一层的输入;第一层的输入/>即为特征嵌入的结果/>在交互选择与传播模块的表示,每层节点特征更新结果进行连接后即可得到交互选择与传播聚合模块的最终输出/>;其中/>表示节点总数,/>表示层数,/>为输入维度大小;
MGNN_IS模型在图构建模块采用的是节点间全连接的方式,但并非所有的节点交互都是有益的,因此,设计了一个交互选择机制;
在GNN模块,首先要进行交互选择,在此处设计了一个具有一个隐藏层的多层感知机通过节点对的点乘来计算两节点之间边的权重,如下式所示:
;
其中,为一对邻居节点的特征向量,/>代表点乘,即,对两个特征向量进行逐元素的乘法,/>代表MLP第一个线性层的权重,/>代表当前批次图中边的数量,hidden是隐藏层的大小,/>代表MLP第一个线性层的偏置,/>为MLP第一层的激活函数修正线性单元ReLU,/>代表MLP第二个线性层的权重,代表MLP第二个线性层的偏置,/>为激活函数sigmoid;/>是所得结果,其中数值的取值范围为/>,它是边的权重也是一个注意力分数;
得到注意力分数后,选择保留排名靠前的/>个边,其它边的权重置为0,/>的个数的设定为一个固定比例乘以图中边的数量,计算过程如下式所示:
;
其中,代表选取/>排名靠前的/>个分数的操作,/>为排名靠前的/>个分数的索引,/>为/>的整体索引除去/>剩下的索引;
经过交互选择后,节点特征剩余的邻居节点特征集合定义为;接下来要进行传播聚合操作,提出的MGNN_IS模型采用了一个多头注意力机制,定义注意力的计算如下式所示:
;
其中,为可训练的权重,/>为一对邻居节点的特征向量,/>,/>代表点乘,/>是所使用的激活函数,/>代表注意力分数,可以理解为边的权重;
为了使不同特征节点之间的系数易于比较,使用softmax函数对注意力分数进行归一化:
;
其中,表示以自然常数e为底的指数函数,/>是节点特征/>的邻居节点特征集合;
得到归一化的注意力分数后更新节点的特征表示/>:
;
其中,为可训练的线性变换矩阵,/>和/>是通过不同函数计算的注意力分数,将它们结合起来计算节点特征向量间的特征交互权重,/>为激活函数sigmoid,/>表示点乘,是节点特征/>的邻居节点特征集合,/>为更新后的节点特征;
为了增强模型的泛化能力,捕捉不同语义子空间中的特征交互的多义性,模型采用了多头注意力机制;具体来说,有H个独立的注意力计算,需要将节点特征均等的拆成H份,为了使特征向量/>能够被任意个头拆分,模型首先对其进行了线性变换,将其映射为/>,拆分后的特征独立执行更新,然后将这些特征链接起来,得到更新后特征,计算过程如下式所示:
;
其中,代表连接,/>为第h个头的注意力计算,/>是第h个头的可训练线性变换矩阵,/>是特征选择阶段得到的注意力分数,/>为激活函数sigmoid,/>为一对邻居节点的特征向量,/>表示点乘,/>是节点特征/>的邻居节点特征集合;得到/>后模型会再进行一个线性变换使得/>,以方便后续的计算。
2.如权利要求1所述的基于交互选择的图神经网络推荐系统,其特征在于,特征嵌入模块包括:
首先将每个输入的节点表示为one-hot向量,其中,/>代表节点的数量,更具体的解释是/>为数据集中所有用户ID、用户属性、物品ID、物品属性的总量,用户ID表示为User,用户属性表示为Userattr,物品ID表示为Item,物品属性表示为Itemattr;/>代表第/>个节点的one-hot向量,由于one-hot向量非常的稀疏和高维,需要构建一个可训练的矩阵/>,将这些one-hot向量映射到低维的潜在空间中;具体来说,向量/>,被映射为稠密嵌入/>,如下式所示:
;
因此,可以通过特征嵌入组成特征嵌入矩阵:
。
3.如权利要求1所述的基于交互选择的图神经网络推荐系统,其特征在于,交互网络层通过特征嵌入模块可以得到图的所有节点特征集合/>,通过交互选择与传播聚合模块,可以得到内部交互图/>、/>更新后的所有节点特征集合/>,和交叉交互图/>更新后的所有节点特征集合/>,/>和/>中的节点特征是每一层GNN模块输出的拼接;为了使拼接后的特征能够进行后续的计算,模型使用了一个线性层将拼接后的维度映射为原始维度大小;在特征融合部分,模型选用了门控循环单元模型对三个节点特征集合/>、/>、/>进行结合,从而得到最终的节点特征集合/>,/>,GRU的计算过程展示如下式:
;
其中,是当前时间步t的输入,/>表示节点总数,/>表示层数,/>为输入维度大小,/>与/>是权重参数,其中/>是隐藏单元大小,/>是偏置,/>表示重置门的向量,/>是更新门的向量,/>是上一时间步的结果,/>是时间步t的隐状态,是时间步t的候选隐状态;/>表示点乘;/>表示激活函数双曲正切函数,/>为激活函数sigmoid;
具体来说,集合中的节点特征是第一个时间步的输入,需要说明的是为了能够和交互选择和传播聚合模块的输出进行计算,将其维度映射为/>,集合中的节点特征则是最后一个时间步的输入,最后输出/>。
4.如权利要求1所述的基于交互选择的图神经网络推荐系统,其特征在于,预测模块具体包括:
通过特征融合模块,得到了最终的节点特征集合),接下来模型将/>划分为用户节点特征集合/>与物品节点特征集合/>,它们的定义展示如下式:
;
其中,是用户ID和用户属性的集合,/>是物品ID和物品属性的集合,/>表示最终节点特征集合/>中的用户特征,/>表示最终节点特征集合/>中的物品特征;
接下来需要计算用户图和物品图的整图属性,此处假设集合中有/>个节点,集合中有/>个节点,用户图属性/>和物品图属性/>由各自节点集合的平均值得出,公式化的展示如下所示:
;
最后,使用两图属性的点乘的和来进行最终的预测,计算出预测值,展示如下式:
;
其中,,b是批次大小,/>表示层数,/>为维度大小,/>代表sigmoid函数,/>表示点乘,所得的结果/>中的值的范围为/>;
此处需要完成的是用户是否对物品感兴趣的二分类任务,于是模型中选择使用二元交叉熵损失函数(BCELoss),如下式所示:
;
其中是真实标签,/>是预测值,/>表示进行对数计算,优化器采用Adam。
5.一种应用如权利要求1~4任意一项所述的基于交互选择的图神经网络推荐系统的基于交互选择的图神经网络推荐方法,其特征在于,基于交互选择的图神经网络推荐方法包括:
步骤一,构建用户内部交互图、物品内部交互图和用户-物品交叉交互图三个子图,在构建用户内部交互图和物品内部交互图/>时构建的是全连通图,在构建用户与物品交叉的交互图/>时,用户部分和物品部分间是全部连接的;从而,完整的图/>也是一个全连通图;
步骤二,将所有的用户及其属性、物品及其属性进行特征编码,MGNN_IS模型将所有节点组合在一起,使用特征矩阵来对节点进行编码;
步骤三,根据一个注意力分数来对边进行挑选,注意力分数排名靠后的交互不进行计算,然后进行消息的传播与聚合;
步骤四,使用RNN来融合从特征编码模块传来的原始节点信息、交互选择与传播聚合模块产生的内部交互后的节点信息、和交叉交互后的节点信息,从而得到最终的节点信息;
步骤五,将全图的节点分为用户部分节点和物品部分节点,所有节点的平均值就是用户部分和物品部分的特征表示,提取用户和物品特征后,使用点积计算用户和物品是否进行交互,得到预测结果。
6.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求5所述的基于交互选择的图神经网络推荐方法的步骤。
7.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求5所述的基于交互选择的图神经网络推荐方法的步骤。
8.一种信息数据处理终端,信息数据处理终端用于实现如权利要求1~4任意一项所述的基于交互选择的图神经网络推荐系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254867.5A CN116992099B (zh) | 2023-09-27 | 2023-09-27 | 一种基于交互选择的图神经网络推荐方法、系统及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254867.5A CN116992099B (zh) | 2023-09-27 | 2023-09-27 | 一种基于交互选择的图神经网络推荐方法、系统及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116992099A CN116992099A (zh) | 2023-11-03 |
CN116992099B true CN116992099B (zh) | 2024-01-12 |
Family
ID=88532564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311254867.5A Active CN116992099B (zh) | 2023-09-27 | 2023-09-27 | 一种基于交互选择的图神经网络推荐方法、系统及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116992099B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312679B (zh) * | 2023-11-28 | 2024-02-09 | 江西财经大学 | 一种双分支信息协同增强的长尾推荐方法与系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611015A (zh) * | 2022-03-25 | 2022-06-10 | 阿里巴巴达摩院(杭州)科技有限公司 | 交互信息处理方法、装置和云服务器 |
CN114817663A (zh) * | 2022-05-05 | 2022-07-29 | 杭州电子科技大学 | 一种基于类别感知图神经网络的服务建模与推荐方法 |
CN115034305A (zh) * | 2022-06-09 | 2022-09-09 | 浙江大学 | 利用人在回路图神经网络在通话网络中识别诈骗用户的方法、系统和存储介质 |
CN115221413A (zh) * | 2022-08-03 | 2022-10-21 | 湖北工业大学 | 一种基于交互式图注意力网络的序列推荐方法及系统 |
CN116467513A (zh) * | 2023-03-23 | 2023-07-21 | 康键信息技术(深圳)有限公司 | 基于注意力机制的多模态知识图谱推荐方法、装置及介质 |
CN116542720A (zh) * | 2023-07-05 | 2023-08-04 | 湖北工业大学 | 一种基于图卷积网络的时间增强信息序列推荐方法及系统 |
CN116680456A (zh) * | 2023-06-16 | 2023-09-01 | 电子科技大学长三角研究院(衢州) | 基于图神经网络会话推荐系统的用户偏好预测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970350B2 (en) * | 2019-08-15 | 2021-04-06 | Advanced New Technologies Co., Ltd. | Method and apparatus for processing user interaction sequence data |
US20220253722A1 (en) * | 2021-02-08 | 2022-08-11 | Haolun Wu | Recommendation system with adaptive thresholds for neighborhood selection |
US20220351021A1 (en) * | 2021-04-28 | 2022-11-03 | Verizon Patent And Licensing Inc. | Hybrid recommendation system and methods based on collaborative filtering integrated with multiple neural networks |
CN113254803B (zh) * | 2021-06-24 | 2021-10-22 | 暨南大学 | 一种基于多特征异质图神经网络的社交推荐方法 |
KR20230069578A (ko) * | 2021-11-12 | 2023-05-19 | 연세대학교 산학협력단 | 그래프 신경망을 이용한 부호 인지 추천 장치 및 방법 |
US20230106448A1 (en) * | 2022-11-11 | 2023-04-06 | Lemon Inc. | Diversifying recommendations by improving embedding generation of a graph neural network model |
-
2023
- 2023-09-27 CN CN202311254867.5A patent/CN116992099B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611015A (zh) * | 2022-03-25 | 2022-06-10 | 阿里巴巴达摩院(杭州)科技有限公司 | 交互信息处理方法、装置和云服务器 |
CN114817663A (zh) * | 2022-05-05 | 2022-07-29 | 杭州电子科技大学 | 一种基于类别感知图神经网络的服务建模与推荐方法 |
CN115034305A (zh) * | 2022-06-09 | 2022-09-09 | 浙江大学 | 利用人在回路图神经网络在通话网络中识别诈骗用户的方法、系统和存储介质 |
CN115221413A (zh) * | 2022-08-03 | 2022-10-21 | 湖北工业大学 | 一种基于交互式图注意力网络的序列推荐方法及系统 |
CN116467513A (zh) * | 2023-03-23 | 2023-07-21 | 康键信息技术(深圳)有限公司 | 基于注意力机制的多模态知识图谱推荐方法、装置及介质 |
CN116680456A (zh) * | 2023-06-16 | 2023-09-01 | 电子科技大学长三角研究院(衢州) | 基于图神经网络会话推荐系统的用户偏好预测方法 |
CN116542720A (zh) * | 2023-07-05 | 2023-08-04 | 湖北工业大学 | 一种基于图卷积网络的时间增强信息序列推荐方法及系统 |
Non-Patent Citations (3)
Title |
---|
Time-aware Hyperbolic Graph Attention Network for Session-based Recommendation;Xiaohan Li Walmart Global Tech, Sunnyvale, CA, USA;IEEE;全文 * |
点击预测的关键技术研究;陶竹林;宋格格;黄祥林;;中国传媒大学学报(自然科学版)(06);全文 * |
融合神经网络与矩阵分解的旅游景点推荐模型;郑吟秋 等;湖北工业大学学报;第36卷(第2期);29-33 * |
Also Published As
Publication number | Publication date |
---|---|
CN116992099A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kiran et al. | DNNRec: A novel deep learning based hybrid recommender system | |
Liu et al. | Contextualized graph attention network for recommendation with item knowledge graph | |
KR20190117584A (ko) | 스트리밍 비디오 내의 객체를 검출하고, 필터링하고 식별하기 위한 방법 및 장치 | |
CN112950324B (zh) | 一种知识图谱辅助的成对排序个性化电商推荐方法及系统 | |
CN113409121B (zh) | 一种基于异构图表达学习的跨境电商推荐方法 | |
Wang et al. | HGNN: Hyperedge-based graph neural network for MOOC course recommendation | |
CN116992099B (zh) | 一种基于交互选择的图神经网络推荐方法、系统及终端 | |
Chen et al. | IR-Rec: An interpretive rules-guided recommendation over knowledge graph | |
CN111949886B (zh) | 一种用于信息推荐的样本数据生成方法和相关装置 | |
CN112699310A (zh) | 基于深度神经网络的冷启动跨域混合推荐的方法及系统 | |
CN112380453A (zh) | 物品推荐方法、装置、存储介质及设备 | |
Peng | A survey on modern recommendation system based on big data | |
CN113918832A (zh) | 基于社交关系的图卷积协同过滤推荐系统 | |
Guo et al. | Attention based consistent semantic learning for micro-video scene recognition | |
CN114896517A (zh) | 一种商品推荐方法、系统、设备及存储介质 | |
Pang et al. | Efficient deep reinforcement learning-enabled recommendation | |
Yin et al. | A survey of learning-based methods for cold-start, social recommendation, and data sparsity in e-commerce recommendation systems | |
Yan et al. | Negative correlation discovery for big multimedia data semantic concept mining and retrieval | |
Cai et al. | RI-GCN: Review-aware interactive graph convolutional network for review-based item recommendation | |
Lv et al. | Dsmn: An improved recommendation model for capturing the multiplicity and dynamics of consumer interests | |
Torkashvand et al. | Deep learning-based collaborative filtering recommender systems: a comprehensive and systematic review | |
Sang et al. | Position-aware graph neural network for session-based recommendation | |
CN115329215A (zh) | 异构网络中基于自适应动态知识图谱的推荐方法及系统 | |
Verma et al. | Collaborative filtering with label consistent restricted boltzmann machine | |
Ren et al. | A co-attention based multi-modal fusion network for review helpfulness prediction |
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 |