CN111144976B - 推荐模型的训练方法及装置 - Google Patents
推荐模型的训练方法及装置 Download PDFInfo
- Publication number
- CN111144976B CN111144976B CN201911258582.2A CN201911258582A CN111144976B CN 111144976 B CN111144976 B CN 111144976B CN 201911258582 A CN201911258582 A CN 201911258582A CN 111144976 B CN111144976 B CN 111144976B
- Authority
- CN
- China
- Prior art keywords
- matrix
- user
- model
- recommended
- determining
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了推荐模型的训练方法及装置,方法包括:基于用户针对推荐对象的历史行为信息,确定用于指示用户和推荐对象的关联关系的网络关系图;基于网络关系图,确定网络关系图中每个用户和每个推荐对象的表示向量;基于所确定出的表示向量,确定推荐模型的模型参数初始值;以及使用训练样本,对推荐模型进行训练。在该方法中,用户的历史行为信息可能包括用户的隐私信息,该方法可以采用用户公开的非隐私的历史行为信息来实现,以保护用户隐私。
Description
技术领域
本公开涉及机器学习技术领域,具体地,涉及一种推荐模型的训练方法及装置。
背景技术
网络的普及给用户带来了大量的信息,满足了用户对信息的需求,但随着网络上信息的大幅增长,对于用户来说,这些信息中可能仅有小部分是需要的信息,很难从大量的信息中获取到所需的信息,这样就导致了信息超载的问题。为了解决信息超载的问题,推荐***应运而生,推荐***可以根据用户的需求给用户推荐感兴趣的信息、产品等。推荐***已应用于多个领域,其中在电子商务领域中应用的较为普遍。
目前,推荐***主要是利用推荐模型进行推荐,推荐模型可以是通过训练得到的。在对推荐模型进行训练前,需先对待训练的推荐模型的模型参数进行初始化,一般来说进行初始化的模型参数初始值均服从0均值的高斯分布。
然而,模型参数初始值并不一定是符合0均值的高斯分布,而在模型参数初始值不符合0均值的高斯分布的情况下,按照0均值的高斯分布来设置模型参数初始值,会影响推荐模型的训练结果,进而影响推荐模型的推荐效果。
发明内容
鉴于上述,本公开提供了一种推荐模型的训练方法及装置。在该方法中,基于用户针对推荐对象的历史行为信息来确定用于指示用户和推荐对象的关联关系的网络关系图,基于网络关系图来确定网络关系图中每个用户和每个推荐对象的表示向量,基于所确定出的表示向量确定推荐模型的模型参数初始值,使用训练样本对推荐模型进行训练。模型参数初始值参考了用户针对推荐对象的历史行为信息,相比于按照0均值的高斯分布来初始化推荐模型,基于历史行为信息的模型参数初始值更接近于具有更好的推荐效果的推荐模型的模型参数数值,这样,基于更优的模型参数初始值的推荐模型经过训练后会达到更好的推荐效果。
根据本公开的一个方面,提供了一种推荐模型的训练方法,包括:基于用户针对推荐对象的历史行为信息,确定用于指示所述用户和所述推荐对象的关联关系的网络关系图;基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量;基于所确定出的表示向量,确定推荐模型的模型参数初始值;以及使用训练样本,对推荐模型进行训练。
可选地,在上述方面的一个示例中,所述网络关系图包括二部图。
可选地,在上述方面的一个示例中,推荐模型采用推荐矩阵来表征,推荐模型包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且推荐模型的输出等于P矩阵和Q矩阵的矩阵乘积;基于所确定出的表示向量,确定所述推荐模型的模型参数初始值包括:将所确定出的每个用户的表示向量进行拼接处理以得到针对所述用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对所述推荐对象的第二矩阵;所述第一矩阵和第二矩阵的维度分别与所述P矩阵和所述Q矩阵的维度相同;以及基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值。
可选地,在上述方面的一个示例中,基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值包括:将第一矩阵和第二矩阵的各个元素的值,确定为P矩阵和Q矩阵的对应元素的初始值。
可选地,在上述方面的一个示例中,基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值包括:将以第一矩阵和第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为P矩阵和Q矩阵的对应元素的初始值。
可选地,在上述方面的一个示例中,基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量包括:基于所述网络关系图以及下述算法中的一种算法,来确定所述网络关系图中每个用户和每个推荐对象的表示向量:Deepwalk,node2vec,LINE,SDNE以及structure2vec。
可选地,在上述方面的一个示例中,历史行为信息包括购买行为信息、浏览行为信息、点击行为信息、付款行为信息以及用户之间的社交行为信息中的至少一种。
根据本公开的另一方面,还提供一种用于训练推荐模型的装置,包括:网络关系图确定单元被配置为基于用户针对推荐对象的历史行为信息,确定用于指示所述用户和所述推荐对象的关联关系的网络关系图;表示向量确定单元被配置为基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量;初始值确定单元被配置为基于所确定出的表示向量,确定所述推荐模型的模型参数初始值;以及模型训练单元被配置为使用训练样本,对所述推荐模型进行训练。
可选地,在上述方面的一个示例中,所述网络关系图包括二部图。
可选地,在上述方面的一个示例中,所述推荐模型采用推荐矩阵来表征,所述推荐模型包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且所述推荐模型的输出等于所述P矩阵和所述Q矩阵的矩阵乘积;所述初始值确定单元包括:表示向量拼接模块被配置为将所确定出的每个用户的表示向量进行拼接处理以得到针对所述用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对所述推荐对象的第二矩阵;所述第一矩阵和所述第二矩阵的维度分别与所述P矩阵和所述Q矩阵的维度相同;以及初始值确定模块被配置基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值。
可选地,在上述方面的一个示例中,所述初始值确定模块还被配置为:将所述第一矩阵和所述第二矩阵的各个元素的值,确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
可选地,在上述方面的一个示例中,所述初始值确定模块还被配置为:将以所述第一矩阵和所述第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于训练推荐模型的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于训练推荐模型的方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1示出了根据本公开的实施例的基于用户和物品的推荐矩阵的一个示例的示意图;
图2示出了根据本公开的实施例的用于训练推荐模型的方法的流程图;
图3示出了根据本公开的实施例的二部图的一个示例的示意图;
图4示出了根据本公开的实施例的P矩阵的一个示例的示意图;
图5示出了根据本公开的实施例的Q矩阵的一个示例的示意图;
图6示出了根据本公开的实施例的用于训练推荐模型的装置的方框图;
图7示出了根据本公开的实施例的用于训练推荐模型的方法的计算设备的硬件结构图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
推荐***已广泛应用于多个领域,下面以应用于电子商务的推荐***为例进行介绍。在电子商务领域中,推荐***主要是用于向用户推荐物品。对于基于推荐模型的推荐***来说,输入用户的相关信息,推荐模型即可以输出向用户推荐的物品信息。
推荐模型可以采用基于用户和物品的推荐矩阵来表征。图1示了根据本公开的实施例的基于用户和物品的推荐矩阵的一个示例的示意图,如图1所示,U1,U2,U3和U4表示用户,V1,V2,V3和V4表示物品。同一物品针对不同用户可以有不同的推荐值,对于同一用户来说,不同的物品可以对应不同的推荐值。例如,对于用户U1来说,物品V1的推荐值为0.5,物品V2的推荐值为0.3。
对于基于用户和物品的推荐矩阵来说,可以分解为针对用户的用户矩阵和针对物品的物品矩阵,用户矩阵和物品矩阵的矩阵乘积即为推荐矩阵。基于此,推荐模型可以采用用户矩阵和物品矩阵共同来表征,用户矩阵和物品矩阵中的各个元素即为模型参数。此时,对推荐模型进行训练,即是对用户矩阵和物品矩阵进行更新学习,直至得到满足条件的用户矩阵和物品矩阵。
在对推荐模型进行训练前,先对用户矩阵和物品矩阵进行初始化,即对用户矩阵和物品矩阵中的各个元素设定初始值。目前,按照用户矩阵和物品矩阵中的各个元素符合0均值的高斯分布来设定初始值。在初始化完成后,再对用户矩阵和物品矩阵进行更新学习。
然而,用户矩阵和物品矩阵中的各个元素并不一定符合0均值的高斯分布,而在用户矩阵和物品矩阵中的各个元素不符合0均值的高斯分布的情况下,按照0均值的高斯分布来设置用户矩阵和物品矩阵中的各个元素的初始值,会影响用户矩阵和物品矩阵的更新学习过程及结果,即影响推荐模型的训练结果,进而影响推荐模型的推荐效果。
为了解决上述问题,本公开提供了一种推荐模型的训练方法及装置。利用该推荐模型的训练方法及装置,首先基于用户针对推荐对象的历史行为信息来确定推荐模型的模型参数初始值,再对推荐模型进行训练。模型参数初始值参考了用户针对推荐对象的历史行为信息,相比于按照0均值的高斯分布来初始化推荐模型,基于历史行为信息的模型参数初始值更接近于具有更好的推荐效果的推荐模型的模型参数数值,这样,基于更优的模型参数初始值的推荐模型经过训练后会达到更好的推荐效果。
下面将结合附图来详细描述根据本公开实施例的推荐模型的训练方法及装置。
图2示出了根据本公开的实施例的用于训练推荐模型的方法的流程图。
如图2所示,在块210,基于用户针对推荐对象的历史行为信息,确定用于指示用户和推荐对象的关联关系的网络关系图。
在本公开中,推荐对象可以是物品、商品以及服务等对象中的至少一种。历史行为信息可以是指用户针对推荐对象已发生的行为的相关信息,若存在用户针对推荐对象的历史行为信息,则可以确定该用户对该推荐对象存在偏好,用户的历史行为不同,反映出的偏好程度可以不同。
在本公开中,历史行为信息可以包括购买行为信息,浏览行为信息,点击行为信息,付款行为信息以及用户之间的社交行为信息。当然,本公开中的历史行为信息并不仅限于以上五种行为信息。
购买行为信息、浏览行为信息、点击行为信息以及付款行为信息均可以是用户针对推荐对象的直接行为的相关信息。例如,推荐对象为商品时,用户购买该商品,用户浏览该商品,用户点击该商品的链接以及用户为该商品付款。
用户之间的社交行为可以包括论坛、博客等公开场合的聊天,点赞以及评论等行为中的至少一种。用户之间的社交行为信息可以是用户针对推荐对象的间接行为的相关信息,在一个示例中,若一用户对推荐对象存在偏好,另一用户与该用户之间存在针对该推荐对象的社交行为,则可以确定该另一用户对该推荐对象是存在偏好的。例如,用户A购买了商品a,用户B与用户A的聊天是针对该商品a的,则用户B对商品a存在一定的偏好度。
针对用户的历史行为信息,可以包括用户的隐私信息,比如两用户之间的私密聊天、邮件等,对于这些隐私信息,本公开的实施例可以不采用,以保护用户的隐私信息。历史行为信息还可以包括用户公开的非隐私的行为信息,比如,论坛中的公开发言、评论等,本公开的实施例可以采用这些用户公开的非隐私的行为信息。
网络关系图可以用来表征用户与推荐对象之间的关联关系,例如,推荐对象为物品,用户购买过该物品,则可以确定该用户和该物品之间存在关联关系。还可以用来表征用户之间的关系以及推荐对象之间的关系。例如,同一类型且具有同样功能的两个推荐对象之间可以认为存在关联关系。又例如,两个用户之间存在针对同一商品的点赞、评论等行为,则可以认为该两个用户之间存在关联关系。
在本公开的一个示例中,网络关系图可以包括二部图。下面以网络关系图为二部图为例进行说明。
二部图中用户与推荐对象之间的关联关系可以表示用户对推荐对象的偏好。当用户针对推荐对象存在至少一种历史行为信息时,则表示该用户对该推荐对象存在偏好,进一步地可以确定该用户和该推荐对象之间存在关联关系。在二部图中用一根连接线将表示该用户的点和表示该推荐对象的点连接起来。
图3示出了根据本公开的实施例的二部图的一个示例的示意图。如图3所示,用户U1和推荐对象V2存在关联关系,用户U2与推荐对象V1和V3均存在关联关系,用户U3与推荐对象V2和V4均存在关联关系,用户U4和推荐对象V3存在关联关系。以用户U2和推荐对象V3为例,若用户U2购买过推荐对象V3,则用户U2存在针对推荐对象V3的历史行为信息,则用一根连接线将U2和V3连接起来。
在本公开的一个示例中,二部图中的每一根连接线可以对应一个权重值,该权重值用于表示该连接线所连接的用户对所连接的推荐对象的偏好度,一般来说,权重值越大表示偏好度越高。
可以按照预设的权重计算规则,将用户针对推荐对象的历史行为信息转换成该用户针对推荐对象的权重值。一个示例中,可以设定每一种历史行为信息对应一个分值,若用户针对同一推荐对象存在多种历史行为信息,则将该多种历史行为信息对应的分值的和作为该用户针对该推荐对象的分值,并对该分值进行归一化处理,得到用户针对推荐对象的权重值。
例如,权重计算规则包括:付款行为信息对应的分值为5,购买行为信息对应的分值为4,点击行为信息对应的分值为3,浏览行为信息对应的分值为2以及用户之间的社交行为信息对应的分值为1。若用户U1针对推荐对象V2的历史行为信息包括:购买行为信息,点击行为信息以及与用户U2之间针对推荐对象V2的社交行为信息,则用户U1与推荐对象V2的分值为8,经过归一化处理后的权重值为0.6,则表示用户U1对推荐对象V2的偏好度为0.6,二部图中U1与V2之间的连接线对应的权重值为0.6。
在块220,基于网络关系图,确定网络关系图中每个用户和每个推荐对象的表示向量。
具体地,基于网络关系图,可以得到用于表征用户和推荐对象的邻居关系的节点序列。然后,利用词向量模型并以所得到的节点序列作为词向量模型的训练样本,得到网络关系图中每个用户和每个推荐对象的表示向量。
在一个示例中,基于二部图,使用Deepwalk,node2vec,LINE(large-scaleinformation network embedding),SDNE(Structural Deep Network Embedding,)以及structure2vec等算法中的一种算法来得到用于表征用户和推荐对象的邻居关系的节点序列。
以Deepwalk为例,将二部图中的每个用户和每个推荐对象均作为一个节点,则二部图可以表示各节点之间的连接图。在二部图中以随机游走的方式按顺序选取节点,并将选取的节点按照选取的先后顺序进行排列作为一个节点序列。例如,在图3中,以V1为起点开始游走,然后选取U2,再选取V3,最后选取U4,这样所得到的一个节点序列为{V1,U2,V3,U4}。
在二部图中,从不同的起点开始游走可以得到不同的节点序列,基于游走的随机性从同一起点开始游走也可以得到不同的节点序列。在二部图中的每一条连接线对应有权重值的情况下,在游走过程中连接线对应的权重值越大,则该连接线连接的节点被选择的概率越大。以图3为例,U1和V2之间的连接线的权重值为0.2,V2和U3之间的连接线的权重值为0.6,则当游走到V2位置时,下一个被选择的节点是U3的概率大于U1的概率。
通过Deepwalk的方式,可以得到多个节点序列,该多个节点序列可以反映出用户与推荐对象之间的关联关系以及关联程度。
在一个示例中,词向量模型可以是SkipGram模型。具体地,将所得到的节点序列作为训练样本,对SkipGram模型进行训练,可以得到SkipGram模型中隐层的权重矩阵。将每个用户和每个推荐对象以one-hot编码的形式输入至训练好的SkipGram模型,与隐层中的权重矩阵的矩阵乘积即为每个用户和每个推荐对象的表示向量。在本公开中,表示向量包括embedding向量。
在块230,基于所确定出的表示向量,确定推荐模型的模型参数初始值。
在本公开的一个示例中,推荐模型可以采用推荐矩阵来表征,推荐模型可以包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且推荐模型的输出等于P矩阵和Q矩阵的矩阵乘积。在本公开中,“P”和“Q”用于指代不同的矩阵。
P矩阵的维度为U×K,则Q矩阵的维度为K×V。U表示用户的数量,V表示推荐对象的数量,K表示所指定的参数的数量,K可以根据实际情况进行调节。
图4示出了根据本公开的实施例的P矩阵的一个示例的示意图,如图4所示,P矩阵的维度为4×3,P矩阵用于表示用户U1,U2,U3和U4分别与参数K1,K2和K3之间的关系。
图5示出了根据本公开的实施例的Q矩阵的一个示例的示意图,如图5所示,Q矩阵的维度为3×4,Q矩阵用于表示参数K1,K2和K3分别与推荐对象V1,V2,V3和V4之间的关系。上述图4和图5中的参数K1,K2和K3仅是一个示例,P矩阵和Q矩阵中参数K(比如K1,K2,K3…)的数量可以调节。
在本公开的一个示例中,在确定出每个用户和每个推荐对象的表示向量后,可以将所确定出的每个用户的表示向量进行拼接处理以得到针对网络关系图中的用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对网络关系图中的推荐对象的第二矩阵。
在该示例中,第一矩阵和第二矩阵的维度分别与P矩阵和Q矩阵的维度相同。例如,P矩阵为如图4所示的矩阵,则第一矩阵也为4×3的矩阵。Q矩阵为如图5所示的矩阵,则第二矩阵也为3×4的矩阵。
在该示例中,不限定针对用户的表示向量的拼接处理和针对推荐对象的表示向量的拼接处理的执行顺序。
在得到第一矩阵和第二矩阵后,可以基于第一矩阵和第二矩阵,分别确定P矩阵和Q矩阵中各个元素的初始值。P矩阵和Q矩阵中各个元素的初始值即为模型参数初始值。
在一个示例中,可以将第一矩阵和第二矩阵的各个元素的值,确定为P矩阵和Q矩阵的对应元素的初始值。此时,确定初始值的P矩阵与第一矩阵相同,确定初始值的Q矩阵与第二矩阵相同。
在另一个示例中,将以第一矩阵和第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为P矩阵和Q矩阵的对应元素的初始值。
例如,P矩阵为图4所示的矩阵,第一矩阵中第一行第一列的元素的值为2,则可以将满足以2为均值的高斯分布的值作为P矩阵中元素a11的值。
在块240,使用训练样本,对推荐模型进行训练。
在本公开中,训练样本包括推荐对象针对用户的真实推荐值。训练样本中所涉及的用户和推荐对象至少包括确定模型参数初始值所涉及的用户和推荐对象。例如,在确定模型参数初始值时涉及到的用户包括用户A、用户B和用户C,涉及的推荐对象包括对象a、对象b、对象c和对象d,那么,训练样本中的用户至少包括用户A、用户B以及用户C,训练样本中的对象至少包括对象a、对象b、对象c和对象d。
在本公开中,训练样本中的真实推荐值可以是指定的,例如,可以将用户A对推荐对象a的评分作为该推荐对象a针对用户A的真实推荐值。对于同一用户来说,不同的推荐对象的真实推荐值可以不同;对于同一推荐对象来说,不同的用户给出的真实推荐值可以不同。例如,图1所示的矩阵为训练样本,对于用户U1来说,V1的真实推荐值为0.5,V2的真实推荐值为0.3;对于V1来说,U2给出的真实推荐值为0.7,U3给出的真实推荐值为0.1。
在本公开的一个示例中,使用训练样本和预设的目标函数,并通过梯度下降等优化算法来更新学习P矩阵和Q矩阵。其中,目标函数可以是推荐矩阵分解为P矩阵和Q矩阵的损失函数。
具体地,在确定P矩阵和Q矩阵的各个元素的初始值之后,可以将P矩阵和Q矩阵相乘,所得到的结果即为当前推荐模型输出的推荐对象针对用户的推荐值。推荐模型输出的推荐值可以用以下公式表示为:
r′ij表示当前推荐模型输出的推荐对象Vj针对用户Ui的推荐值。例如,当前推荐模型输出的推荐对象V1针对用户U1的推荐值为:r′11=a11b11+a12b21+a13b31。
损失函数可以用以下公式表示:
将损失函数求元素aik的偏导数可以得到:
将损失函数求元素bkj的偏导数可以得到:
再基于梯度下降等优化算法来进行更新计算,这里以梯度下降为例进行介绍。根据梯度下降的优化算法,针对元素aik的迭代计算公式如下所示:
a′ik表示经过一次迭代计算后元素aik的下一个值,α表示步长。
针对元素bkj的迭代计算公式如下所示:
b′kj表示经过一次迭代计算后元素bkj的下一个值。
每经过一次迭代,将P矩阵和Q矩阵中对应的元素的值替换成通过梯度下降所计算出来的值。
在迭代次数达到指定次数,或者,上述损失函数的值收敛时,则可以停止计算,并将当前所得到的P矩阵和Q矩阵作为完成训练的推荐模型的P矩阵和Q矩阵。
推荐模型的模型参数影响推荐模型的推荐效果,对推荐模型进行训练即是对模型参数的数值进行更新学习,更新学习所得到的模型参数数值能够使得推荐模型达到更好的推荐效果。
用户针对推荐对象的历史行为信息可以反映该用户对该推荐对象的偏好度,因此基于历史行为信息所确定的模型参数初始值在一定程度上反映了用户对推荐对象的偏好度,模型参数初始值也更接近于具有更好的推荐效果的推荐模型的模型参数数值。在更优的模型参数初始值的基础上对模型参数进行更新学习,可以使得训练效果更好,进而使得推荐模型达到更好的推荐效果。
图6示出了根据本公开的实施例的用于训练推荐模型(在下文中简称为模型训练装置600)的装置的方框图。如图6所示,模型训练装置600包括网络关系图确定单元610,表示向量确定单元620,初始值确定单元630以及模型训练单元640。
网络关系图确定单元610被配置为基于用户针对推荐对象的历史行为信息,确定用于指示用户和推荐对象的关联关系的网络关系图。网络关系图确定单元610所执行的操作可以参考上面参照图2描述的块210的操作。在本公开的一个示例中,网络关系图包括二部图。
表示向量确定单元620被配置为基于网络关系图,确定网络关系图中每个用户和每个推荐对象的表示向量。表示向量确定单元620所执行的操作可以参考上面参照图2描述的块220的操作。
初始值确定单元630被配置为基于所确定出的表示向量,确定推荐模型的模型参数初始值。初始值确定单元630所执行的操作可以参考上面参照图2描述的块230的操作。
在本公开的一个示例中,推荐模型采用推荐矩阵来表征,推荐模型包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且推荐模型的输出等于P矩阵和Q矩阵的矩阵乘积;初始值确定单元630包括表示向量拼接模块和初始值确定模块,其中,表示向量拼接模块被配置为将所确定出的每个用户的表示向量进行拼接处理以得到针对用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对推荐对象的第二矩阵;第一矩阵和第二矩阵的维度分别与P矩阵和Q矩阵的维度相同;以及初始值确定模块被配置基于第一矩阵和第二矩阵,分别确定P矩阵和Q矩阵中各个元素的初始值。
在本公开的一个示例中,初始值确定模块被配置为将第一矩阵和第二矩阵的各个元素的值,确定为P矩阵和Q矩阵的对应元素的初始值。在本公开的另一个示例中,初始值确定模块被配置为将以第一矩阵和第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为P矩阵和Q矩阵的对应元素的初始值。
模型训练单元640被配置为使用训练样本,对推荐模型进行训练;其中,训练样本包括推荐对象针对用户的真实推荐值。模型训练单元640所执行的操作可以参考上面参照图2描述的块240的操作。
以上参照图1到图6,对根据本公开的推荐模型的训练方法及装置的实施例进行了描述。
本公开的用于训练推荐模型的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,用于训练推荐模型的装置例如可以利用计算设备实现。
图7示出了根据本公开的实施例的用于训练推荐模型的方法的计算设备700的硬件结构图。
如图7所示,计算设备700可以包括至少一个处理器710、存储器(例如,非易失性存储器)720、内存730和通信接口740,并且至少一个处理器710、存储器720、内存730和通信接口740经由总线760连接在一起。至少一个处理器710执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器710:基于用户针对推荐对象的历史行为信息,确定用于指示用户和推荐对象的关联关系的网络关系图;基于网络关系图,确定网络关系图中每个用户和每个推荐对象的表示向量;基于所确定出的表示向量,确定推荐模型的模型参数初始值;以及使用训练样本,对推荐模型进行训练。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器710进行本公开的各个实施例中以上结合图2描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图2描述的各种操作和功能。
具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (12)
1.一种用于训练推荐模型的方法,包括:
基于用户针对推荐对象的历史行为信息,确定用于指示所述用户和所述推荐对象的关联关系的网络关系图;
基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量;
基于所确定出的表示向量,确定所述推荐模型的模型参数初始值;以及
使用训练样本,对所述推荐模型进行训练,
其中,所述推荐模型采用推荐矩阵来表征,所述推荐模型包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且所述推荐模型的输出等于所述P矩阵和所述Q矩阵的矩阵乘积;
基于所确定出的表示向量,确定所述推荐模型的模型参数初始值包括:
将所确定出的每个用户的表示向量进行拼接处理以得到针对所述用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对所述推荐对象的第二矩阵;所述第一矩阵和第二矩阵的维度分别与所述P矩阵和所述Q矩阵的维度相同;以及
基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值。
2.如权利要求1所述的方法,其中,所述网络关系图包括二部图。
3.如权利要求1所述的方法,其中,基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值包括:
将所述第一矩阵和所述第二矩阵的各个元素的值,确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
4.如权利要求1所述的方法,其中,基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值包括:
将以所述第一矩阵和所述第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
5.如权利要求1所述的方法,其中,基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量包括:
基于所述网络关系图以及下述算法中的一种算法,来确定所述网络关系图中每个用户和每个推荐对象的表示向量:
Deepwalk,node2vec,LINE,SDNE以及structure2vec。
6.如权利要求1-5任一项所述的方法,其中,所述历史行为信息包括购买行为信息、浏览行为信息、点击行为信息、付款行为信息以及用户之间的社交行为信息中的至少一种。
7.一种用于训练推荐模型的装置,包括:
网络关系图确定单元,被配置为基于用户针对推荐对象的历史行为信息,确定用于指示所述用户和所述推荐对象的关联关系的网络关系图;
表示向量确定单元,被配置为基于所述网络关系图,确定所述网络关系图中每个用户和每个推荐对象的表示向量;
初始值确定单元,被配置为基于所确定出的表示向量,确定所述推荐模型的模型参数初始值;以及
模型训练单元,被配置为使用训练样本,对所述推荐模型进行训练,
其中,所述推荐模型采用推荐矩阵来表征,所述推荐模型包括针对用户的P矩阵和针对推荐对象的Q矩阵,并且所述推荐模型的输出等于所述P矩阵和所述Q矩阵的矩阵乘积;
所述初始值确定单元包括:
表示向量拼接模块,被配置为将所确定出的每个用户的表示向量进行拼接处理以得到针对所述用户的第一矩阵,并将所确定出的每个推荐对象的表示向量进行拼接处理以得到针对所述推荐对象的第二矩阵;所述第一矩阵和所述第二矩阵的维度分别与所述P矩阵和所述Q矩阵的维度相同;以及
初始值确定模块,被配置基于所述第一矩阵和所述第二矩阵,分别确定所述P矩阵和所述Q矩阵中各个元素的初始值。
8.如权利要求7所述的装置,其中,所述网络关系图包括二部图。
9.如权利要求7所述的装置,其中,所述初始值确定模块还被配置为:
将所述第一矩阵和所述第二矩阵的各个元素的值,确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
10.如权利要求7所述的装置,其中,所述初始值确定模块还被配置为:
将以所述第一矩阵和所述第二矩阵的各个元素的值为均值的高斯分布曲线上的任意值,分别确定为所述P矩阵和所述Q矩阵的对应元素的初始值。
11.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到6中任一所述的方法。
12.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258582.2A CN111144976B (zh) | 2019-12-10 | 2019-12-10 | 推荐模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258582.2A CN111144976B (zh) | 2019-12-10 | 2019-12-10 | 推荐模型的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111144976A CN111144976A (zh) | 2020-05-12 |
CN111144976B true CN111144976B (zh) | 2022-08-09 |
Family
ID=70518061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911258582.2A Active CN111144976B (zh) | 2019-12-10 | 2019-12-10 | 推荐模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144976B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112116426A (zh) * | 2020-09-21 | 2020-12-22 | 中国建设银行股份有限公司 | 一种推送物品信息的方法和装置 |
CN118096324A (zh) * | 2024-04-23 | 2024-05-28 | 成都帆点创想科技有限公司 | 推荐模型训练方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105913296B (zh) * | 2016-04-01 | 2020-01-03 | 北京理工大学 | 一种基于图的个性化推荐方法 |
US10147103B2 (en) * | 2017-03-24 | 2018-12-04 | International Business Machines Corproation | System and method for a scalable recommender system using massively parallel processors |
CN107330115B (zh) * | 2017-07-12 | 2020-04-28 | 广东工业大学 | 一种信息推荐方法及装置 |
CN110020186A (zh) * | 2018-05-08 | 2019-07-16 | 美味不用等(上海)信息科技股份有限公司 | 一种餐厅推荐方法及*** |
CN108874914B (zh) * | 2018-05-29 | 2021-11-02 | 吉林大学 | 一种基于图卷积与神经协同过滤的信息推荐方法 |
CN109446413B (zh) * | 2018-09-25 | 2021-06-01 | 上海交通大学 | 基于物品关联关系的序列化推荐方法 |
CN109446430B (zh) * | 2018-11-29 | 2021-10-01 | 西安电子科技大学 | 产品推荐的方法、装置、计算机设备及可读存储介质 |
CN109740064B (zh) * | 2019-01-18 | 2021-08-17 | 北京化工大学 | 一种融合矩阵分解和挖掘用户项目信息的cf推荐方法 |
CN110162696A (zh) * | 2019-04-11 | 2019-08-23 | 北京三快在线科技有限公司 | 基于图的推荐方法、装置、电子设备及存储介质 |
CN110134875A (zh) * | 2019-04-19 | 2019-08-16 | 南方科技大学 | 一种教育信息推荐方法、装置及*** |
CN110322053B (zh) * | 2019-06-13 | 2022-02-15 | 华中科技大学 | 一种基于图随机游走构建局部矩阵的评分预测方法 |
CN110321484B (zh) * | 2019-06-18 | 2023-06-02 | 中国平安财产保险股份有限公司 | 一种产品推荐方法及装置 |
CN110503506B (zh) * | 2019-07-05 | 2022-07-08 | 平安科技(深圳)有限公司 | 基于评分数据的物品推荐方法、装置及介质 |
CN110310185B (zh) * | 2019-07-10 | 2022-02-18 | 云南大学 | 基于加权二部图的大众化和新颖性商品推荐方法 |
-
2019
- 2019-12-10 CN CN201911258582.2A patent/CN111144976B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111144976A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107330445B (zh) | 用户属性的预测方法和装置 | |
US8631044B2 (en) | Machine optimization devices, methods, and systems | |
CN111523976A (zh) | 商品推荐方法、装置、电子设备及存储介质 | |
US20110238516A1 (en) | E-commerce threat detection | |
WO2009094672A2 (en) | Belief propagation for generalized matching | |
CN113268656A (zh) | 一种用户推荐方法、装置、电子设备及计算机存储介质 | |
US11403700B2 (en) | Link prediction using Hebbian graph embeddings | |
US20170032417A1 (en) | Detecting and generating online behavior from a clickstream | |
CN111008335B (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN110321473B (zh) | 基于多模态注意力的多样性偏好信息推送方法、***、介质及设备 | |
CN111144976B (zh) | 推荐模型的训练方法及装置 | |
US20230028266A1 (en) | Product recommendation to promote asset recycling | |
Xia et al. | Modeling consumer buying decision for recommendation based on multi-task deep learning | |
CN111275205A (zh) | 虚拟样本的生成方法、终端设备及存储介质 | |
CN110348947B (zh) | 对象推荐方法及装置 | |
WO2021146802A1 (en) | Method and system for optimizing an objective having discrete constraints | |
CN113592593A (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN111680213B (zh) | 信息推荐方法、数据处理方法及装置 | |
CN115982463A (zh) | 资源推荐方法、装置、设备及存储介质 | |
KR20210144330A (ko) | 협업 필터링 신경망을 이용하여 상품을 추천하는 방법 및 장치 | |
CN113868542B (zh) | 基于注意力模型的推送数据获取方法、装置、设备及介质 | |
WO2017095371A1 (en) | Product recommendations based on selected user and product attributes | |
Wang et al. | Prediction of purchase behaviors across heterogeneous social networks | |
JP6686208B1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN112488355A (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: 40028631 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |