一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种推荐模型的训练方法、电子设备及计算机存储介质与流程

2022-02-22 02:56:00 来源:中国专利 TAG:


1.本技术涉及利用计算机技术进行个性化推荐技术领域,具体而言,涉及 一种推荐模型的训练方法、电子设备及计算机存储介质。


背景技术:

2.程序在线判题(programming online judges,pojs)在计算机学生的编程比 赛中是非常流行的软件工具,它包含大量的编程练习,供用户(学生)解决, 其主要目的是自动编译和评价用户对所提问题的解决方案。这种工具在世 界范围内被广泛应用于提升学生的编程技能。例如,北京大学在线判题 (http://poj.org/),目前拥有60多万用户和3000多个问题,aizu在线判题 (https://onlinejudge.u-aizu.ac.jp/),拥有2000个问题等。
3.当前的基于pojs的推荐算法首先需要根据用户的编程能力而不是商业 推荐算法中的根据用户的偏好进行推荐,其次需要根据用户掌握的知识点 的学习路径进行推荐。但是当前的基于pojs的推荐方法并没有针对pojs 的数据特点和领域需求进行设计。在poj推荐领域,由于缺乏学习目标、 问题难度等信息,现有研究主要是基于协同过滤(cf)而不需要额外的信息来 推荐pojs中需要解决的问题,例如通过用户-项目对的反馈构造用户-项目 评分矩阵,并根据其评分矩阵和传统协同过滤算法对习题进行推荐的研究 和显性构造特征的基于机器学习算法的研究。在pojs中,用户可以获得8 种答题反馈例如runtime error、accepted、compile error等,但是现有的推 荐算法不能根据不同的反馈信息综合反映用户对于项目(习题)的掌握程度。


技术实现要素:

4.本技术实施例的目的在于提供一种推荐模型的训练方法、电子设备及 计算机存储介质,用以根据综合反映用户对于项目的掌握程度的多种反馈 信息,进行习题的推荐。
5.本技术实施例提供的一种推荐模型的训练方法,包括:
6.获取训练数据集,训练数据集包括用户、项目及用户对项目的反馈信息;
7.将训练数据集输入推荐模型进行训练,得到训练后的推荐模型;推荐模 型,基于注意力机制聚合多个反馈信息图中相同节点间的不同反馈信息,学 习反馈信息图的方式进行推荐。
8.上述技术方案,根据反馈类型构造多个由两种节点(用户和项目)和统 一类型的反馈边组成的反馈信息图,其中每个图的边仅表示一种特定类型 的用户对项目的反馈。由于传统的图卷积推荐模型无法对有效学习反馈强 度,为了学习不同反馈的不同强度,这里引入注意力机制,通过注意力机制 聚合多个图中相同节点间的不同反馈信息,同时将聚合后的反馈信息作为 权重影响传播过程,使得推荐模型能够学习不同反馈的不同强度,同时缓解 传统模型中分别学习不同反馈信息的稀疏性问题。本技术实施例通过基于 边反馈聚合的推荐模型,构建了一个有效建模多反馈的推荐算法,从而更好 地表示用户对项目的掌握程度。
9.在一些可选的实施方式中,推荐模型还采用分别学习交互信息图和反 馈信息图的图卷积网络的双通路方法来进行推荐,推荐模型包括共享嵌入 层、嵌入传播层及联合预测层。
10.上述技术方案,通过分别学习交互信息图和反馈信息图的双通道的嵌 入传播模式,有助于学习同一用户的同一项目的不同反馈信息和交互信息 的关系,全面建模用户对项目的掌握程度,提高了推荐模型的有效性。
11.在一些可选的实施方式中,共享嵌入层用于:
12.使用嵌入向量分别描述用户和项目,得到用户嵌入向量和项目嵌入向 量;将用户嵌入向量和项目嵌入向量合并成一个嵌入矩阵;
13.获取用户针对项目的反馈信息矩阵;
14.获取用户对项目交互的邻接矩阵。
15.上述技术方案,获取用户针对项目的反馈信息矩阵{y1,y2…
,y
t
},包括:
16.用户项目矩阵y,假设反馈类型为t,反馈矩阵y
t
表示用户在提交针对 项目的解答后获得反馈t的频次。用户u针对项目i的所有的反馈信息都可 以表示成所以所有用户项目的反馈信息矩阵可以表示为 {y1,y2…
,y
t
},其中y
t
为每个用户针对项目的反馈的集合。
17.获取用户对项目交互的邻接矩阵a,包括:
18.用户对项目的交互矩阵为非对称矩阵k∈r
m*n
,其中m为用户数量, n为项目数量,k的每个元素k
ui
表示用户u对项目i有交互,其值为1或0。 矩阵k,k
t
(k的转置)以及两个零矩阵组成用户对项目交互的邻接矩阵a:
[0019][0020]
获取用户和项目的嵌入矩阵e,包括:
[0021]
从用户和项目的反馈数据中抽取出用户是否选择项目的行为数据。由 于行为数据十分稀疏,采用嵌入的方法将其转化为低维度的实值向量,并作 为网络节点的信息。用户和项目的反馈信息由于和行为数据维度相似,故也 应该将反馈数据融合作为网络节点的辅助信息。使用嵌入向量和 来描述用户和项目,其中d是嵌入维度。用户嵌入向量和项目嵌入 向量将被合并成一个嵌入矩阵e:
[0022][0023]
其中n是用户数量,m是项目数量。
[0024]
在一些可选的实施方式中,嵌入传播层用于:
[0025]
嵌入矩阵的嵌入向量进行基于用户对项目交互的邻接矩阵的嵌入传播, 得到用户的第一特征,及项目的第二特征;第一特征用于表征用户的与其有 交互的项目的特征,第二特征用于表征项目的与其有交互的用户的特征;
[0026]
嵌入矩阵的嵌入向量进行基于反馈信息矩阵的嵌入传播,得到用户基 于反馈信息的第三特征,及项目基于反馈信息的第四特征;
[0027]
将第一特征和第三特征,通过加权求和的方式,获得用户的经过融合的 第一嵌入
向量;将第二特征和第四特征,通过加权求和的方式,获得项目的 经过融合的第二嵌入向量;
[0028]
第一嵌入向量经过多层传播,得到只聚合交互信息的第一特征表示信 息;第二嵌入向量经过多层传播,得到聚合用户与项目对反馈信息的第二特 征表示信息。
[0029]
上述技术方案,考虑到如果只聚合交互信息或反馈信息会丢失相应的 特征,由于交互信息和反馈信息的所对应的目标不同,不能简单地将交互信 息和反馈信息应用于一个框架中聚合。因此,用户-项目传播体系由两个组 件组成:基于用户针对项目的反馈信息矩阵的嵌入传播模块和基于用户对 项目交互的邻接矩阵的嵌入传播模块。基于用户对项目交互的邻接矩阵的 嵌入传播模块用于聚合该用户或项目的相邻项目或用户的信息;基于反馈 信息矩阵的嵌入传播模块用于聚合该用户或项目的相邻项目或用户的信息 及其对应的反馈信息。将反馈信息和交互信息分别聚合,然后用加权的方式 学习不同信息对于最终结果的影响,更好地利用反馈信息和交互信息。即, 初始的嵌入向量和分别进行两种方式的嵌入传播,并最终通过加权求 和的方式获得最终的嵌入向量:
[0030][0031][0032][0033][0034][0035][0036]
其中f(
·
)表示基于用户对项目交互的邻接矩阵的嵌入传播函数,g(
·
)表 示基于用户针对项目的反馈信息矩阵的嵌入传播函数,表示用户u的基 于交互信息的特征,表示项目i的基于交互信息的特征,表示用户u 的基于反馈信息的特征,表示项目i的基于反馈信息的特征,wa表示基 于交互信息的特征的权重,wb表示基于反馈信息的特征的权重,分 别是用户u和目标项目i的经过融合后的嵌入向量。
[0037]
其中,基于交互矩阵的嵌入传播模块中,和传统推荐模型相同,将与某 用户有交互的项目被视为该用户的特征,以此衡量两名用户的相似性,项目 的特征获取方法与上述类似。同时添加权重参数用于融合两个组件,添加激 活函数用于非线性变换。故具体过程如下式所示:
[0038]
[0039][0040]
其中,表示用户u的第l层基于交互信息的特征,表示项目i的 第l层基于交互信息的特征,σ表示激活函数,nu表示与用户u有交互的项 目的集合,ni表示与项目i有交互的用户的集合,表示为第l层基于交互 信息的特征的权重,表示为第l层基于交互信息的特征的偏置。
[0041]
在一些可选的实施方式中,嵌入矩阵的嵌入向量进行基于反馈信息矩 阵的嵌入传播之前,还包括:
[0042]
对反馈信息矩阵中的反馈信息,计算不同反馈间的注意力系数;
[0043]
将反馈信息与注意力系数进行融合,得到边反馈向量的邻接矩阵。
[0044]
上述技术方案,由于不同反馈信息对于用户对该项目的掌握程度的影 响不同,因而需要通过注意力机制学习影响。针对用户u和项目i的反馈信 息,首先计算不同反馈间的注意力系数。第一步使用一个权重矩阵w共享 线性变换,第二步使用函数a对不同反馈向量进行线性变换,第三步利用激 活函数计算不同反馈间的注意力系数,其计算具体过程如下所示:
[0045][0046][0047]
其中,e
pq
为用户u针对项目i的第p类反馈信息和第q类反馈信息间 的注意力值,a
pq
为用户u针对项目i的第p类反馈信息和第q类反馈信息 间的注意力系数,为用户u针对项目i的第p类反馈信息,w为权重矩 阵,n
p
为除去p的反馈类型的集合,leakyrelu(
·
)为激活函数。我们将注 意力系数和反馈信息融合得到用户u和项目i的聚合信息,具体如下所示:
[0048][0049]
其中,c
ui
是边反馈向量的邻接矩阵c的第u行第i列的元素,其含义为 学习到的特征,w为权重,σ(
·
)为激活函数。
[0050]
在一些可选的实施方式中,嵌入矩阵的嵌入向量进行基于反馈信息矩 阵的嵌入传播,包括:
[0051]
将边反馈和项目嵌入的加权和作为基础,采用激活函数实现消息的聚 合过程,并且将项目嵌入纳入影响因素时不采用自连接操作。
[0052]
上述技术方案,构造了类似神经协同过滤的用户-项目对的消息传递架 构,用于捕获用户和项目间的协同过滤信息,将每个节点的邻域信息融合嵌 入以提高预测效率。边反馈可对项目施加影响,因而聚合后的边反馈可以作 为项目的权重,故将边反馈和项目嵌
入的加权和作为基础。边反馈信息因经 过加权聚合操作而需用激活函数进行非线性变换,故采用激活函数实现消 息的聚合过程。层组合操作实质上捕获了与自连接相同的效果,故将项目嵌 入纳入影响因素时不采用自连接操作。具体而言,如下式所示:
[0053][0054][0055]
其中,表示用户u的第l层基于反馈信息的特征,表示项目i的 第l层基于反馈信息的特征,σ表示激活函数,ru表示所有用户集,ri表示所 有项目集,c
ui
是用户u在项目i的反馈中学习到的特征,即边反馈向量的 邻接矩阵c的第u行第i列的元素,c
iu
是项目i在用户u的反馈中学习到的, 即边反馈向量的邻接矩阵c的第i行第u列的元素,表示为第l层基于边 反馈信息的特征的权重,表示为第l层基于边反馈信息的特征的偏置。
[0056]
在一些可选的实施方式中,联合预测层用于:
[0057]
对第一特征表示信息和第二特征表示信息,进行不同层的信息汇总,分 别得到用户特征和项目特征;
[0058]
采用用户特征和项目特征的内积,作为用户对目标项目的估计评分。
[0059]
上述技术方案,通过l层传播得到了用户u和项目i的两类不同的多 个表示,即只聚合交互信息的第一特征表示信息聚合交互信息的第一特征表示信息和聚合用户与项目对反馈信息的第二特征表示信息 对于每个用户或项目来说,不同嵌 入传播层获得的用户或项目的嵌入向量表示该用户或项目汇聚了不同连通 性的传递信息,反应了该用户或项目不同维度的特征,因此,将其不同层的 信息汇总,构建该用户或项目的集合嵌入。如下所示:
[0060][0061][0062]
其中||为串联操作,保留了每一层的嵌入向量的特征信息又可以根据层 数调整汇总的信息长度,同时不用学习额外参数。
[0063]
将两类特征信息相加,详细过程如下式所示:
[0064][0065][0066]
最后,采用内积来估计用户对目标项目的评分,如下式所示:
[0067][0068]
其中,r
efgrec
(u,i)是用户u对目标项目i的估计评分,分别是用 户u和目标项目i的经过融合后的嵌入向量。
[0069]
在一些可选的实施方式中,推荐模型的损失函数:
[0070][0071]
其中o={(u,i)|(u,i)∈r
train
}为训练数据,表示用于训练的用户与项 目对;θ表示所有可训练的模型参数,λ为控制l2正则化强度的参数,r
ui
为用户对项目的估计评分,为用户对项目的实际分数。
[0072]
上述技术方案中:
[0073][0074]
表示所有可训练的模型参数,λ可以控制l2正则化强度来防止过拟合。并 且,采用小批量adam优化算法对预测模型进行训练优化,更新模型参数。
[0075]
在一些可选的实施方式中,还包括:
[0076]
获取待评估的用户和项目;
[0077]
将待评估的用户和项目输入所述训练后的推荐模型,得到用户对于项 目的估计评分;
[0078]
根据估计评分推荐项目。
[0079]
上述技术方案中,可根据估计评分的数值大小,由大到小顺位推荐。
[0080]
本技术实施例提供的一种电子设备,包括:处理器和存储器,所述存储 器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处 理器执行时执行如以上任一所述的方法。
[0081]
本技术实施例提供的一种计算机存储介质,该存储介质上存储有计算 机程序,该计算机程序被处理器运行时执行如以上任一所述的方法。
附图说明
[0082]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例 中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的 某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来 讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附 图。
[0083]
图1为本技术实施例提供的一种推荐模型的训练方法步骤流程图;
[0084]
图2为本技术实施例的推荐模型结构示意图;
[0085]
图3为本技术实施例的基于反馈信息矩阵的嵌入传播模块结构图;
[0086]
图4为本技术实施例的基于反馈信息矩阵的嵌入传播步骤流程图;
[0087]
图5为本技术实施例提供的基于推荐模型进行推荐的步骤流程图;
[0088]
图6为本技术实施例提供的一种电子设备的结构图。
具体实施方式
[0089]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进 行描述。
[0090]
本发明实施例提供的一种推荐模型的训练方法、电子设备及计算机存 储介质,根据综合反映用户对于项目的掌握程度的多种反馈信息,进行习 题的推荐。
[0091]
需明确的是,本技术实施例的推荐模型不仅用于习题推荐,也可以用于 其他图形、视频、音频等项目的推荐,并且,反映用户对项目的掌握程度的 多种反馈信息,也可以是反映用户对项目的喜好程度等的多种反馈信息。为 描述方便,下述的实施方式中以习题推荐为例进行阐述。
[0092]
在真实的在线编程判题平台场景中,用户可以多次向系统提交某一项 目的结果,获得不同的反馈结果。各种类型的用户-项目反馈信息均反应了 用户对项目的掌握程度,包括但不限于表1的不同反馈信息。当前的推荐 系统总是针对用户是否回答项目的行为而设计的,因而无法准确地预测用 户对项目的掌握程度。本技术实施例中,我们旨在利用不同类型的反馈和交 互行为来设计用于预测用户对项目的掌握程度的推荐模型。
[0093]
表1反馈类型及解释详情
[0094][0095]
请参照图1,图1为本技术实施例提供的一种推荐模型的训练方法步骤 流程图,具体包括:
[0096]
步骤101、获取训练数据集,训练数据集包括用户、项目及用户对项目 的反馈信息;
[0097]
步骤102、将训练数据集输入推荐模型进行训练,得到训练后的推荐模 型;推荐模型,基于注意力机制聚合多个反馈信息图中相同节点间的不同反 馈信息,学习反馈信息图的方式进行推荐。
[0098]
本技术实施例,根据反馈类型构造多个由两种节点(用户和项目)和统 一类型的反馈边组成的反馈信息图,其中每个图的边仅表示一种特定类型 的用户对项目的反馈。由于传统的图卷积推荐模型无法对有效学习反馈强 度,为了学习不同反馈的不同强度,这里引入注意力机制,通过注意力机制 聚合多个图中相同节点间的不同反馈信息,同时将聚合后的反馈信息作为 权重影响传播过程,使得推荐模型能够学习不同反馈的不同强度,同时缓解 传统模型中分别学习不同反馈信息的稀疏性问题。本技术实施例通过基于 边反馈聚合的推荐模型,构建了一个有效建模多反馈的推荐算法,从而更好 地表示用户对项目的掌握程度。
[0099]
在另一实施例中,推荐模型还采用分别学习交互信息图和反馈信息图 的图卷积网络的双通路方法来进行推荐,通过分别学习交互信息图和反馈 信息图的双通道的嵌入传播模式,有助于学习同一用户的同一项目的不同 反馈信息和交互信息的关系,全面建模用户对项目的掌握程度,提高了推荐 模型的有效性。如图2所示,本技术实施例的推荐模型包括共享嵌入层、嵌 入传播层及联合预测层,下面对推荐模型进行详细阐述:
[0100]
共享嵌入层第一方面,用于获取用户针对项目的反馈信息矩阵,具体包 括:
[0101]
定义用户项目矩阵y,假设反馈类型为t,反馈矩阵y
t
表示用户在提交 针对项目的解答后获得反馈t的频次。用户u针对项目i的所有的反馈信息 都可以表示成所以所有用户项目的反馈信息矩阵可以表示 为{y1,y2…
,y
t
},其中y
t
为每个用户针对项目的反馈的集合。
[0102]
共享嵌入层第二方面,用于获取用户对项目交互的邻接矩阵,具体包括:
[0103]
定义用户对项目的交互矩阵为非对称矩阵k∈r
m*n
,其中m为用户数 量,n为项目数量,k的每个元素k
ui
表示用户u对项目i有交互,其值为1 或0。矩阵k,k
t
(k的转置)以及两个零矩阵组成用户对项目交互的邻接 矩阵a:
[0104][0105]
共享嵌入层第三方面,用于使用嵌入向量分别描述用户和项目,得到用 户嵌入向量和项目嵌入向量;将用户嵌入向量和项目嵌入向量合并成一个 嵌入矩阵。
[0106]
从用户和项目的反馈数据中抽取出用户是否选择项目的行为数据。由 于行为数据十分稀疏,采用嵌入的方法将其转化为低维度的实值向量,并作 为网络节点的信息。用户和项目的反馈信息由于和行为数据维度相似,故也 应该将反馈数据融合作为网络节点的辅助信息。具体包括:
[0107]
使用嵌入向量和来描述用户和项目,其中d是嵌入维度。 用户嵌入向量和项目嵌入向量将被合并成一个嵌入矩阵e:
[0108][0109]
其中n是用户数量,m是项目数量。本技术实施例采用one-hot作为 输入来描述用
户和项目的id。
[0110]
本技术实施例的嵌入传播层,用于:
[0111]
嵌入矩阵的嵌入向量进行基于用户对项目交互的邻接矩阵的嵌入传播, 得到用户的第一特征,及项目的第二特征;第一特征用于表征用户的与其有 交互的项目的特征,第二特征用于表征项目的与其有交互的用户的特征。嵌 入矩阵的嵌入向量进行基于反馈信息矩阵的嵌入传播,得到用户基于反馈 信息的第三特征,及项目基于反馈信息的第四特征。将第一特征和第三特征, 通过加权求和的方式,获得用户的经过融合的第一嵌入向量;将第二特征和 第四特征,通过加权求和的方式,获得项目的经过融合的第二嵌入向量。第 一嵌入向量经过多层传播,得到只聚合交互信息的第一特征表示信息;第二 嵌入向量经过多层传播,得到聚合用户与项目对反馈信息的第二特征表示 信息。
[0112]
本技术实施例考虑到如果只聚合交互信息或反馈信息会丢失相应的特 征,由于交互信息和反馈信息的所对应的目标不同,不能简单地将交互信息 和反馈信息应用于一个框架中聚合。因此,用户-项目传播体系由两个组件 组成:基于用户针对项目的反馈信息矩阵的嵌入传播模块和基于用户对项 目交互的邻接矩阵的嵌入传播模块。基于用户对项目交互的邻接矩阵的嵌 入传播模块用于聚合该用户或项目的相邻项目或用户的信息;基于反馈信 息矩阵的嵌入传播模块用于聚合该用户或项目的相邻项目或用户的信息及 其对应的反馈信息。将反馈信息和交互信息分别聚合,然后用加权的方式学 习不同信息对于最终结果的影响,更好地利用反馈信息和交互信息。即,初 始的嵌入向量和分别进行两种方式的嵌入传播,并最终通过加权求和 的方式获得最终的嵌入向量:
[0113][0114][0115][0116][0117][0118][0119]
其中,f(
·
)表示基于用户对项目交互的邻接矩阵的嵌入传播函数,g(
·
) 表示基于用户针对项目的反馈信息矩阵的嵌入传播函数,表示用户u的 基于交互信息的特征,表示项目i的基于交互信息的特征,表示用 户u的基于反馈信息的特征,表示项目i的基于反馈信息的特征,wa表 示基于交互信息的特征的权重,wb表示基于反馈信息的特征的权重,的特征的权重,分别是用户u和目标项目i的经过融合后的嵌入向量。
[0120]
本技术实施例的基于交互矩阵的嵌入传播模块中,和传统推荐模型相 同,将与某用户有交互的项目被视为该用户的特征,以此衡量两名用户的相 似性,项目的特征获取方法与上述类似。同时添加权重参数用于融合两个组 件,添加激活函数用于非线性变换。故具体过程如下式所示:
[0121][0122][0123]
其中,表示用户u的第l层基于交互信息的特征,表示项目i的 第l层基于交互信息的特征,σ表示激活函数,nu表示与用户u有交互的项 目的集合,ni表示与项目i有交互的用户的集合,表示为第l层基于交互 信息的特征的权重,表示为第l层基于交互信息的特征的偏置。
[0124]
请参照图3和图4,本技术实施例的基于反馈信息矩阵的嵌入传播模块 中,具体包括:
[0125]
步骤201、对反馈信息矩阵中的反馈信息,计算不同反馈间的注意力系 数;
[0126]
步骤202、将反馈信息与注意力系数进行融合,得到边反馈向量的邻接 矩阵;
[0127]
步骤201-步骤202中,由于不同反馈信息对于用户对该项目的掌握程 度的影响不同,因而需要通过注意力机制学习影响。针对用户u和项目i的 反馈信息,我们首先计算不同反馈间的注意力系数。第一步使用一个权重矩 阵w共享线性变换,第二步使用函数a对不同反馈向量进行线性变换,第 三步利用激活函数计算不同反馈间的注意力系数,其计算具体过程如下所 示:
[0128][0129][0130]
其中,e
pq
为用户u针对项目i的第p类反馈信息和第q类反馈信息间 的注意力值,a
pq
为用户u针对项目i的第p类反馈信息和第q类反馈信息 间的注意力系数,为用户u针对项目i的第p类反馈信息,w为权重矩 阵,n
p
为除去p的反馈类型的集合,leakyrelu(
·
)为激活函数。
[0131]
将注意力系数和反馈信息融合得到用户u和项目i的聚合信息,具体如 下所示:
[0132][0133]
其中,c
ui
是边反馈向量的邻接矩阵c的第u行第i列的元素,其含义为 学习到的特征,w为权重,σ(
·
)为激活函数。
[0134]
步骤203、进行基于边反馈向量的邻接矩阵的嵌入传播。
[0135]
其中,将边反馈和项目嵌入的加权和作为基础,采用激活函数实现消息 的聚合过程,并且将项目嵌入纳入影响因素时不采用自连接操作。本技术实 施例构造了类似神经协
同过滤的用户-项目对的消息传递架构,用于捕获用 户和项目间的协同过滤信息,将每个节点的邻域信息融合嵌入以提高预测 效率。边反馈可对项目施加影响,因而聚合后的边反馈可以作为项目的权重, 故将边反馈和项目嵌入的加权和作为基础。边反馈信息因经过加权聚合操 作而需用激活函数进行非线性变换,故采用激活函数实现消息的聚合过程。 层组合操作实质上捕获了与自连接相同的效果,故将项目嵌入纳入影响因 素时不采用自连接操作。具体而言,如下式所示:
[0136][0137][0138]
其中,表示用户u的第l层基于反馈信息的特征,表示项目i的 第l层基于反馈信息的特征,σ表示激活函数,ru表示所有用户集,ri表示所 有项目集,c
ui
是用户u在项目i的反馈中学习到的特征,即边反馈向量的 邻接矩阵c的第u行第i列的元素,c
iu
是项目i在用户u的反馈中学习到的, 即边反馈向量的邻接矩阵c的第i行第u列的元素,表示为第l层基于边 反馈信息的特征的权重,表示为第l层基于边反馈信息的特征的偏置。
[0139]
本技术实施例的联合预测层,用于:对第一特征表示信息和第二特征表 示信息,进行不同层的信息汇总,分别得到用户特征和项目特征。采用用户 特征和项目特征的内积,作为用户对目标项目的估计评分。
[0140]
在本技术实施例中,通过l层传播得到了用户u和项目i的两类不同 的多个表示,即只聚合交互信息的第一特征表示信息即只聚合交互信息的第一特征表示信息和聚合用户与项目对反馈信息的第二特征表示信息 对于每个用户或项目来说,不同嵌 入传播层获得的用户或项目的嵌入向量表示该用户或项目汇聚了不同连通 性的传递信息,反应了该用户或项目不同维度的特征,因此,将其不同层的 信息汇总,构建该用户或项目的集合嵌入。如下所示:
[0141][0142][0143]
其中||为串联操作,保留了每一层的嵌入向量的特征信息又可以根据层 数调整汇总的信息长度,同时不用学习额外参数。
[0144]
将两类特征信息相加,详细过程如下式所示:
[0145]
[0146][0147]
采用内积来估计用户对目标项目的评分,如下式所示:
[0148][0149]
其中,r
efgrec
(u,i)是用户u对目标项目i的估计评分,分别是用 户u和目标项目i的经过融合后的嵌入向量。
[0150]
本技术实施例,在模型训练过程中,对推荐模型的逐点损失进行优化, 推荐模型的损失函数:
[0151][0152]
其中o={(u,i)|(u,i)∈r
train
}为训练数据,表示用于训练的用户与项 目对r
ui
为用户对项目的估计评分,为用户对项目的实际分数;为用户对项目的实际分数;表示所有 可训练的模型参数,λ可以控制l2正则化强度来防止过拟合。并且,采用 小批量adam优化算法对预测模型进行训练优化,更新模型参数。
[0153]
请参照图5,图5为本技术实施例提供的根据训练后的推荐模型进行推 荐步骤流程图,包括:
[0154]
步骤301、获取待评估的用户和项目;
[0155]
步骤302、将待评估的用户和项目输入训练好的推荐模型,得到用户对 于项目的估计评分;
[0156]
步骤303、根据估计评分推荐项目。
[0157]
其中,可根据估计评分的数值大小,由大到小顺位推荐。
[0158]
为了评估推荐方法中采用的推荐模型的性能。对如表1所示的反馈类 型,将删除判定反馈为“judge not available”的提交数据,同时认为对于每个 用户-项目交互,如果该用户对于此项目的所有提交反馈均为accept,即含 义为用户可以直接解答出该题,则设置该用户对该项目的分数为5;如果用 户对于该项目的所有提交的反馈均没有accept,即含义为用户无法解答出 该项目,则设置该用户对该项目的分数为1;如果用户对于该项目的所有提 交的反馈中既有accept又有error,即含义为用户需要尽力才能解答出该项 目,则置分数为3。本实施例总结了表2中数据集data_1和表3中数据集data_2的统计数据。
[0159]
表2数据集data_1的基本情况
[0160][0161]
表3数据集data_2的基本情况
[0162][0163]
使用均方根误差(root mean square error,rmse)与平均绝对误差(mean absolute error,mae)这两个广泛使用的指标进行评估,定义如下:
[0164][0165][0166]
为了评估本技术实施例所提出的推荐方法,下面将与一些经典的推荐 方法进行对比。
[0167]
传统推荐算法的模型是一种将整体答题分布纳入评分矩阵的构造过程 的针对习题的推荐算法。图卷积矩阵分解模型(graph convolutionalmatrixcompletion,gcmc),该模型利用图自编码器实现协同过滤用以进行矩阵分 解,是一个经典的基于图神经网络的推荐模型。神经图协同过滤模型(neuralgraph collaborative filtering,ngcf),该模型利用了用户历史行为关系图进 行建模,考虑了用户本身的特征和有交互的项目的特征,采用多层图神经网 络提取特征,是最先进的基于图神经网络的推荐模型之一。简化图卷积网络 模型(simplifying and powering graph convolution network,lightgcn),该模 型是ngcf模型的简化版,删除了特征转换,非线性变换,同时采用多层 图卷积网络提取特征,其性能较好,计算简单,是最先进的基于图神经网络 的推荐模型。简化图卷积网络模型(simplifying graph convolutional networks, sgcn),该模型是一种去除了非线性和压缩权矩阵的基于图卷积网络的矩 阵分解模型,与lightgcn模型相似,可以用于推荐系统。
[0168]
对于gcmc,ngcf,lightgcn,sgcn,本研究设置三层卷积层,网 络结构被设置为[64,64,64],嵌入向量维度为64,node_dropout=0, mess_dropout=0,设置学习速率为0.01,l2归一化系数调整范围为 {10-5
,10-4
,

,101,102}。使用adam优化器优化所有模型,
其中批量大小 固定为2048。使用xavier初始化器来初始化模型参数。
[0169]
本技术推荐模型的性能与其他进行比较,对比试验采用mae与rmse 两个指标衡量预测评分和实际基于反馈所置评分之间的差距,结果如表4所 示。
[0170]
表4模型的对比实验结果
[0171][0172]
从表4中的结果可以发现lightgcn和sgcn这两个删去非线性变换 和特征转换的简化模型效果欠佳,一个可能的原因是这些模型在top-n推荐 中只需预测用户是否会选择该项目,因此无需非线性变换和特征转换来提 升模型性能,而本技术实施例需要通过融合多种反馈特征,达成预测用户是 否会选择该项目和预测用户对于该项目的掌握情况的目的。因此本技术实 施例需要这两项操作来提升性能。表4的结果表明,本技术实施例提出的 推荐模型在两个数据集的两个指标mae和rmse上均取得了最好的结果。
[0173]
请参照图6,图6为本技术实施例提供的一种电子设备1的结构示意 图,本技术提供一种电子设备1,包括:处理器11和存储器12,处理器11 和存储器12通过通信总线13和/或其他形式的连接机构(未标出)互连并 相互通讯,存储器12存储有处理器11可执行的计算机程序,当计算设备 运行时,处理器11执行该计算机程序,以执行时执行上述实施例的任一可 选的实现方式中的方法。
[0174]
本技术实施例提供一种存储介质,所述计算机程序被处理器执行时,执 行上述实施例的任一可选的实现方式中的方法。其中,存储介质可以由任何 类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取 存储器(static random access memory,简称sram),电可擦除可编程只读 存储器(electrically erasable programmable read-only memory,简称 eeprom),可擦除可编程只读存储器(erasable programmable read onlymemory,简称eprom),可编程只读存储器(programmable red-onlymemory,简称prom),只读存储器(read-only memory,简称rom),磁 存储器,快闪存储器,磁盘或光盘。
[0175]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通 过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述 单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式, 又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征 可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合 或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接, 可以是电性,机械或其它的形式。
[0176]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地 方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部 分或者全部单元来实现本实施例方案的目的。
[0177]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个 独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成 形成一个独立的部分。
[0178]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或 者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或 操作之间存在任何这种实际的关系或者顺序。
[0179]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围, 对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术 的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献