CN112084407B - 一种融合图神经网络和注意力机制的协同过滤推荐方法 - Google Patents
一种融合图神经网络和注意力机制的协同过滤推荐方法 Download PDFInfo
- Publication number
- CN112084407B CN112084407B CN202010934802.5A CN202010934802A CN112084407B CN 112084407 B CN112084407 B CN 112084407B CN 202010934802 A CN202010934802 A CN 202010934802A CN 112084407 B CN112084407 B CN 112084407B
- Authority
- CN
- China
- Prior art keywords
- user
- project
- constructing
- model
- embedding
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000001914 filtration Methods 0.000 title claims abstract description 23
- 230000003993 interaction Effects 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000004927 fusion Effects 0.000 claims abstract description 17
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 238000007670 refining Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 2
- 230000004913 activation Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/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
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种融合图神经网络和注意力机制的协同过滤推荐方法(AGCF),该方法包括以下步骤:S1、数据采集及处理;S2、划分数据集;S3、构建融合模型;S4、模型的训练及项目推荐。本发明考虑在图结构中学习嵌入表示,通过嵌入传播在用户项目交互图上建模高阶连通性,让模型可以表达高维特征,显式地将协同过滤信号映射到嵌入过程中,获得更有效的嵌入;在得到的特征矩阵上引入CNN(Convolutional Neural Network)学习特征中每一维度之间的高阶相互关系,CNN尤其能抓住矩阵的局部和全局信息特征,而且具有较少的参数,因此更容易训练和泛化,另外,分层的塔式结构也使得高层集成了更丰富的信息,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
Description
技术领域
本发明属于计算机人工智能的技术领域,尤其涉及一种融合图神经网络和注意力机制的协同过滤推荐方法。
背景技术
推荐系统在我们的生活、学习、工作和娱乐中扮演着越来越重要的的角色,但很多时候我们收到的推荐都是不相关的、重复的、不感兴趣的产品和服务。所以在合适的时间给合适的人群推荐最相关的产品尤为重要。近年来,由于图结构的强大表现力,利用机器学习方法对图的研究越来越受到重视,其具有较好的性能和可解释性。因此,本发明将图神经网络与注意力机制相融合,通过在用户项目交互图结构上加入嵌入传播层来建模用户项目图的高阶连通性,以一种显式的方式将协同过滤信号注入到嵌入过程中,更好的学习用户和项目的嵌入表示,同时引入注意力机制捕获用户对不同项目的不同方面的注意力情况,学习嵌入传播过程中邻居的可变权重和不同阶的连接性,这将有利于模型的泛化和可解释性。
发明内容
基于以上现有技术的不足,本发明所解决的技术问题在于提供一种融合图神经网络和注意力机制的协同过滤推荐方法,具有良好的推荐精度和可解释性。
为了解决上述技术问题,本发明通过以下技术方案来实现:
本发明提供的融合图神经网络和注意力机制的协同过滤推荐方法,包括以下步骤:
S1、数据采集及处理;
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数;对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例;
S3、构建融合模型:通过神经网络学习嵌入传播过程中的高阶连通性;注意力机制学习嵌入传播过程中邻居的可变权重和不同阶的连接性;
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
优选的,所述步骤S1的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理;
S102、将五级评分矩阵转化为二值化偏好矩阵;
S103、使用10-core设置,即保留至少有10次交互的用户和项目。
所述步骤S3中构建融合模型的具体步骤如下:
S301、构建输入层:输入层包括四个输入内容,用户项目id和用户项目的邻居向量;
S302、构建融合图神经网络和注意力机制的协同过滤推荐模型(AGCF):构建基于GNN的消息传递体系结构,沿图结构捕获CF信号,并细化用户和项目的嵌入;构建用户显式特征和项目显式特征的学习框架,在此基础上引入注意力机制,以学习嵌入传播过程中邻居的可变权重和不同阶的连接性;
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户。
进一步的,所述步骤S302中构建基于GNN的消息传递体系结构和融合注意力机制框架的具体步骤如下:
S302-1、构建基于GNN的消息传递体系结构:将用户和项目id通过嵌入层映射为稠密向量,得到初始的用户和项目的嵌入和/>表示用户和项目的潜在特征;
S302-2、通过注入高阶连通性来细化嵌入;
S302-3、为用户和项目构建邻域信息,将用户项目的邻居向量通过嵌入层映射为稠密向量,交互网络本质上就是一个二部图,其中顶点代表用户和项目,边代表用户和项目的交互,仅当用户和项目之间有边时才表示是用户的邻域信息,项目的邻域信息也如此构建,引入注意力机制来学习嵌入传播过程中邻居的可变权重和不同阶的连接性,得到用户和项目的显式特征;
S302-4、将通过嵌入传播层得到的用户项目mid向量与通过注意力机制学习的用户项目显式向量通过连接得到用户和项目的最终嵌入表示向量eu和ev;
S302-5、将上一步得到的用户和项目的最终嵌入表示向量用外积作为交互函数,得到用户项目特征矩阵,在此应用卷积神经网络对用户项目特征矩阵进行更深一步的学习,最后通过一层全连接层输入用户对项目的最终预测评分。
可选的,所述步骤S4中模型的训练及项目推荐的具体步骤如下:
S401、构建损失函数:使用推荐系统中常用的pairwise BPR loss损失函数,能对正样本和负样本加上不同的权重,使正样本能特别体现用户的口味,负样本能少量体现用户的口味;
S402、构建优化函数:采用小批次的Adam来优化模型并更新模型参数;
S403、项目推荐:将用户信息和项目信息送入融合模型,输出用户对项目的评分,判断是否将项目推荐给用户。
由上,本发明的融合图神经网络和注意力机制的协同过滤推荐方法至少具有如下有益效果:
(1)、本发明考虑在图结构中学习嵌入表示,通过嵌入传播在用户项目交互图上建模高阶连通性,让模型可以表达高维特征,显式地将协同过滤信号映射到嵌入过程中,获得更有效的嵌入,提高了推荐的质量。
(2)、本发明运用了Attention机制捕获用户对不同项目的不同方面的注意力情况,学习嵌入传播过程中邻居的可变权重和不同阶的连接性,有利于模型的泛化,使推荐系统具有更好的推荐效果和可解释性。
(3)、本发明使用外积作为最后得到的用户嵌入和项目嵌入的交互函数,考虑特征向量不同维度之间的成对相关性,从而提高推荐质量和准确度。
(4)、本发明是协同过滤与图结构的推荐的结合,可以很好的解决数据稀疏性和冷启动问题。
(5)、本发明使用卷积神经网络(CNN)学习特征中每一维度之间的高阶相互关系,CNN尤其能抓住矩阵的局部和全局信息特征,而且具有较少的参数,因此更容易训练和泛化,另外,分层的塔式结构也使得高层集成了更丰富的信息,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明的融合图神经网络和注意力机制的协同过滤推荐方法的流程框图;
图2为本发明的数据采集和处理流程图;
图3为本发明的构建融合模型流程图;
图4为本发明为构建融合图神经网络和注意力机制的协同过滤推荐模型(AGCF)的学习框架流程图;
图5为本发明的模型的训练及项目推荐流程图;
图6为本发明的融合图神经网络和注意力机制的协同过滤推荐方法的结构框图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
如图1至图6所示,本发明的融合图神经网络和注意力机制的协同过滤推荐方法,包括:
数据采集及处理模块,从Grouplens网站下载MovieLens 1M数据集并进行数据预处理,将五级评分矩阵转化为二值化偏好矩阵R∈{0,1},其中1表示用户与项目存在交互,否则为0,使用10-core设置,即保留至少有10次交互的用户和项目。
划分数据集模块,将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数。对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例。
构建融合模型模块,通过神经网络(GNN)学习嵌入传播过程中的高阶连通性;注意力机制(Attention Mechanism)学习嵌入传播过程中邻居的可变权重和不同阶的连接性。
模型的训练及项目推荐模块,用于将所述划分数据集模块得到的训练数据集和测试数据集分别用于训练和评估所述融合模型模块构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
如图1所示,本发明的融合图神经网络和注意力机制的协同过滤推荐方法,该方法包括如下步骤:
S1、数据采集及处理:从Grouplens网站下载MovieLens 1M数据集并进行数据预处理,将五级评分矩阵转化为二值化偏好矩阵R∈{0,1},其中1表示用户与项目存在交互,否则为0,使用10-core设置,即保留至少有10次交互的用户和项目。
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数。对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例。
S3、构建融合模型:通过神经网络学习嵌入传播过程中的高阶连通性;注意力机制学习嵌入传播过程中邻居的可变权重和不同阶的连接性。
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
如图2所示,步骤S1中的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理:在Grouplens网站下载MovieLens 1M数据集,,将其转化为可操作的格式存储。
S102、将五级评分矩阵转化为二值化偏好矩阵:将原来的评分矩阵转化为二值化偏好矩阵,其中每个元素表示为0或1,表示用户-物品对之间是否存在交互。
转化之后的评分矩阵中的"UserID","MovieID","Rating","Timestamp"数据集,如下所示:
UserID | MovieID | Rating | Timestamp |
1 | 1993 | 1 | 978300760 |
项目的特征数据包括"MovieID","Title","Genres",如下所示:
MovieID | Title | Genres |
1 | Toy Story(1995) | Animation|Children's|Comedy |
S103、使用10-core设置,即保留至少有10次交互的用户和项目:删除掉交互10次之内的用户和项目,确保数据有效性。
如图3所示,步骤S3中构建耦合模型的具体步骤如下:
S301、构建输入层:输入层包括四个输入内容,用户项目id和用户项目邻居id。输入层的形式为(userid,itemid,user_neibor_id,item_neibor_id)。
在Keras中,输入层可用如下代码实现:
user_id=Input(shape=(1,),dtype='string',name='user_id')
item_id=Input(shape=(1,),dtype='string',name='item_id')
user_neibor_id=Input(shape=(1,),dtype='string',name='user_neibor_id')
item_neibor_id=Input(shape=(k,),dtype='string',name='item_neibor_id')
S302、构建融合图神经网络和注意力机制的协同过滤推荐模型(AGCF):构建基于GNN的消息传递体系结构,沿图结构捕获CF信号,并细化用户和项目的嵌入;构建用户显式特征和项目显式特征的学习框架,在此基础上引入注意力机制,以学习嵌入传播过程中邻居的可变权重和不同阶的连接性。
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户。
在Keras中,输出层实现代码如下所示:
prediction=Dense(1,kernel_initializer='glorot_normal',name='prediction')(prediction)
如图4所示,步骤S302中构建构建基于GNN的消息传递体系结构和融合注意力机制框架(AGCF)的具体步骤如下所示:
S302-1、构建基于GNN的消息传递体系结构:将用户和项目id通过神经网络全连接层转化为指定维度embedding_dim的稠密向量,得到初始的用户和项目的嵌入和/>表示用户和项目的潜在特征。
例如:指定embedding_dim=20
userid=2通过神经网络全连接层转化成向量如下所示:
[-0.00749762 -0.02151975 0.00523305 -0.02227279 -0.02132436-0.01079273 0.01727066-0.01092268 0.00999936 0.0233566-0.00560872 -0.021453140.02113025 0.0178023 -0.02133563-0.02135003 -0.00111125 -0.01905928 -0.01002887 0.00150579]
在Keras中,向量映射层实现代码如下所示:
MF_Embedding_User=Embedding(embeddings_initializer=init_normal,name='user_embedding',output_dim=latent_dim,embeddings_regularizer=l2(regs[0]),input_dim=num_users,input_length=1)
MF_Embedding_Item=Embedding(embeddings_initializer=init_normal,name='item_embedding',utput_dim=latent_dim,embeddings_regularizer=l2(regs[0]),input_dim=num_items,input_length=1)
S302-2、通过注入高阶连通性来细化嵌入:一阶连通性可以增强表示,所以通过叠加更多嵌入传播层来探索高阶连通性信息,一个节点的embedding是一个向量,那么一个图的embedding就是将所有节点的embedding放在一起形成一个矩阵,是一个图的原始特征。经过L层传播之后,可以得到L个关于用户u的向量表示由于在不同层中获得的向量表示是通过不同连接传递的消息,在反应用户偏好方面有不同的贡献,所以将这些向量表示串联起来得到用户u的mid表示。同理得到项目i的mid表示。
S302-3、为用户和项目构建邻域信息,将用户项目的邻居id通过神经网络全连接层映射为稠密向量,交互网络本质上就是一个二部图,其中顶点V代表用户和项目,边E代表用户和项目的交互,仅当用户和项目之间有双向边,即yu,i=1时才表示是用户的邻域信息,用I(u)表示,项目的邻域信息也如此构建,用I(i)表示。引入注意力机制,将I(u)和I(i)作为Attention层的输入,来学习嵌入传播过程中邻居的可变权重和不同阶的连接性,得到用户和项目的显式特征向量和/>
S302-4、将通过嵌入传播层得到的用户项目mid表示向量和/>与通过注意力机制学习的用户项目显式向量/>和/>通过连接得到用户和项目的最终嵌入表示向量eu和ev;
S302-5、将上一步得到的用户和项目的最终嵌入表示向量eu和ev采用外积作为交互函数,考虑到了向量不同维度之间的成对相关性,得到用户项目特征矩阵Xm,在此应用卷积神经网络对用户项目特征矩阵进行更深一步的学习,将用户项目特征矩阵Xm作为卷积层的输入,卷积层将输入特征与卷积核做卷积学习输入的特征表示,最大池化层对特征进行降维,学习更加抽象的耦合向量,最后通过一层全连接层输入用户对项目的最终预测评分。
交互函数g的计算公式如下所示:
g=eui×evi
其中,eui(i=1,2,,,,k)∈u表示用户的第i个特征;evi(i=1,2,,,,k)∈v表示项目的第i个特征。
权重计算公式如下所示:
其中,表示用户对于项目不同特征喜好的权重向量,/>为用户/项目第k个特征的权重值,/>为用户/项目第j个特征的权重值,K为特征个数,vt为隐藏层到注意力层的权重向量,W和b分别为权重矩阵和偏差向量,exp为指数函数,Relu为激活函数,Relu激活函数的计算公式如下所示:
在Keras中,求用户/项目特征矩阵Xm实现代码如下所示:
merge_user_fea=Lambda(lambda x:K.batch_dot(x[0],x[1],axes=[1,2]))([user_latent_CF,user_fea_CB])
merge_item_fea=Lambda(lambda x:K.batch_dot(x[0],x[1],axes=[1,2]))([item_latent_CF,item_fea_CB])
CNN学习用户项目特征耦合关系实现代码如下所示:
user_fusion_latent=Reshape((latent_dim,latent_dim,1))(merge_user_fea)
user_fusion_latent=Conv2D(latent_dim,(3,3))(user_fusion_latent)
user_fusion_latent=BatchNormalization(axis=3)(user_fusion_latent)
user_fusion_latent=Activation('relu')(user_fusion_latent)
user_fusion_latent=MaxPooling1D()(user_fusion_latent)
item_fusion_latent=Reshape((latent_dim,latent_dim,1))(merge_item_fea)
item_fusion_latent=Conv2D(latent_dim,(3,3))(item_fusion_latent)
item_fusion_latent=BatchNormalization(axis=3)(item_fusion_latent)
item_fusion_latent=Activation('relu')(item_fusion_latent)
item_latent_fusion=MaxPooling1D()(item_latent_fusion)
交互函数g实现代码如下所示:
vec=keras.layers.Multiply()([user_latent,item_latent])
Attention层求权重实现代码如下所示:
att=Dense(32,kernel_initializer='random_uniform',activation='softmax')(user_item_concat)
如图5所示,步骤S4模型的训练及项目推荐的具体步骤为:
S401、构建损失函数:使用推荐系统中常用的pairwise BPR loss损失函数,能对正样本和负样本加上不同的权重,使正样本能特别体现用户的口味,负样本能少量体现用户的口味。
其中,表示成对的训练数据,/>表示观察到的交互,/>表示没有观察到的交互,/>表示所有训练的模型参数,λ控制L2正则化强度防止过拟合。
S402、构建优化函数:采用小批次的Adam来优化模型并更新模型参数。其中,学习率参数设置为0.001,其他参数使用keras的默认值即可,其他参数包括如下:
beta1=0.9:一阶矩估计的指数衰减率。
beta2=0.999:二阶矩估计的指数衰减率。
epsilon=10E-8:该参数是非常小的数,其为了防止在实现中除零。
在Keras中,优化函数实现代码如下所示:
model.compile(optimizer=Adam(lr=learning_rate),loss='mean_squared_error')
S403、项目推荐:将用户信息和项目信息送入融合模型,输出用户对项目的评分,判断是否将项目推荐给用户。
本发明公开了一种融合图神经网络和注意力机制的协同过滤推荐方法(AGCF),该方法包括如下步骤:S1、数据采集及处理;S2、划分数据集;S3、构建融合模型:(1)构建基于GNN的消息传递体系结构,在图结构中学习嵌入表示,通过嵌入传播在用户项目交互图上建模高阶连通性,让模型可以表达高维特征,显式地将协同过滤信号映射到嵌入过程中,获得更有效的嵌入;(2)注意力机制(Attention Mechanism)来捕获用户对不同项目的不同方面的注意力情况,学习嵌入传播过程中邻居的可变权重和不同阶的连接性,使用外积作为最后得到的用户嵌入和项目嵌入的交互函数,考虑特征向量不同维度之间的成对相关性,从而提高推荐质量;此外,在得到的特征矩阵上引入CNN(Convolutional Neural Network)学习特征中每一维度之间的高阶相互关系,CNN尤其能抓住矩阵的局部和全局信息特征,而且具有较少的参数,因此更容易训练和泛化,另外,分层的塔式结构也使得高层集成了更丰富的信息,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。本发明的方法还包括:S4、模型的训练及项目推荐:利用用户项目评分信息和用户项目的邻居信息作为模型的输入,模型在训练过程中不断更新参数,从而更好的学习嵌入传播过程中邻居的可变权重和不同阶的连接性以及用户/项目显式-隐式耦合关系。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (2)
1.一种融合图神经网络和注意力机制的协同过滤推荐方法,其特征在于,包括以下步骤:
S1、数据采集及处理;
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数;对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例;
S3、构建融合模型:通过神经网络学习嵌入传播过程中的高阶连通性;注意力机制学习嵌入传播过程中邻居的可变权重和不同阶的连接性;
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户;
所述步骤S3中构建融合模型的具体步骤如下:
S301、构建输入层:输入层包括四个输入内容,输入层的形式为userid,itemid,user_neibor_id,item_neibor_id;
S302、构建融合图神经网络和注意力机制的协同过滤推荐模型(AGCF):构建基于GNN的消息传递体系结构,沿图结构捕获CF信号,并细化用户和项目的嵌入;构建用户显式特征和项目显式特征的学习框架,在此基础上引入注意力机制,以学习嵌入传播过程中邻居的可变权重和不同阶的连接性;
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户;
所述步骤S302中构建基于GNN的消息传递体系结构和融合注意力机制框架的具体步骤如下:
S302-1、构建基于GNN的消息传递体系结构:将用户和项目id通过嵌入层映射为稠密向量,得到初始的用户和项目的嵌入和/>表示用户和项目的潜在特征;
S302-2、通过注入高阶连通性来细化嵌入;
S302-3、为用户和项目构建邻域信息,将用户项目的邻居向量通过嵌入层映射为稠密向量,交互网络本质上就是一个二部图,其中顶点代表用户和项目,边代表用户和项目的交互,仅当用户和项目之间有边时才表示是用户的邻域信息,项目的邻域信息也如此构建,引入注意力机制来学习嵌入传播过程中邻居的可变权重和不同阶的连接性,得到用户和项目的显式特征;
S302-4、将通过嵌入传播层得到的用户项目mid向量与通过注意力机制学习的用户项目显式向量通过连接得到用户和项目的最终嵌入表示向量eu和ev;
S302-5、将上一步得到的用户和项目的最终嵌入表示向量用外积作为交互函数,得到用户项目特征矩阵,在此应用卷积神经网络对用户项目特征矩阵进行更深一步的学习,最后通过一层全连接层输入用户对项目的最终预测评分;
所述步骤S4中模型的训练及项目推荐的具体步骤如下:
S401、构建损失函数:使用推荐系统中常用的pairwise BPR loss损失函数,能对正样本和负样本加上不同的权重,使正样本能特别体现用户的口味,负样本能少量体现用户的口味;
S402、构建优化函数:采用小批次的Adam来优化模型并更新模型参数;
S403、项目推荐:将用户信息和项目信息送入融合模型,输出用户对项目的评分,判断是否将项目推荐给用户。
2.如权利要求1所述的融合图神经网络和注意力机制的协同过滤推荐方法,其特征在于,所述步骤S1的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理;
S102、将五级评分矩阵转化为二值化偏好矩阵;
S103、使用10-core设置,即保留至少有10次交互的用户和项目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010934802.5A CN112084407B (zh) | 2020-09-08 | 2020-09-08 | 一种融合图神经网络和注意力机制的协同过滤推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010934802.5A CN112084407B (zh) | 2020-09-08 | 2020-09-08 | 一种融合图神经网络和注意力机制的协同过滤推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084407A CN112084407A (zh) | 2020-12-15 |
CN112084407B true CN112084407B (zh) | 2024-03-12 |
Family
ID=73732642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010934802.5A Active CN112084407B (zh) | 2020-09-08 | 2020-09-08 | 一种融合图神经网络和注意力机制的协同过滤推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084407B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541639B (zh) * | 2020-12-22 | 2023-07-07 | 宜宾电子科技大学研究院 | 基于图神经网络和注意力机制的推荐系统评分预测方法 |
CN112650945B (zh) * | 2020-12-29 | 2022-09-06 | 齐鲁工业大学 | 一种基于gcn和ain的上下文感知推荐方法 |
CN112650929B (zh) * | 2020-12-31 | 2022-05-03 | 安徽农业大学 | 一种融入评论信息的图神经网络推荐方法 |
CN112650949B (zh) * | 2020-12-31 | 2023-12-29 | 东北大学 | 基于多源特征融合协同过滤的区域poi需求识别方法 |
CN112650932B (zh) * | 2021-01-04 | 2022-09-23 | 重庆邮电大学 | 一种融合社交和位置关系的神经协同过滤poi推荐方法 |
CN113407817A (zh) * | 2021-01-25 | 2021-09-17 | 北京工业大学 | 一种基于注意力机制的图神经协同过滤方法 |
CN112925977A (zh) * | 2021-02-26 | 2021-06-08 | 中国科学技术大学 | 一种基于自监督图表征学习的推荐方法 |
CN113158045B (zh) * | 2021-04-20 | 2022-11-01 | 中国科学院深圳先进技术研究院 | 一种基于图神经网络推理的可解释推荐方法 |
CN113360759B (zh) * | 2021-06-09 | 2023-08-25 | 南京大学 | 一种基于用户和项目双重时序相关性的众测任务推荐方法 |
CN113377656B (zh) * | 2021-06-16 | 2023-06-23 | 南京大学 | 一种基于图神经网络的众测推荐方法 |
CN113449884A (zh) * | 2021-06-29 | 2021-09-28 | 浙江工业大学 | 一种基于深度神经网络的演艺装备智能运维推荐技术 |
CN113610610B (zh) * | 2021-08-27 | 2022-07-05 | 齐鲁工业大学 | 基于图神经网络和评论相似度的会话推荐方法和系统 |
CN113688327B (zh) * | 2021-08-31 | 2024-06-14 | 中国平安人寿保险股份有限公司 | 融合神经图协同滤波网络的数据预测方法、装置及设备 |
CN113742596A (zh) * | 2021-09-18 | 2021-12-03 | 辽宁工程技术大学 | 一种基于注意力机制的神经协同过滤推荐方法 |
CN116010684A (zh) * | 2021-10-20 | 2023-04-25 | 华为技术有限公司 | 物品推荐方法、装置及存储介质 |
CN114385921B (zh) * | 2022-01-13 | 2023-03-24 | 中建电子商务有限责任公司 | 一种标书推荐方法、系统、设备及存储介质 |
CN114139064B (zh) * | 2022-02-07 | 2022-05-06 | 杭州天卓网络有限公司 | 一种信息的智能推荐方法、系统及存储介质 |
CN114757707A (zh) * | 2022-04-21 | 2022-07-15 | 中国工商银行股份有限公司 | 一种金融产品推荐方法及装置 |
CN115221413B (zh) * | 2022-08-03 | 2023-04-14 | 湖北工业大学 | 一种基于交互式图注意力网络的序列推荐方法及系统 |
CN115601098A (zh) * | 2022-09-26 | 2023-01-13 | 重庆文理学院(Cn) | 基于物品属性与时序模式耦合关系的序列推荐方法和系统 |
CN115270005B (zh) * | 2022-09-30 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、设备以及存储介质 |
CN116320511B (zh) * | 2023-02-03 | 2024-10-11 | 华南理工大学 | 一种基于图卷积网络的跨域融合推荐方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348968A (zh) * | 2019-07-15 | 2019-10-18 | 辽宁工程技术大学 | 一种基于用户及项目耦合关系分析的推荐系统及方法 |
CN110837577A (zh) * | 2019-11-04 | 2020-02-25 | 上海喜马拉雅科技有限公司 | 一种视频推荐方法、装置、设备及存储介质 |
WO2020108605A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 一种推荐方法、装置及存储介质 |
CN111523047A (zh) * | 2020-04-13 | 2020-08-11 | 中南大学 | 基于图神经网络的多关系协同过滤算法 |
CN111611472A (zh) * | 2020-03-31 | 2020-09-01 | 清华大学 | 一种基于图卷积神经网络的捆绑推荐方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180204113A1 (en) * | 2017-01-13 | 2018-07-19 | Ebay Inc. | Interaction analysis and prediction based neural networking |
-
2020
- 2020-09-08 CN CN202010934802.5A patent/CN112084407B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020108605A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 一种推荐方法、装置及存储介质 |
CN110348968A (zh) * | 2019-07-15 | 2019-10-18 | 辽宁工程技术大学 | 一种基于用户及项目耦合关系分析的推荐系统及方法 |
CN110837577A (zh) * | 2019-11-04 | 2020-02-25 | 上海喜马拉雅科技有限公司 | 一种视频推荐方法、装置、设备及存储介质 |
CN111611472A (zh) * | 2020-03-31 | 2020-09-01 | 清华大学 | 一种基于图卷积神经网络的捆绑推荐方法及系统 |
CN111523047A (zh) * | 2020-04-13 | 2020-08-11 | 中南大学 | 基于图神经网络的多关系协同过滤算法 |
Also Published As
Publication number | Publication date |
---|---|
CN112084407A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084407B (zh) | 一种融合图神经网络和注意力机制的协同过滤推荐方法 | |
CN112084428B (zh) | 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 | |
CN112905900B (zh) | 基于图卷积注意力机制的协同过滤推荐方法 | |
CN111523047B (zh) | 基于图神经网络的多关系协同过滤算法 | |
CN114117220B (zh) | 基于知识增强的深度强化学习交互式推荐系统及方法 | |
CN110348968B (zh) | 一种基于用户及项目耦合关系分析的推荐系统及方法 | |
CN114519145A (zh) | 一种基于图神经网络挖掘用户长短期兴趣的序列推荐方法 | |
CN112950324A (zh) | 一种知识图谱辅助的成对排序个性化电商推荐方法及系统 | |
CN113590976A (zh) | 一种空间自适应图卷积网络的推荐方法 | |
CN114723011A (zh) | 一种面向动态图链接预测的高阶时序超图卷积网络运行方法 | |
CN115982480A (zh) | 基于协同注意力网络和对比学习的序列推荐方法及系统 | |
CN116842260A (zh) | 一种基于图神经网络多空间交互建模的知识增强推荐方法 | |
CN116680469A (zh) | 一种基于动态图神经网络的序列推荐算法 | |
CN115599990A (zh) | 一种知识感知结合深度强化学习的跨域推荐方法及系统 | |
Yang et al. | Hierarchical reinforcement learning for conversational recommendation with knowledge graph reasoning and heterogeneous questions | |
CN117669726A (zh) | 自然语言问题处理方法、电子设备及计算机可读存储介质 | |
CN117033793A (zh) | 一种基于强化学习和路径推理的可解释推荐方法 | |
CN116304289A (zh) | 基于图神经网络的供应链的信息链推荐方法及装置 | |
CN113360772B (zh) | 一种可解释性推荐模型训练方法与装置 | |
CN115310004A (zh) | 融合项目时序关系的图神经协同过滤推荐方法 | |
CN112084415B (zh) | 一种基于用户和项目长短期时间耦合关系分析的推荐方法 | |
CN112269927B (zh) | 一种基于会话序列动态行为偏好耦合关系分析的推荐方法 | |
Du et al. | Denoising-guided deep reinforcement learning for social recommendation | |
Li et al. | Multi-layer Attention Social Recommendation System Based on Deep Reinforcement Learning | |
CN117520665B (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 |