CN110990697A - 内容推荐方法、装置、设备和存储介质 - Google Patents
内容推荐方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110990697A CN110990697A CN201911195006.8A CN201911195006A CN110990697A CN 110990697 A CN110990697 A CN 110990697A CN 201911195006 A CN201911195006 A CN 201911195006A CN 110990697 A CN110990697 A CN 110990697A
- Authority
- CN
- China
- Prior art keywords
- sequence
- bundle
- bundles
- decoding
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种内容推荐方法、装置、设备和存储介质,属于计算机技术领域。该方法包括对用户的历史行为序列进行编码,得到中间向量;基于所述中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个第二序列束包括至少一个内容项,每个内容项对应一个内容;对多个第二序列束进行分类,得到序列束分类集合;从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,所述第一序列束为空,当i>1时,所述第一序列束为第i‑1步解码中得到的候选序列束;基于所述解码结果,向用户推荐内容。采用该方法推荐的内容具有多样性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种内容推荐方法、装置、设备和存储介质。
背景技术
在信息量剧增的当今社会,用户要浏览完所有的相关信息,需要耗费大量的时间和精力,甚至不可能在有限的时间内完成。在这种情况下,出现了一种信息过滤系统——推荐系统,推荐系统能够根据用户的历史行为特点和兴趣特点,向用户推荐用户可能感兴趣的内容,例如信息和商品等,从而使得用户无需浏览完所有的相关信息即可快速获得自己所需要的内容,以此达到节省时间的目的。
相关技术中,推荐系统可以采用序列到序列(sequence to sequence,Seq2Seq)模型为用户推荐内容。首先,对用户行为序列进行编码,得到中间向量,然后根据该中间向量,采用基于集束搜索的方式对该中间向量进行解码,得到解码结果,最后基于解码结果将内容推荐给用户。
在采用基于集束搜索的方式对该中间向量进行解码的过程中,每一步解码都会从当前解码步对应的多个序列束中,选择预定数量的序列束作为下一步解码的输入。选出来的序列束可能都对应同一类型的内容,导致所推荐的内容较为单一,不满足多样性需求。
发明内容
本申请实施例提供了一种内容推荐方法、装置、设备和存储介质,可以使得推荐的内容包括多种类型,满足多样化需求。所述技术方案如下:
一方面,提供了一种内容推荐方法,所述方法包括:
对用户的历史行为序列进行编码,得到中间向量;
基于所述中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个所述第二序列束包括至少一个内容项,每个所述内容项对应一个内容;对所述多个第二序列束进行分类,得到序列束分类集合;从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,所述第一序列束为空,当i>1时,所述第一序列束为第i-1步解码中得到的候选序列束;
基于所述解码结果,向用户推荐内容。
一方面,提供了一种内容推荐装置,所述装置包括:
编码模块,用于对用户的历史行为序列进行编码,得到中间向量;
解码模块,用于基于所述中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个所述第二序列束包括至少一个内容项,每个所述内容项对应一个内容;对所述多个第二序列束进行分类,得到序列束分类集合;从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,所述第一序列束为空,当i>1时,所述第一序列束为第i-1步解码中得到的候选序列束;
推荐模块,用于基于所述解码结果,向用户推荐内容。
一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,在每一步解码过程中,均基于第一序列束生成第二序列束,对所述多个第二序列束进行分类,得到序列束分类集合;从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束,并基于该候选序列束进行下一步解码,因此,可以保证每一步解码中所选择出的候选序列束均具有不同的特征,使得基于解码结果推荐的内容具有多样性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一个示例性实施例的内容推荐系统的结构示意图;
图2为本申请一个示例性实施例的内容推荐方法的流程示意图;
图3为本申请一个示例性实施例的内容推荐方法的流程示意图;
图4是相关技术中一步解码过程的过程示意图;
图5为本申请一个示例性实施例中的内容推荐方法的一步解码过程的过程示意图;
图6为本申请一个示例性实施例的内容推荐装置的结构框图;
图7为应用本申请一个示意性实施例的计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于理解本公开实施例,下面先对本公开实施例中的一些词语进行解释。
聚类:将没有类别的数据通过算法聚合成不同类别。
k-means:聚类算法的一种。
解码:根据输入信息,输出相应的信息,这里『信息』一般指文本,本发明指推荐系统里的内容项(item)。
语言模型:在自然语言处理中,用于衡量一个词序列是否是自然语言。在推荐系统中,用于衡量一个item序列是否是可能的交互序列。
集束搜索(beam search):用于在自然语言解码过程中,搜索当前已得到的序列(又称序列束)的集合,来得到最终生成的序列。
束大小(beams size,BS):beam search算法中限制序列束的个数。
图1为本申请一个示意性实施例的内容推荐系统的结构示意图。如图1所示,该系统包括服务器10和终端20。服务器10和终端20通信连接,例如通过网络30连接。
示例性地,服务器10可以为单个服务器,或者服务器集群,也即是包括多个协同工作的服务器。终端20为用户为了获取内容而使用的计算机,包括但不限于手机、笔记本电脑、平板电脑、台式计算机等。网络30用于实现终端和服务器10之间的通信连接,包括但不限于互联网、通信网络等等。
终端20上可以安装有应用程序(app),例如,音乐app,视频播放app、新闻app、购物app、小说阅读app等等,服务器10可以根据用户的历史行为向登录这些app的用户推荐内容。例如,向登录音乐app的用户推荐音乐,向登录视频播放app的用户推荐视频,向登录新闻app的用户推荐新闻,向登录购物app的用户推荐商品,向登录小说阅读app的用户推荐文章等等。
图2为本申请一个示例性实施例的内容推荐方法的流程示意图。该方法可以由计算机设备,例如图1所示的服务器10运行。如图2所示,该方法可以包括:
在步骤101中,对用户的历史行为序列进行编码,得到中间向量。
用户历史行为序列是指一定时长内用户对内容的一系列行为所对应的item序列,行为包括但不限于点击、购买、查看等等,也即是,用户历史行为可以用于表征用户行为与内容项(item)之间的关系,例如,查看与被查看的关系、点击与被点击的关系、购买与被购买的关系等等。用户的历史行为数据可以由终端采集并发送给服务器,由服务器记录。用户的历史行为数据可以包括行为类型,时间和行为对象(即item)等等。
示例性地,item可以是应用程序、音乐、视频、文章、商品等等。不同的app可以具有不同的词汇表,该词汇表可以用于将app对应的item映射到一个向量空间,不同的item对应不同的内容。
该步骤101可以包括:
第一步、获取用户的历史行为序列,该历史行为序列可以包括多个item,且各个item按照对应的用户行为实际发生时间的先后顺序排列。例如,某历史行为序列包括用户实际播放的音乐对应的item,这些item按照播放先后顺序排列。
第二步、采用item2vec算法将历史行为序列中的每个item映射到一个向量空间,得到每个item对应的向量;item2vec算法的内容可以参见相关技术,本公开对此不做详细描述。
第三步、对历史行为序列中的item对应的向量进行编码,得到中间向量。
这里的第三步可以采用序列模型(即Seq2Seq模型)中的编码器实现。
这里,获取用户的历史行为序列,可以包括:
确定当前登录的用户的标识;
基于用户的标识,在服务器中查找用户的历史行为数据;
将查找到的历史行为数据对应的item按照实际发生时间的先后顺序排序,得到用户的历史行为序列。
在步骤102中,基于中间向量进行多步解码,直到达到解码截止条件,得到解码结果。
解码截止条件可以包括序列束中的item数量达到最大值。该最大值是一个设定值,可以根据实际需要进行设置。
对于每一步解码,均可以包括以下步骤:
第一步、基于第一序列束生成多个第二序列束,每个第二序列束包括至少一个内容项,每个内容项对应一个内容;
第二步、对多个第二序列束进行分类,得到序列束分类集合;
第三步、从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束。
其中,假设当前为第i步解码,当i=1时,第一序列束为空,当i>1时,第一序列束为第i-1步解码中得到的候选序列束。假设当i=N时,达到解码截止条件,则第N步解码得到的候选序列束即为解码结果。
该步骤101和102可以采用Seq2Seq模型实现。Seq2Seq模型是一个编码器-解码器结构的网络,它的输入是序列,输出也是序列。在本公开实施例中,该模型可以输出多个序列,即候选序列束。
在步骤103中,基于解码结果,向用户推荐内容。
示例性地,该步骤103可以包括:
第一步、基于解码结果,确定目标序列束;
第二步、向用户推荐目标序列束中item对应的内容。
在本申请实施例中,在每一步解码过程中,均基于第一序列束生成第二序列束,对多个第二序列束进行分类,得到序列束分类集合;从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束,并基于该候选序列束进行下一步解码,因此,可以保证每一步解码中所选择出的候选序列束均具有不同的特征,使得基于解码结果推荐的内容可以具有多样性。
图3为本申请一个示意性实施例的内容推荐方法的流程示意图,该方法可以由计算机设备执行,例如,由图1中的服务器10执行。如图3所示,该方法包括:
在步骤201中,对用户的历史行为序列进行编码,得到中间向量。
该步骤201的实现可以参见前述步骤101,在此省略详细描述。
在步骤202中,基于中间向量进行第1步解码。
该步骤202可以包括:
步骤202a,基于第一序列束生成多个第二序列束,第一序列束为空。
该步骤202a可以包括:
将词汇表中的所有item分别与第一序列束组合,即在第一序列束的基础上增加一个item,故也可以认为是对第一序列束进行扩展,每一个组合得到一个第二序列束,由于在该步骤202中,第一序列束为空,所以得到的每个第二序列束中包括一个item。其中,词汇表又称词典,包括多个item。
步骤202b:对多个第二序列束进行分类,得到多个序列束分类集合。
在该步骤202b中,可以采用聚类的方式对第二序列束进行分类,聚类得到的聚类集合即为序列束分类集合。通过聚类可以对没有类别的数据进行分类,从而将相似的数据归为一类。
示例性地,采用聚类的方式对第二序列束进行分类,可以包括以下步骤:
第一步、从多个第二序列束中,随机选择K个第二序列束,作为K个聚类中心;其中,K为大于1的正整数;
第二步、分别计算各个第二序列束与各个聚类中心之间的距离;
第三步、将各个第二序列束划分到距离最小的聚类中心对应的集合中;
第四步、更新各个集合的聚类中心,得到新的聚类中心;
第五步、基于新的聚类中心重新对第二序列束进行划分,直至聚类中心收敛。
在该第五步中,按照第二步至第四步的方式对各个第二序列束重新进行划分。聚类中心收敛是指更新前的聚类中心和更新后的聚类中心之间的距离小于预定的阈值。
通过该聚类方式,可以将多个序列束分为K类。该聚类方式算法简单,运算速度快。
需要说明的是,本公开实施例对聚类方式不做限定,也可以采用相关技术中的任一种聚类方法。此外,除了采用聚类的方式对第二序列束进行分类以外,还可以预先训练分类模型,例如神经网络模型,以对第二序列束进行分类。
步骤202c:从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束。
该步骤202c可以包括:
第一步、分别确定每个序列束分类集合中的第二序列束对应的概率和;
这里,序列束对应的概率和是指一个序列束中所有的item对应的概率之和。
第二步、从每个序列束分类集合中,选择概率和最高的预定数量的第二序列束作为候选序列束。
在该步骤202c中,从每个序列束分类集合中选择的第二序列束的数量是相等的,例如均为X,X为正整数,X的取值可以根据经验设置。
在该步骤202c之后,可以得到X乘以K个候选序列束。
在步骤203中,基于中间向量和第i-1步解码得到的候选序列束,进行第i步解码。
该步骤203可以包括:
步骤203a,基于第一序列束生成多个第二序列束,第一序列束为第i-1步解码得到的候选序列束,i为大于1的整数。
该步骤203a可以包括:将每个候选序列束分别与词汇表中的所有item组合,每一次组合得到一个第二序列束。由于于第1步解码得到的候选序列束中,每个候选序列束包括一个item,因此,在该步骤203中得到的每个第二序列束包括至少两个item。
步骤203b,去除包括相同item的第二序列束。
在一次推荐内容时,如果出现重复的内容,会降低用户感受,所以需要先去除掉包含相同item的第二序列束。
步骤203c,对多个第二序列束进行分类,得到序列束分类集合。
该步骤203c的实现过程可以参见步骤202b。
步骤203d,从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束。
该步骤203d的实现过程可以参见步骤202c。
重复步骤203,直到达到解码截止条件,并将达到解码截止条件时的第N步解码得到的候选序列束作为解码结果。
通过该步骤202和203,可以实现基于中间向量进行多步解码,直到达到解码截止条件,得到解码结果。
图4为相关技术中单次解码过程的示意图,图5为本申请实施例中的单次解码过程的示意图。下面结合图4和图5进行对比说明。在图4和图5中,每个圆点表示一个序列束,所有圆点的集合就是当前所有的序列束。其中,带填充的圆点表示一类序列束,空心圆点表示另一类序列束。
如图4所示,在相关技术中,首先基于当前步解码中获得的序列束,即前述第一序列束,生成多个第二序列束,然后对多个第二序列束按照概率和从大到小的顺序进行排序,选择前几个第二序列束作为候选序列束,作为下一步解码的输入。被选出作为候选序列束的第二序列束在一些情况下可能都是带填充的圆点这一类的序列束,这种情况下,在得到解码结果之后,推荐的内容只可能是这一类序列束对应的内容,内容比较单一。
如图5所示,在本公开实施例中,首先基于当前步解码中获得的序列束,即前述第一序列束,生成多个第二序列束,然后对多个第二序列束进行聚类,即将带填充的圆点表示的序列束归为一类,得到一个聚类集合,空心圆点表示的序列束归为一类,得到另一个聚类集合。将每个聚类集合中的第二序列束按照概率和从大到小的顺序进行排序,然后选择每个聚类集合中排在前几个的第二序列束作为候选序列束,作为下一步解码的输入。由于候选序列束中始终存在不同类的序列束,即特性不同的序列束,使得最终推荐的内容具有多样性。
在步骤204中,基于解码结果,确定目标序列束。
该步骤204可以包括:
第一步、对解码结果中的各个序列束分别进行打分,得到解码结果中每个序列束的分数;
第二步、基于解码结果中每个序列束的分数,确定目标序列束。
对序列束打分可以采用预先训练好的语言模型实现,该语言模型可以为神经网络模型。通过根据序列束的分数来确定目标序列束,可以根据实际需要评价解码结果中各个序列束的合理性。在一些实施例中,序列束的得分越高表示序列束的合理性越高,此时,可以将得分最高的序列束作为目标序列束。在另一些实施例中,序列束的得分越低表示序列束的合理性越高,此时,可以将得分最低的序列束作为目标序列束。
可替代地,在其他实现方式中,也可以从解码结果中的各个序列束中,随机选择一个序列束作为目标序列束。
在步骤205中,向用户推荐目标序列束中item对应的内容。
该步骤205包括,将目标序列束中item对应的内容的相关信息发送给用户终端,使得终端能够将推荐的内容展示给用户。
通过该步骤204和205,可以实现基于解码结果,向用户推荐内容。
在本申请实施例中,在每一步解码过程中,均基于第一序列束生成第二序列束,对多个第二序列束进行分类,得到序列束分类集合;从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束,并基于该候选序列束进行下一步解码,因此,可以保证每一步解码中所选择出的候选序列束均具有不同的特征,使得基于解码结果推荐的内容可以具有多样性。
此外,通过在每次解码过程中,在对第二序列束进行分类之前,先去除包括相同内容项的第二序列束,从而可以达到不推荐重复内容的目的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请实施例的虚拟道具分配装置的结构框图。该装置可以实现成为服务器的全部或一部分。如图6所示,该装置包括:编码模块601、解码模块602和推荐模块603。
编码模块601用于对用户的历史行为序列进行编码,得到中间向量。解码模块602用于基于中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个第二序列束包括至少一个内容项,每个内容项对应一个内容;对多个第二序列束进行分类,得到序列束分类集合;从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,第一序列束为空,当i>1时,第一序列束为第i-1步解码中得到的候选序列束。推荐模块603用于基于解码结果,向用户推荐内容。
可选地,解码模块602包括:聚类子模块6021,用于对多个第二序列束进行聚类,得到多个聚类集合,每个聚类集合为一个序列束分类集合。
可选地,聚类子模块6021可以用于从多个所述第二序列束中,随机选择K个所述第二序列束,作为K个聚类中心;分别计算各个所述第二序列束与每个所述聚类中心之间的距离;将各个所述第二序列束划分到距离最小的聚类中心对应的集合中;更新各个聚类中心,得到新的聚类中心;基于新的聚类中心重新对各个第二序列束进行划分,直至聚类中心收敛;其中,K为大于1的正整数。
可选地,解码模块602还包括:去重子模块6022,用于在聚类子模块6021对多个第二序列束进行聚类之前,去除包括相同内容项的第二序列束。
可选地,推荐模块603可以包括目标序列束确定子模块6031和推荐子模块6032。目标序列束确定子模块6031用于基于解码结果,确定目标序列束;推荐子模块6032用于向用户推荐目标序列束中内容项对应的内容。
可选地,目标序列束确定子模块6031用于对解码结果中的各个序列束分别进行打分,得到解码结果中每个序列束的分数;基于解码结果中每个序列束的分数,确定目标序列束。
在本申请实施例中,在每一步解码过程中,均基于第一序列束生成第二序列束,对多个第二序列束进行分类,得到序列束分类集合;从每个序列束分类集合中分别选择至少一个第二序列束作为候选序列束,并基于该候选序列束进行下一步解码,因此,可以保证每一步解码中所选择出的候选序列束均具有不同的特征,使得基于解码结果推荐的内容具有多样性。
此外,通过在每次解码过程中,在对第二序列束进行分类之前,先去除包括相同内容项的第二序列束,从而可以达到不推荐重复内容的目的。
本申请实施例还提供了一种计算机设备,该计算机设备可以是服务器。该计算机设备可以包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现前述方法。
图7是本申请实施例提供的一种服务器的结构示意图。参见图7,服务器700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(Random AccessMemory,RAM)702和只读存储器(Read-Only Memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储(Electrically Erasable Programmable read only memory,EEPROM)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本发明的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。CPU 701通过执行该一个或一个以上程序来实现前述虚拟道具分配。
本领域技术人员可以理解,图7中示出的结构并不构成对服务器700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种内容推荐方法,其特征在于,所述方法包括:
对用户的历史行为序列进行编码,得到中间向量;
基于所述中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个所述第二序列束包括至少一个内容项,每个所述内容项对应一个内容;对所述多个第二序列束进行分类,得到序列束分类集合;从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,所述第一序列束为空,当i>1时,所述第一序列束为第i-1步解码中得到的候选序列束;
基于所述解码结果,向用户推荐内容。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个第二序列束进行分类,得到序列束分类集合,包括:
对所述多个第二序列束进行聚类,得到多个聚类集合,每个聚类集合为一个所述序列束分类集合。
3.根据权利要求2所述的方法,其特征在于,所述对所述多个第二序列束进行聚类,得到多个聚类集合,包括:
从多个所述第二序列束中,随机选择K个所述第二序列束,作为K个聚类中心;
分别计算各个所述第二序列束与每个所述聚类中心之间的距离;
将各个所述第二序列束划分到距离最小的聚类中心对应的集合中;
更新各个聚类中心,得到新的聚类中心;
基于新的聚类中心重新对各个第二序列束进行划分,直至聚类中心收敛;
其中,K为大于1的正整数。
4.根据权利要求2所述的方法,其特征在于,所述对所述多个第二序列束进行分类,得到序列束分类集合,还包括:
在对所述多个第二序列束进行聚类之前,去除包括相同内容项的第二序列束。
5.根据权利要求1所述的方法,其特征在于,所述从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束,包括:
分别确定每个所述序列束分类集合中的所述第二序列束对应的概率和;
从每个所述序列束分类集合中,选择概率和最高的预定数量的第二序列束作为候选序列束。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述解码结果,向用户推荐内容,包括:
基于所述解码结果,确定目标序列束;
向用户推荐所述目标序列束中内容项对应的内容。
7.根据权利要求6所述的方法,其特征在于,所述基于所述解码结果,确定目标序列束,包括:
对所述解码结果中的各个序列束分别进行打分,得到所述解码结果中每个序列束的分数;
基于所述解码结果中每个序列束的分数,确定所述目标序列束。
8.一种内容推荐装置,其特征在于,所述装置包括:
编码模块,用于对用户的历史行为序列进行编码,得到中间向量;
解码模块,用于基于所述中间向量进行多步解码,直到达到解码截止条件,得到解码结果,其中,第i步解码包括:基于第一序列束生成多个第二序列束,每个所述第二序列束包括至少一个内容项,每个所述内容项对应一个内容;对所述多个第二序列束进行分类,得到序列束分类集合;从每个所述序列束分类集合中分别选择至少一个第二序列束作为候选序列束;当i=1时,所述第一序列束为空,当i>1时,所述第一序列束为第i-1步解码中得到的候选序列束;
推荐模块,用于基于所述解码结果,向用户推荐内容。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195006.8A CN110990697A (zh) | 2019-11-28 | 2019-11-28 | 内容推荐方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195006.8A CN110990697A (zh) | 2019-11-28 | 2019-11-28 | 内容推荐方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110990697A true CN110990697A (zh) | 2020-04-10 |
Family
ID=70087921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911195006.8A Pending CN110990697A (zh) | 2019-11-28 | 2019-11-28 | 内容推荐方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990697A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147435A (zh) * | 2019-01-24 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置、设备及存储介质 |
CN110162604A (zh) * | 2019-01-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 语句生成方法、装置、设备及存储介质 |
CN110309427A (zh) * | 2018-05-31 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置及存储介质 |
CN110427617A (zh) * | 2019-07-22 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 推送信息的生成方法及装置 |
CN110458627A (zh) * | 2019-08-19 | 2019-11-15 | 华南师范大学 | 一种面向用户动态偏好的商品序列个性化推荐方法 |
-
2019
- 2019-11-28 CN CN201911195006.8A patent/CN110990697A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309427A (zh) * | 2018-05-31 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置及存储介质 |
CN110147435A (zh) * | 2019-01-24 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置、设备及存储介质 |
CN110162604A (zh) * | 2019-01-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 语句生成方法、装置、设备及存储介质 |
CN110427617A (zh) * | 2019-07-22 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 推送信息的生成方法及装置 |
CN110458627A (zh) * | 2019-08-19 | 2019-11-15 | 华南师范大学 | 一种面向用户动态偏好的商品序列个性化推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941740B (zh) | 视频推荐方法及计算机可读存储介质 | |
CN110309427B (zh) | 一种对象推荐方法、装置及存储介质 | |
CN110751224B (zh) | 视频分类模型的训练方法、视频分类方法、装置及设备 | |
CN111461841B (zh) | 物品推荐方法、装置、服务器及存储介质 | |
CN110555469B (zh) | 处理交互序列数据的方法及装置 | |
CN110969516A (zh) | 一种商品推荐方法及装置 | |
CN110727868B (zh) | 对象推荐方法、装置和计算机可读存储介质 | |
CN111325245B (zh) | 重复图像识别方法、装置、电子设备及计算机可读存储介质 | |
CN111010592B (zh) | 一种视频推荐方法、装置、电子设备及存储介质 | |
CN111382307A (zh) | 一种基于深度神经网络的视频推荐方法、系统及存储介质 | |
CN107203558B (zh) | 对象推荐方法和装置、推荐信息处理方法和装置 | |
CN110781960B (zh) | 视频分类模型的训练方法、分类方法、装置及设备 | |
CN106874503B (zh) | 获取推荐数据的方法和装置 | |
CN113515690A (zh) | 内容召回模型的训练方法、内容召回方法、装置及设备 | |
CN112150238A (zh) | 一种基于深度神经网络的商品推荐方法及系统 | |
CN114417058A (zh) | 一种视频素材的筛选方法、装置、计算机设备和存储介质 | |
CN110781818B (zh) | 视频分类方法、模型训练方法、装置及设备 | |
CN112015788A (zh) | 向目标用户展示目标对象序列的方法和装置 | |
CN111915414B (zh) | 向目标用户展示目标对象序列的方法和装置 | |
CN113032676B (zh) | 基于微反馈的推荐方法和系统 | |
CN116562357B (zh) | 点击预测模型训练方法及装置 | |
CN113220974A (zh) | 点击率预测模型训练、搜索召回方法、装置、设备及介质 | |
CN110348581B (zh) | 用户特征群中用户特征寻优方法、装置、介质及电子设备 | |
CN110909193A (zh) | 图像排序展示方法、系统、设备和存储介质 | |
CN110990697A (zh) | 内容推荐方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40023018 Country of ref document: HK |