一种融合异构信息网络和深度学习的电影推荐方法转让专利

申请号 : CN201910947264.0

文献号 : CN110598130B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏畅胡宗超谢显中

申请人 : 重庆邮电大学

摘要 :

本发明涉及一种融合异构信息网络和深度学习的电影推荐方法,包括S1:获取用户‑电影交互数据,包括用户属性、用户‑电影的交互数据和电影的属性数据;S2:提取关系对,包括用户‑电影交互关系对、电影属性关系对、用户属性关系对;S3:构建异构信息网络;S4:设计元路径,并根据元路径分别以用户和电影为中心提取网络中的结构关系;S5:采用HIN2Vec方法提取网络中的节点特征;S6:构建用户‑电影交互特征矩阵,并根据电影数据集,给特征矩阵标签化;S7:构建卷积神经网络模型,根据S6生成的标签化的特征矩阵,训练卷积神经网络模型;S8:运用训练好的模型进行偏好预测,运用TOP‑K排序,生成用户感兴趣的电影序列。

权利要求 :

1.一种融合异构信息网络和深度学习的电影推荐方法,其特征在于:包括以下步骤:S1:获取用户‑电影交互数据,包括用户属性、用户‑电影的交互数据和电影的属性数据;

S2:提取关系对,包括用户‑电影交互关系对、电影属性关系对、用户属性关系对;

S3:构建异构信息网络;根据用户‑电影交互数据构建异构信息网络 其中V表示所有具有实际意义的节点的集合,E表示节点之间的关系的集合,表示实体节点类型映射函数 V→A,θ表示节点间的关系映射函数θ:E→R;任意一个节点v都对应一个节点类型A即 任意一条网络中的边都对应一种关系类型r,即θ(e)∈R;

S4:设计元路径,并根据元路径分别以用户和电影为中心提取网络中的结构关系;在步骤S4中,根据建立的异构信息网络和每个节点之间的逻辑关系,构建S条元路径(M1,M2,M3,...,Ms‑1,Ms)用于用户‑电影关系特征提取,因而第i条路径 表示从实体对象类型A1到实体对象类型Am的结构关系,Ri表示相邻节点之间的关系;根据生成的元路径集M与公式(1),对于 为 生成h条长度为l的路径,v为起始节点,生成的路径集合用集合D表示,每条路径中每一个节点通过公式(1)确定,公式如下:其中 表示节点类型为t(t∈R)的邻接节点且类型为t+1的节点个数;

根据上述,每条路径确定的具体步骤如下:

(1)初始化需要生成的路径的长度l,元路径m∈M,异构信息网络g;

(2)根据节点集V,选定一个初始节点,并作为当前节点;

(3)根据g,确定与当前节点相邻的节点集;

(4)根据当前节点的类型,与该节点相邻的节点集,元路径中的节点类型和下一个需要确定的节点类型,由公式(1)确定下一个节点,将此节点加入路径,并作为当前节点;

(5)根据当前的路径长度确定是否要迭代执行步骤(3)(4);

S5:采用HIN2Vec方法提取网络中的节点特征;为了提取节点的特征表示信息,采用已有方法HIN2Vec,具体如下,首先给V中的每个节点v随机生成一个k维特征向量用于描述v构成特征集 并从每条路径d∈D中提取四元关系组 作为训练特征的数据,其中x1,x2是路径d上任意两相邻节点,r(r∈R)表示两节点之间的关系,Is(x1,x2,r)表示x1,x2是否存在关系r,若存在则值为1,不存在则为0,如公式(2)所示:提取好四元组关系后,节点特征更新方法如下:

S51:建立目标损失函数:

F(x1,x2,r)=Is(x1,x2,r)logp(r|x1,x2)+(1‑Is(x1,x2,r))log[1‑p(r|x1,x2)]S52:采用随机梯度下降方法最大化目标函数F,并利用数据 迭代更新节点特征w∈W,公式如下:其中W′x1作为节点x1的权重矩阵, 是代表x1的初始特征表示;

S6:构建用户‑电影交互特征矩阵,并根据电影数据集,给特征矩阵标签化;得到节点集的特征表示后,取出所有代表用户U和电影I的节点集,将用户与电影的交互特征 表示如下:其中 代表矩阵乘法, 代表用户的不同元路径的权重, 代表电影的不同元路径的权重;在取得用户与电影的交互特征之后,根据数据集提取用户与电影的访问关系,提取方式如下:S7:构建卷积神经网络模型,根据S6生成的标签化的特征矩阵,训练卷积神经网络模型;

S8:运用训练好的模型进行偏好预测,运用TOP‑K排序,生成用户感兴趣的电影序列。

