利索能及
我要发布
收藏
专利号: 2023106236426
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于协同增强和图注意力神经网络的电影推荐方法,包括如下步骤:步骤1:抽取待处理电影数据集中各实体的特征信息和实体之间的关系信息,并以实体为节点,以实体关系为节点连边构建电影知识图谱,其中所述节点包括:电影名称节点、演员节点、主题节点、类型节点和年份节点;根据用户‑电影交互矩阵获取用户和电影集合;

步骤2:使用知识图谱表示学习算法TransH对电影知识图谱数据进行预处理,获得电影知识图谱实体和关系的初始嵌入向量;

步骤3:任取用户集合中的一个用户,利用交互信息计算其初始交互电影实体集合,并根据该集合计算用户的交互嵌入向量;

步骤4:根据用户的初始交互电影实体集合映射到电影知识图谱上进行传播,计算第l层的嵌入向量以及经随机采样后的头实体嵌入向量;

步骤5:通过步骤4中的头实体嵌入向量计算最终用户在电影知识图谱上的多层嵌入向量;

步骤6:通过步骤3中的交互嵌入向量、步骤4中的各层嵌入向量和步骤5中的多层嵌入向量计算用户的嵌入向量;遍历用户集合,重复步骤3~步骤6,计算所有用户的嵌入向量;

步骤7:任取电影集合中的一个电影,利用协同交互信息计算其初始协同电影实体集合,并根据该集合计算电影的协同嵌入向量;

步骤8:根据电影的协同交互电影实体集合映射到电影知识图谱上进行传播,计算第l层的嵌入向量以及经随机采样后的头实体嵌入向量;

步骤9:通过步骤8中的头实体嵌入向量计算最终电影在电影知识图谱上的多层嵌入向量;

步骤10:通过电影的自身嵌入向量、步骤7中的协同嵌入向量、步骤8中的各层嵌入向量和步骤9中的多层嵌入向量计算电影的嵌入向量;遍历电影集合,重复步骤7~步骤10,计算所有电影的嵌入向量;

步骤11:根据用户和电影的嵌入向量预测用户观看电影的概率,计算损失函数,当损失值小于设定最小损失值后结束计算;对于集合中的某个用户,根据预测评分从高到低的结果排行推荐前K个电影,其中K为设定的推荐电影数量。

2.如权利要求1所述的方法,其特征在于,步骤1中在用户‑电影交互矩阵Y={yuv|u∈U,v∈V}中,U={u1,u2,...,um}表示用户集合,V={v1,v2,...,vn}表示电影集合,其中用户看过了电影则yuv=1,否则yuv=0;

步骤1中将用户‑电影交互矩阵中的电影与电影知识图谱上的对应实体进行对齐,获取电影在电影知识图谱上的对应邻居属性特征。

3.如权利要求1所述的方法,其特征在于,步骤2中,通过知识图谱表示学习算法TransH将知识图谱中的实体和关系映射到低维向量空间中获得初始嵌入向量,电影知识图谱G由H个三元组(h,r,t)组成,h∈ε,r∈η和t∈ε分别为三元组的头实体,关系和尾实体,ε={e1,e2,...,eA}表示电影实体集合,η={r1,r2,...,rB}表示电影实体之间关系的集合;

步骤3中,对于任取的一个用户u,获得其初始交互电影实体集合,并根据该集合计算用户u的交互嵌入向量其中v→e是根据用户u的交互电影找到电影知识图谱上的对应电影实体e,是对应集合中某一个电影实体ei的嵌入向量。

4.如权利要求1所述的方法,其特征在于,步骤4中将步骤3中的初始交互电影实体集合映射到电影知识图谱上进行传播,计算相应的注意力权重其中

λr=σ(W2ReLU(W1z0+b1)+b2)                     (4)为各个头实体嵌

入向量,为对应的关系嵌入向量,W和b都是可训练的权重和偏差;ReLU为非线性激活函数,σ为Sigmoid激活函数, 为用户u在电影知识图谱上对应的头实体属于第l层的三元组集合;

