具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种资源的推送方法。可选地,上述资源的推送方法可以但不限于应用于如图1所示的应用环境中。如图1所示,终端102上运行有目标应用,用户可以使用目标应用进行资源浏览。终端102采集用户在第一时间段浏览的历史资源(通过目标应用浏览的历史资源),并将采集的历史资源通过网络104发送给服务器106。
服务器106接收到终端102发送的上述历史资源;获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值;从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值;将待推送资源推送给终端102。
终端102接收到服务器106推送的资源(待推送资源)之后,通过目标应用显示接收到的推动资源。
可选地,上述待推送资源可以有多个,可以根据与历史资源的相似程度进行排序,并按照排序结果进行显示。
可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、电脑(平板电脑、笔记本电脑、台式机)等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述天气服务器可以包括但不限于以下至少之一:PC机及其他用于计算服务的设备。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,如图2所示,上述资源的推送方法可以包括:
S202,获取目标对象的历史资源,其中,历史资源为目标对象在第一时间段内浏览的资源;
S204,获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值;
S206,从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值;
S208,将待推送资源推送给目标对象。
可选地,上述资源的推送方法可以但不限于通过应用的客户端向用户推荐新闻资源、文章资源、短视频资源、视频资源等的过程。例如应用于新闻应用中,或者短视频应用中。上述资源的推送方法可以由服务器执行,上述服务器可以包括一个或多个。
例如,以新闻应用为例,新闻应用通过终端上采集到用户在新闻应用中最近浏览的第一新闻(可以包括一个或多个新闻),将采集到的第一新闻发送给后台服务器。后台服务器使用获取与第一新闻对应的第一资源向量(历史资源向量),并从目标资源集合中获取待推送新闻,其中,与待推送新闻对应的第二资源向量(待推送资源向量)与第一资源向量相似度高于第二阈值,并将待推送新闻推送给新闻应用,由新闻应用将待推送新闻推荐给用户(例如,如图3所示)。
下面结合图2对上述资源的推送方法进行说明。
在步骤S202中,获取目标对象的历史资源,其中,历史资源为目标对象在第一时间段内浏览的资源。
目标对象用户可以是目标应用的目标用户,可以通过用于唯一标识目标对象的标识信息来标识。上述标识信息可以是该目标应用的登录帐号、联应用的帐号、登录名(具有唯一性的名称)、终端编号等。
在用户使用运行在终端设备上的目标应用的客户端浏览资源的过程中,终端设备可以采集用户使用该客户端在第一时间段内浏览的资源(历史资源)的目标资源信息(可以用来表示历史资源),并将采集到的目标资源信息发送给服务器,其中,上述目标信息可以包括用来唯一的标识历史资源的目标标识信息(例如,资源编号),还可以包括资源的全文等。并将采集到的目标信息。
第一时间段可以是预先定义的时间段(例如,当前时刻的前一分钟,两分钟,五分钟等),也可以是按照预定规则确定出的时间段(例如,如果历史资源为目标对象最近浏览的一个资源,则第一时间段为包含浏览最近资源的时刻的时间段,如果历史资源为目标对象最近浏览的N个资源,则第一时间段为包含浏览最近N个资源中最早资源的时刻的时间段)。
例如,运行有新闻应用的终端可以采集目标用户是使用新闻应用最近浏览的一个或多个新闻,并将与采集的一个或多个新闻的资源标识(用于唯一的标识资源,例如,新闻编号)发送给新闻应用的后台服务器。
服务器在接收到终端设备发送的历史资源之后,可以获取到该历史资源。上述服务器可以是一个服务器,也可以是多个服务器组成的服务器集群,还可以是云服务器,服务器的具体形式可以根据需要进行设置,本实施例中对此不作具体限定。
在步骤S204中,获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值。
在获取到目标对象的历史资源之后,服务器可以获取与历史资源对应的历史资源向量,其中,历史资源向量为将上述历史资源输入到目标向量模型中得到的向量。
可选地,在本实施例中,在获取目标对象的历史资源之前,可以获取多个训练样本;使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型。
目标向量模型为使用多个训练样本训练初始向量模型得到向量模型。目标向量模型可以预先训练好,并周期性更新。目标向量模型的更新周期可以根据资源的更新频率、以及服务器的计算能力确定。例如,对于更新频率高的资源(例如,新闻,短视频等),可以将更新周期设定为一天、12个小时、6个小时、2个小时等。在服务器具有足够的计算能力的情况下,也可以将更新周期设定为半个小时,甚至可以做到准实时更新(如,如果有上传的新资源则触发更新)。又例如,对于更新频率低等的资源(例如,论文),可以更新周期设定为半个月、一个月、多个月、一年等。
为了对得到目标向量模型,可以首先获取多个训练样本。多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源。
可选地,在本实施例中,获取多个训练样本可以包括:获取多个训练对象中的各个训练对象在第二时间段内浏览的多个样本资源;按照各个训练对象在第二时间段内浏览的多个样本资源所属的类型,将各个训练对象在第二时间段内浏览的多个样本资源划分为多个样本资源集合,其中,多个样本资源集合中的各样本资源集合所包含的样本资源均属于一个类型;从多个样本资源集合的各样本资源集合中分别抽取出至少一个样本资源进行组合,得到多个训练样本中的一个训练样本。
上述各个训练对象可以是使用目标应用客户端进行资源浏览的对象。例如,该目标应用的客户端的全部或者部分用户。对于各训练对象,第二时间段属于获取该训练对象的样本资源的时刻之间的时间段(目标时间段)。为了减小计算的复杂度,可以将目标时间段进行划分,例如,按照预定时间间隔(例如,每半个小时)对目标时间段进行划分,划分后的每个时间段作为一个第二时间段。
每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源。同一训练样本中的多个样本资源对应于同一训练对象,不同的训练样本可以对应于同一训练对象,也可以对应于不同的训练对象。同一训练样本中的多个样本对象可以对应于不同类型,可以是同一训练样本中的每个样本对象对应的类型均不相同,也可以是同一训练样本中的样本对象至少有两个对应不同的类型。
对于每个训练对象,可以获取该训练对象在第二时间段内浏览的多个样本资源。对于第二时间段有多个的情况,可以分别获取该训练对象在第二时间段内浏览的多个样本资源。
在得到每个训练对象在一个第二时间段内浏览的多个样本资源之后,可以按照多个样本资源所属的类型,将多个样本资源划分为多个样本资源集合,其中,多个样本资源集合中的各个样本资源集合所包含的样本资源均属于一个类型。
样本资源所属的类型可以根据资源标签或者资源粒度进行确定。类型集合可以是资源所属的一级分类,或者二级分类等,也可以是其他可以明确资源的类型、并且每个类型可以包含多个资源的类型集合。
需要说明的是,如果一个训练对象在一个第二时间段内仅浏览的多个样本资源属于同一类型,可以将该训练对象在该第二时间段内浏览的多个样本资源的进行去除,不考虑该训练对象在该第二时间段的浏览数据。
在得到多个样本资源集合之后,可以从各个样本资源集合中分别抽取至少一个样本资源进行组合,得到的集合可以作为一个训练样本。
在进行样本资源抽取时,可以从各个样本资源集合中分别抽取一个样本资源,也可以根据包含的样本资源的数量,确定从各样本资源集合中抽取的样本资源数目(例如,样本资源集合包含的样本资源越多,依次抽取的样本资源的数量越多),还可以根据样本资源集合的数量,确定从各样本资源集合中抽取的样本资源数目(样本资源集合越少,从各样本资源集合中抽取的样本资源数目越多)。
需要说明的是,对于一个训练对象的一个第二时间段,得到的训练样本的数量可以为能够从每个训练样本集合中抽取的至少两个样本资源的组合的乘积。
例如,在对训练对象A在第二时间段浏览的多个样本资源进行划分后,得到3个样本资源集合:资源集合1,包含5个样本资源;资源集合2,包含6个样本资源;资源集合3,包含3个样本资源。如果从各样本资源集合中抽取一个样本资源,则得到的训练样本的数量为:5×6×3=90。如果从各个样本资源集合中抽取一个样本资源,则得到的训练样本的数量为:如果从资源集合1和资源集合3抽取一个样本资源,从资源集合2抽取2个样本资源,则得到的训练样本的数量为:/>
下面结合具体示例对获取训练样本的方式进行说明。可以将各个用户在一个section(时间段)内的点击文章按照不同的粒度,比如文章的一级分类,或者二级分类,分成几个不同的子集合,然后从每个子集合中各抽取一篇文章进行重组,形成新的样本。如图4所示,进行样本重组的流程可以包括以下步骤:
步骤1,收集用户的点击行为数据,将同一用户在同一个section内的点击序列作为一条样本,为新样本的生成做准备。
步骤2,将步骤1中生成的每一条样本,按照不同的粒度,比如文章的一级分类,拆解成几个子集合(多个样本资源结合)的形式。
步骤3,在步骤2生成的几个子集合中,分别抽取一篇文章,重组为新的样本,保证每条新的样本中同一个粒度下,比如同一个文章一级分类下,只覆盖一篇文章,这样重组后会生成多条新的样本(训练样本)。
在得到多个训练样本之后,可以使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型。
可选地,在本实施例中,使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型可以包括:将多个训练样本中的各个训练样本中的多个样本资源依次输入到初始向量模型,获取初始向量模型输出的资源向量;根据初始向量模型输出的、相邻的至少两个样本资源的资源向量之间的向量相似度,对初始向量模型的模型参数进行调整,得到目标向量模型。
初始向量模型可以根据训练样本中的样本资源输入的先后顺序为样本资源赋予用于表示该样本资源的目标维度的向量,该初始向量模型的目标函数可以为:同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值。上述初始向量模型可以是:word2vec或者其他模型。
需要说明的是,初始向量模型(目标向量模型)将输入的样本资源作为一个整体考虑,而不需要分析各个样本资源包含的信息(例如,文本资源中的词语的含义,视频资源中的图像的内容),仅根据样本资源输入的先后顺序为样本资源赋予资源向量。
在使用多个训练样本对初始向量模型进行训练时,对于每个训练样本,可以将该训练样本中的多个样本资源依次输入到初始向量模型,得到初始向量模型输出的资源向量。
由于初始向量模型能够获取到的样本资源之间的关联性信息较少,因此,输出的资源向量表征样本资源的能力较弱。因此,可以根据初始向量模型输出的、相邻的至少两个样本资源的资源向量之间的向量相似度,对初始向量模型的模型参数进行调整,得到目标向量模型。
相邻的样本资源属于同一个训练样本。对于第一个训练样本中的第一个样本资源,初始向量模型可以随机为该样本资源输出一个目标维度的向量(第一个向量,例如,200维的向量)。对于第一个训练样本中的第二个样本资源,初始向量模型可以根据第一个向量,为该样本资源输出一个目标维度的向量(第二个向量),使得第一个向量和第二个向量之间的相似度高于第一阈值(预先设定的相似度阈值,可以根据需要进行限定)。
类似地,通过调整初始向量模型的模型参数来:调整初始向量模型为已分配了资源向量的样本资源所分配的资源向量,确定初始向量模型为未分配资源向量的样本资源分配的资源向量,使得调整后的初始向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值。
例如,初始向量模型为初始word2vec模型(word to vector,词向量模型),将训练样本中的每个样本资源作为一个词,一个训练样本作为一个句子,输入到初始word2vec模型,对初始word2vec模型进行训练,得到目标word2vec模型。
在得到目标向量模型之后,可以使用目标向量模型获取历史资源的历史资源向量。使用目标资源向量获取历史资源向量的方式可以有多种。
作为一种可选的实施方式,可以在获取到历史资源之后,将历史资源直接输入到目标向量模型,目标向量模型输出的向量即为历史资源向量。
作为另一种可选的实施方式,可以根据资源与资源向量之间的匹配关系,从保存的目标资源向量集合中获取所述历史资源向量,其中,所述目标资源向量集合包括将所述目标资源集合中的各目标资源输入到所述目标向量模型之后得到的各目标资源向量。
可以预先保存资源和资源向量之间的匹配关系。例如,在使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型之后,可以将目标资源集合中的各目标资源分别输入到目标向量模型,得到与目标资源集合对应的目标资源向量集合,其中,目标资源集合中的目标资源与目标资源向量集合中的目标资源向量一一对应。
同一样本资源可以包含在至少一个训练样本中。可以将多个训练样本中包含的全部样本资源或者部分样本资源作为目标资源集合,并将目标样本集合中的各目标资源输入到目标向量模型中,得到各个目标资源所对应的目标资源向量,从而得到目标资源向量集合。
在得到目标向量模型之后,各个样本资源所对应的资源向量是一定的,也可以是唯一的。可以将多个训练样本包含的所有样本资源分别输入到目标向量模型中,得到各个样本资源所对应且唯一的资源向量。
例如,全部样本资源的数量为500个,对500个样本资源进行编号,为:1~500,根据训练对象的浏览操作,得到1万个训练样本,其中,编号为50的样本资源属于30个训练样本,在使用训练样本对初始word2vec模型进行训练,得到目标word2vec模型之后,可以将500个样本资源(目标资源集合包含全部500个样本资源)分别输入到目标word2vec模型中,得到500个资源向量(目标资源向量集合),其中,编号为50的样本资源对应于一个资源向量。
得到的目标资源向量集合可以作为向量池,供后续历史资源向量、以及待推送资源获取时使用。
可选地,在本实施例中,获取与历史资源对应的历史资源向量可以包括:根据资源与资源向量之间的匹配关系,从保存的目标资源向量集合中获取历史资源向量,其中,目标资源向量集合包括将目标资源集合中的各目标资源输入到目标向量模型之后得到的各目标资源向量。
对于目标对象浏览的历史资源,服务器可以根据预先保存资源和资源向量之间的匹配关系,从目标资源向量集合中获取与历史资源对应的历史资源向量。
历史资源可以有一个资源,可以有多个资源。在历史资源为多个的情况下,可以分别获取与各历史资源对应的历史资源向量。
在步骤S206中,从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值。
在得到历史资源向量之后,可以分别计算历史资源向量与目标资源集合中的各目标资源所对应的资源向量(目标资源向量)之间的向量相似度,并获取与历史资源的向量相似度高于第二阈值(相似度阈值)的一个或多个目标资源作为待推送资源。
在确定待推送资源时,可以获取与历史资源的向量相似度高于第二阈值的全部目标资源作为待推送资源,也可以是与历史资源的向量相似度高于第二阈值的部分目标资源作为待推送资源。在待推送资源为该部分目标资源的情况下,可以设定确定待推送资源的其他条件,可以包括但不限于以下至少之一:数量阈值(例如,至多为10个),类型阈值(例如,至少包括与历史资源类型不同的N个资源)。
在得到满足相似度条件(高于第二阈值)和数量条件(数量阈值)的待推送资源之后,可以不计算与其他目标资源的向量相似度,直接将得到的待推送资源推送给目标对象。
历史资源的数量可以有一个或多个,在历史资源为一个的情况下,可以将与该一个历史资源对应待推送资源向目标对象进行推送。
可选地,在本实施例中,从目标资源集合中获取待推送资源可以包括:在历史资源为多个的情况下,从目标资源集合中分别获取与多个历史资源中的各历史资源对应的待推送资源。
在历史资源为多个的情况下,可以采用相同的方式分别获取待推送资源。服务器可以将获取到的全部待推送资源进行推送,或者从全部待推送资源选取出部分待推送资源进行推送。
例如,可以设定从与各历史资源对应的待推送资源选取出预定数量的待推送资源,将选取出的待推送资源进行推送。或者,对于与各历史资源对应的待推送资源(待选取资源),计算待选取资源与各历史资源的向量相似度之和,对各个待选取资源进行排序,从排序后的待选取资源中选取出预定数量的待选取资源,作为待推送资源。
在待推送资源为多个的情况下,可以根据多个待推送资源与历史资源之间的向量相似度,对多个待推送资源进行排序,并将排序后的多个待推送资源向目标对象进行推送。
在步骤S208中,将待推送资源推送给目标对象。
服务器可以通过与目标对象对应的客户端向用户推送待推送资源。服务器可以将待推送资源发送给与目标对象对应的客户端,由该客户端在其显示界面上显示待推送资源的链接信息,从而实现待推送资源的推送。
需要说明的是,在目标向量模型为word2vec模型或者类似模型的情况下,历史资源需要属于多个训练样本中的至少一个训练样本,才能获取到与历史资源对应的历史资源向量(不属于多个训练样本的历史资源可以认为是未录入的词)。在这种情况下,可以使用其他的方式确定待推送资源,例如,根据资源中包含的信息进行搜索,得到待推送资源。
通过本实施例,由于训练初始向量模型使用的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值,使得获取到的待推送资源不仅可以符合用户的喜好,且可以有多种类型,解决了相关技术中的资源推送方法向用户推送的资源过于单一的问题,丰富了向用户推送资源的类型,提高了用户对推送资源的满意度。
作为一种可选的实施方案,在获取目标对象的历史资源之前,上述方法还包括:
S1,获取多个训练样本;
S2,使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型。
通过本实施例,通过获取多个训练样本,并使用多个训练样本对初始向量模型进行训练得到目标向量模型,可以获取到目标向量模型,从而便于对历史资源进行处理。
作为一种可选的实施方案,获取多个训练样本包括:
S11,获取多个训练对象中的各个训练对象在第二时间段内浏览的多个样本资源;
S12,按照各个训练对象在第二时间段内浏览的多个样本资源所属的类型,将各个训练对象在第二时间段内浏览的多个样本资源划分为多个样本资源集合,其中,多个样本资源集合中的各样本资源集合所包含的样本资源均属于一个类型;
S13,从多个样本资源集合的各样本资源集合中分别抽取出至少一个样本资源进行组合,得到多个训练样本中的一个训练样本。
通过本实施例,通过从多个样本资源集合的各样本资源集合中分别抽取出至少一个样本资源进行组合的方式得到训练样本,可以保证训练资源之间的关联性,以及训练资源的多样性。
作为一种可选的实施方案,使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型包括:
S21,将多个训练样本中的各训练样本中的多个样本资源依次输入到初始向量模型,获取初始向量模型输出的资源向量;
S22,根据初始向量模型输出的、相邻的至少两个样本资源的资源向量之间的向量相似度,对初始向量模型的模型参数进行调整,得到目标向量模型。
通过本实施例,根据同一训练样本中相邻的至少两个样本资源的资源向量之间的向量相似度对初始向量模型的模型参数进行调整,可以提供啊向量资源向量表征样本资源的能力,进而提高用户对推送的资源的满意度。
作为一种可选的实施方案,在使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型之后,上述方法还包括:
S3,将目标资源集合中的各目标资源分别输入到目标向量模型,得到与目标资源集合对应的目标资源向量集合,其中,目标资源集合中的目标资源与目标资源向量集合中的目标资源向量一一对应。
通过本实施例,通过使用目标向量模型预先获取与各目标资源对应的目标资源向量,可以提高获取待推送资源的效率。
作为一种可选的实施方案,获取与所述历史资源对应的所述历史资源向量包括:
S1,根据资源与资源向量之间的匹配关系,从保存的目标资源向量集合中获取历史资源向量,其中,目标资源向量集合包括将目标资源集合中的各目标资源输入到目标向量模型之后得到的各目标资源向量。
通过本实施例,通过资源与资源与资源向量之间的匹配关系,获取与历史资源对应的历史资源向量,可以提高获取历史资源向量的速度,进而提高获取待推送资源的效率。
作为一种可选的实施方案,从目标资源集合中获取待推送资源包括:
S1,在历史资源为多个的情况下,从目标资源集合中分别获取与多个历史资源中的各历史资源对应的待推送资源。
通过本实施例,通过分别获取各历史资源对应的待推送资源,可以简化待推送资源的获取流程,提高获取待推送资源的效率。
下面结合可选示例对上述资源的推送方法进行说明。本示例中所使用的word2vec模型为基于用户点击序列的用户兴趣转移预测模型。将用户在一个section内的点击文章按照不同的粒度,比如文章的一级分类,或者二级分类,分成几个不同的子集合,然后从每个子集合中各抽取一篇文章进行重组,形成新的样本。将重组后的样本,输入到word2vec或者其他模型中进行训练。
在针对用户最近消费过的文章向量(历史资源向量)进行推荐时,预测出的下一篇文章会是一种兴趣发展趋势,而不再是与历史相似的文章,从而就拓宽了推荐的内容范围,带入了一种预见性。
如图5和图6所示,本示例中的资源的推送方法可以包括以下流程:
S602,收集用户的点击行为数据;
S604,对用户的点击序列样本进行拆解和重组;
S606,将重组后的新生成样本输入到模型中进行训练,得到文章向量表示;
S608,将用户点击历史与文章向量池进行关联,做线上推荐。
对比传统的点击序列挖掘方式,本示例中的资源的推送方法中,可以明显提高用户对推荐的满意度,丰富推荐***的生态性(如图7所示)。
另外,还可以利用本示例中的模型训练的结果向量进行文章List推荐(列表推荐),由文章间的跳转来不断的查找next,next…,进而来预测下一个可能的兴趣发展文章列表List。
本示例中使用的目标向量模型为word2vec模型,也可以用FPGrowth等其他模型进行训练,两者训练方式一致,在此不作赘述。在对用户点击序列的重新拆解过程中,根据不同的文章粒度进行拆解,可以是文章一级分类,或者文章二级分类,或者主题粒度,等其他粒度。本示例中,以新闻推荐场景为例,其他的推荐场景,也可以使用上述资源的推送方法。
通过本示例,通过对用户点击序列进行挖掘,达到对用户兴趣转移的预见性,可以提高了用户对推荐的满意度,丰富推荐***的生态性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种资源的推送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例中的资源的推送装置可以应用如图8所示的服务器中,或者,位于如图8所示的服务器中。如图9所示,该装置包括:
(1)第一获取模块902,用于获取目标对象的历史资源,其中,历史资源为目标对象在第一时间段内浏览的资源;
(2)第二获取模块904,用于获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值;
(3)第三获取模块906,用于从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值;
(4)推送模块908,用于将待推送资源推送给目标对象。
可选地,上述资源的推送装置可以但不限于通过应用的客户端向用户推荐新闻资源、文章资源、短视频资源、视频资源等的过程。例如应用于新闻应用中,或者短视频应用中。上述资源的推送装置可以由服务器执行,上述服务器可以包括一个或多个。
可选地,第一获取模块902可以用于执行前述步骤S202,第二获取模块904可以用于执行前述步骤S204,第三获取模块906可以用于执行前述步骤S206,推送模块908可以用于执行前述步骤S208。
通过本实施例,由于训练初始向量模型使用的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值,使得获取到的待推送资源不仅可以符合用户的喜好,且可以有多种类型,解决了相关技术中的资源推送方法向用户推送的资源过于单一的问题,丰富了向用户推送资源的类型,提高了用户对推送资源的满意度。
作为一种可选的实施方案,上述装置还包括:
(1)第四获取模块,用于在获取目标对象的历史资源之前,获取多个训练样本;
(2)调整模块,用于使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型。
通过本实施例,通过获取多个训练样本,并使用多个训练样本对初始向量模型进行训练得到目标向量模型,可以获取到目标向量模型,从而便于对历史资源进行处理。
作为一种可选的实施方案,第四获取模块包括:
(1)第一获取单元,用于获取多个训练对象中的各个训练对象在第二时间段内浏览的多个样本资源;
(2)划分单元,用于按照各个训练对象在第二时间段内浏览的多个样本资源所属的类型,将各个训练对象在第二时间段内浏览的多个样本资源划分为多个样本资源集合,其中,多个样本资源集合中的各样本资源集合所包含的样本资源均属于一个类型;
(3)抽取单元,用于从多个样本资源集合的各样本资源集合中分别抽取出至少一个样本资源进行组合,得到多个训练样本中的一个训练样本。
通过本实施例,通过从多个样本资源集合的各样本资源集合中分别抽取出至少一个样本资源进行组合的方式得到训练样本,可以保证训练资源之间的关联性,以及训练资源的多样性。
作为一种可选的实施方案,调整模块包括:
(1)第二获取单元,用于将多个训练样本中的各训练样本中的多个样本资源依次输入到初始向量模型,获取初始向量模型输出的资源向量;
(2)调整单元,用于根据初始向量模型输出的、相邻的至少两个样本资源的资源向量之间的向量相似度,对初始向量模型的模型参数进行调整,得到目标向量模型。
通过本实施例,根据同一训练样本中相邻的至少两个样本资源的资源向量之间的向量相似度对初始向量模型的模型参数进行调整,可以提供啊向量资源向量表征样本资源的能力,进而提高用户对推送的资源的满意度。
作为一种可选的实施方案,上述装置还包括:
(1)输入模块,用于在使用多个训练样本对初始向量模型的模型参数调整,得到目标向量模型之后,将目标资源集合中的各目标资源分别输入到目标向量模型,得到与目标资源集合对应的目标资源向量集合,其中,目标资源集合中的目标资源与目标资源向量集合中的目标资源向量一一对应。
通过本实施例,通过使用目标向量模型预先获取与各目标资源对应的目标资源向量,可以提高获取待推送资源的效率。
作为一种可选的实施方案,第一获取模块包括:
(1)第三获取单元,用于根据资源与资源向量之间的匹配关系,从保存的目标资源向量集合中获取历史资源向量,其中,目标资源向量集合包括将目标资源集合中的各目标资源输入到目标向量模型之后得到的各目标资源向量。
通过本实施例,通过资源与资源与资源向量之间的匹配关系,获取与历史资源对应的历史资源向量,可以提高获取历史资源向量的速度,进而提高获取待推送资源的效率。
作为一种可选的实施方案,第三获取模块包括:
(1)第四获取单元,用于在历史资源为多个的情况下,从目标资源集合中分别获取与多个历史资源中的各历史资源对应的待推送资源。
通过本实施例,通过分别获取各历史资源对应的待推送资源,可以简化待推送资源的获取流程,提高获取待推送资源的效率。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标对象的历史资源,其中,历史资源为目标对象在第一时间段内浏览的资源;
S2,获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值;
S3,从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值;
S4,将待推送资源推送给目标对象。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述资源的推送方法的电子装置,如图10所示,该电子装置包括:处理器1002、存储器1004、传输装置1006等。该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标对象的历史资源,其中,历史资源为目标对象在第一时间段内浏览的资源;
S2,获取与历史资源对应的历史资源向量,其中,历史资源向量为将历史资源输入到目标向量模型中得到的向量,目标向量模型为使用多个训练样本训练初始向量模型得到向量模型,多个训练样本中的每个训练样本包含一个训练对象在第二时间段内浏览的不同类型的多个样本资源,目标向量模型输出的、与同一训练样本中的多个样本资源对应的多个样本资源向量之间的相似度高于第一阈值;
S3,从目标资源集合中获取待推送资源,其中,目标资源集合中的各个目标资源均属于多个训练样本,目标向量模型输出的、与待推送资源对应的待推送资源向量与历史资源向量相似度高于第二阈值;
S4,将待推送资源推送给目标对象。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1004可用于存储软件程序以及模块,如本发明实施例中的资源的推送方法和装置对应的程序指令/模块,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述资源的推送方法。存储器1004可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。