2.根据权利要求1所述的融合异构信息网络和深度学习的电影推荐方法,其特征在于:在步骤S1中,获取的数据包括用户ID数据、用户的性别数据、用户对电影的访问情况数据、电影ID数据、电影的分类数据。

3.根据权利要求1所述的融合异构信息网络和深度学习的电影推荐方法,其特征在于:在步骤S2中,提取的关系对包括{用户:电影,用户:性别,电影:分类}。

4.根据权利要求1所述的融合异构信息网络和深度学习的电影推荐方法,其特征在于:在步骤S7中,构建卷积神经网络,具体步骤如下:

S71:卷积层: 其中bat是每次处理的

数据量,ω_11为卷积核, 代表卷积操作, 为偏置,f(.)代表激活函数,采用线性整流函数(Rectified Linear Unit,ReLU);

S72:卷积层: ω_12为卷积核, 为偏置,f(.)代表激活函数,采用Relu;

S73:池化层:采用最大池化df_1=max(h_11);

S74:卷积层: ω_21为卷积核,b_21∈R为偏置,f(.)代表激活函数,采用Relu;

S75:卷积层: ω_22为卷积核,b_22∈R为偏置,f(.)代表激活函数,采用Relu;

S76:池化层:采用最大池化df_2=max(h_22);

S77:全连接层:将df_2转化为一维向量F;

S78:输出:f_output=softmax(F);

S79:损失函数:交叉熵损失函数:

其中N为样本数,visit(visit∈Visit)代表原始的用户‑电影访问关系,f_output为预测的访问关系。

5.根据权利要求1所述的融合异构信息网络和深度学习的电影推荐方法,其特征在于:在步骤S8中,运用构建好的卷积神经网络模型,将 与Visitu,i构成二元组作为训练集T送入卷积神经网络中进行训练,利用训练好的模型去预测用户与新的电影的关系,预测结果代表了用户对电影的喜爱程度,将用户最感兴趣的电影推荐给用户。

说明书 :

一种融合异构信息网络和深度学习的电影推荐方法

技术领域

[0001] 本发明属于电影推荐领域,涉及一种融合异构信息网络和深度学习的电影推荐方法。

背景技术

[0002] 近年来,推荐系统发展十分迅速,通过预测用户对信息资源的喜好程度来进行信息过滤,根据用户具体需求通过协同过滤等技术进行个性化推荐,从而也推进了电子商务的发展。随着信息技术的快速发展,在推荐系统中用户的信息变得多元化,各种各样的辅助信息可以被利用,从社交网络信息到个人浏览历史信息、从同类物品信息到相似物品信息,从朋友信息到兴趣相投的陌生人信息,这些信息维度随着互联网技术的发展越来越高,从而使得推荐系统能够更加准确的去描述用户的特征,提升用户在信息推荐服务的体验。
[0003] 在电影推荐领域,有很多研究者在该领域取得不错的效果,从传统的机器学习方法到深度学习方法都占有一席之地。随着电影推荐的迅速发展,从单维评分数据到社交关系再到情感识别,推荐系统考虑的对象逐渐从评分数据转向用户和电影自身的特征,因而推荐系统所需处理多维数据的能力显得尤为重要。大多数推荐系统利用提取到的用户特征和电影特征,通过这些特征预测用户对电影的喜爱程度,因而是否能够准确的提取用户与电影的关系特征是决定推荐系统性能好坏的重要因素。
[0004] 现如今,有较多研究把异构信息网络运用于推荐系统,通过异构信息网络提取用户与电影的潜在特征,但没有对用户‑电影之间的关系进行深入地挖掘,把较多的工作放在了用户和电影的单节点特征提取上,推荐效果不佳。

发明内容

[0005] 有鉴于此,本发明的目的在于为了更加准确的描述和识别用户与电影的关系,提高推荐性能,提供一种融合异构信息网络和深度学习的电影推荐方法。
[0006] 为达到上述目的,本发明提供如下技术方案:
[0007] 一种融合异构信息网络和深度学习的电影推荐方法,包括以下步骤:
[0008] S1:获取用户‑电影交互数据,包括用户属性、用户‑电影的交互数据和电影的属性数据;
[0009] S2:提取关系对,包括用户‑电影交互关系对、电影属性关系对、用户属性关系对;
[0010] S3:构建异构信息网络;
[0011] S4:设计元路径,并根据元路径分别以用户和电影为中心提取网络中的结构关系;
[0012] S5:采用HIN2Vec方法提取网络中的节点特征;
[0013] S6:构建用户‑电影交互特征矩阵,并根据电影数据集,给特征矩阵标签化;
[0014] S7:构建卷积神经网络模型,根据S6生成的标签化的特征矩阵,训练卷积神经网络模型;
[0015] S8:运用训练好的模型进行偏好预测,运用TOP‑K排序,生成用户感兴趣的电影序列。
[0016] 进一步,在步骤S1中,获取的数据包括用户ID数据、用户的性别数据、用户对电影的访问情况数据、电影ID数据、电影的分类数据。
[0017] 进一步,在步骤S2中,提取的关系对包括{用户:电影,用户:性别,电影:分类}。
[0018] 进一步,在步骤S3中,根据用户‑电影交互数据构建异构信息网络其中V表示所有具有实际意义的节点的集合,E表示节点之间的关系的集合,表示实体节点类型映射函数 V→A,θ表示节点间的关系映射函数θ:E→R;任意一个节点v都对应一个节点类型A即 任意一条网络中的边都对应一种关系类型r(也称边的类型),即θ(e)
∈R。
[0019] 进一步,在步骤S4中,根据建立的异构信息网络和每个节点之间的逻辑关系(现实中存在的关系,例如用户节点与电影节点代表了一种访问关系和被访问关系),构建S条元路径(M1,M2,M3,…,Ms‑1,Ms)用于用户‑电影关系特征提取,因而第i条路径表示从实体对象类型A1到实体对象类型Am的结构关系(用于描述一个实体节点
的周围网络结构),Ri表示相邻节点之间的关系;根据生成的元路径集M与公式(1),对于为 生成h条长度为l的路径,v为起始节点,生成的路径集合用集合D表
示,每条路径中每一个节点通过公式(1)确定,公式如下:
[0020]
[0021] 其中 表示节点类型为t(t∈R)的邻接节点且类型为t+1的节点个数;
[0022] 根据上述,每条路径确定的具体步骤如下:
[0023] (1)初始化需要生成的路径的长度l,元路径m∈M,异构信息网络g;
[0024] (2)根据节点集V,选定一个初始节点,并作为当前节点;
[0025] (3)根据g,确定与当前节点相邻的节点集;
[0026] (4)根据当前节点的类型,与该节点相邻的节点集,元路径中的节点类型和下一个需要确定的节点类型,由公式(1)确定下一个节点,将此节点加入路径,并作为当前节点;
[0027] (5)根据当前的路径长度确定是否要迭代执行步骤(3)(4)。
[0028] 进一步,在步骤S5中,为了提取节点的特征表示信息,采用已有方法,具体如下,首先给V中的每个节点v随机生成一个k维特征向量用于描述v构成特征集 并从每条路径d∈D中提取四元关系组 作为训练特征的数据,其中x1,x2是路径
d上任意两相邻节点,r(r∈R)表示两节点之间的关系,Is(x1,x2,r)表示x1,x2是否存在关系r,若存在则值为1,不存在则为0,如公式(2)所示:
[0029]
[0030] 提取好四元组关系后,节点特征更新方法如下:
[0031] S51:建立目标损失函数:
[0032] F(x1,x2,r)=Is(x1,x2,r)logp(r|x1,x2)+(1‑Is(x1,x2,r))log[1‑p(r|x1,x2)][0033] S52:采用随机梯度下降方法最大化目标函数F,并利用数据 迭代更新节点特征w∈W,公式如下:
[0034]
[0035]
[0036]
[0037] 其中W′x1作为节点x1的权重矩阵, 是代表x1的初始特征表示。
[0038] 进一步,在步骤S6中,得到节点集的特征表示后,取出所有代表用户U和电影I的节点集,将用户与电影的交互特征 表示如下:
[0039]
[0040] 其中 代表矩阵乘法, 代表用户的不同元路径的权重, 代表电影的不同元路径的权重;在取得用户与电影的交互特征之后,根据数据集提取用户与电影的访问(交互)关系,提取方式如下:
[0041]
[0042] 进一步,在步骤S7中,构建卷积神经网络,具体步骤如下:
[0043] S71:卷积层: 其中bat是每次处理的数据量,ω_11为卷积核, 代表卷积操作, 为偏置,f(.)代表激活函数,
采用线性整流函数(Rectified Linear Unit,ReLU);
[0044] S72:卷积层: ω_12为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0045] S73:池化层:采用最大池化df_1=max(h_11);
[0046] S74:卷积层: ω_21为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0047] S75:卷积层: ω_22为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0048] S76:池化层:采用最大池化df_2=max(h_22);
[0049] S77:全连接层:将df_2转化为一维向量F;
[0050] S78:输出:f_output=softmax(F);
[0051] S79:损失函数:交叉熵损失函数:
[0052]
[0053] 其中N为样本数,visit(visit∈Visit)代表原始的用户‑电影访问关系,f_output为预测的访问关系。
[0054] 进一步,在步骤S8中,运用构建好的卷积神经网络模型,将 与Visitu,i构成二元组 作为训练集T送入卷积神经网络中进行训练,利用训练好的模型去预测用户与新的电影的关系,预测结果代表了用户对电影的喜爱程度,将用户最感兴趣的电影推荐给用户。
[0055] 本发明的有益效果在于:本发明通过分析用户‑电影交互关系,充分挖掘其规律,预测用户的偏好,并生成为用户生成其可能感兴趣的电影序列。
[0056] 本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

