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

融合神经图协同滤波网络的数据预测方法、装置及设备与流程

2021-11-24 22:09:00 来源:中国专利 TAG:


1.本发明涉及人工智能的智能决策技术领域,尤其涉及一种融合神经图协同滤波网络的数据预测方法、装置、设备及存储介质。


背景技术:

2.原deepmcp模型(是阿里巴巴公司开发的一款推荐算法)中的matching子网络,主要用于学习user与item(即用户与物品)之间的协同信息,具体是原deepmcp模型中matching子网络是用于对用户

广告关系建模,学习用户与广告是否匹配,更具体是matching子网络采用的双塔dssm模型(即双塔式深度语义匹配模型),双塔dssm模型的核心思想就是分别学习得到两个embedding向量,分别是用户侧embedding向量和广告侧embedding向量,然后利用这两个embedding向量计算得到一个matching score(可以理解为匹配分数),而现有的matching子网络也只是学习到了user与item直接的关联关系,无法学习到user与item更高阶的关联关系,使得基于deepmcp模型进行预测时输出结果准确度低。


技术实现要素:

3.本发明实施例提供了一种融合神经图协同滤波网络的数据预测方法、装置、设备及存储介质,旨在解决现有技术中信息推荐中采用原始deepmcp模型只是学习到了用户与产品直接的关联关系,无法学习到用户与产品更高阶的关联关系,使得基于deepmcp模型进行预测时输出结果准确度低的问题。
4.第一方面,本发明实施例提供了一种融合神经图协同滤波网络的数据预测方法,其包括:
5.若检测到模型训练启动指令,获取已存储的输入特征集;
6.通过所述输入特征集对待训练deepmcp网络进行训练,得到融合神经图协同滤波网络的deepmcp网络;
7.若检测到预测指令,接收用户端上传的待预测输入特征和待预测任务类型;
8.若确定所述待预测任务类型为点击率预估任务,将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果;以及
9.若确定所述待预测任务类型为课程与用户兴趣相关度预估任务,由所述待预测输入特征中根据预设的筛选策略得到的部分特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。
10.第二方面,本发明实施例提供了一种融合神经图协同滤波网络的数据预测装置,其包括:
11.输入特征集获取单元,用于若检测到模型训练启动指令,获取已存储的输入特征集;
12.模型训练单元,用于通过所述输入特征集对待训练deepmcp网络进行训练,得到融
合神经图协同滤波网络的deepmcp网络;
13.上传数据接收单元,用于若检测到预测指令,接收用户端上传的待预测输入特征和待预测任务类型;
14.第一预测单元,用于若确定所述待预测任务类型为点击率预估任务,将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果;以及
15.第二预测单元,用于若确定所述待预测任务类型为课程与用户兴趣相关度预估任务,由所述待预测输入特征中根据预设的筛选策略得到的部分特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。
16.第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的融合神经图协同滤波网络的数据预测方法。
17.第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的融合神经图协同滤波网络的数据预测方法。
18.本发明实施例提供了一种融合神经图协同滤波网络的数据预测方法、装置、设备及存储介质,先将输入特征集对待训练deepmcp网络进行训练得到融合神经图协同滤波网络的deepmcp网络,然后根据用户端上传的待预测输入特征和待预测任务类型对应进行运算得到预测结果,通过融合神经图协同滤波网络的deepmcp网络,将用户和课程当作二部图来表示,并通过算法在图上传播对用户和课程进行嵌入处理,可以利用用户和课程的交互信息,充分学习高阶的用户与产品的协同关系,从而强化了匹配网络,为预测网络传递高阶的用户与产品的协同关系,使得预测结果更加准确。
附图说明
19.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例提供的融合神经图协同滤波网络的数据预测方法的应用场景示意图;
21.图2为本发明实施例提供的融合神经图协同滤波网络的数据预测方法的流程示意图;
22.图3为本发明实施例提供的融合神经图协同滤波网络的数据预测装置的示意性框图;
23.图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。
25.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
26.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
27.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
28.请参阅图1和图2,图1为本发明实施例提供的融合神经图协同滤波网络的数据预测方法的应用场景示意图;图2为本发明实施例提供的融合神经图协同滤波网络的数据预测方法的流程示意图,该融合神经图协同滤波网络的数据预测方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
29.如图2所示,该方法包括步骤s101~s105。
30.s101、若检测到模型训练启动指令,获取已存储的输入特征集。
31.在本实施例中,以服务器为执行主体描述技术方案。当服务器检测到本地触发的模型训练启动指令时,需要获取本地已存储的输入特征集。其中,所述输入特征集中包括多个输入特征,每一输入特征分为四组,即用户特征(如用户id,年龄等)、查询特征(如用户历史行为)、课程特征(如课程id)、时间特征。
32.例如,输入特征a的用户特征包括用户1的id(如用户账号)和用户1的年龄,输入特征a的查询特征包括用户1所输入query,课程特征包括用户1点击观看课程对应的课程id,时间特征包括用户1的观看时长。当本地均构建了具有上述四组数据的输入特征,即可组合成输入特征集对待训练deepmcp网络进行模型训练。
33.在本技术中,待训练deepmcp网络与现有的deepmcp网络不同之处在于,现有的deepmcp网络中匹配子网络采用双塔dssm模型,而本技术中将匹配子网络采用ngcf网络来实现。也就是本技术中待训练deepmcp网络中的匹配子网络是限定为了采用ngcf网络(ngcf网络即神经图协同滤波网络)。
34.s102、通过所述输入特征集对待训练deepmcp网络进行训练,得到融合神经图协同滤波网络的deepmcp网络。
35.在本实施例中,待训练deepmcp网络包括待训练预测子网络、待训练匹配子网络和待训练关联子网络,分别基于输入特征集进行联合训练后得到预测子网络(即prediction subnet)、匹配子网络(即matching subnet,在匹配子网络中采用神经图协同滤波网络)和关联子网络(即correlation subnet),从而最终融合成带神经图协同滤波网络的deepmcp网络。
36.在一实施例中,步骤s102包括:
37.获取所述输入特征集中包括的多个输入特征;其中,每一输入特征包括用户特征、查询特征、课程特征、时间特征;
38.由各输入特征作为第一输入特征输入至待训练deepmcp网络的待训练预测子网络进行训练得到预测子网络;
39.由各输入特征的用户特征、查询特征、课程特征组成对应的第二输入特征输入至待训练deepmcp网络的待训练匹配子网络进行训练得到匹配子网络;其中,所述匹配子网络为神经图协同滤波网络;
40.由各输入特征中课程特征包括的课程序列特征作为第三输入特征输入至待训练deepmcp网络的待训练关联子网络进行训练得到关联子网络;
41.由预测子网络、匹配子网络和关联子网络融合得到融合神经图协同滤波网络的deepmcp网络。
42.在本实施例中,匹配子网络用于挖掘用户