步骤4中使用注意力权重计算电影用户u在电影知识图谱上第l层的嵌入向量其中t

为第l层电影知识图谱中的所有尾实体集合,L为电影知识图谱的总跳数,e 表示尾实体, 为第l层电影知识图谱中的其中一个尾实体,表示实体e对应的嵌入向量;与用户u交互的初始交互电影实体集合 对应第0层,在电影知识图谱上与第0层相连接的实体为第1层,其他层次以此类推;

步骤4中根据随机采样的尾实体集合,使用注意力权重计算电影知识图谱各层的头实体嵌入向量其中 是对第l层头实体中的所有对应尾实体进行随机采样的尾实体集合; 表示第l层的头实体嵌入向量, 表示第l层的尾实体嵌入向量, 表示拼接操作,σ为非线性激活函数。

5.如权利要求1所述的方法,其特征在于,步骤5中通过步骤4的头实体嵌入向量计算电影知识图谱的多层嵌入向量其中注意力权重

是电影v的初始嵌入

向量。

6.如权利要求5所述的方法,其特征在于,步骤6中通过拼接步骤3中的交互嵌入向量、步骤4中的各层嵌入向量和步骤5中的多层嵌入向量计算用户u的嵌入向量遍历用户集合U,重复步骤3~步骤6,计算所有用户的嵌入向量;

步骤7中,对于任取的一个电影v,获得其初始协同电影实体集合,并根据该集合计算电影v的协同嵌入向量其中

a a a

使用a代表电影v和v的共同交互用户,v 代表与v有共同交互用户的协同邻居,v→e是根据电影v的协同邻居找到电影知识图谱上的对应电影实体e。

7.如权利要求6所述的方法,其特征在于,步骤8中将步骤7中的初始协同电影实体集合映射到电影知识图谱上进行传播,计算相应的注意力权重其中

λr=σ(W2ReLU(W1z0+b1)+b2)                     (4)为各个头实体嵌入向量,为对应的关系嵌入向量,W和b都是可训练的权重和偏差;

ReLU为非线性激活函数,σ为Sigmoid激活函数, 为电影v在电影知识图谱上对应的头实体属于第l层的三元组集合;

步骤8中使用注意力权重计算电影v在电影知识图谱上第l层的嵌入向量其中

t

为第l层电影知识图谱中的所有尾实体向量,L为电影知识图谱的总跳数,e 表示尾实体, 为第l层电影知识图谱中的其中一个尾实体,表示实体e对应的嵌入向量;电影v的初始协同电影实体集合 对应第0层,在电影知识图谱上与第0层相连接的实体为第1层,其他层次以此类推;

步骤8中根据随机采样的尾实体集合,使用注意力权重计算电影知识图谱各层的头实体嵌入向量其中 是对第l层头实体中的所有对应尾实体进行随机采样的尾实体集合; 表示第l层的头实体嵌入向量, 表示第l层的尾实体嵌入向量, 表示拼接操作,σ为非线性激活函数。

8.如权利要求7所述的方法,其特征在于,步骤9中通过步骤8的头实体嵌入向量计算电影知识图谱的多层嵌入向量其中注意力权重

是电影v的初始嵌入向量。

9.如权利要求1所述的方法,其特征在于,步骤10中通过拼接电影的自身嵌入向量、步骤7中的协同嵌入向量、步骤8中的各层嵌入向量和步骤9中的多层嵌入向量计算电影v的嵌入向量遍历电影集合V,重复步骤7~步骤10,计算所有电影的嵌入向量。

10.如权利要求1所述的方法,其特征在于,步骤11中计算损失函数其中

+ ‑

σ为Sigmoid激活函数;函数Υ和Υ分别表示正样本和负样本, 代表交叉熵损失,由α参数化下的 是L2‑正则化项;yuv是用户u对电影v的真实交互情况, 是预测用户u观看电影v的概率。