CN113935477B - 推荐模型的训练方法、推荐方法及计算机可读存储介质 - Google Patents
推荐模型的训练方法、推荐方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113935477B CN113935477B CN202111548115.0A CN202111548115A CN113935477B CN 113935477 B CN113935477 B CN 113935477B CN 202111548115 A CN202111548115 A CN 202111548115A CN 113935477 B CN113935477 B CN 113935477B
- Authority
- CN
- China
- Prior art keywords
- vector
- hidden
- scoring
- user
- decoder
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明提供了一种推荐模型的训练方法,包括:初始化训练模型的参数,其中,训练模型包括第一自编码器、第一物品编码器、第一用户编码器、第一解码器、第二自编码器、第二物品编码器、第二用户编码器以及第二解码器;获取训练数据,其中,训练数据包括源域的第一初始评分向量、第一用户内容向量、第一物品内容向量和目标域的第二初始评分向量、第二用户内容向量、第二物品内容向量;根据训练数据对训练模型进行训练,将第二用户编码器、第二物品编码器和第二解码器作为推荐模型。本发明技术方案有效解决了数据稀疏问题和冷启动问题。
Description
技术领域
本发明涉及计算机推荐算法技术领域,尤其涉及一种推荐模型的训练方法、推荐方法及计算机可读存储介质。
背景技术
随着互联网技术的不断发展普及,网络上每时每刻都有大量可供选择的信息资第一产生,个性化推荐系统已经成为了从繁琐复杂的数据中提取有效信息的重要技术手段。
现有的多数推荐系统仅针对单一领域。在单一领域内,推荐系统能够通过发掘用户对物品的偏好以及物品的特征,有效地为用户推荐与其偏好相似的物品,或者根据与其偏好相似的用户为其进行推荐。然而,数据稀疏问题和冷启动问题仍然是限制推荐系统性能的重要因素。
发明内容
有鉴于此,实有必要提供一种推荐模型的训练方法、推荐方法及计算机可读存储介质,用于解决数据稀疏问题和冷启动问题。
第一方面,本发明实施例提供一种推荐模型的训练方法,所述推荐模型的训练方法包括:
初始化训练模型的参数,其中,所述训练模型包括第一自编码器、第一物品编码器、第一用户编码器、第一解码器、第二自编码器、第二物品编码器、第二用户编码器以及第二解码器;
获取训练数据,其中,所述训练数据包括源域的第一初始评分向量、第一用户内容向量、第一物品内容向量和目标域的第二初始评分向量、第二用户内容向量、第二物品内容向量;
将所述第一初始评分向量和所述第二初始评分向量分别输入所述第一自编码器和所述第二自编码器,其中,所述第一自编码器对所述第一初始评分向量进行降维处理以得到第一评分隐向量,所述第二自编码器对所述第二初始评分向量进行降维处理以得到第二评分隐向量;
根据所述第一评分隐向量和所述第二评分隐向量计算第一损失值;
将所述第一用户内容向量和所述第二用户内容向量分别输入所述第一用户编码器和所述第二用户编码器,其中,所述第一用户编码器对所述第一用户内容向量进行降维处理以得到第一用户隐向量,所述第二用户编码器对所述第二用户内容向量进行降维处理以得到第二用户隐向量;
根据所述第一评分隐向量、所述第二评分隐向量、所述第一用户隐向量以及所述第二用户隐向量计算第二损失值;
将所述第一物品内容向量和所述第二物品内容向量分别输入所述第一物品编码器和所述第二物品编码器,其中,所述第一物品编码器对所述第一物品内容向量进行降维处理以得到第一物品隐向量,所述第二物品编码器对所述第二物品内容向量进行降维处理以得到第二物品隐向量;
将所述第一评分隐向量输入所述第一解码器,其中,所述第一解码器根据所述第一物品隐向量重构所述第一评分隐向量以得到第一重构评分向量;
根据所述第一初始评分向量和所述第一重构评分向量计算第三损失值;
将所述第二评分隐向量输入所述第二解码器,其中,所述第二解码器根据所述第二物品隐向量重构所述第二评分隐向量以得到第二重构评分向量;
根据所述第二初始评分向量和所述第二重构评分向量计算第四损失值;
根据所述第一损失值、所述第二损失值、所述第三损失值以及所述第四损失值更新所述训练模型的参数;以及
将所述第二用户编码器、所述第二物品编码器和所述第二解码器作为推荐模型第一用户编码器第二用户编码器第一用户编码器第二用户编码器第一用户编码器第二用户编码器第二用户编码器。
第二方面,本发明实施例提供一种推荐方法,所述推荐方法包括:
获取待推荐用户内容向量和目标物品内容向量;以及
将所述待推荐用户内容向量和所述目标物品内容向量输入推荐模型并获取推荐物品,其中,所述推荐模型由如上所述的推荐模型的训练方法训练得到。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序指令,所述程序指令可被处理器执行以实现如上所述的推荐模型的训练方法。
上述推荐模型的训练方法、推荐方法及计算机可读存储介质,将第一解码器和第二解码器引入训练模型进行训练,根据第一初始评分向量和第二初始评分向量获取第一评分隐向量和第二评分隐向量,根据第一用户内容向量和第二用户内容向量获取第一用户隐向量和第二用户隐向量,根据第一评分隐向量和第一物品内容向量获取第一重构评分向量,根据第二评分隐向量和第二物品内容向量获取第二重构评分向量,相应计算第一损失值、第二损失值、第三损失值、第四损失值并更新训练模型的参数,从而得到推荐模型。通过有效的领域适应,即从源域迁移学习至目标域,有效提升了推荐模型在目标域的推荐性能,从而缓解数据稀疏问题和冷启动问题。其中,将第一物品内容向量和第二物品内容向量作为源域和目标域的特有知识引入模型训练的过程中,能够更加丰富训练数据,使得训练得到的推荐模型更加精确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明第一实施例提供的推荐模型的训练方法的流程图。
图2为本发明第二实施例提供的推荐模型的训练方法的子流程图。
图3为本发明实施例提供的推荐方法的流程图。
图4为本发明实施例提供的推荐方法的子流程图。
图5为本发明实施例提供的训练模型的内部结构示意图。
图6为本发明实施例提供的推荐模型的内部结构示意图。
图7为本发明实施例提供的终端的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请结合参看图1和图5,图1为本发明第一实施例提供的推荐模型的训练方法的流程图,图5为本发明实施例提供的训练模型的内部结构示意图。训练方法用于训练推荐模型,训练得到的推荐模型可以根据用户对源域物品的评论信息向用户推荐用户感兴趣的目标域物品。推荐模型的训练方法具体包括如下步骤。
步骤S102,初始化训练模型的参数。其中,训练模型100包括第一自编码器11、第一用户编码器12、第一物品编码器13、第一解码器14、第二自编码器21、第二用户编码器22、第二物品编码器23以及第二解码器24。
步骤S104,获取训练数据。分别获取源域的数据集和目标域的数据集,筛选出源域数据集和目标域数据集中重叠的用户作为共享用户。将与共享用户相对应的数据作为训练数据。可以理解的是,训练数据包括共享用户分别关于源域和目标域的数据。在本实施例中,训练数据包括源域的第一初始评分向量、第一用户内容向量、第一物品内容向量和目标域的第二初始评分向量、第二用户内容向量、第二物品内容向量。其中,第一初始评分向量为共享用户对源域中所有物品的评分所形成的向量,第一用户内容向量为共享用户对源域中所有物品的评论内容所形成的向量,第一物品内容向量为源域中物品对应的所有评论内容所形成的向量;第二初始评分向量为共享用户对目标域中所有物品的评分所形成的向量,第二用户内容向量为共享用户对目标域中所有物品的评论内容所形成的向量,第二物品内容向量为目标域中物品对应的所有评论内容所形成的向量。可以理解的是,每一共享用户均与一个第一初始评分向量、一个第一用户内容向量、一个第二初始评分向量以及一个第二用户内容向量相对应;源域中的每一物品均与一个第一物品内容向量相对应,目标域中的每一物品均与一个第二物品内容向量相对应。在本实施例中,第一用户内容向量、第一物品内容向量、第二用户内容向量以及第二物品内容向量均为词向量,第一初始评分向量和第二初始评分向量为0-1向量。当某一共享用户与某一物品有交互,即对该物品进行了评分时,与该共享用户相对应的第一初始评分向量或第二初始评分向量中相应的数值为1;当该共享用户与另一物品没有交互,即没有对该物品评分时,相对应的第一初始评分向量或第二初始评分向量中相应的数值为0。举例来说,若源域中包括物品a、b、c、d,共享用户A对物品a、物品c以及物品d进行了评分,对物品b没有评分,则共享用户A的第一初始评分向量为(1,0,1,1)。
步骤S106,将第一初始评分向量和第二初始评分向量分别输入第一自编码器和第二自编码器。其中,第一自编码器11对第一初始评分向量进行降维处理以得到第一评分隐向量,第二自编码器21对第二初始评分向量进行降维处理以得到第二评分隐向量。具体地,将每一共享用户的第一初始评分向量输入第一自编码器11并获取相应的第一评分隐向量,将每一共享用户的第二初始评分向量输入第二自编码器21并获取相应的第二评分隐向量。其中,第一自编码器11和第二自编码器21包括但不限于变分自编码器、降噪自编码器等。优选地,第一自编码器11和第二自编码器21均为变分自编码器。
步骤S108,根据第一评分隐向量和第二评分隐向量计算第一损失值。计算第一评分隐向量和第二评分隐向量的互信息。其中,互信息表示第一评分隐向量和第二评分隐向量之间相互依赖的程度。分析第一评分隐向量的分布和第二评分隐向量的分布,并根据第一评分隐向量的分布和第二评分隐向量的分布计算散度。根据互信息和散度计算第一损失值。在本实施例中,根据第一损失函数计算第一损失值,第一损失函数表示为。其中, 表示第一损失值, 表示第一评分隐向量, 表示第二评分隐向量, 表示第一评分隐向量和第二评分隐向量的互信息, 表示第一评分隐向量的分布, 表示第二评分隐向量的分布,表示第一评分隐向量的分布和第二评分隐向量的分布的散度。
步骤S110,将第一用户内容向量和第二用户内容向量分别输入第一用户编码器和第二用户编码器。其中,第一用户编码器12对第一用户内容向量进行降维处理以得到第一用户隐向量,第二用户编码器22对第二用户内容向量进行降维处理以得到第二用户隐向量。具体地,将每一共享用户的第一用户内容向量输入第一用户编码器12并获取相应的第一用户隐向量,将每一共享用户的第二用户内容向量输入第二用户编码器22并获取相应的第二用户隐向量。
步骤S112,根据第一评分隐向量、第二评分隐向量、第一用户隐向量以及第二用户隐向量计算第二损失值。在本实施例中,根据第二损失函数计算第二损失值,第二损失函数表示为 。其中, 表示第二损失值, 表示第一评分隐向量, 表示第一用户隐向量, 表示第二评分隐向量, 表示第二用户隐向量,表示第一评分隐向量和第一用户隐向量的均方误差, 表示第二评分隐向量和第二用户隐向量的均方误差。
步骤S114,将第一物品内容向量和第二物品内容向量分别输入第一物品编码器和第二物品编码器。其中,第一物品编码器13对第一物品内容向量进行降维处理以得到第一物品隐向量,第二物品编码器23对第二物品内容向量进行降维处理以得到第二物品隐向量。具体地,将每一共享用户的第一物品内容向量输入第一物品编码器13并获取相应的第一物品隐向量,将每一共享用户的第二物品内容向量输入第二物品编码器23并获取相应的第二物品隐向量。
步骤S116,将第一评分隐向量输入第一解码器。其中,第一解码器根据第一物品隐向量重构第一评分隐向量以得到第一重构评分向量。具体地,第一解码器14根据第一评分隐向量得到第一输出结果,再将第一物品隐向量作为第n层神经网络的参数对第一输出结果进行计算以得到第一重构评分向量。其中,第一解码器14包括n层神经网络,第一输出结果为第n-1层神经网络相应的输出结果,n为正整数。可以理解的是,第一解码器14根据第一评分隐向量得到第一输出结果具体为:将第一评分隐向量输入第一解码器14的第1层神经网络中,并获取第1层神经网络的输出结果,然后将第1层神经网络的输出结果输入第2层神经网络中,并获取第2层神经网络的输出结果,以次类推,直至获取第n-1层神经网络的输出结果。在本实施例中,根据第一公式计算第一重构评分向量。具体地,第一公式为。其中, 表示第一重构评分向量, 表示第一物品隐向量, 表示第一评分隐向量, 表示第一输出结果, 表示激活函数。
步骤S118,根据第一初始评分向量和第一重构评分向量计算第三损失值。在本实施例中,根据第三损失函数计算第三损失值,第三损失函数表示为。其中, 表示第三损失值,表示第一初始评分向量, 表示第一重构评分向量。
步骤S120,将第二评分隐向量输入第二解码器。其中,第二解码器根据第二物品隐向量重构第二评分隐向量以得到第二重构评分向量。具体地,第二解码器24根据第二评分隐向量得到第二输出结果,再将第二物品隐向量作为第n层神经网络的参数对第二输出结果进行计算以得到第二重构评分向量。其中,第二解码器24包括n层神经网络,第二输出结果为第n-1层神经网络相应的输出结果,n为正整数。可以理解的是,第一解码器14包括的神经网络的层数和第二解码器24包括的神经网络的层数相同。第二解码器24根据第二评分隐向量得到第二输出结果具体为:将第二评分隐向量输入第二解码器24的第1层神经网络中,并获取第1层神经网络的输出结果,然后将第1层神经网络的输出结果输入第2层神经网络中,并获取第2层神经网络的输出结果,以次类推,直至获取第n-1层神经网络的输出结果。在本实施例中,根据第二公式计算第二重构评分向量。具体地,第二公式为。其中, 表示第二重构评分向量, 表示第二物品隐向量, 表示第二评分隐向量, 表示第二输出结果, 表示激活函数。
步骤S122,根据第二初始评分向量和第二重构评分向量计算第四损失值。在本实施例中,根据第四损失函数计算第四损失值,第四损失函数表示为。其中, 表示第四损失值,表示第二初始评分向量, 表示第二重构评分向量。
步骤S124,根据第一损失值、第二损失值、第三损失值以及第四损失值更新训练模型的参数。根据第一损失值、第二损失值、第三损失值以及第四损失值计算第一总损失值,再根据第一总损失值更新训练模型100的参数。在本实施例中,根据第三公式计算第一总损失值。具体地,第三公式为 。其中, 表示第一总损失值, 表示第一损失值, 表示第二损失值, 表示第三损失值,表示第四损失值。当第一总损失值满足第一预设条件或者训练次数达到第一预设次数时,表示训练模型100训练完成。其中,第一预设条件和第一预设次数根据实际情况进行设置,在此不做限定。
步骤S126,将第二用户编码器、第二物品编码器和第二解码器作为推荐模型。当训练模型100训练完成之后,选取第二用户编码器22、第二物品编码器23和第二解码器24作为推荐模型。可以理解的是,将待推荐用户关于源域的待推荐用户内容向量输入第二用户编码器22之后,可以得到相应的待推荐用户隐向量;将目标域的目标物品内容向量输入第二物品编码器23之后,可以得到相应的目标物品隐向量;将待推荐用户隐向量输入第二解码器24之后,第二解码器24根据目标物品隐向量可以得到待推荐用户评分向量,从而可以根据待推荐用户内容向量为待推荐用户推荐目标域物品。
上述实施例中,获取源域和目标域的共享用户的数据作为训练数据,将第一解码器和第二解码器引入训练模型进行训练,根据第一初始评分向量和第二初始评分向量获取第一评分隐向量和第二评分隐向量,根据第一用户内容向量和第二用户内容向量获取第一用户隐向量和第二用户隐向量,根据第一评分隐向量和第一物品内容向量获取第一重构评分向量,根据第二评分隐向量和第二物品内容向量获取第二重构评分向量,相应计算第一损失值、第二损失值、第三损失值、第四损失值并更新训练模型的参数,从而得到推荐模型。通过有效的领域适应,即从源域迁移学习至目标域,有效提升了推荐模型在目标域的推荐性能,从而缓解数据稀疏问题和冷启动问题。其中,将第一物品内容向量和第二物品内容向量作为源域和目标域的特有知识引入模型训练的过程中,能够更加丰富训练数据,使得训练得到的推荐模型更加精确。
根据第一评分隐向量和第二评分隐向量计算第一损失值,通过多视角信息瓶颈(Multi-view Information Bottleneck,MIB),即互信息和散度约束第一评分隐向量和第二评分隐向量,使第一评分隐向量和第二评分隐向量之间的距离尽可能地减小,从而学习源域和目标域中相似的部分,即共享知识。根据第一评分隐向量、第二评分隐向量、第一用户隐向量以及第二用户隐向量计算第二损失值,通过均方误差的约束,减小第一评分隐向量和第一用户隐向量之间的差距、第二评分隐向量和第二用户隐向量之间的差距,使得训练得到的模型更加精确。
请结合参看图2,其为本发明第二实施例提供的推荐模型的训练方法的子流程图。第二实施例提供的推荐模型的训练方法与第一实施例提供的推荐模型的训练方法的不同之处在于,执行步骤S122之后,第二实施例提供的推荐模型的训练方法包括如下步骤。
步骤S202,将第一评分隐向量输入第二解码器。其中,第二解码器24根据第二物品隐向量重构第一评分隐向量以得到第一交叉重构评分向量。具体地,第二解码器24根据第一评分隐向量得到第三输出结果,再将第二物品隐向量作为第n层神经网络的参数对第三输出结果进行计算以得到第一交叉重构评分向量。其中,第三输出结果为第二解码器24第n-1层神经网络相应的输出结果。可以理解的是,第二解码器24根据第一评分隐向量得到第三输出结果具体为:将第一评分隐向量输入第二解码器24的第1层神经网络中,并获取第1层神经网络的输出结果,然后将第1层神经网络的输出结果输入第2层神经网络中,并获取第2层神经网络的输出结果,以次类推,直至获取第n-1层神经网络的输出结果。在本实施例中,根据第四公式计算第一交叉重构评分向量。具体地,第四公式为。其中, 表示第一交叉重构评分向量, 表示第二物品隐向量, 表示第一评分隐向量, 表示第三输出结果, 表示激活函数。
步骤S204,根据第一初始评分向量和第一交叉重构评分向量计算第五损失值。在本实施例中,根据第五损失函数计算第五损失值,第五损失函数表示为。其中, 表示第五损失值, 表示第一初始评分向量, 表示第一交叉重构评分向量。
步骤S206,将第二评分隐向量输入第一解码器。其中,第一解码器根据第一物品隐向量重构第二评分隐向量以得到第二交叉重构评分向量。具体地,第一解码器14根据第二评分隐向量得到第四输出结果,再将第一物品隐向量作为第n层神经网络的参数对第四输出结果进行计算以得到第二交叉重构评分向量。其中,第四输出结果为第一解码器14第n-1层神经网络相应的输出结果。可以理解的是,第一解码器14根据第二评分隐向量得到第四输出结果具体为:将第二评分隐向量输入第一解码器14的第1层神经网络中,并获取第1层神经网络的输出结果,然后将第1层神经网络的输出结果输入第2层神经网络中,并获取第2层神经网络的输出结果,以次类推,直至获取第n-1层神经网络的输出结果。在本实施例中,根据第五公式计算第二交叉重构评分向量。具体地,第五公式为。其中, 表示第二交叉重构评分向量, 表示第一物品隐向量, 表示第二评分隐向量,表示第四输出结果, 表示激活函数。
步骤S208,根据第二初始评分向量和第二交叉重构评分向量计算第六损失值。在本实施例中,根据第六损失函数计算第六损失值,第六损失函数表示为。其中, 表示第六损失值, 表示第二初始评分向量, 表示第二交叉重构评分向量。
步骤S210,根据第一损失值、第二损失值、第三损失值、第四损失值、第五损失值以及第六损失值更新训练模型的参数。根据第一损失值、第二损失值、第三损失值、第四损失值、第五损失值以及第六损失值计算第二总损失值,再根据第二总损失值更新训练模型100的参数。在本实施例中,根据第六公式计算第二总损失值。具体地,第六公式为。其中, 表示第二总损失值, 表示第一损失值, 表示第二损失值, 表示第三损失值,表示第四损失值, 表示第五损失值, 表示第六损失值。当第二总损失值满足第二预设条件或者训练次数达到第二预设次数时,表示训练模型100训练完成。其中,第二预设条件和第二预设次数根据实际情况进行设置,在此不做限定。相应地,当训练模型100训练完成之后,将第二用户编码器22、第二物品编码器23和第二解码器24作为推荐模型。
上述实施例中,根据第一评分隐向量和第二物品内容向量获取第一交叉重构评分向量,根据第二评分隐向量和第一物品内容向量获取第二交叉重构评分向量,相应计算第五损失值和第六损失值,根据第一损失值、第二损失值、第三损失值、第四损失值、第五损失值、第六损失值更新训练模型的参数。其中,将第一交叉重构评分向量和第二交叉重构评分向量引入损失函数更新训练模型的参数,使得训练得到的推荐模型更加精准。
请结合参看图3、图4和图6,图3为本发明实施例提供的推荐方法的流程图,图4为本发明实施例提供的推荐方法的子流程图,图6为本发明实施例提供的推荐模型的内部结构示意图。推荐方法用于向待推荐用户推荐其感兴趣的目标域物品。推荐方法具体包括如下步骤。
步骤S302,获取待推荐用户内容向量和目标物品内容向量。其中,待推荐用户内容向量为待推荐用户对源域中所有物品的评论内容所形成的向量,目标物品内容向量为目标域中物品对应的所有评论内容所形成的向量。待推荐用户内容向量和目标物品内容向量均为词向量。
步骤S304,将待推荐用户内容向量和目标物品内容向量输入推荐模型并获取推荐物品。其中,推荐模型300由上述实施例所述的推荐模型的训练方法训练得到。推荐模型300包括目标用户编码器301、目标物品编码器302和目标解码器303。可以理解的是,目标用户编码器301与上述训练过程中的第二用户编码器22相对应,目标物品编码器302与上述训练过程中的第二物品编码器23相对应,目标解码器303与上述训练过程中的第二解码器24相对应。将待推荐用户内容向量和目标物品内容向量输入推荐模型并获取推荐物品具体包括如下步骤。
步骤S402,将待推荐用户内容向量输入目标用户编码器以得到目标用户隐向量。
步骤S404,将目标物品内容向量输入目标物品编码器以得到目标物品隐向量。
步骤S406,将目标用户隐向量输入目标解码器以得到目标评分向量。其中,目标解码器303根据目标物品隐向量对目标用户隐向量进行计算以得到目标评分向量。相应地,目标物品隐向量作为目标解码器303最后一层神经网络的参数对目标用户隐向量进行计算。
步骤S408,根据目标评分向量得到推荐物品。其中,目标评分向量包括若干数值,若干数值的数量与目标域中物品的数量相同,若干数值用于表示待推荐用户与相对应的物品产生交互的概率。其中,数值越大表示待推荐用户与相对应的物品产生交互的概率越大,数值越小表示待推荐用户与相对应的物品产生交互的概率越小。将若干数值按照从大到小的顺序进行排序,从最大数值开始选取预设数量的数值作为推荐数值。则,与推荐数值相对应的物品为推荐物品。举例来说,若目标域中包括物品h、i、j、k、l,目标评分向量为(0.9,0.2,0.5,0.7,0.1),预设数量为3。则,推荐物品为物品h、物品j以及物品k。
上述实施例中,将上述训练过程中训练得到的第二用户编码器、第二物品编码器和第二解码器作为推荐模型的目标用户编码器、目标物品编码器和目标解码器,将待推荐用户在源域中的待推荐用户内容向量和目标域的目标物品内容向量输入推荐模型之后,获取待推荐用户在目标域中感兴趣的推荐物品,从而缓解了数据稀疏问题和冷启动问题,且推荐模型的推荐准确率较高。
请结合参看图7,其为本发明实施例提供的终端的内部结构示意图。终端200包括计算机可读存储介质201、处理器202以及总线203。其中,计算机可读存储介质201至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。计算机可读存储介质201在一些实施例中可以是终端200的内部存储单元,例如终端200的硬盘。计算机可读存储介质201在另一些实施例中也可以是终端200的外部存储设备,例如终端200上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,计算机可读存储介质201还可以既包括终端200的内部存储单元也包括外部存储设备。计算机可读存储介质201不仅可以用于存储安装于终端200的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
总线203可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,终端200还可以包括显示组件204。显示组件204可以是发光二极管(Light Emitting Diode,LED)显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示组件204也可以适当的称为显示装置或显示单元,用于显示在终端200中处理的信息以及用于显示可视化的用户界面。
进一步地,终端200还可以包括通信组件205。通信组件205可选地可以包括有线通信组件和/或无线通信组件,如WI-FI通信组件、蓝牙通信组件等,通常用于在终端200与其他智能控制设备之间建立通信连接。
处理器202在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行计算机可读存储介质201中存储的程序代码或处理数据。具体地,处理器202执行处理程序以控制终端200实现推荐模型的训练方法。
图7仅示出了具有组件201-205、用于实现推荐模型的训练方法的终端200,本领域技术人员可以理解的是,图7示出的结构并不构成对终端200的限定,终端200可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所列举的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (10)
1.一种推荐模型的训练方法,其特征在于,所述推荐模型的训练方法包括:
初始化训练模型的参数,其中,所述训练模型包括第一自编码器、第一用户编码器、第一物品编码器、第一解码器、第二自编码器、第二用户编码器、第二物品编码器以及第二解码器;
获取训练数据,其中,所述训练数据包括源域的第一初始评分向量、第一用户内容向量、第一物品内容向量和目标域的第二初始评分向量、第二用户内容向量、第二物品内容向量;
将所述第一初始评分向量和所述第二初始评分向量分别输入所述第一自编码器和所述第二自编码器,其中,所述第一自编码器对所述第一初始评分向量进行降维处理以得到第一评分隐向量,所述第二自编码器对所述第二初始评分向量进行降维处理以得到第二评分隐向量;
根据所述第一评分隐向量和所述第二评分隐向量计算第一损失值;
将所述第一用户内容向量和所述第二用户内容向量分别输入所述第一用户编码器和所述第二用户编码器,其中,所述第一用户编码器对所述第一用户内容向量进行降维处理以得到第一用户隐向量,所述第二用户编码器对所述第二用户内容向量进行降维处理以得到第二用户隐向量;
根据所述第一评分隐向量、所述第二评分隐向量、所述第一用户隐向量以及所述第二用户隐向量计算第二损失值;
将所述第一物品内容向量和所述第二物品内容向量分别输入所述第一物品编码器和所述第二物品编码器,其中,所述第一物品编码器对所述第一物品内容向量进行降维处理以得到第一物品隐向量,所述第二物品编码器对所述第二物品内容向量进行降维处理以得到第二物品隐向量;
将所述第一评分隐向量输入所述第一解码器,其中,所述第一解码器根据所述第一物品隐向量重构所述第一评分隐向量以得到第一重构评分向量;
根据所述第一初始评分向量和所述第一重构评分向量计算第三损失值;
将所述第二评分隐向量输入所述第二解码器,其中,所述第二解码器根据所述第二物品隐向量重构所述第二评分隐向量以得到第二重构评分向量;
根据所述第二初始评分向量和所述第二重构评分向量计算第四损失值;
根据所述第一损失值、所述第二损失值、所述第三损失值以及所述第四损失值更新所述训练模型的参数;以及
将所述第二用户编码器、所述第二物品编码器和所述第二解码器作为推荐模型。
2.如权利要求1所述的推荐模型的训练方法,其特征在于,所述推荐模型的训练方法还包括:
将所述第一评分隐向量输入所述第二解码器,其中,所述第二解码器根据所述第二物品隐向量重构所述第一评分隐向量以得到第一交叉重构评分向量;
根据所述第一初始评分向量和所述第一交叉重构评分向量计算第五损失值;
将所述第二评分隐向量输入所述第一解码器,其中,所述第一解码器根据所述第一物品隐向量重构所述第二评分隐向量以得到第二交叉重构评分向量;
根据所述第二初始评分向量和所述第二交叉重构评分向量计算第六损失值;
根据所述第一损失值、所述第二损失值、所述第三损失值、所述第四损失值、所述第五损失值以及所述第六损失值更新所述训练模型的参数;以及
将所述第二用户编码器、所述第二物品编码器和所述第二解码器作为所述推荐模型。
3.如权利要求1所述的推荐模型的训练方法,其特征在于,根据所述第一评分隐向量和所述第二评分隐向量计算第一损失值具体包括:
计算所述第一评分隐向量和所述第二评分隐向量的互信息;
分析所述第一评分隐向量的分布和所述第二评分隐向量的分布,并根据所述第一评分隐向量的分布和所述第二评分隐向量的分布计算散度;以及
根据所述互信息和所述散度计算所述第一损失值。
4.如权利要求1所述的推荐模型的训练方法,其特征在于,所述第一解码器根据所述第一物品隐向量重构所述第一评分隐向量以得到第一重构评分向量具体包括:
所述第一解码器根据所述第一评分隐向量得到第一输出结果,其中,所述第一解码器包括n层神经网络,所述第一输出结果为第n-1层神经网络相应的输出结果,n为正整数;以及
所述第一解码器将所述第一物品隐向量作为第n层神经网络的参数对所述第一输出结果进行计算以得到所述第一重构评分向量。
5.如权利要求1所述的推荐模型的训练方法,其特征在于,所述第二解码器根据所述第二物品隐向量重构所述第二评分隐向量以得到第二重构评分向量具体包括:
所述第二解码器根据所述第二评分隐向量得到第二输出结果,其中,所述第二解码器包括n层神经网络,所述第二输出结果为第n-1层神经网络相应的输出结果,n为正整数;以及
所述第二解码器将所述第二物品隐向量作为第n层神经网络的参数对所述第二输出结果进行计算以得到所述第二重构评分向量。
6.如权利要求2所述的推荐模型的训练方法,其特征在于,所述第二解码器根据所述第二物品隐向量重构所述第一评分隐向量以得到第一交叉重构评分向量具体包括:
所述第二解码器根据所述第一评分隐向量得到第三输出结果,其中,所述第二解码器包括n层神经网络,所述第三输出结果为第n-1层神经网络相应的输出结果,n为正整数;以及
所述第二解码器将所述第二物品隐向量作为第n层神经网络的参数对所述第三输出结果进行计算以得到所述第一交叉重构评分向量。
7.如权利要求2所述的推荐模型的训练方法,其特征在于,所述第一解码器根据所述第一物品隐向量重构所述第二评分隐向量以得到第二交叉重构评分向量具体包括:
所述第一解码器根据所述第二评分隐向量得到第四输出结果,其中,所述第一解码器包括n层神经网络,所述第四输出结果为第n-1层神经网络相应的输出结果,n为正整数;以及
所述第一解码器将所述第一物品隐向量作为第n层神经网络的参数对所述第四输出结果进行计算以得到所述第二交叉重构评分向量。
8.一种推荐方法,其特征在于,所述推荐方法包括:
获取待推荐用户内容向量和目标物品内容向量;以及
将所述待推荐用户内容向量和所述目标物品内容向量输入推荐模型并获取推荐物品,其中,所述推荐模型由如权利要求1至7中任一项所述的推荐模型的训练方法训练得到。
9.如权利要求8所述的推荐方法,其特征在于,所述推荐模型包括目标用户编码器、目标物品编码器和目标解码器,将所述待推荐用户内容向量和所述目标物品内容向量输入推荐模型并获取推荐物品具体包括:
将所述待推荐用户内容向量输入所述目标用户编码器以得到目标用户隐向量;
将所述目标物品内容向量输入所述目标物品编码器以得到目标物品隐向量;
将所述目标用户隐向量输入所述目标解码器以得到目标评分向量,其中,所述目标解码器根据所述目标物品隐向量对所述目标用户隐向量进行计算以得到所述目标评分向量;以及
根据所述目标评分向量得到所述推荐物品。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序指令,所述程序指令可被处理器执行以实现如权利要求1至7中任一项所述的推荐模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111548115.0A CN113935477B (zh) | 2021-12-17 | 2021-12-17 | 推荐模型的训练方法、推荐方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111548115.0A CN113935477B (zh) | 2021-12-17 | 2021-12-17 | 推荐模型的训练方法、推荐方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113935477A CN113935477A (zh) | 2022-01-14 |
CN113935477B true CN113935477B (zh) | 2022-02-22 |
Family
ID=79289293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111548115.0A Active CN113935477B (zh) | 2021-12-17 | 2021-12-17 | 推荐模型的训练方法、推荐方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113935477B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2860672A2 (en) * | 2013-10-10 | 2015-04-15 | Deutsche Telekom AG | Scalable cross domain recommendation system |
CN107273438A (zh) * | 2017-05-24 | 2017-10-20 | 深圳大学 | 一种推荐方法、装置、设备及存储介质 |
CN112149734A (zh) * | 2020-09-23 | 2020-12-29 | 哈尔滨工程大学 | 一种基于堆叠自编码器的跨域推荐方法 |
CN112699310A (zh) * | 2020-12-30 | 2021-04-23 | 航天信息股份有限公司 | 基于深度神经网络的冷启动跨域混合推荐的方法及系统 |
CN113449205A (zh) * | 2021-08-30 | 2021-09-28 | 四川省人工智能研究院(宜宾) | 一种基于元数据增强的推荐方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210149671A1 (en) * | 2019-11-19 | 2021-05-20 | Intuit Inc. | Data structures and methods for enabling cross domain recommendations by a machine learning model |
-
2021
- 2021-12-17 CN CN202111548115.0A patent/CN113935477B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2860672A2 (en) * | 2013-10-10 | 2015-04-15 | Deutsche Telekom AG | Scalable cross domain recommendation system |
CN107273438A (zh) * | 2017-05-24 | 2017-10-20 | 深圳大学 | 一种推荐方法、装置、设备及存储介质 |
CN112149734A (zh) * | 2020-09-23 | 2020-12-29 | 哈尔滨工程大学 | 一种基于堆叠自编码器的跨域推荐方法 |
CN112699310A (zh) * | 2020-12-30 | 2021-04-23 | 航天信息股份有限公司 | 基于深度神经网络的冷启动跨域混合推荐的方法及系统 |
CN113449205A (zh) * | 2021-08-30 | 2021-09-28 | 四川省人工智能研究院(宜宾) | 一种基于元数据增强的推荐方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113935477A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944629B (zh) | 一种基于异质信息网络表示的推荐方法及装置 | |
CN110879864B (zh) | 一种基于图神经网络和注意力机制的上下文推荐方法 | |
CN112836120A (zh) | 一种基于多模态知识图谱的电影推荐方法、系统及终端 | |
WO2022016522A1 (zh) | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 | |
CN112632403B (zh) | 推荐模型的训练方法、推荐方法、装置、设备和介质 | |
US9983890B2 (en) | Collaborative generation of configuration technical data for a product to be manufactured | |
CN111652378B (zh) | 学习来选择类别特征的词汇 | |
WO2016151618A1 (ja) | 予測モデル更新システム、予測モデル更新方法および予測モデル更新プログラム | |
KR101635283B1 (ko) | 행렬 분해 모델 기반 데이터 분석 방법 및 장치 | |
JP2019113943A (ja) | 情報提供装置、情報提供方法、およびプログラム | |
CN109726331B (zh) | 对象偏好预测的方法、装置和计算机可读介质 | |
CN112948575A (zh) | 文本数据处理方法、装置和计算机可读存储介质 | |
CN109063120B (zh) | 一种基于聚类的协同过滤推荐方法和装置 | |
CN114880566A (zh) | 基于图神经网络的用户行为分析方法、装置、设备及介质 | |
US20180150754A1 (en) | Data analysis method, system and non-transitory computer readable medium | |
CN113935477B (zh) | 推荐模型的训练方法、推荐方法及计算机可读存储介质 | |
US10579752B2 (en) | Generating a model based on input | |
CN112507724A (zh) | 词权重确定方法、装置、服务器及计算机可读存储介质 | |
CN115618098B (zh) | 基于知识增强与空洞卷积的冷链物流推荐方法及装置 | |
CN113449200A (zh) | 物品推荐方法、装置及计算机存储介质 | |
CN108256018A (zh) | 一种物品推荐方法及装置 | |
Cotter et al. | Interpretable set functions | |
KR102323424B1 (ko) | 관측평점과 유사도 그래프를 활용한 추천 알고리즘의 평점 예측 방법 | |
CN113515704A (zh) | 推荐效果评价方法、装置、系统及计算机程序产品 | |
CN112862538A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518049 Floor 25, Block A, Zhongzhou Binhai Commercial Center Phase II, No. 9285, Binhe Boulevard, Shangsha Community, Shatou Street, Futian District, Shenzhen, Guangdong Patentee after: Shenzhen Youjia Innovation Technology Co.,Ltd. Address before: 518049 401, building 1, Shenzhen new generation industrial park, No. 136, Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong Province Patentee before: SHENZHEN MINIEYE INNOVATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |