项目推荐模型的处理方法、装置、计算机设备和存储介质与流程

文档序号:19879756发布日期:2020-02-08 06:52阅读:172来源:国知局
项目推荐模型的处理方法、装置、计算机设备和存储介质与流程
本申请涉及计算机
技术领域
,具体涉及一种项目推荐模型的处理方法、装置、计算机设备和存储介质。
背景技术
:目前,项目推荐模型可以根据输入的时序数据实现多种任务,例如根据当前时刻之前用户对项目的历史操作产生的时序数据,预测用户接下来可能感兴趣的项目,达到更为有效和个性化的推荐效果。技术实现要素:有鉴于此,本申请实施例提供了一种项目推荐模型的处理方法、装置、计算机设备和存储介质,可以基于训练时间序列中各时间节点的前后数据训练推荐模型,有利于提升推荐模型的推荐准确性。本申请实施例提供了一种项目推荐模型的处理方法,该项目推荐模型的处理方法包括:获取训练时间序列,所述训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,所述项目向量的排列顺序为所述目标用户对历史交互项目的交互时间的顺序;通过待训练项目推荐模型的编码器层,分析所述训练时间序列的结构特征,得到与所述训练时间序列中各项目向量对应的条件向量,其中,所述条件向量中包含所述训练时间序列的结构信息;将所述训练时间序列作为所述待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为所述解码器层的输入,通过所述解码器层预测与所述训练时间序列对应的预测时间序列;基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。本申请实施例还提供了一种项目推荐模型的处理装置,该项目推荐模型的处理装置包括:获取模块,用于获取训练时间序列,所述训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,所述项目向量的排列顺序为所述目标用户对历史交互项目的交互时间的顺序;分析模块,用于通过待训练项目推荐模型的编码器层,分析所述训练时间序列的结构特征,得到与所述训练时间序列中各项目向量对应的条件向量,其中,所述条件向量中包含所述训练时间序列的结构信息;预测模块,用于将所述训练时间序列作为所述待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为所述解码器层的输入,通过所述解码器层预测与所述训练时间序列对应的预测时间序列;优化模块,用于基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本实施例的项目推荐模型的处理方法中的步骤。本申请实施例还提供了一种存储介质,其上存储有计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行如本实施例的项目推荐模型的处理方法中的步骤。本发明实施例提供了一种项目推荐模型的处理方法、装置、计算机设备和存储介质,可以获取训练时间序列,训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量;通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量,其中,条件向量中包含训练时间序列的结构信息;将训练时间序列作为待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为解码器层的输入,通过解码器层预测与训练时间序列对应的预测时间序列;基于训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型,通过本实施例,在训练项目推荐模型时,对于训练时间序列中某个时间节点的推荐结果,可以基于该时间节点之前的项目向量和该时间节点之后的项目向量优化,使得训练后的项目推荐模型可以有效表达训练时间序列中的所有已知的数据,提升项目推荐模型对输入序列的数据利用程度,有利于提升项目推荐模型的预测准确度。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本发明实施例提供的项目推荐系统的结构示意图;图1b是本发明实施例提供的项目推荐模型的处理方法的流程图;图2是本发明实施例提供的一种项目推荐模型的结构示意图;图3是本发明实施例提供的另一种项目推荐模型的结构示意图;图4是本发明实施例提供的一种项目推荐模型的处理装置的示意图;图5是本发明实施例提供的计算机设备的结构示意图;图6是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图;图7是本发明实施例提供的区块结构的一个可选的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。近几年来,随着大数据技术、机器学习以及深度学习技术的迅猛发展,基于时序数据和深度学习的序列推荐系统算法及模型吸引了学术界和企业界的越来越广泛的关注和研究兴趣。在这其中,尤其对于短时间内用户兴趣变化比较大的推荐场景,例如短视频、音乐、购物、以及新闻推荐(用户在数小时之内可能浏览数百个项目(items))场景,基于时序数据和深度学习的序列推荐系统模型在训练完成的模型上,也可以方便地进行部署及模型迭代,从而适应当今大数据时代对模型性能及部署实时性的极高的要求。传统的基于深度学习的时序推荐系统模型通常由一个循环神经网络模型(rnn)组成。同时,配合上数据增强技术(dataaugmentation)技术的训练方式,原本应用于自然语言处理的rnn模型可以有效地实现根据已知的序列内容预测此后将要出现的序列内容。主要实现方式有使用自回归策略(auto-regressive)的rnn解码器层(rnndecoder)结构及使用随机遮盖策略的rnn编码器层结构。对于使用自回归策略的rnn解码器层模型。其输入的序列为{x1,x2,x3,…,xn-1},生成的序列为{x2,x3,x4,…,xn}。在任意一个时间点,比如在预测第t个时间点的输出的时候,输入到解码器层模型的时间点数据只有{x1,x2,x3,…,xt-1},从而有效地避免了信息泄露的问题。对于使用随机遮盖策略的rnn编码器层模型。一部分输入序列被随机替换遮盖,替换成统一的被遮盖的数据(maskeditems),并将该部分被随机遮盖的序列作为rnn编码器层模型的输入序列。与上述解码器层不同的是,在第t个时间点,输入的数据如果被遮盖,则在该时间点上的预测目标即为被遮盖的第t个时间点的数据。上述两种rnn模型在对某一时序数据中的某一个时间点的数据进行预测时,该时间点以后的数据信息并没有被充分利用。然而在实际的应用场景中,模型训练阶段用户的未来选择数据仍然有效,并且同样包含着该用户的个人喜好信息。如果能对用户的未来选择数据进行合理利用以及准确建模,可以大大地提高对当前时间点数据的预测精度。目前,还存在一种nextitnet模型,该模型是一个与rnndecoder类似的基于1维空洞cnn模型。它具有多层网络结构,可以充分捕获用户的兴趣点根据之前的交互记录。但nextitnet模型中每个当前的item在训练的时候仅仅利用过去的用户兴趣,训练过程是单向的,如果采用简单的双向网络,可能会出现信息泄漏问题导致模型训练失效。在本申请的实施例中,提出了一种新的编码器层-解码器层结构的项目推荐模型,编码器层可以学习到训练时间序列的整体结构信息,解码器层可以基于编码器层学习到结构信息以及训练时间序列,得到预测时间序列,基于训练时间序列和预测时间序列对项目推荐模型进行优化,使得项目推荐模型对训练时间序列的整体信息的表达得到增强,有利于提升项目推荐模型的推荐准确性。在下面对根据本申请实施例的推荐模型建模方式与nextitnet的建模方式分别进行了示例性描述。nextitnet方式的建模:对于给定的item集合,最大化该item序列的联合分布,(即第i个item出现的概率是在前面i-1个items出现的条件下最大),并将其分解成条件概率大乘积。数学上表示为:本申请的一个可选的建模方式:对于给定的item(例如视频)集合,最大化被遮住的item或者该item后一个item出现的概率(即,第i个被遮住的item出现的概率是在所有其他items出现的条件下最大),数学上表示为:其中,xδi表示从{x1,x2,…,xn}中随机选取被遮挡住的时间点上的序列数据。x1,…,xδi-1为在{x1,x2,…,xn}序列中,位于xδi之前的序列数据。xδi类似于就是完形填空中的空,相当于语言填空题,比如,我特别_这只可爱的小_,因为它_萌,xδ1,xδ2,xδ3分别代表“喜欢”,“狗”,“非常”。向量c为下文中描述的“基于循环神经网络的编码器层(rnn-encoder层)”的输出向量,即最终状态向量(“finalencodedstate”)。本发明实施例提供一种项目推荐模型的处理方法、装置、计算机设备和存储介质。具体地,本发明实施例提供适用于计算机设备的项目推荐模型的处理装置。其中,计算机设备可以为终端或服务器等设备,该终端可以为手机、平板电脑、笔记本电脑等设备,该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。本发明实施例将以计算机设备是服务器为例,来介绍项目推荐模型的处理方法。参考图1a,本发明实施例提供的项目推荐系统包括终端10和服务器20等;终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,项目推荐模型的处理装置集成在服务器中。其中,服务器20,可以用于获取训练时间序列,训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,项目向量的排列顺序为目标用户对历史交互项目的交互时间的顺序;通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量,其中,条件向量中包含训练时间序列的结构信息;将训练时间序列作为待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为解码器层的输入,通过解码器层预测与训练时间序列对应的预测时间序列;基于训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。其中,终端10,可以用于向服务器发送项目推荐请求,以触发服务器通过项目推荐模型获取待向用户推荐的项目,并向终端发送该项目。服务器20,还用于基于接收的项目推荐请求,获取待推荐用户的项目时间序列,其中,项目时间序列中包括按序排列的待推荐用户的历史交互项目的项目向量,其中,项目向量的排列顺序为待推荐用户对历史交互项目的交互时间的顺序;将项目时间序列作为项目推荐模型的输入序列,通过项目推荐模型对项目时间序列的分析,得到与项目时间序列对应的预测时间序列;基于预测时间序列确定待向待推荐用户推荐的项目,向终端10发送该项目。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。本发明实施例将从项目推荐模型的处理装置的角度进行描述,该项目推荐模型的处理装置具体可以集成在终端或服务器中。本发明实施例提供的一种项目推荐模型的处理方法,该方法可以由终端或服务器的处理器执行,如图1b所示,该项目推荐模型的处理方法的具体流程可以如下:101、获取训练时间序列,训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,项目向量的排列顺序为目标用户对历史交互项目的交互时间的顺序;本实施例中,项目推荐模型可以采用基于会话的推荐,该基于会话(session-based)的推荐通常是指根据用户之前一段时间的点击或者观看的历史记录,预测在下一个时刻用户可能感兴趣(包括点击、购买或观看等)的items。在本申请实施例中,目标用户可以是任意的用户,目标用户的历史交互项目包括:目标用户交互过的项目,其中,对于交互的理解,包括但不限于:点击、观看、收听、下载、收藏、评论、打印或购买等等,本实施例中的项目可以是任意形式的内容,例如视频、音频、图像、表情、信息流中推送的消息、新闻、商品以及广告等等,本实施例对此没有限制。其中,历史交互项目可以是目标用户在历史时间段中交互过的项目,该历史时间段的长度,或其起始时间点和结束时间点可以根据实际需要设置,例如历史时间段为当前时刻之前的1小时等等。本实施例中,项目向量用于表示对应的历史交互项目,该项目向量可以是独热(one-hot)向量,或者基于独热向量得到的更低维度的向量。在一个实施例中,服务器可以将项目的信息存储于源数据库中,该项目的信息包括但不限于项目的one-hot编码,与项目交互过的用户的信息等等。在一个实施例中,步骤“获取训练时间序列”,可以包括:从源数据库中,获取目标用户的历史交互项目的one-hot编码时间序列,在one-hot编码时间序列中,各历史交互项目的one-hot编码基于目标用户对各历史交互项目的交互时间排列;获取one-hot编码时间序列对应的嵌入矩阵,其中,嵌入矩阵中包括各项目的one-hot编码对应的嵌入向量;基于嵌入矩阵将one-hot编码时间序列中的各one-hot编码,映射为对应的项目向量,得到训练时间序列。通过上述的嵌入矩阵,可以将one-hot编码时间序列中的one-hot编码映射到维度较低的嵌入空间中,同时还保留one-hot编码时间序列各个项目的关联关系。参考图2,图2示出了本实施例的一个可选的待训练项目推荐模型的结构,本实施例的待训练项目推荐模型可以包括嵌入层(embedding层)、随机遮盖层、编码器层、解码器层和softmax层。嵌入层为本申请的项目推荐模型的第一层,主要是将高维的one-hot编码映射到低维的嵌入空间中,在本实施例的设计中,嵌入层非常灵活,具有泛化能力,能够建模各种context信息。嵌入层主要包括项目的嵌入矩阵,该嵌入矩阵的每一行(有些实施例中可以是每一列)代表一个项目的嵌入向量,项目的one-hot编码和嵌入向量相乘,可以得到该项目对应的维度较低的项目向量。对于要填空的项目,本专利可以采用一个额外的嵌入向量表示。例如,可以是全0的嵌入向量,其中,每个要填空的项目对应的额外的嵌入向量可以相同或不同。例如,对于某个播放器的视频池,存在100万个视频数据,则每个视频数据的one-hot编码是100万维,每一个维度有n个如100-1000个数据,从视频池中检索到目标用户看过的视频,例如10个视频,嵌入层将这10个视频的one-hot编码映射为较低维度的向量,例如映射为10*n的向量。本实施例中的模型可以充分地利用context信息,例如用户特征和用户对项目的操作信息,其中,用户特征包括但不限于用户的画像(profile)信息、以及社交朋友关系等,用户对画像的操作信息包括但不限于用户与项目的交互时间、交互空间、以及交互类型(如点击、收藏、播放和购买等交互类型)等等信息。以用户特征为用户画像信息为例,可以首先初始化一个用户id嵌入矩阵,该嵌入矩阵中包含源数据对应的所有用户的用户id嵌入向量;对于每一个session数据(即上述训练时间序列),根据用户id定位相应的用户id嵌入向量,通过concat的方式结合用户id嵌入向量与原始的项目的嵌入矩阵。可选的,本实施例中,在基于嵌入矩阵将one-hot编码时间序列中的各one-hot编码,映射为对应的项目向量,得到训练时间序列前,还可以包括:获取目标用户的用户特征,基于用户特征确定目标用户对应的用户特征嵌入向量,将用户特征嵌入向量融合进嵌入矩阵的每一个嵌入向量中。其中,可以首选初始化一个用户特征嵌入矩阵,该嵌入矩阵中包含源数据对应的所有用户的用户特征嵌入向量;可以基于目标用户的用户特征从用户特征嵌入矩阵中获取目标用户对应的用户特征嵌入向量。可选的,本实施例中,在基于嵌入矩阵将one-hot编码时间序列中的各one-hot编码,映射为对应的项目向量,得到训练时间序列前,还包括:获取目标用户对各历史交互项目的操作信息,基于操作信息确定各历史交互项目对应的操作信息嵌入向量,将各历史交互项目的操作信息嵌入向量融合进嵌入矩阵的各历史交互项目对应的嵌入向量中。其中,可以首选初始化一个用户操作信息嵌入矩阵,该嵌入矩阵中包含源数据对应的所有用户的各交互项目对应的用户操作信息嵌入向量;本实施例可以基于目标用户和历史交互项目的操作信息,从用户操作信息嵌入矩阵中获取目标用户对应的用户操作信息嵌入向量。102、通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量,其中,条件向量中包含训练时间序列的结构信息;本实施例中,在通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量前,还可以包括:从训练时间序列中选择一部分时间节点作为替换时间节点;在训练时间序列中,将替换时间节点对应的项目向量替换为预设填充向量,得到替换后训练时间序列。对应地,步骤“通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量”,可以包括:通过待训练项目推荐模型的编码器层,分析替换后训练时间序列的结构特征,得到与替换后训练时间序列中各项目向量对应的条件向量。本实施例中,可以从训练时间序列中随机选择一部分时间节点作为替换时间节点。可选的,本实施例中的替换时间节点可以不相邻,或者,替换时间节点可以不是训练时间序列的第一个时间节点和最后一个时间节点。参考图2,本实施例的随机遮盖层(randommasking)为本专利中为了适应随机遮盖的训练模式所特殊设计的一种随机遮盖操作。对于一个输入序列x={x1,x2,x3,…,xn-2,xn-1,xn},我们随机地选取一定比例的时间节点数据(比如50%),并将其遮盖。所谓“遮盖”的操作,实际上就是将输入序列中原有的向量替换成统一的表征额外的向量,计为xm={x1,xδ2,x3,…,xδn-2,xδn-1,xn}。其中,希腊字母δ即表示该时间节点上的序列数据被随机选取并被遮盖住。可选的,本实施例中编码层为循环神经网络,包括连接的多个循环编码单元;步骤“通过待训练项目推荐模型的编码器层,分析替换后训练时间序列的结构特征,得到与替换后训练时间序列中各项目向量对应的条件向量”,可以包括:将替换后训练时间序列中的项目向量基于对应的时间节点,输入编码器层中对应的循环编码单元;其中,每个循环编码单元被配置为:获取上一个循环编码单元输出的隐层状态向量,以及基于获取的隐层状态向量和输入的项目向量,得到自身输出的隐层状态向量;获取编码器层的最后一个循环编码单元输出的隐层状态向量,将隐层状态向量作为训练时间序列中各项目向量对应的条件向量,其中,隐层状态向量包含替换后训练时间序列的结构信息。参考图2,图2中编码器层(rnn-encoder层)基于循环神经网络实现,编码器层使用典型的rnn单元及其变种来组成。该层的输入为被随机遮盖的序列数据xm。该层在最后的时间节点上所输出的隐层状态向量记为enc(xm),即为上文中所提到的finalencodedstate,也是各项目向量对应的条件向量。可选的,本实施例中,可以使用门循环单元(gatedrecurrentunit,gru)或者长短期记忆单元(longshorttermmemory,lstm)来组成该rnn-encoder层的主要网络结构,从而有效地缓解原始rnn模型在训练过程中极易出现的梯度消失或者梯度爆炸的问题。如图2所示,替换后训练时间序列在各个时间节点上的信息通过顺序连接的循环编码单元从前向后传递,最后一个时间节点对应的循环编码单元可以基于前一个循环编码单元输入的隐层状态向量和输入自身的项目向量,得到包含替换后训练时间序列的完整结构信息的隐层状态向量。在该示例中,每个项目向量的条件向量均为该最后一个时间节点对应的循环编码单元输出的隐层状态向量。可选的,该示例中编码层可以是单向的循环神经网络,也可以是双向的循环神经网络。在另一个示例中,参考图3,编码器层可以采用双向循环神经网络,编码器层包括连接的多个循环编码单元;步骤“通过待训练项目推荐模型的编码器层,分析替换后训练时间序列的结构特征,得到与替换后训练时间序列中各项目向量对应的条件向量”,可以包括:将替换后训练时间序列中的项目向量基于对应的时间节点,输入对应的循环编码单元;其中,每个循环编码单元被配置为:获取上一个循环编码单元向后输出的后向隐层状态向量,和下一个循环编码单元向前输出的前向隐层状态向量,以及基于获取的后向隐层状态向量和项目向量,得到自身向后输出的后向隐层状态向量,和基于获取的前向隐层状态向量和项目向量,得到自身向前输出的前向隐层状态向量;基于每个循环编码单元对获取的前向隐层状态向量、后向隐层状态向量以及项目向量进行处理,得到与替换后训练时间序列中各项目向量对应的条件向量,条件向量中包含替换后训练时间序列的结构信息。在图3所示的结构中,循环编码单元之间的传输是双向的,替换后训练时间序列中从第一个时间节点的信息到最后一个时间节点的信息,可以通过循环编码单元从前向后传递;替换后训练时间序列中从最后一个时间节点的信息到最前面一个时间节点的信息,可以通过循环编码单元从后向前传递。即,每个循环编码单元可以向前传递该循环编码单元及其之后的循环编码单元输入的项目向量的信息,每个循环编码单元可以向后传递该循环编码单元及其之前的循环编码单元输入的项目向量的信息。在该示例中,每个项目向量的条件向量为该项目向量对应的循环编码单元输出的向量。103、将训练时间序列作为待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为解码器层的输入,通过解码器层预测与训练时间序列对应的预测时间序列;参考图2,可选的,本实施例的解码器层为循环神经网络,包括连接的多个循环解码单元,步骤“将训练时间序列作为待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为解码器层的输入,通过解码器层预测与训练时间序列对应的预测时间序列”,可以包括:将训练时间序列中的项目向量基于对应的时间节点,输入对应的循环解码单元,并且将各项目向量对应的条件向量输入各项目向量对应的循环解码单元;其中,每个循环解码单元被配置为:获取上一个循环解码单元输出的隐层状态向量,以及基于获取的隐层状态向量、项目向量和条件向量,得到自身输出的隐层状态向量;通过各个循环解码单元基于获取的隐层状态向量、项目向量和条件向量,预测训练时间序列对应的预测时间序列。本实施例中,解码器层可以是基于循环神经网络的自回归解码器层:与编码器层一样,该层亦可以使用典型的rnn单元及其变种来组成。与编码器层不同的是,输入到解码器的数据为未被遮盖的训练时间序列,即序列x,而并非为被随机遮盖的序列xm。在图2所示的结构中,由编码器层所输出的最终状态向量enc(xm)亦会被作为条件向量,输入到每一个时间节点的循环解码单元中。对于每一个时间节点,解码器层均会输出一个隐层状态向量(hidden向量,即图2中的h向量)。可选的,本实施例中,可以使用门循环单元或者长短期记忆单元来组成该解码器层的主要网络结构,从而有效地缓解原始rnn模型在训练过程中极易出现的梯度消失或者梯度爆炸的问题。本实施例中,解码器层对于输入的每一个时间节点的项目向量,可以预测其下一个时间节点的项目向量,得到预测时间序列,例如参考图2,对于训练时间序列中时间节点n-1的项目向量xn-1,循环解码单元输出时间节点n的预测结果(即图2中的h向量)。本实施例中,解码层输出的预测时间序列中,每个时间节点上的项目向量的表现形式,与输入解码器层的训练时间序列中的项目向量的表现形式可以不同。其中,解码器层的各个循环解码单元基于获取的(上一个循环解码单元输出的)隐层状态向量、项目向量和条件向量,输出自身得到的隐层状态向量,该隐层状态向量h可以认为是循环解码单元输出的项目向量,所有循环解码单元输出的隐层状态向量h组成了解码器层输出的预测时间序列。在其他实施例中,对于图3所示的模型结构,每个循环编码单元输出的条件向量输入到相同时间节点的循环解码单元中。104、基于训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。本实施例中,步骤“基于训练时间序列和预测时间序列中,对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型”,可以包括:计算训练时间序列和预测时间序列中,对应于替换时间节点的项目向量的交叉熵,以最小化交叉熵为目的优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。本实施例中,为了计算交叉熵,可以先将预测时间序列中的项目向量通过softmax层转换为对应的概率分布,再计算训练时间序列和预测时间序列的交叉熵,以该交叉熵对待训练项目推荐模型进行优化。其中,计算训练时间序列和预测时间序列中,对应于替换时间节点的项目向量的交叉熵,可以包括:将所述解码器层输出的预测时间序列的各项目向量,通过softmax层转换为对应的概率分布;计算所述训练时间序列中替换时间节点的项目向量,和所述预测时间序列中替换时间节点的概率分布之间的交叉熵。在该示例中,步骤“将所述解码器层输出的预测时间序列的各项目向量,通过softmax层转换为对应的概率分布”,可以包括:将所述解码器层输出的预测时间序列的各项目向量,通过softmax层进行全连接转换,再将转换后的项目向量通过softmax函数归一化为对应的概率分布。例如,参考图2,替换时间节点为2、5以及n-2,训练时间序列中,替换时间节点的项目向量为x2、x5以及xn-2,预测时间序列中对应的项目向量分别为隐层状态向量h2、h5以及hn-2,softmax层可以将解码器层输出的所有隐层状态向量转换为对应的概率分布,其中,隐层状态向量h2、h5以及hn-2分别转换为对应的概率分布(向量)p2、p5、以及pn-2,本实施例可以基于训练时间序列中的x2,x5以及xn-2和预测时间序列中的p2,p5以及pn-2,来确定交叉熵,以最小化该交叉熵为目的优化待训练项目推荐模型。另一个实施例中,步骤“基于训练时间序列和预测时间序列中,对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型”,可以包括:确定训练时间序列和预测时间序列中,与替换时间节点的下一个时间节点对应的项目向量,计算训练时间序列确定出的项目向量和预测时间序列中确定出的项目向量的交叉熵,以最小化交叉熵为目的优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。其中,确定训练时间序列和预测时间序列中,与替换时间节点的下一个时间节点对应的项目向量,计算训练时间序列确定出的项目向量和预测时间序列中确定出的项目向量的交叉熵,可以包括:将所述解码器层输出的预测时间序列的各项目向量,通过softmax层转换为对应的概率分布;确定训练时间序列中替换时间节点的下一个时间节点对应的项目向量,以及预测时间序列中替换时间节点的下一个时间节点对应的概率分布,计算确定出的项目向量和对应的概率分布的交叉熵。在该示例中,步骤“将所述解码器层输出的预测时间序列的各项目向量,通过softmax层转换为对应的概率分布”,可以包括:将所述解码器层输出的预测时间序列的各项目向量,通过softmax层进行全连接转换,再将转换后的项目向量通过softmax函数归一化为对应的概率分布。例如,参考图2,替换时间节点为2、5以及n-2,训练时间序列中,替换时间节点的下一个时间节点的项目向量分别为x3、x6以及xn-1,预测时间序列中对应的项目向量分别为隐层状态向量h3、h6以及hn-1,softmax层可以将解码器层输出的所有隐层状态向量转换为对应的概率分布,其中,隐层状态向量h3、h6以及hn-1分别转换为对应的概率分布(向量)p3、p6、以及pn-1,本实施例可以基于训练时间序列中的x3,x6以及xn-1和预测时间序列中的p3,p6以及pn-1,来确定交叉熵,以最小化该交叉熵为目的优化待训练项目推荐模型。在一个实施例中,softmax层可以只对预测时间序列中,需要进行交叉熵计算的项目向量进行处理,而不对全部的项目向量进行处理。其中,步骤“所述基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型”,可以包括:将所述解码器层输出的预测时间序列中,位于替换时间节点的项目向量,通过softmax层转换为对应的概率分布;计算所述训练时间序列中所述替换时间节点的项目向量,和所述预测时间序列中所述替换时间节点的概率分布之间的交叉熵;以最小化所述交叉熵为目的优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。例如,参考图2,替换时间节点为2、5以及n-2,训练时间序列中,替换时间节点的项目向量为x2、x5以及xn-2,预测时间序列中对应的项目向量分别为隐层状态向量h2、h5以及hn-2,softmax层可以仅将替换时间节点对应的所有隐层状态向量转换为对应的概率分布,其中,隐层状态向量h2、h5以及hn-2分别转换为对应的概率分布(向量)p2、p5、以及pn-2。其中,步骤“所述基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型”,可以包括:将所述解码器层输出的预测时间序列中,位于替换时间节点的下一个时间节点的项目向量,通过softmax层转换为对应的概率分布;计算所述训练时间序列中所述替换时间节点的下一个时间节点的项目向量,和所述预测时间序列中所述替换时间节点的下一个时间节点的概率分布之间的交叉熵;以最小化所述交叉熵为目的优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。例如,参考图2,替换时间节点为2、5以及n-2,训练时间序列中,替换时间节点的下一个时间节点的项目向量为x3、x6以及xn-1,预测时间序列中对应的项目向量分别为隐层状态向量h3、h6以及hn-1,softmax层可以仅将隐层状态向量h3、h6以及hn-1转换为对应的概率分布,其中,隐层状态向量h3、h6以及hn-1分别转换为对应的概率分布(向量)p3、p6、以及pn-1,在上述的两个示例中,softmax层可以仅将预测时间序列中,替换时间节点或替换时间的下一个时间节点的项目向量转换为对应的概率分布,进一步降低计算量。参考图2,softmax层为本实施例的推荐模型的最后一层。解码器层的所输出的隐层状态向量输入到该层后,先经过一个全连接变换成一个与训练时间序列上所涉及到的项目的数字等长的向量。此后,变换后的各向量经过softmax函数归一化成该时间节点所预测的项目属于训练时间序列中的项目的概率分布(即下文的softmax值)。不同于nextitnet需要计算所有生成时间节点的softmax值,本实施例中,可以只计算一部分时间节点的的softmax值,例如只计算被遮住的时间节点的(也就是完形填空的空)的softmax值(即为图2中灰色输出节点的softmax),将生成的softmax值与训练时间序列的标签计算交叉熵(crossentropy)损失函数。以最小化该交叉熵损失函数为目的优化本实施例中的推荐模型。可以理解的是,本实施例中,训练时间序列中各项目向量的标签可以为各个项目向量本身。在得到训练完成的项目推荐模型后,可以基于该项目模型实现项目的推荐。可选的,本实施例中,在步骤“在基于训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型”后,还可以包括:获取待推荐用户的项目时间序列,其中,项目时间序列中包括按序排列的待推荐用户的历史交互项目的项目向量,其中,项目向量的排列顺序为待推荐用户对历史交互项目的交互时间的顺序;将项目时间序列作为项目推荐模型的输入序列,通过项目推荐模型对项目时间序列的分析,得到与项目时间序列对应的预测时间序列;基于预测时间序列确定待向待推荐用户推荐的项目。其中,可以将预测时间序列中最后一个时间节点对应的项目作为待向待推荐用户推荐的项目。在实际使用的过程中,为了最大程度使用项目时间序列的信息,可选的,实际应用过程中随机遮盖层的遮盖比例可以设置为0。本发明实施例可以应用的场景包括:基于会话的推荐系统。基于在推荐系统中的观看、点击、以及购买等行为,可以预测未来用户可能感兴趣(i.e.,观看/点击/购买等)的item。以短视频app为例,用户a在一上午时间内,有效(例如视频的播放率80%以上)观看了300个视频,本申请可以根据用户观看的300个视频,预测用户未来可能感兴趣的视频,从而达到个性化推荐效果。本申请实施例受到语言测试中完形填空(clozing)思想的启发,提出了一种全新的推荐模型训练方式,不仅能够利用会话数据中过去用户的交互行为,而且能够利用用户未来的交互行为,针对该数据提升策略,本实施例提供了基于循环神经网络的编码器-解码器结构。该网络采用由基本rnn单元(或其变种,如lstm或gru)所组成的rnn编码器与rnn解码器所构成。在相同的实验设置下,我们发现本专利算法所得出的性能相较于最近最新的基于rnn的推荐系统模型具有非常稳定且重要的提升。以下所列举的所有数据集及相关网络均使用如此设置:使用lstm模型,其单元的维度与嵌入矩阵的维度均为64。训练过程中,使用adams优化器来训练所有涉及到的模型,模型的学习率为0.001。数据实验硬件环境采用gputeslap40,tensorflow版本1.9.0.1.应用1:(长度为10的序列中)的性能如下:mrr@allrnn-decoder0.19888rnn-encoder0.10353rnn-decoder-encoder0.2153排序指标,该数据集中,每条数据的长度为10,一共涉及到的item总数为136737,训练数据个数为2861673,测试数据个数为476946。批大小(batchsize)为512。2.应用2:(序列长度为20的数据集中)的性能如下:mrr@allrnn-decoder0.21023rnn-encoder0.15034rnn-decoder-encoder0.23112该数据集中,每条数据的长度为20,一共涉及到的item总数为136737,训练数据个数为1449532,测试数据个数为241589。批大小(batchsize)为256。3.应用3:(序列长度为100的数据集中)的性能如下:该数据集中,每条数据的长度为100,一共涉及到的item总数为136737,训练数据个数为322387,测试数据个数为53731。批大小(batchsize)为64。4.应用4:(长度为10的序列中)的性能如下mrr@allrnn-decoder0.08365rnn-encoder0.0699rnn-decoder-encoder0.09082该数据集中,每条数据的长度为30,一共涉及到的item总数为65997,训练数据个数为786431,测试数据个数为131072。批大小(batchsize)为512。本实施例中,在训练项目推荐模型时,对于训练时间序列中某个时间节点的推荐结果,可以基于该时间节点之前的项目向量和该时间节点之后的项目向量优化,使得训练后的项目推荐模型可以有效表达训练时间序列中的所有已知的数据,提升项目推荐模型对输入序列的数据利用程度,有利于提升项目推荐模型的预测准确度。基于随机遮盖方案的优化方法,仅最小化一部分时间节点的预测数据与对应真实数据之间的交叉熵,从而使得模型得到充分有效地训练,并且避免了信息泄漏问题的发生。此外,本发明实施例还提供一种项目推荐模型的处理装置,参考图4,该项目推荐模型的处理装置包括:获取模块401,用于获取训练时间序列,训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,项目向量的排列顺序为目标用户对历史交互项目的交互时间的顺序;分析模块402,用于通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量,其中,条件向量中包含训练时间序列的结构信息;预测模块403,用于将训练时间序列作为待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为解码器层的输入,通过解码器层预测与训练时间序列对应的预测时间序列;优化模块404,用于基于训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。可选的,本实施例的项目推荐模型的处理装置还包括:替换模块,用于在分析模块402通过待训练项目推荐模型的编码器层,分析训练时间序列的结构特征,得到与训练时间序列中各项目向量对应的条件向量前,从训练时间序列中选择一部分时间节点作为替换时间节点;在训练时间序列中,将替换时间节点对应的项目向量替换为预设填充向量,得到替换后训练时间序列。对应的,分析模块402,具体用于通过待训练项目推荐模型的编码器层,分析替换后训练时间序列的结构特征,得到与替换后训练时间序列中各项目向量对应的条件向量。可选的,优化模块404,包括第一优化子模块或第二优化子模块:第一优化子模块,用于计算训练时间序列和预测时间序列中,对应于替换时间节点的项目向量的交叉熵,以最小化交叉熵为目的优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。第二优化子模块,用于确定训练时间序列和预测时间序列中,与替换时间节点的下一个时间节点对应的项目向量,计算训练时间序列确定出的项目向量和预测时间序列中确定出的项目向量的交叉熵,以最小化交叉熵为目的优化待训练项目推荐模型,得到用于项目推荐的项目推荐模型。在一个实施例中,编码器层为循环神经网络,包括连接的多个循环编码单元。分析模块402,用于将替换后训练时间序列中的项目向量基于对应的时间节点,输入编码器层中对应的循环编码单元;其中,每个循环编码单元被配置为:获取上一个循环编码单元输出的隐层状态向量,以及基于获取的隐层状态向量和输入的项目向量,得到自身输出的隐层状态向量;获取编码器层的最后一个循环编码单元输出的隐层状态向量,将该隐层状态向量作为替换后训练时间序列中各项目向量对应的条件向量,其中,隐层状态向量包含替换后训练时间序列的结构信息。在另一个实施例中,编码器层为双向循环神经网络,包括连接的多个循环编码单元;分析模块402,用于将替换后训练时间序列中的项目向量基于对应的时间节点,输入对应的循环编码单元;其中,每个循环编码单元被配置为:获取上一个循环编码单元向后输出的后向隐层状态向量,和下一个循环编码单元向前输出的前向隐层状态向量,以及基于获取的后向隐层状态向量和项目向量,得到自身向后输出的后向隐层状态向量,和基于获取的前向隐层状态向量和项目向量,得到自身向前输出的前向隐层状态向量;基于每个循环编码单元对获取的前向隐层状态向量、后向隐层状态向量以及项目向量进行处理,得到与替换后训练时间序列中各项目向量对应的条件向量,条件向量中包含替换后训练时间序列的结构信息。可选的,获取模块401,用于从源数据库中,获取目标用户的历史交互项目的one-hot编码时间序列,在one-hot编码时间序列中,各历史交互项目的one-hot编码基于目标用户对各历史交互项目的交互时间排列;获取one-hot编码时间序列对应的嵌入矩阵,其中,嵌入矩阵中包括各项目的one-hot编码对应的嵌入向量;基于嵌入矩阵将one-hot编码时间序列中的各one-hot编码,映射为对应的项目向量,得到训练时间序列。可选的,在一个实施例中,优化模块404,还包括第三优化子模块或第四优化子模块:第三优化子模块,用于将所述解码器层输出的预测时间序列中,位于替换时间节点的项目向量,通过softmax层转换为对应的概率分布;计算所述训练时间序列中所述替换时间节点的项目向量,和所述预测时间序列中所述替换时间节点的概率分布之间的交叉熵;以最小化所述交叉熵为目的优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。第四优化子模块,用于将所述解码器层输出的预测时间序列中,位于替换时间节点的下一个时间节点的项目向量,通过softmax层转换为对应的概率分布;计算所述训练时间序列中所述替换时间节点的下一个时间节点的项目向量,和所述预测时间序列中所述替换时间节点的下一个时间节点的概率分布之间的交叉熵;以最小化所述交叉熵为目的优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。可选的,本实施例的装置还包括融合模块,用于在获取模块401基于嵌入矩阵将one-hot编码时间序列中的各one-hot编码,映射为对应的项目向量,得到训练时间序列前,获取目标用户的用户特征,基于用户特征确定目标用户对应的用户特征嵌入向量,将用户特征嵌入向量融合进嵌入矩阵的每一个嵌入向量中;和/或,获取目标用户对各历史交互项目的操作信息,基于操作信息确定各历史交互项目对应的操作信息嵌入向量,将各历史交互项目的操作信息嵌入向量融合进嵌入矩阵的各历史交互项目对应的嵌入向量中。本实施例中,解码器层为循环神经网络,包括连接的多个循环解码单元,预测模块403,用于将训练时间序列中的项目向量基于对应的时间节点,输入对应的循环解码单元,并且将各项目向量对应的条件向量输入各项目向量对应的循环解码单元;其中,每个循环解码单元被配置为:获取上一个循环解码单元输出的隐层状态向量,以及基于获取的隐层状态向量、项目向量和条件向量,得到自身输出的隐层状态向量;通过各个循环解码单元基于获取的隐层状态向量、项目向量和条件向量,预测训练时间序列对应的预测时间序列。本实施例中,装置还包括:用户序列获取模块,用于获取待推荐用户的项目时间序列,其中,项目时间序列中包括按序排列的待推荐用户的历史交互项目的项目向量,其中,项目向量的排列顺序为待推荐用户对历史交互项目的交互时间的顺序;实际预测模块,用于将项目时间序列作为项目推荐模型的输入序列,通过项目推荐模型对项目时间序列的分析,得到与项目时间序列对应的预测时间序列;确定模块,用于基于预测时间序列确定待向待推荐用户推荐的项目。本实施例的装置在训练项目推荐模型时,对于训练时间序列中某个时间节点的推荐结果,可以基于该时间节点之前的项目向量和该时间节点之后的项目向量优化,使得训练后的项目推荐模型可以有效表达训练时间序列中的所有已知的数据,提升项目推荐模型对输入序列的数据利用程度,有利于提升项目推荐模型的预测准确度。该装置基于随机遮盖方案的优化方法,可以仅最小化一部分时间节点的预测数据与对应真实数据之间的交叉熵,从而使得模型得到充分有效地训练,并且避免了信息泄漏问题的发生。此外,本发明实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,如图5所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:该计算机设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器501是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。计算机设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。该计算机设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:获取训练时间序列,所述训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,所述项目向量的排列顺序为所述目标用户对历史交互项目的交互时间的顺序;通过待训练项目推荐模型的编码器层,分析所述训练时间序列的结构特征,得到与所述训练时间序列中各项目向量对应的条件向量,其中,所述条件向量中包含所述训练时间序列的结构信息;将所述训练时间序列作为所述待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为所述解码器层的输入,通过所述解码器层预测与所述训练时间序列对应的预测时间序列;基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。本发明实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算机设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。以分布式系统为区块链系统为例,参见图6,图6是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算机设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(p2p,peertopeer)网络,p2p协议是一个运行在传输控制协议(tcp,transmissioncontrolprotocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。本实施例中,待训练项目推荐模型和训练号的项目推荐模型以及源数据库等信息可以通过节点被存储在区域链系统的共享账本中,计算机设备(例如终端或服务器)可以基于共享账本存储的记录数据获取目标用户的训练时间序列以及项目时间序列等等。参见图6示出的区块链系统中各节点的功能,涉及的功能包括:1)路由,节点具有的基本功能,用于支持节点之间的通信。节点除具有路由功能外,还可以具有以下功能:2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。例如,应用实现的业务包括:2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。参见图7,图7是本发明实施例提供的区块结构(blockstructure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的项目推荐模型的处理方法中的步骤。例如,该指令可以执行如下步骤:获取训练时间序列,所述训练时间序列中包括按序排列的目标用户的历史交互项目的项目向量,其中,所述项目向量的排列顺序为所述目标用户对历史交互项目的交互时间的顺序;通过待训练项目推荐模型的编码器层,分析所述训练时间序列的结构特征,得到与所述训练时间序列中各项目向量对应的条件向量,其中,所述条件向量中包含所述训练时间序列的结构信息;将所述训练时间序列作为所述待训练项目推荐模型的解码器层的输入序列,并且还将各项目向量对应的条件向量作为所述解码器层的输入,通过所述解码器层预测与所述训练时间序列对应的预测时间序列;基于所述训练时间序列和预测时间序列中对应于同一时间节点的项目向量的差异,优化所述待训练项目推荐模型,得到用于项目推荐的项目推荐模型。其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种项目推荐模型的处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种项目推荐模型的处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。以上对本申请实施例所提供的项目推荐模型的处理方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1