CN112084428B - 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 - Google Patents
一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 Download PDFInfo
- Publication number
- CN112084428B CN112084428B CN202010979827.7A CN202010979827A CN112084428B CN 112084428 B CN112084428 B CN 112084428B CN 202010979827 A CN202010979827 A CN 202010979827A CN 112084428 B CN112084428 B CN 112084428B
- Authority
- CN
- China
- Prior art keywords
- user
- project
- knowledge graph
- constructing
- recommendation
- 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
- 230000008878 coupling Effects 0.000 title claims abstract description 35
- 238000010168 coupling process Methods 0.000 title claims abstract description 35
- 238000005859 coupling reaction Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000001914 filtration Methods 0.000 title claims abstract description 17
- 239000013598 vector Substances 0.000 claims abstract description 85
- 230000004927 fusion Effects 0.000 claims abstract description 42
- 230000003993 interaction Effects 0.000 claims abstract description 33
- 238000012549 training Methods 0.000 claims abstract description 29
- 238000010586 diagram Methods 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims abstract description 19
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 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
- 238000012795 verification Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial 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
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012216 screening 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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Animal Behavior & Ethology (AREA)
- Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法(SCKG‑CF),包括以下步骤:S1、数据采集及处理;S2、划分数据集;S3、构建融合模型;S4、模型的训练及项目推荐。本发明考虑了知识图(Knowledge Graph)的效用,通过将项目与其属性链接来打破独立交互假设,以端到端的形式显式地对知识图中的高阶连接进行建模;引入用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性,使推荐系统具有更好的推荐效果和可解释性;本发明在通过注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
Description
技术领域
本发明属于计算机人工智能的技术领域,尤其涉及一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法。
背景技术
推荐系统对筛选有效信息和提高信息获取效率具有重大意义,传统的推荐系统会面临数据稀疏和冷启动的问题,因此,本发明考虑了知识图(Knowledge Graph)的效用,将社交网络与知识图相结合,通过将项目与其属性链接来打破独立交互假设,以端到端的形式显式地对知识图中的高阶连接进行建模,递归地从节点的邻居传播嵌入,来细化节点的嵌入,丰富实体之间的语义关系,增加用户对推荐结果的信任度。同时在得到的用户项目特征融合向量上引入注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
发明内容
基于以上现有技术的不足,本发明所解决的技术问题在于提供一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法,具有良好的推荐精度和可解释性。
为了解决上述技术问题,本发明通过以下技术方案来实现:
本发明提供的一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法,包括以下步骤:
S1、数据采集及处理;
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数;对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例;
S3、构建融合模型:通过构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系;
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
优选的,所述步骤S1的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理;
S102、将用户项目历史交互信息转化为二部图形式;
S103、使用10-core设置,即保留至少有10次交互的用户和项目。
所述步骤S3中构建融合模型的具体步骤如下:
S301、构建输入层:输入层输入层包括三个输入内容,协作知识图(知识图+用户项目二部图)、基于项目的信息和基于用户的社交网络图;
S302、构建融合协作知识图和用户的社交网络图的推荐模型:构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系;
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户。
进一步的,所述步骤S302中构建融合协作知识图和用户的社交网络图的推荐模型的具体步骤如下:
S302-1、构建协作知识图:将用户项目历史交互信息转化为二部图形式,将项目的属性信息纳入图的结构(称为知识图),将知识图和用户项目二部图的混合结构称为协作知识图(CKG),作为输入,通过一层embedding全连接层映射为稠密向量,得到用户和项目的隐式向量,表示用户和项目的潜在特征,送入嵌入传播层进行高阶传播,来细化节点的嵌入,得到用户和项目的显式特征向量;
S302-2、构建基于用户的社交网络图;将项目信息和用户的社交网络图进行整合,通过一层embedding全连接层映射为稠密向量,表示用户的基于社交隐式向量,送入嵌入传播层进行高阶传播,得到基于社交的用户特征向量,将用户特征向量与基于社交的用户特征向量进行concatenation得到用户的特征融合向量(u);
S302-3、融合用户项目特征向量:将用户特征向量u与项目特征向量v进行concatenation得到用户项目特征融合向量(uv),并使用注意力机制来区分邻居和社交关系的重要性;
S302-4、MLP学习用户项目耦合关系:在注意力权重与特征融合向量进行外积得到的特征矩阵X上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,最后通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐。
可选的,所述步骤S4中模型的训练及项目推荐的具体步骤如下:
S401、构建损失函数:使用推荐系统中常用的pairwise BPR loss损失函数,能对正样本和负样本加上不同的权重,使正样本能特别体现用户的口味,负样本能少量体现用户的口味;
S402、构建优化函数:采用小批次的Adam来优化模型并更新模型参数;
S403、项目推荐:将用户信息和项目信息送入融合模型,通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐。
由上,本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法至少具有如下有益效果:
(1)、本发明考虑了知识图(Knowledge Graph)的效用,知识图是一种特殊网络,其中每个节点代表现实世界中的实体,而节点的边表示实体之间的关系,通过将项目与其属性链接来打破独立交互假设,以端到端的形式显式地对知识图中的高阶连接进行建模,让模型可以表达高维特征,丰富了实体之间的语义关系,使推荐结果更加精确。
(2)、引入用户的社交网络图(Social Network Graph),考虑社交网络对推荐的影响,基于社交网络的推荐增加了用户对推荐结果的信任度。
(3)、本发明运用了使用注意力机制(Attention Mechanism)来区分邻居和社交关系的重要性,使推荐系统具有更好的推荐效果和可解释性。
(4)、本发明是社交网络和知识图结构的推荐的结合,可以很好的解决数据稀疏性和冷启动问题。
(5)、本发明在通过注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器(MLP,Multilayer Perceptron)来学习用户项目特性之间更深层次的耦合关系,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法的流程框图;
图2为本发明的数据采集和处理流程图;
图3为本发明的构建融合模型流程图;
图4为本发明为构建融合协作知识图和用户的社交网络图的推荐模型的学习框架流程图;
图5为本发明的模型的训练及项目推荐流程图;
图6为本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法的结构框图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
如图1至图6所示,本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,包括:
数据采集及处理模块,从Grouplens网站下载MovieLens 1M数据集并进行数据预处理,将用户项目历史交互信息转化为二部图形式,使用10-core设置,即保留至少有10次交互的用户和项目。
划分数据集模块,将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数。对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例。
构建融合模型模块,通过构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系。
模型的训练及项目推荐模块,用于将所述划分数据集模块得到的训练数据集和测试数据集分别用于训练和评估所述融合模型模块构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
如图1所示,本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,该方法包括如下步骤:
S1、数据采集及处理:从Grouplens网站下载MovieLens 1M数据集并进行数据预处理,将用户项目历史交互信息转化为二部图形式,使用10-core设置,即保留至少有10次交互的用户和项目。
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数。对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例。
S3、构建融合模型:通过构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系。
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测概率判断是否将项目推荐给用户。
如图2所示,步骤S1中的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理:在Grouplens网站下载MovieLens 1M数据集,,将其转化为可操作的格式存储。
S102、将用户项目历史交互信息转化为二部图形式;
本发明使用的与电影相关的数据集,用户实体对应用户看过的电影,电影实体包含演员、导演和电影类型等信息。
转化之后的评分矩阵中的"UserID","MovieID","Rating","Timestamp"数据集,如下所示:
UserID | MovieID | Rating | Timestamp |
1 | 1993 | 1 | 978300760 |
项目的特征数据包括"MovieID","Title","Genres",如下所示:
S103、使用10-core设置,即保留至少有10次交互的用户和项目:删除掉交互10次之内的用户和项目,确保数据有效性。
如图3所示,步骤S3中构建融合模型的具体步骤如下:
S301、构建输入层:输入层包括三个输入内容,协作知识图(知识图+用户项目二部图)、基于项目的信息和基于用户的社交网络图。输入层的形式为(userid,itemid,item_info,user_social_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='item_info')
item_neibor_id=Input(shape=(k,),type='string',name='user_social_id')
S302、构建融合协作知识图和用户的社交网络图的推荐模型:构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的交互。
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户。
在Keras中,输出层实现代码如下所示:
prediction=Dense(1,kernel_initializer='glorot_normal',name='prediction')(prediction)
如图4所示,步骤S302中构建融合协作知识图和用户的社交网络图的推荐模型的具体步骤如下所示:
S302-1、构建协作知识图:将用户项目历史交互信息转化为二部图形式,将项目的属性信息纳入图的结构(称为知识图),知识图是一种特殊网络,其中每个节点代表现实世界中的实体,而节点的边表示实体之间的关系。将知识图和用户项目二部图的混合结构称为协作知识图(CKG),作为输入,通过一层embedding全连接层映射为稠密向量,得到用户和项目的隐式向量,表示用户和项目的潜在特征。
例如:指定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.02145314 0.02113025 0.0178023 -0.02133563 -0.02135003 -0.00111125 -0.01905928 -0.01002887 0.00150579]
送入嵌入传播层进行高阶传播,来细化节点的嵌入,一阶连通性可以增强表示,所以通过叠加更多嵌入传播层来探索高阶连通性信息,一个节点的embedding是一个向量,那么一个图的embedding就是将所有节点的embedding放在一起形成一个矩阵,是一个图的原始特征。经过L层传播之后,可以得到L个关于用户u的向量表示由于在不同层中获得的向量表示是通过不同连接传递的消息,在反应用户偏好方面有不同的贡献,所以将这些向量表示串联起来得到用户和项目的显式特征向量;
在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全连接层映射为稠密向量,表示用户的基于社交隐式向量,送入嵌入传播层进行高阶传播,得到基于社交的用户特征向量,将用户特征向量与基于社交的用户特征向量/>进行concatenation得到用户的特征融合向量(u);
S302-3、融合用户项目特征向量:将用户特征向量u与项目特征向量v进行concatenation得到用户项目特征融合向量(uv),并使用注意力机制来区分邻居和社交关系的重要性;
uv=concatenation(u,v);
权重计算公式如下所示:
其中,表示用户对于项目不同特征喜好的权重向量,/>为用户/项目第k个特征的权重值,/>为用户/项目第j个特征的权重值,K为特征个数,vt为隐藏层到注意力层的权重向量,W和b分别为权重矩阵和偏差向量,exp为指数函数,Relu为激活函数,Relu激活函数的计算公式如下所示:
S302-4、MLP学习用户项目耦合关系:在注意力权重与特征融合向量进行外积得到的特征矩阵X上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,最后通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐;
在Keras中,求用户/项目特征矩阵X实现代码如下所示:
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])
Attention层求权重实现代码如下所示:
att=Dense(32,kernel_initializer='random_uniform',activation='softmax')(user_item_concat)
通过多层感知器(MLP)学习用户特征与项目特征之间的耦合关系的实现代码如下所示:
predict_vec=keras.layers.Multiply()([vec,att])
predict_vec=Dense(16)(predict_vec)
predict_vec=BatchNormalization()(predict_vec)
predict_vec=Activation('relu')(predict_vec)
predict_vec=Dense(8)(predict_vec)
predict_vec=BatchNormalization()(predict_vec)
predict_vec=Activation('relu')(predict_vec)
如图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、项目推荐:将用户信息和项目信息送入融合模型,通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐。
本发明的基于耦合网络嵌入及知识图谱的协同过滤推荐方法包括如下步骤:S1、数据采集及处理;S2、划分数据集;S3、构建融合模型:(1)构建协作知识图:将用户项目历史交互信息转化为二部图形式,将项目的属性信息纳入图的结构(称为知识图),将知识图和用户项目二部图的混合结构称为协作知识图(CKG),作为输入,通过一层embedding全连接层映射为稠密向量,得到用户和项目的隐式向量,表示用户和项目的潜在特征,送入嵌入传播层进行高阶传播,来细化节点的嵌入,得到用户和项目的显式特征向量;(2)构建基于用户的社交网络图;将项目信息和用户的社交网络图进行整合,通过一层embedding全连接层映射为稠密向量,表示用户的基于社交隐式向量,送入嵌入传播层进行高阶传播,得到基于社交的用户特征向量,将用户特征向量与基于社交的用户特征向量进行concatenation得到用户的特征融合向量(u);(3)融合用户项目特征向量:将用户特征向量u与项目特征向量v进行concatenation得到用户项目特征融合向量(uv),并使用注意力机制来区分邻居和社交关系的重要性;在注意力权重与特征融合向量进行外积得到的特征矩阵X上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。本发明的方法还包括:S4、模型的训练及项目推荐:利用协作知识图(知识图+用户项目二部图)、基于项目的信息和基于用户的社交网络图作为模型的输入,模型在训练过程中不断更新参数,从而更好的学习邻居和社交关系的重要性以及用户/项目耦合关系。
本发明考虑了知识图(Knowledge Graph)的效用,通过将项目与其属性链接来打破独立交互假设,以端到端的形式显式地对知识图中的高阶连接进行建模;引入用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性,使推荐系统具有更好的推荐效果和可解释性;本发明在通过注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,多层的神经网络结构也赋予模型高水平的灵活性和非线性建模能力。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (5)
1.一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法,其特征在于,包括以下步骤:
S1、数据采集及处理;
S2、划分数据集:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力;从训练集中随机选取10%的交互作为验证集,用于调整超参数;对每一个可以观察到的用户项目交互,将其视为正例,然后执行负采样策略为用户没有交互过的项目配对负例;
S3、构建融合模型:通过构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系;
S4、模型的训练及项目推荐:将步骤S2中得到的训练集和测试集分别用于训练和评估步骤S3中构建的融合模型,根据最终的预测评分判断是否将项目推荐给用户。
2.如权利要求1所述的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,其特征在于,所述步骤S1的数据采集及处理的具体步骤如下:
S101、将下载的MovieLens 1M数据集进行数据预处理;
S102、将用户项目历史交互信息转化为二部图形式;
S103、使用10-core设置,即保留至少有10次交互的用户和项目。
3.如权利要求1所述的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,其特征在于,所述步骤S3中构建融合模型的具体步骤如下:
S301、构建输入层:输入层包括三个输入内容,协作知识图、基于项目的信息和基于用户的社交网络图;
S302、构建融合协作知识图和用户的社交网络图的推荐模型:构建协作知识图以端到端的形式显式地对知识图中的高阶连接进行建模;构建用户的社交网络图,考虑社交网络对推荐的影响,并使用注意力机制来区分邻居和社交关系的重要性;通过在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的交互;
S303、构建输出层:预测用户对项目的评分,判断是否将该项目推荐给用户。
4.如权利要求3所述的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,其特征在于,所述步骤S302中构建融合协作知识图和用户的社交网络图的推荐模型的具体步骤如下:
S302-1、构建协作知识图:将用户项目历史交互信息转化为二部图形式,将项目的属性信息纳入图的结构,将知识图和用户项目二部图的混合结构称为协作知识图,作为输入,通过一层embedding全连接层映射为稠密向量,得到用户和项目的隐式向量,表示用户和项目的潜在特征,送入嵌入传播层进行高阶传播,来细化节点的嵌入,得到用户和项目的显式特征向量;
S302-2、构建基于用户的社交网络图;将项目信息和用户的社交网络图进行整合,通过一层embedding全连接层映射为稠密向量,表示用户的基于社交隐式向量,送入嵌入传播层进行高阶传播,得到基于社交的用户特征向量,将用户特征向量与基于社交的用户特征向量进行concatenation得到用户的特征融合向量u;
S302-3、融合用户项目特征向量:将用户特征向量u与项目特征向量v进行concatenation得到用户项目特征融合向量uv,并使用注意力机制来区分邻居和社交关系的重要性;
S302-4、MLP学习用户项目耦合关系:在注意力权重与特征融合向量进行外积得到的特征矩阵上使用标准的多层感知器来学习用户项目特性之间更深层次的耦合关系,最后通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐。
5.如权利要求1所述的基于耦合网络嵌入及知识图谱的协同过滤推荐方法,其特征在于,所述步骤S4中模型的训练及项目推荐的具体步骤如下:
S401、构建损失函数:使用推荐系统中常用的pairwise BPRloss损失函数,能对正样本和负样本加上不同的权重,使正样本能特别体现用户的口味,负样本能少量体现用户的口味;
S402、构建优化函数:采用小批次的Adam来优化模型并更新模型参数;
S403、项目推荐:将用户信息和项目信息送入融合模型,通过sigmoid概率激活函数将用户对物品的评分转化为二分类问题,对用户进行Top-K推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010979827.7A CN112084428B (zh) | 2020-09-17 | 2020-09-17 | 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010979827.7A CN112084428B (zh) | 2020-09-17 | 2020-09-17 | 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084428A CN112084428A (zh) | 2020-12-15 |
CN112084428B true CN112084428B (zh) | 2024-02-02 |
Family
ID=73737071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010979827.7A Active CN112084428B (zh) | 2020-09-17 | 2020-09-17 | 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084428B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765486B (zh) * | 2021-01-22 | 2022-04-05 | 重庆邮电大学 | 一种融合知识图谱的注意力机制的电影推荐方法 |
CN112836511B (zh) * | 2021-01-27 | 2024-01-30 | 北京计算机技术及应用研究所 | 基于协同关系的知识图谱上下文嵌入方法 |
CN112948668B (zh) * | 2021-02-04 | 2023-03-03 | 深圳大学 | 一种信息推荐方法、电子设备及存储介质 |
CN112989064B (zh) * | 2021-03-16 | 2022-07-08 | 重庆理工大学 | 一种聚合知识图神经网络和自适应注意力的推荐方法 |
CN113010796B (zh) * | 2021-04-15 | 2023-04-07 | 重庆大学 | 用于项目推荐的方法 |
CN113362131B (zh) * | 2021-06-02 | 2022-09-13 | 合肥工业大学 | 一种融合知识图谱和用户交互的图模型智能商品推荐方法 |
CN115495598A (zh) * | 2021-06-17 | 2022-12-20 | 腾讯科技(深圳)有限公司 | 一种对多媒体资源的推荐方法、装置、设备及存储介质 |
CN113486257B (zh) * | 2021-07-01 | 2023-07-11 | 湖北工业大学 | 一种基于对抗矩阵分解的协调过滤卷积神经网络推荐系统及方法 |
CN113360772B (zh) * | 2021-07-02 | 2022-09-09 | 中国科学技术大学 | 一种可解释性推荐模型训练方法与装置 |
CN113609398B (zh) * | 2021-08-17 | 2023-09-19 | 石家庄铁道大学 | 一种基于异构图神经网络的社交推荐方法 |
CN114004667B (zh) * | 2021-09-17 | 2024-05-14 | 重庆大学 | 一种知识众包冷启动任务建模与推荐方法 |
CN113987200B (zh) * | 2021-10-19 | 2024-03-15 | 云南大学 | 神经网络结合知识图谱的推荐方法、系统、终端、介质 |
CN114254187A (zh) * | 2021-12-10 | 2022-03-29 | 重庆邮电大学 | 基于自适应降噪训练的推荐方法、系统、电子设备及介质 |
CN115310762A (zh) * | 2022-07-04 | 2022-11-08 | 上海淇玥信息技术有限公司 | 基于异构图神经网络的目标服务确定方法和装置 |
CN116308652A (zh) * | 2023-03-14 | 2023-06-23 | 南京邮电大学 | 一种基于商品知识图谱和用户社交图谱的推荐系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110094A (zh) * | 2019-04-22 | 2019-08-09 | 华侨大学 | 基于社交网络知识图谱的跨网络人物关联方法 |
CN110334219A (zh) * | 2019-07-12 | 2019-10-15 | 电子科技大学 | 基于注意力机制融入文本语义特征的知识图谱表示学习方法 |
CN110348968A (zh) * | 2019-07-15 | 2019-10-18 | 辽宁工程技术大学 | 一种基于用户及项目耦合关系分析的推荐系统及方法 |
CN111428147A (zh) * | 2020-03-25 | 2020-07-17 | 合肥工业大学 | 结合社交和兴趣信息的异源图卷积网络的社交推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150187024A1 (en) * | 2013-12-27 | 2015-07-02 | Telefonica Digital España, S.L.U. | System and Method for Socially Aware Recommendations Based on Implicit User Feedback |
-
2020
- 2020-09-17 CN CN202010979827.7A patent/CN112084428B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110094A (zh) * | 2019-04-22 | 2019-08-09 | 华侨大学 | 基于社交网络知识图谱的跨网络人物关联方法 |
CN110334219A (zh) * | 2019-07-12 | 2019-10-15 | 电子科技大学 | 基于注意力机制融入文本语义特征的知识图谱表示学习方法 |
CN110348968A (zh) * | 2019-07-15 | 2019-10-18 | 辽宁工程技术大学 | 一种基于用户及项目耦合关系分析的推荐系统及方法 |
CN111428147A (zh) * | 2020-03-25 | 2020-07-17 | 合肥工业大学 | 结合社交和兴趣信息的异源图卷积网络的社交推荐方法 |
Non-Patent Citations (1)
Title |
---|
基于协同知识图谱特征学习的论文推荐方法;唐浩;刘柏嵩;刘晓玲;黄伟明;计算机工程(第009期);306-312 * |
Also Published As
Publication number | Publication date |
---|---|
CN112084428A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084428B (zh) | 一种基于耦合网络嵌入及知识图谱的协同过滤推荐方法 | |
CN112084407B (zh) | 一种融合图神经网络和注意力机制的协同过滤推荐方法 | |
CN112905900B (zh) | 基于图卷积注意力机制的协同过滤推荐方法 | |
CN112256980A (zh) | 一种基于动态图注意力网络的多关系协同过滤推荐 | |
CN110348968B (zh) | 一种基于用户及项目耦合关系分析的推荐系统及方法 | |
CN113378047B (zh) | 一种基于多方面增强的图神经网络推荐方法 | |
CN112749339A (zh) | 一种基于旅游知识图谱的旅游路线推荐方法及系统 | |
CN113378048B (zh) | 一种基于多视角知识图谱注意力网络的个性化推荐方法 | |
Hu et al. | Learning to infer user implicit preference in conversational recommendation | |
CN110866145A (zh) | 一种共同偏好辅助的深度单类协同过滤推荐方法 | |
Shi | [Retracted] Music Recommendation Algorithm Based on Multidimensional Time‐Series Model Analysis | |
CN112256859A (zh) | 一种基于双向长短期记忆网络显式信息耦合分析的推荐方法 | |
CN113590976A (zh) | 一种空间自适应图卷积网络的推荐方法 | |
CN112084415B (zh) | 一种基于用户和项目长短期时间耦合关系分析的推荐方法 | |
CN116628341A (zh) | 一种基于多类型视图知识对比学习模型的推荐方法 | |
CN112269927B (zh) | 一种基于会话序列动态行为偏好耦合关系分析的推荐方法 | |
Kim et al. | Confident Action Decision via Hierarchical Policy Learning for Conversational Recommendation | |
CN115860119A (zh) | 基于动态元学习的少样本知识图谱补全方法和系统 | |
Zhang et al. | Hybrid recommendation system with graph neural collaborative filtering and local self-attention mechanism | |
Xiao et al. | A better understanding of the interaction between users and items by knowledge graph learning for temporal recommendation | |
Liang et al. | Exploiting user preference in gnn-based social recommendation with contrastive learning | |
CN114637863B (zh) | 一种基于传播的知识图谱推荐方法 | |
Yu | Hybrid soft computing approach for mining of complex construction databases | |
Wang et al. | [Retracted] Research on the Spectral Domain Graph Convolution Collaborative Filtering Algorithm Based on Reinforcement Learning and Chebyshev | |
Gao et al. | SRUH-GNN: Social Recommendation of User Homophily based on Graph Neural Network |
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 |