[0057] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0058] 图1为模型流程图;
[0059] 图2为异构信息网络示意图。

具体实施方式

[0060] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0061] 其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0062] 本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0063] 本发明所提出的基于异构信息网络的电影推荐方法主要分为以下几部分内容:异构信息网络构建、构建用户‑电影交互特征矩阵、搭建卷积神经网络、用户偏好预测。
[0064] 异构信息网络构建:根据用户历史观看电影数据和用户电影本身的属性特征,生成与之对应的异构信息网络模型,并设计相应的符合用户行为语义的元路径,构建异构信息网络是整个模型中的第一步,也是尤为重要的一步。
[0065] 构建用户‑电影交互特征矩阵:基于构建的异构信息网络,本发明采用HIN2vec方法提取每个具有实际意义的节点的特征表示,为了能够更加准确地描述用户与电影的访问关系,将不同元路径下的用户特征和电影特征分别加权组合,将得到的特征进行矩阵乘法操作,生成用户与电影的交互特征矩阵来描述访问关系,并通过数据给这些特征进行标签化。
[0066] 卷积神经网络的构建:是整个推荐方法的重要组成部分,根据所提取数据的特征,搭建卷积层、池化层、全连接层和输出层。
[0067] 用户偏好预测:运用提取的带标签的交互特征训练神经网络模型,利用训练好的模型预测未标签的数据,将预测结果进行top‑k排序,从而得到最终的电影推荐结果。
[0068] 下面将结合附图对本方法的具体步骤进行详细的描述。
[0069] 为了能够更加简洁且清晰的描述,对部分名词使用以下符号代替:
[0070] U:用户集合;
[0071] I:电影集合;
[0072] C:电影类型集合;
[0073] M:元路径;
[0074] G:异构信息网络;
[0075] 用户‑电影交互特征矩阵。
[0076] 如图1所示,从图中可以看出整个推荐方法主要由用户‑电影特征提取模块、交互关系特征构建模块和特征识别模块三个部分顺序构成。特征提取模块包括从电影交互数据提取关系对、利用关系对构建异构信息网络、构造元路径、提取网络节点的结构化关系,和利用HIN2vec方法提取各个节点的表示特征;交互关系特征构建包括从特征矩阵中提取用户和电影的特征表示、特征加权融合和两类节点特征的矩阵操作;特征识别包括交互关系特征标签化、构建神经网络模型、模型训练、偏好预测以及top‑k排序,取出用户可能较喜爱的电影推荐给用户。
[0077] 一种基于异构信息网络和深度学习的电影推荐方法包括以下步骤:
[0078] 步骤S1:获取用户‑电影交互数据,包括用户属性、用户‑电影的交互数据和电影的属性数据;
[0079] 步骤S2:提取关系对,包括用户‑电影交互关系对、电影属性关系对和用户属性关系对;
[0080] 步骤S3:构建异构信息网络;如图2所示;
[0081] 步骤S4:设计元路径,并根据元路径分别以用户和电影为中心提取网络中的结构关系;
[0082] 步骤S5:采用HIN2Vec方法提取网络中的节点特征;
[0083] 步骤S6:构建用户‑电影交互特征矩阵,并根据电影数据集,给特征矩阵标签化;
[0084] 步骤S7:构建卷积神经网络模型,根据S6生成的标签化的特征矩阵,训练卷积神经网络模型;
[0085] 步骤S8:运用训练好的模型进行偏好预测,运用TOP‑K排序,生成用户感兴趣的电影序列。
[0086] 其中,步骤S1中,获取的数据包括用户ID数据、用户的性别数据、用户对电影的访问情况数据、电影ID数据、电影的分类数据。
[0087] 其中,步骤S2中,提取的关系对包括{用户:电影,用户:性别,电影:分类}。
[0088] 其中,步骤S3中,根据用户‑电影交互数据构建异构信息网络 其中V表示所有具有实际意义的节点的集合,E表示节点之间的关系(构成边)的集合,表示实体节点类型映射函数 V→A,θ表示节点间的关系映射函数θ:E→R;任意一个节点v都对应一个节点类型A即 任意一条网络中的边都对应一种关系类型r(也称边的类型),即θ
(e)∈R。
[0089] 其中,步骤S4中,根据建立的异构信息网络和每个节点之间的逻辑关系(现实中存在的关系,例如用户节点与电影节点代表了一种访问关系和被访问关系),构建S条元路径(M1,M2,M3,…,Ms‑1,Ms)用于用户‑电影关系特征提取,因而第i条路径表示从实体对象类型A1到实体对象类型Am的结构关系(用于描述一个实体节点的周
围网络结构),Ri表示相邻节点之间的关系。根据生成的元路径集M与公式(1),对于
为 生成h条长度为l的路径,v为起始节点,生成的路径集合用集合D表示,每条路
径中每一个节点通过公式(1)确定,公式如下:
[0090]
[0091] 其中 表示节点类型为t(t∈R)的邻接节点且类型为t+1的节点个数。
[0092] 根据上述,每条路径确定的具体步骤如下:
[0093] (1)初始化需要生成的路径的长度l,元路径m∈M,异构信息网络g;
[0094] (2)根据节点集V,选定一个初始节点,并作为当前节点;
[0095] (3)根据g,确定与当前节点相邻的节点集;
[0096] (4)根据当前节点的类型,与该节点相邻的节点集,元路径中的节点类型和下一个需要确定的节点类型,由公式(1)确定下一个节点,将此节点加入路径,并作为当前节点;
[0097] (5)根据当前的路径长度确定是否要迭代执行步骤(3)(4)。
[0098] 其中,步骤S5中,为了提取节点的特征表示信息,本发明采用了已有方法HIN2Vec,方法具体如下:首先给V中的每个节点v随机生成一个k维特征向量用于描述v构成特征集并从每条路径d∈D中提取四元关系组 作为训练特征的数据,其中x1,x2是路径d上任意两相邻节点,r(r∈R)表示两节点之间的关系,Is(x1,x2,r)表示x1,x2是否存在关系r,若存在则值为1,不存在则为0,如公式(2)所示:
[0099]
[0100] 提取好四元组关系后,节点特征更新方法如下:
[0101] S51:建立目标损失函数:
[0102] F(x1,x2,r)=Is(x1,x2,r)logp(r|x1,x2)+(1‑Is(x1,x2,r))log[1‑p(r|x1,x2)][0103] S52:采用随机梯度下降方法最大化目标函数F,并利用数据 迭代更新节点特征w∈W。
[0104] 公式如下:
[0105]
[0106]
[0107]
[0108] 其中W′x1作为节点x1的权重矩阵, 是代表x1的初始特征表示。
[0109] 其中,在步骤S6中,得到节点集的特征表示后,取出所有代表用户U和电影I的节点集,将用户与电影的交互特征 表示如下:
[0110]
[0111] 其中 代表矩阵乘法, 代表用户的不同元路径的权重, 代表电影的不同元路径的权重。在取得用户与电影的交互特征之后,根据数据集提取用户与电影的访问(交互)关系,提取方式如下:
[0112]
[0113] 其中,步骤S7中,构建卷积神经网络,具体步骤如下:
[0114] ·卷积层: 其中bat是每次处理的数据量,ω_11为卷积核, 代表卷积操作, 为偏置,f(.)代表激活函数,本
发明采用线性整流函数(Rectified Linear Unit,ReLU);
[0115] ·卷积层: ω_12为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0116] ·池化层:采用最大池化df_1=max(h_11);
[0117] ·卷积层: ω_21为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0118] ·卷积层: ω_22为卷积核, 为偏置,f(.)代表激活函数,采用Relu;
[0119] ·池化层:采用最大池化df_2=max(h_22);
[0120] ·全连接层:将df_2转化为一维向量F;
[0121] ·输出:f_output=softmax(F);
[0122] ·损失函数:交叉熵损失函数:
[0123]
[0124] 其中N为样本数,visit(visit∈Visit)代表原始的用户‑电影访问关系,f_output为预测的访问关系。
[0125] 其中,在步骤S8中,运用构建好的卷积神经网络模型,将 与Visitu,i构成二元组作为训练集T送入卷积神经网络中进行训练,利用训练好的模型去预测用户与新的电影的关系,预测结果代表了用户对电影的喜爱程度,运用top‑k排序为用户生成其感兴趣的电影序列。
[0126] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。