课程之间的联系,关联子网络用于挖掘课程

课程之间的联系,预测子网络用于挖掘特征

ctr之间的联系(ctr表示点击率)。上述三个子网络是采用联合训练的方式共同进行训练,同时三个子网络共享嵌入网络,这样matching subnet和correlation subnet网络的更新也会影响到嵌入网络,从而影响prediction subnet的效果。通过上述联合训练的方法,使得训练得到的融合神经图协同滤波网络的deepmcp网络能更准确的预测结果。
43.在一实施例中,步骤s102之后还包括:
44.将所述deepmcp网络的模型参数上传至区块链网络。
45.在本实施例中,基于所述deepmcp网络的模型参数得到对应的摘要信息,具体来说,摘要信息由所述deepmcp网络的模型参数进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证xx是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
46.区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
47.在一实施例中,所述由各输入特征作为第一输入特征输入至待训练deepmcp网络的待训练预测子网络进行训练得到预测子网络,包括:
48.获取待训练dnn

pctr网络作为待训练预测子网络;
49.将第i号第一输入特征包括的四组特征分别输入至嵌入网络进行运算后拼接,得到与第i号第一输入特征对应的第i号embedding向量;其中,i的初始值为1,且i的取值范围是[1,n],n表示输入特征集中所包括输入特征的总个数;
[0050]
将第i号embedding向量输入至待训练预测子网络进行运算,得到与第i号第一输入特征对应的第i号第一预测结果;
[0051]
获取与第i号第一预测结果对应的第i号损失函数值,并获取待训练预测子网络的第i号模型参数集,根据第i号损失函数值对待训练预测子网络的第i号模型参数集进行调整,得到第i号调整后模型参数集;
[0052]
将i自增1更新i的取值;
[0053]
若确定i的取值未超出n,返回执行所述将第i号第一输入特征包括的四组特征分别输入至嵌入网络进行运算后拼接,得到与第i号第一输入特征对应的第i号embedding向量的步骤;
[0054]
若确定i的取值超出n,停止模型训练,获取第n号调整后模型参数集作为待训练dnn

pctr网络的模型参数集。
[0055]
在本实施例中,prediction subnet就是传统的dnn

pctr网络,即输入特征包括的四组特征经过嵌入网络后得到多个embedding向量(需要进行pooling操作),然后将这些embedding向量拼接起来形成向量m,然后将向量m喂给后续的输入特征包括的四组特征,最后一层网络的数据就是pctr(也即点击率预测结果)。通过对待训练deepmcp网络的待训练预测子网络进行训练得到预测子网络,可用于作为最终的deepmcp网络中的预测子网络。
[0056]
在一实施例中,所述由各输入特征的用户特征、查询特征、课程特征组成对应的第二输入特征输入至待训练deepmcp网络的待训练匹配子网络进行训练得到匹配子网络,包括:
[0057]
获取待训练神经图协同滤波网络作为待训练匹配子网络;
[0058]
由第j号第二输入特征对应构建第j号用户

课程二部图;其中,j的初始值为1,且j的取值范围是[1,m],m表示输入特征集中所包括输入特征的总个数;
[0059]
将所述第j号用户

课程二部图输入至待训练神经图协同滤波网络进行图上传播,得到第j号embedding向量;
[0060]
将所述第j号embedding向量输入至待训练神经图协同滤波网络进行预测,得到第j号评分;
[0061]
获取与第j号评分对应的第j号损失函数值,并获取待训练匹配子网络的第j号模型参数集,根据第j号损失函数值对待训练匹配子网络的第j号模型参数集进行调整,得到第j号调整后模型参数集;
[0062]
将j自增1更新j的取值;
[0063]
若确定j的取值未超出m,返回执行所述由第j号第二输入特征对应构建第j号用户

课程二部图的步骤;
[0064]
若确定j的取值超出m,停止模型训练,获取第m号调整后模型参数集作为待训练神经图协同滤波网络的模型参数集。
[0065]
在本实施例中,待训练神经图协同滤波网络即待训练ngcf网络,其主要包括embeddings层、embedding propagation layers(即嵌入传播层)、prediction layer(即预测层)。在待训练神经图协同滤波网络中将用户和课程当作二部图来表示,并通过算法在图上传播对用户和课程进行embedding,这样利用了用户和课程的交互信息,展示了用户和课程之间的高阶连通性,能够更好的进行协同过滤。
[0066]
更具体的,ngcf网络的网络架构包括embeddings层、embedding propagation层(即嵌入传播层)和prediction layer(即预测层)。其中,embeddings层就是给用户和课程随机初始化一个可训练的embedding;得到的embedding矩阵为:e=[e
u1
,
……
,e
un
,e
i1
,
……
,e
im
]。embedding propagation层即嵌入传播层的多层做法与第一层相同,只是重复多次,这里以一层为例。第一层的传播分为两步:消息构建,消息聚合。其中,在进行消息构建时对于连接的用户

课程对(u,i),定义课程i传播给用户u的消息向量为:m
u

i=f(e
i
,e
u
,p
ui
),其中p
ui
为每次传播时边(u,i)的衰减因子。消息聚合时,聚合用户u所有邻居传递的消息,来更新u的向量表示:
[0067][0068]
其中,(1)表示一层传播,mu

u表示自连接。
[0069]
prediction layer(即预测层)则给定用户u与课程i的评分为:
[0070][0071]
最后通过损失函数来更新网络参数,其中损失函数如下:
[0072][0073]
其中,(u,i,j)∈o指u与i有交互,u与j无交互,σ指sigmod函数,最后是l2正则化防止过拟合。通过对待训练deepmcp网络的待训练ngcf网络进行训练,得到待训练神经图协同滤波网络的模型参数集,可用于作为最终的deepmcp网络中的匹配子网络。
[0074]
在一实施例中,所述由各输入特征中课程特征包括的课程序列特征作为第三输入特征输入至待训练deepmcp网络的待训练关联子网络进行训练得到关联子网络,包括:
[0075]
通过skip

gram模型获取各输入特征对应的课程序列特征,将各课程序列特征作为第三输入特征输入至待训练deepmcp网络的待训练关联子网络进行模型训练,直至最大化对数似然函数则停止模型训练,得到关联子网络。
[0076]
在本实施例中,correlation subnet主要负责挖掘课程

课程之间的关联,通常用户认为对于一个用户的课程点击序列来说,在一定的时间窗口内部,课程之间是存在一定的相关性的。这里用到了skip

gram的思路,对于一个课程点击序列来说,最优化的目标是最大化对数似然函数,通过上述方式快速的训练出关联子网络。
[0077]
s103、若检测到预测指令,接收用户端上传的待预测输入特征和待预测任务类型。
[0078]
在本实施例中,当需要基于某一输入特征预测用户的相关预测结果(如课程的点击率预测结果等),可以是用户端上传待预测输入特征和待预测任务类型,服务器在接收到待预测输入特征和待预测任务类型后,进一步基于已完成训练的deepmcp网络进行结果预测。
[0079]
在一实施例中,步骤s103之后还包括:
[0080]
获取所述待预测输入特征包括的待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征;
[0081]
由所述待预测输入特征作为待预测第一输入特征;
[0082]
根据所述筛选策略获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征。
[0083]
在本实施例中,与所述输入特征集中所包括的输入特征类似,所述待预测输入特征也分为四组,即用户特征(如用户id,年龄等)、查询特征(如用户历史行为)、课程特征(如课程id)、时间特征,更具体是包括待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征。当获取了包括待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征后,即可由所述待预测输入特征作为待预测第一输入特征,并根据所述筛选策略
获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征。通过这一方式获取的各项子输入特征更具备代表性,能作为更准确预测过程的输入参数。
[0084]
s104、若确定所述待预测任务类型为点击率预估任务,将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0085]
在本实施例中,当确定所述待预测任务类型为点击率预估任务,此时充分利用到deepmcp网络中的预测子网络进行预测,具体是将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0086]
例如,输入特征b的用户特征包括用户2的id(如用户账号)和用户2的年龄,输入特征b的查询特征包括用户2所输入query,课程特征包括用户2点击观看课程对应的课程id,时间特征包括用户2的观看时长,此时将这些特征组成待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0087]
s105、若确定所述待预测任务类型为课程与用户兴趣相关度预估任务,由所述待预测输入特征中根据预设的筛选策略得到的部分特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。
[0088]
在本实施例中,当确定所述待预测任务类型为课程与用户兴趣相关度预估任务,与进行点击率预测不同,此时用到的是deepmcp网络中的匹配子网络,具体是根据所述筛选策略获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。通过这一方式,充分利用了deepmcp网络中的各个子网络实现预测。
[0089]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0090]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0091]
该方法通过融合神经图协同滤波网络的deepmcp网络,将用户和课程当作二部图来表示,并通过算法在图上传播对用户和课程进行嵌入处理,可以利用用户和课程的交互信息,充分学习高阶的用户与产品的协同关系,从而强化了匹配网络,为预测网络传递高阶的用户与产品的协同关系,使得预测结果更加准确。
[0092]
本发明实施例还提供一种融合神经图协同滤波网络的数据预测装置,该融合神经图协同滤波网络的数据预测装置用于执行前述融合神经图协同滤波网络的数据预测方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的融合神经图协同滤波网络的数据预测装置的示意性框图。该融合神经图协同滤波网络的数据预测装置100可以配置于
服务器中。
[0093]
服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content deliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0094]
如图3所示,融合神经图协同滤波网络的数据预测装置100包括:输入特征集获取单元101、模型训练单元102、上传数据接收单元103、第一预测单元104、第二预测单元105。
[0095]
输入特征集获取单元101,用于若检测到模型训练启动指令,获取已存储的输入特征集。
[0096]
在本实施例中,以服务器为执行主体描述技术方案。当服务器检测到本地触发的模型训练启动指令时,需要获取本地已存储的输入特征集。其中,所述输入特征集中包括多个输入特征,每一输入特征分为四组,即用户特征(如用户id,年龄等)、查询特征(如用户历史行为)、课程特征(如课程id)、时间特征。
[0097]
例如,输入特征a的用户特征包括用户1的id(如用户账号)和用户1的年龄,输入特征a的查询特征包括用户1所输入query,课程特征包括用户1点击观看课程对应的课程id,时间特征包括用户1的观看时长。当本地均构建了具有上述四组数据的输入特征,即可组合成输入特征集对待训练deepmcp网络进行模型训练。
[0098]
在本技术中,待训练deepmcp网络与现有的deepmcp网络不同之处在于,现有的deepmcp网络中匹配子网络采用双塔dssm模型,而本技术中将匹配子网络采用ngcf网络来实现。也就是本技术中待训练deepmcp网络中的匹配子网络是限定为了采用ngcf网络(ngcf网络即神经图协同滤波网络)。
[0099]
模型训练单元102,用于通过所述输入特征集对待训练deepmcp网络进行训练,得到融合神经图协同滤波网络的deepmcp网络。
[0100]
在本实施例中,待训练deepmcp网络包括待训练预测子网络、待训练匹配子网络和待训练关联子网络,分别基于输入特征集进行联合训练后得到预测子网络(即prediction subnet)、匹配子网络(即matching subnet,在匹配子网络中采用神经图协同滤波网络)和关联子网络(即correlation subnet),从而最终融合成带神经图协同滤波网络的deepmcp网络。
[0101]
在一实施例中,所述模型训练单元102包括:
[0102]
输入特征获取单元,用于获取所述输入特征集中包括的多个输入特征;其中,每一输入特征包括用户特征、查询特征、课程特征、时间特征;
[0103]
第一训练单元,用于由各输入特征作为第一输入特征输入至待训练deepmcp网络的待训练预测子网络进行训练得到预测子网络;
[0104]
第二训练单元,用于由各输入特征的用户特征、查询特征、课程特征组成对应的第二输入特征输入至待训练deepmcp网络的待训练匹配子网络进行训练得到匹配子网络;其中,所述匹配子网络为神经图协同滤波网络;
[0105]
第三训练单元,用于由各输入特征中课程特征包括的课程序列特征作为第三输入特征输入至待训练deepmcp网络的待训练关联子网络进行训练得到关联子网络;
[0106]
网络融合单元,用于由预测子网络、匹配子网络和关联子网络融合得到融合神经图协同滤波网络的deepmcp网络。
[0107]
在本实施例中,匹配子网络用于挖掘用户

课程之间的联系,关联子网络用于挖掘课程

课程之间的联系,预测子网络用于挖掘特征

ctr之间的联系(ctr表示点击率)。上述三个子网络是采用联合训练的方式共同进行训练,同时三个子网络共享嵌入网络,这样matching subnet和correlation subnet网络的更新也会影响到嵌入网络,从而影响prediction subnet的效果。通过上述联合训练的方法,使得训练得到的融合神经图协同滤波网络的deepmcp网络能更准确的预测结果。
[0108]
在一实施例中,融合神经图协同滤波网络的数据预测装置100还包括:
[0109]
数据上链单元,用于将所述deepmcp网络的模型参数上传至区块链网络。
[0110]
在本实施例中,基于所述deepmcp网络的模型参数得到对应的摘要信息,具体来说,摘要信息由所述deepmcp网络的模型参数进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证xx是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
[0111]
区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0112]
在一实施例中,所述第一训练单元还用于:
[0113]
获取待训练dnn

pctr网络作为待训练预测子网络;
[0114]
将第i号第一输入特征包括的四组特征分别输入至嵌入网络进行运算后拼接,得到与第i号第一输入特征对应的第i号embedding向量;其中,i的初始值为1,且i的取值范围是[1,n],n表示输入特征集中所包括输入特征的总个数;
[0115]
将第i号embedding向量输入至待训练预测子网络进行运算,得到与第i号第一输入特征对应的第i号第一预测结果;
[0116]
获取与第i号第一预测结果对应的第i号损失函数值,并获取待训练预测子网络的第i号模型参数集,根据第i号损失函数值对待训练预测子网络的第i号模型参数集进行调整,得到第i号调整后模型参数集;
[0117]
将i自增1更新i的取值;
[0118]
若确定i的取值未超出n,返回执行所述将第i号第一输入特征包括的四组特征分别输入至嵌入网络进行运算后拼接,得到与第i号第一输入特征对应的第i号embedding向量的步骤;
[0119]
若确定i的取值超出n,停止模型训练,获取第n号调整后模型参数集作为待训练dnn

pctr网络的模型参数集。
[0120]
在本实施例中,prediction subnet就是传统的dnn

pctr网络,即输入特征包括的四组特征经过嵌入网络后得到多个embedding向量(需要进行pooling操作),然后将这些embedding向量拼接起来形成向量m,然后将向量m喂给后续的输入特征包括的四组特征,最后一层网络的数据就是pctr(也即点击率预测结果)。通过对待训练deepmcp网络的待训练预测子网络进行训练得到预测子网络,可用于作为最终的deepmcp网络中的预测子网络。
[0121]
在一实施例中,所述第二训练单元还用于:
[0122]
获取待训练神经图协同滤波网络作为待训练匹配子网络;
[0123]
由第j号第二输入特征对应构建第j号用户

课程二部图;其中,j的初始值为1,且j的取值范围是[1,m],m表示输入特征集中所包括输入特征的总个数;
[0124]
将所述第j号用户

课程二部图输入至待训练神经图协同滤波网络进行图上传播,得到第j号embedding向量;
[0125]
将所述第j号embedding向量输入至待训练神经图协同滤波网络进行预测,得到第j号评分;
[0126]
获取与第j号评分对应的第j号损失函数值,并获取待训练匹配子网络的第j号模型参数集,根据第j号损失函数值对待训练匹配子网络的第j号模型参数集进行调整,得到第j号调整后模型参数集;
[0127]
将j自增1更新j的取值;
[0128]
若确定j的取值未超出m,返回执行所述由第j号第二输入特征对应构建第j号用户

课程二部图的步骤;
[0129]
若确定j的取值超出m,停止模型训练,获取第m号调整后模型参数集作为待训练神经图协同滤波网络的模型参数集。
[0130]
在本实施例中,待训练神经图协同滤波网络即待训练ngcf网络,其主要包括embeddings层、embedding propagation layers(即嵌入传播层)、prediction layer(即预测层)。在待训练神经图协同滤波网络中将用户和课程当作二部图来表示,并通过算法在图上传播对用户和课程进行embedding,这样利用了用户和课程的交互信息,展示了用户和课程之间的高阶连通性,能够更好的进行协同过滤。
[0131]
更具体的,ngcf网络的网络架构包括embeddings层、embedding propagation层(即嵌入传播层)和prediction layer(即预测层)。其中,embeddings层就是给用户和课程随机初始化一个可训练的embedding;得到的embedding矩阵为:e=[e
u1
,
……
,e
un
,e
i1
,
……
,e
im
]。embedding propagation层即嵌入传播层的多层做法与第一层相同,只是重复多次,这里以一层为例。第一层的传播分为两步:消息构建,消息聚合。其中,在进行消息构建时对于连接的用户

课程对(u,i),定义课程i传播给用户u的消息向量为:m
u

i=f(e
i
,e
u
,p
ui
),其中p
ui
为每次传播时边(u,i)的衰减因子。消息聚合时,聚合用户u所有邻居传递的消息,来更新u的向量表示:
[0132][0133]
其中,(1)表示一层传播,mu

u表示自连接。
[0134]
prediction layer(即预测层)则给定用户u与课程i的评分为:
[0135][0136]
最后通过损失函数来更新网络参数,其中损失函数如下:
[0137][0138]
其中,(u,i,j)∈o指u与i有交互,u与j无交互,σ指sigmod函数,最后是l2正
则化防止过拟合。通过对待训练deepmcp网络的待训练ngcf网络进行训练,得到待训练神经图协同滤波网络的模型参数集,可用于作为最终的deepmcp网络中的匹配子网络。
[0139]
在一实施例中,所述第三训练单元还用于:
[0140]
通过skip

gram模型获取各输入特征对应的课程序列特征,将各课程序列特征作为第三输入特征输入至待训练deepmcp网络的待训练关联子网络进行模型训练,直至最大化对数似然函数则停止模型训练,得到关联子网络。
[0141]
在本实施例中,correlation subnet主要负责挖掘课程

课程之间的关联,通常用户认为对于一个用户的课程点击序列来说,在一定的时间窗口内部,课程之间是存在一定的相关性的。这里用到了skip

gram的思路,对于一个课程点击序列来说,最优化的目标是最大化对数似然函数,通过上述方式快速的训练出关联子网络。
[0142]
上传数据接收单元103,用于若检测到预测指令,接收用户端上传的待预测输入特征和待预测任务类型。
[0143]
在本实施例中,当需要基于某一输入特征预测用户的相关预测结果(如课程的点击率预测结果等),可以是用户端上传待预测输入特征和待预测任务类型,服务器在接收到待预测输入特征和待预测任务类型后,进一步基于已完成训练的deepmcp网络进行结果预测。
[0144]
在一实施例中,融合神经图协同滤波网络的数据预测装置100还包括:
[0145]
子特征获取单元,用于获取所述待预测输入特征包括的待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征;
[0146]
第一子特征获取单元,用于由所述待预测输入特征作为待预测第一输入特征;
[0147]
第二子特征获取单元,用于根据所述筛选策略获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征。
[0148]
在本实施例中,与所述输入特征集中所包括的输入特征类似,所述待预测输入特征也分为四组,即用户特征(如用户id,年龄等)、查询特征(如用户历史行为)、课程特征(如课程id)、时间特征,更具体是包括待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征。当获取了包括待预测用户特征、待预测查询特征、待预测课程特征、待预测时间特征后,即可由所述待预测输入特征作为待预测第一输入特征,并根据所述筛选策略获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征。通过这一方式获取的各项子输入特征更具备代表性,能作为更准确预测过程的输入参数。
[0149]
第一预测单元104,用于若确定所述待预测任务类型为点击率预估任务,将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0150]
在本实施例中,当确定所述待预测任务类型为点击率预估任务,此时充分利用到deepmcp网络中的预测子网络进行预测,具体是将所述待预测输入特征作为待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0151]
例如,输入特征b的用户特征包括用户2的id(如用户账号)和用户2的年龄,输入特
征b的查询特征包括用户2所输入query,课程特征包括用户2点击观看课程对应的课程id,时间特征包括用户2的观看时长,此时将这些特征组成待预测第一输入特征输入至deepmcp网络中的预测子网络进行运算,得到点击率预测结果。
[0152]
第二预测单元105,用于若确定所述待预测任务类型为课程与用户兴趣相关度预估任务,由所述待预测输入特征中根据预设的筛选策略得到的部分特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。
[0153]
在本实施例中,当确定所述待预测任务类型为课程与用户兴趣相关度预估任务,与进行点击率预测不同,此时用到的是deepmcp网络中的匹配子网络,具体是根据所述筛选策略获取待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征,由所述待预测输入特征中的待预测用户特征、待预测查询特征、待预测课程特征组成待预测第二输入特征输入至deepmcp网络中的匹配子网络进行运算,得到课程与用户兴趣相关度预测结果。通过这一方式,充分利用了deepmcp网络中的各个子网络实现预测。
[0154]
该装置通过融合神经图协同滤波网络的deepmcp网络,将用户和课程当作二部图来表示,并通过算法在图上传播对用户和课程进行嵌入处理,可以利用用户和课程的交互信息,充分学习高阶的用户与产品的协同关系,从而强化了匹配网络,为预测网络传递高阶的用户与产品的协同关系,使得预测结果更加准确。
[0155]
上述融合神经图协同滤波网络的数据预测装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
[0156]
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0157]
参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
[0158]
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行融合神经图协同滤波网络的数据预测方法。
[0159]
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
[0160]
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行融合神经图协同滤波网络的数据预测方法。
[0161]
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0162]
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的融合神经图协同滤波网络的数据预测方法。
[0163]
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,
在此不再赘述。
[0164]
应当理解,在本发明实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0165]
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的融合神经图协同滤波网络的数据预测方法。
[0166]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0167]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0168]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0169]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0170]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、磁碟或
者光盘等各种可以存储程序代码的介质。
[0171]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献