CN111506821B - 推荐模型、方法、装置、设备及存储介质 - Google Patents
推荐模型、方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111506821B CN111506821B CN202010366717.3A CN202010366717A CN111506821B CN 111506821 B CN111506821 B CN 111506821B CN 202010366717 A CN202010366717 A CN 202010366717A CN 111506821 B CN111506821 B CN 111506821B
- Authority
- CN
- China
- Prior art keywords
- historical
- vector
- item
- layer
- recommendation
- 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
- 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
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种推荐模型、方法、装置、设备及存储介质,该模型包括:依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层,输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的ID。该模型中,输入层接收到的是目标用户的历史行为序列数据,而不需要获取目标用户的ID,并且设置有基于自注意力机制的第一自注意力层,一方面,使得该推荐模型具有很强的扩展性;另一方面,该模型在进行训练时,只用基于部分用户的历史行为序列数据进行训练,节约了计算资源;再一方面,使得推荐结果更全面和多样。
Description
技术领域
本发明实施例涉及大数据处理技术领域,尤其涉及一种推荐模型、方法、装置、设备及存储介质。
背景技术
在大数据时代,各种信息爆炸式增长,人们获取信息的方式从主动获取逐渐变成了被动获取,推荐就是被动获取信息最常见的一种方法。在人工智能时代,各种推荐算法和模型层出不穷。典型的代表有谷歌(Google)开源的深度学习框架TensorFlow中的神经协同过滤(Neural Collaborative Filter,NCF)模型,它是深度学习在推荐领域的应用。
目前,神经协同过滤模型基于用户的行为数据,构建用户、物品、评分数据,通过学习用户和物品的潜在兴趣向量,并进行充分的交互,采用正负样本采样的方式学习,来预测用户对于物品的兴趣概率,效果理想。
但是,目前的神经协同过滤模型,在构建训练数据时,将用户的编号,即用户标识(Identity,ID)作为用户的特征、将物品的编号即物品ID作为物品的特征。其中,将用户ID作为用户的特征具有以下缺点:
一方面,模型的可扩展性较差。由于用户ID具有唯一性,那么只有当用户具有历史行为数据,并且在模型的训练数据中存在,才能在模型预测阶段对该用户进行推荐计算,而对于不存在于训练数据中的用户,即使其有历史行为数据,也无法对其进行推荐计算。
另一方面,模型的计算量很大。当用户的数量非常多的时候,将所有用户都纳入模型中进行训练,计算量非常大,非常消耗计算资源,工程实现也很困难。
发明内容
本发明提供一种推荐模型、方法、装置、设备及存储介质,以解决目前的推荐模型可扩展性较差及计算量大的技术问题。
第一方面,本发明实施例提供一种推荐模型,包括:依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层;
其中,所述输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的ID,所述历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
所述嵌入层用于根据推荐候选物品的ID、所述推荐候选物品对应的嵌入向量、每个历史物品的ID以及每个所述历史物品对应的嵌入向量,生成推荐候选物品的潜在向量以及每个所述历史物品的潜在向量;
所述第一交互层用于根据所述推荐候选物品的潜在向量以及每个所述历史物品的潜在向量,生成每个所述历史物品的第一交互向量;
所述第一自注意力层用于根据每个所述历史物品的第一交互向量,基于自注意力机制,生成每个所述历史物品的第一自注意力向量;
所述第一拼接层用于对所有所述历史物品的第一自注意力向量进行拼接,生成所有历史物品的第一拼接向量;
所述输出层用于根据所述第一全连接层对所述所有历史物品的第一拼接向量进行全连接计算后的结果,输出所述目标用户在所述推荐候选物品上的行为概率。
第二方面,本发明实施例提供一种推荐方法,该方法应用于第一方面提供的推荐模型中,该方法包括:
获取所述目标用户的历史行为序列数据;其中,所述历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
将所述目标用户的历史行为序列数据以及推荐候选物品的ID,输入至所述推荐模型中,确定所述目标用户在所述推荐候选物品上的行为概率,将下一个物品作为新的所述推荐候选物品的ID,返回执行本步骤,直至确定出所述目标用户在R个所述推荐候选物品上的行为概率;其中,R为大于1的整数;
对所述目标用户在R个所述推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品;
向所述目标用户推荐所述目标推荐物品。
第三方面,本发明实施例提供一种推荐装置,包括:
第一获取模块,用于获取所述目标用户的历史行为序列数据;其中,所述历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
第一确定模块,用于将所述目标用户的历史行为序列数据以及推荐候选物品的ID,输入至所述推荐模型中,确定所述目标用户在所述推荐候选物品上的行为概率,将下一个物品作为新的所述推荐候选物品的ID,返回执行本步骤,直至确定出所述目标用户在R个所述推荐候选物品上的行为概率;其中,R为大于1的整数;
第二确定模块,用于对所述目标用户在R个所述推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品;
推荐模块,用于向所述目标用户推荐所述目标推荐物品。
第四方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面提供的推荐方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面提供的推荐方法。
本实施例提供一种推荐模型、方法、装置、设备及存储介质,该模型包括:依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层,输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的ID,嵌入层用于生成推荐候选物品的潜在向量以及每个历史物品的潜在向量,第一交互层用于生成每个历史物品的第一交互向量,第一自注意力层用于基于自注意力机制,生成每个历史物品的第一自注意力向量,第一拼接层用于生成所有历史物品的第一拼接向量,输出层用于输出目标用户在推荐候选物品上的行为概率。本实施例中的输入层接收到的是目标用户的历史行为序列数据以及推荐候选物品的ID,而不需要获取目标用户的ID,并且设置有基于自注意力机制的第一自注意力层。其具有以下技术效果:一方面,这样可以实现即便该目标用户不存在于该推荐模型的训练集中时,也可以实现向该目标用户推荐物品,即该推荐模型具有很强的扩展性;另一方面,这也说明了该模型在进行训练时,只要基于部分用户的历史行为序列数据进行训练,然后就能够对所有具有行为序列数据的用户进行推荐计算,计算量较小,节约了计算资源;再一方面,可以捕捉到目标用户的多种兴趣爱好,从而,使得推荐结果更全面和多样,提高了用户体验。
附图说明
图1为本发明一个实施例提供的推荐模型的结构示意图;
图2为图1所示实施例提供的推荐模型的具体结构示意图;
图3A为图1所示实施例提供的推荐模型中第一自注意力层计算过程的一种流程示意图;
图3B为图1所示实施例提供的推荐模型中第一自注意力层计算过程的另一种流程示意图;
图4为本发明另一个实施例提供的推荐模型的结构示意图;
图5为本发明一个实施例提供的推荐方法的流程示意图;
图6为本发明另一个实施例提供的推荐方法的流程示意图;
图7为本发明一个实施例提供的推荐装置的结构示意图;
图8为本发明另一个实施例提供的推荐装置的结构示意图;
图9为本发明一个实施例提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明一个实施例提供的推荐模型的结构示意图。如图1所示,本实施例提供的推荐模型包括:依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层。
其中,输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的ID。历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前。M为大于0的整数。
嵌入层用于根据推荐候选物品的ID、推荐候选物品对应的嵌入向量、每个历史物品的ID以及每个历史物品对应的嵌入向量,生成推荐候选物品的潜在向量以及每个历史物品的潜在向量。
第一交互层用于根据推荐候选物品的潜在向量以及每个历史物品的潜在向量,生成每个历史物品的第一交互向量。
第一自注意力层用于根据每个历史物品的第一交互向量,基于自注意力机制,生成每个历史物品的第一自注意力向量。
第一拼接层用于对所有历史物品的第一自注意力向量进行拼接,生成所有历史物品的第一拼接向量。
输出层用于根据第一全连接层对所有历史物品的第一拼接向量进行全连接计算后的结果,输出目标用户在推荐候选物品上的行为概率。
具体地,本实施例中的目标用户指的是需要向其推荐物品的用户。
本实施例中的物品可以为音乐、专辑、影视、图片、文章等多媒体物品,也可以为购物网站中可以被购买的实体物品。本实施例对此不作限制。
本实施例中的推荐候选物品指的是物品数据库中可以向该目标用户推荐,但是,还要基于计算出的行为概率确定最终是否会被推荐的物品。
当物品为多媒体物品时,本实施例中的用户的行为可以包括:点击、播放、购买、收藏等。当物品为购物网站中的物品时,本实施例中的用户的行为可以包括:加入购物车、购买、收藏、浏览等。
本实施例中的推荐模型可以为神经协同过滤模型。神经协同过滤模型的结构有三种形式:一是线性结构,例如,一般矩阵分解(General Matrix Factorization,GMF)模型;二是非线性模型,例如,多层感知机(Multilayer Perceptron,MLP)模型;三是线性和非线性模型相结合的模型。本实施例中的模型可以为上述线性结构以及非线性模型中的任一种。线性和非线性模型相结合的模型将在后文图4所示实施例中进行详细描述。
本实施例中的历史行为序列数据包括了M个历史行为对应的M个历史物品的ID。该历史行为序列数据按照时间先后排序:对应的历史行为发生的越早的历史物品,排列越靠前;对应的历史行为发生的越晚的历史物品,排列越靠后。也即,历史行为序列数据中的每一个元素都来自于物品集合。举例来说,目标用户3.1日8:00时播放了电影A_1,3.1日21:00时播放了电影A_2,3.3日13:00时播放了电影A_8,3.4日20:00时播放了电影A_4,则该目标用户的历史行为序列数据为(A_1,A_2,A_8,A_4)。
本实施例中的输入层接收到的是目标用户的历史行为序列数据以及推荐候选物品的ID,而不需要获取目标用户的ID。一方面,这样可以实现即便该目标用户不存在于该推荐模型的训练集中时,也可以实现向该目标用户推荐物品。因此,可以看出该推荐模型具有很强的扩展性。另一方面,这也说明了该模型在进行训练时,只要基于部分用户的历史行为序列数据进行训练,然后就能够对所有具有行为序列数据的用户进行推荐计算,计算量较小,节约了计算资源。
本实施例中,采用用户行为序列数据来替代具有唯一性的用户ID特征,参与模型训练。在保证推荐效果的同时,提高了推荐模型的可扩展性以及节约了计算资源。
可选地,本实施例中的嵌入层具体将推荐候选物品的ID以及推荐候选物品对应的嵌入向量的乘积,确定为推荐候选物品的潜在向量。将每个历史物品的ID及对应的嵌入向量的乘积,确定为每个历史物品的潜在向量。不同的物品对应的嵌入向量可以不同。该嵌入向量作为推荐模型的一部分参数,是通过模型的训练过程获取到的。
本实施例中的第一交互层具有以下几种不同的实现方式。
第一种实现方式中,第一交互层具体用于将每个历史物品的潜在向量与推荐候选物品的潜在向量进行元素积,生成每个历史物品的第一交互向量。
本实施例中的元素积,指的是将每个历史物品的潜在向量与推荐候选物品的潜在向量的相同位置处的元素相乘,将该乘积作为新的向量的该相同位置处的元素,将所有元素的乘积组成的新的向量,作为每个历史物品的第一交互向量。
第二种实现方式中,第一交互层包括:相互连接的交互子层与全连接子层。交互子层具体用于将每个历史物品的潜在向量与推荐候选物品的潜在向量进行拼接,得到每个历史物品的第一拼接向量;全连接子层用于对每个历史物品的第一拼接向量进行全连接计算,生成每个历史物品的第一交互向量。
在该实现方式中,全连接子层的个数可以为多个。
第三种实现方式中,第一交互层具体用于将每个历史物品的潜在向量的均值与推荐候选物品的潜在向量相乘,生成每个历史物品的第一交互向量。
第四种实现方式中,第一交互层具体用于将每个历史物品的潜在向量与推荐候选物品的潜在向量的均值相乘,生成每个历史物品的第一交互向量。
第五种实现方式中,第一交互层具体用于根据每个历史物品的潜在向量,确定每个历史物品的拼接潜在向量,根据推荐候选物品的潜在向量,确定推荐候选物品的拼接潜在向量,将每个历史物品的拼接潜在向量与推荐候选物品的拼接潜在向量进行元素积,生成每个历史物品的第一交互向量。
需要说明的是,上述五种第一交互层的实现方式,在不冲突的情况下,可以结合使用。在此不再赘述。
可选地,第一自注意力层具体用于根据每个历史物品的第一交互向量,基于自注意力机制,确定每个历史物品的第一自注意力向量。
在历史行为序列数据中,每个历史行为对应的历史物品与推荐候选物品之间的相关程度不一致。自注意力机制本质上,是通过注意力分数来衡量这种相关程度,并通过加权求和来获取每个历史物品的第一交互向量的新的表达,即,获取每个历史物品的第一自注意力向量。第一自注意力向量不但蕴含了每个历史物品与推荐候选物品之间的相关程度,还蕴含了每个历史物品与其他所有物品的关系。因此,第一自注意力向量是一个更加全局的表达。
在该推荐模型中,设置基于自注意力机制的第一自注意力层,可以捕捉到目标用户的多种兴趣爱好,从而,使得推荐结果更全面和多样,提高了用户体验。
本实施例中的第一自注意力层只要能够基于自注意力机制,生成每个历史物品的第一自注意力向量即可。本实施例对第一自注意力层具体的实现方式不作限制。
第一拼接层将所有历史物品的第一自注意力向量进行拼接,即,将所有历史物品的第一自注意力向量,按照历史行为序列数据中对应的历史物品的排列顺序,进行排列,形成一个整体的向量,称为所有历史物品的第一拼接向量。
第一全连接层对采用激活函数对所有历史物品的第一拼接向量进行全连接计算。示例性地,第一全连接层的激活函数可以为relu。
输出层用来预测目标用户在推荐候选物品上的行为概率,具体根据激活函数及第一全连接层对所有历史物品的第一拼接向量进行全连接计算后的结果,输出目标用户在推荐候选物品上的行为概率。示例性地,输出层的激活函数可以为sigmoid。
图2为图1所示实施例提供的推荐模型的具体结构示意图。如图2所示,假设目标用户的历史行为序列数据有M个物品,对应的物品ID记为itemId1、itemId2,……,itemIdM。推荐候选物品的ID记为itemIdN。因此,输入层输入的为(itemId1、itemId2,……,itemIdM)以及itemIdN。
嵌入层将所有物品ID进行嵌入(Embedding)操作,得到物品嵌入矩阵,记为itemEmbedding。每一个物品ID对应唯一的Embedding向量,即潜在向量。然后根据输入层的物品ID在itemEmbedding矩阵中查询,得到每个物品相应的潜在向量,用于后续计算。假设用户历史行为序列数据itemId1、itemId2,……,itemIdM对应的潜在向量分别是itemId1Embedding、itemId2Embedding,……,itemIdMEmbedding。推荐候选物品的itemIdN对应的潜在向量记为itemIdNEmbedding。
第一交互层用于将itemId1Embedding、itemId2Embedding,……,itemIdMEmbedding分别与itemIdNEmbedding进行元素积计算,分别得到每个历史物品的第一交互向量,记为itemId1⊙NEmbedding、itemId2⊙NEmbedding,……,itemIdM⊙NEmbedding,其中,符号⊙表示元素积。
第一自注意力层根据每个历史物品的第一交互向量,基于自注意力机制,得到每个历史物品的第一自注意力向量,分别记为itemId1⊙NEmbeddingAttention、itemId2⊙NEmbeddingAttention,……,itemIdM⊙NEmbeddingAttention。
第一拼接层将第一自注意力向量itemId1⊙NEmbeddingAttention、itemId2⊙NEmbeddingAttention,……,itemIdM⊙NEmbeddingAttention进行拼接操作,即Concatenate操作。
输出层用来预测用户在物品上的行为概率,激活函数为sigmoid。
需要说明的是,由于该推荐模型中输入层接收的历史行为序列数据包括M个历史行为对应的M个历史物品的ID,如果目标用户的实际的历史行为的个数大于M,则取最近的M个历史行为对应的M个历史物品的ID输入推荐模型中;如果目标用户的实际的历史行为的个数小于M,则用同一个符号填充在已有的历史物品ID序列的左边,将填充后的历史行为序列数据输入推荐模型中。
以下对第一自注意力层的一种可能的实现方式进行详细描述。图3A为图1所示实施例提供的推荐模型中第一自注意力层计算过程的一种流程示意图。如图3A所示,第一自注意力层具体用于:
步骤301:根据每个历史物品的第一交互向量,确定每个历史物品的第一交互向量的查询向量、键向量以及值向量。
需要说明的是,查询向量、键向量以及值向量的维度相同,并且小于对应的第一交互向量的维度。示例性地,可以通过模型训练得到每个历史物品的第一交互向量的查询向量、键向量以及值向量。
步骤302:计算第i个历史物品的第一交互向量的查询向量Qi分别与每个历史物品的第一交互向量的键向量的相似度,得到第i个历史物品对应的相似度向量Si。
其中,相似度向量中的第j个相似度表示第i个历史物品的第一交互向量的查询向量Qi与第j个历史物品的第一交互向量的键向量Kj的相似度。1≤i≤M,1≤j≤M。
具体地,一实现方式中,可以通过计算查询向量Qi与每个历史物品(包括第i个历史物品本身)的第一交互向量的键向量的点积、余弦(Cosine)相似度或者基于多层感知器(Multi-Layer Perceptron,MLP)网络,来确定查询向量Qi与每个历史物品的第一交互向量的键向量的相似度。
另一实现方式中,可以通过计算查询向量Qi与每个历史物品的第一交互向量的键向量的点积、Cosine相似度或者基于MLP网络,确定查询向量Qi与每个历史物品的第一交互向量的键向量的初始相似度,再用初始相似度除以查询向量的维数的开方,得到查询向量Qi与每个历史物品的第一交互向量的键向量的相似度。
可以理解的是,可以获取到M个相似度。
之后,将获取到的多个相似度,按照每个相似度对应的键向量所属的历史物品的排列顺序进行排列,得到第i个历史物品对应的相似度向量Si。也即,相似度向量中的第j个相似度表示第i个历史物品的第一交互向量的查询向量Qi与第j个历史物品的第一交互向量的键向量Kj的相似度。
步骤303:根据第i个历史物品对应的激活函数以及第i个历史物品对应的相似度向量Si,得到第i个历史物品对应的归一化后的相似度向量Ai。
其中,归一化后的相似度向量Ai中归一化后的相似度的排列顺序与相似度向量中相似度的排列顺序相同。
需要说明的是,归一化后的相似度向量Ai中归一化后的相似度为0-1之间的数,且Ai中的所有归一化后的相似度相加后的和为1。
示例性地,激活函数可以是softmax函数。需要说明的是,每个历史物品对应的激活函数中的参数可以不同。激活函数中的参数可以通过推荐模型的训练过程确定。
其中,ATi表示第i个历史物品的第一自注意力向量,aip表示第i个历史物品对应的归一化后的相似度向量Ai中的第p个分量,Vp表示第p个历史物品的第一交互向量的值向量。1≤p≤M。
需要说明的是,本实施例中的第i个历史物品指的是历史行为序列数据中排列在第i个的历史物品。
为了提高推荐效率,第一自注意力层可以同时输出每个历史物品的第一自注意力向量。
以下以一个具体的例子说明上述过程。假设有4个历史物品,可以得到4个键向量:K1、K 2、K 3以及K 4,4个值向量:V1、V2、V3以及V4。其中,K1为第1个历史物品的第一交互向量的键向量,V1为第1个历史物品的第一交互向量的值向量,依此类推。
图3B为图1所示实施例提供的推荐模型中第一自注意力层计算过程的另一种流程示意图。如图3B所述,第一自注意力层根据第i个历史物品的第一交互向量的查询向量Qi、每个历史物品的第一交互向量的键向量以及每个历史物品的第一交互向量的值向量,输出第i个历史物品的第一自注意力向量ATi。
计算过程可以分为如下三个阶段。
第一阶段:根据相似度函数F(Q,K),分别计算查询向量Qi与K1、K 2、K 3以及K 4的相似度Si1、Si2、Si3及Si4。Si1表示Qi与第1个历史物品的第一交互向量的键向量的相似度,Si2表示Qi与第2个历史物品的第一交互向量的键向量的相似度,Si3表示Qi与第3个历史物品的第一交互向量的键向量的相似度,Si4表示Qi与第4个历史物品的第一交互向量的键向量的相似度。
第二阶段:将(Si1,Si2,Si3,Si4)作为第i个历史物品的相似度向量Si。根据第i个历史物品对应的激活函数以及相似度向量Si,确定第i个历史物品对应的归一化后的相似度向量Ai。Ai为(ai1,ai2,ai3,ai4)。其中,ai1表示Qi与第1个历史物品的第一交互向量的键向量的归一化后的相似度,ai2表示Qi与第2个历史物品的第一交互向量的键向量的归一化后的相似度,ai3表示Qi与第3个历史物品的第一交互向量的键向量的归一化后的相似度,ai4表示Qi与第4个历史物品的第一交互向量的键向量的归一化后的相似度。
需要说明的是,ai1,ai2,ai3以及ai4均为0-1之间的数,且ai1,ai2,ai3以及ai4的和为1。
第三阶段:将ai1V1+ai2V2+ai3V3+ai4V4得到的向量,作为第i个历史物品的第一自注意力向量ATi。
本实施例提供的推荐模型,包括:依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层,输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的ID,嵌入层用于生成推荐候选物品的潜在向量以及每个历史物品的潜在向量,第一交互层用于生成每个历史物品的第一交互向量,第一自注意力层基于自注意力机制,生成每个历史物品的第一自注意力向量,第一拼接层用于生成所有历史物品的第一拼接向量,输出层用于输出目标用户在推荐候选物品上的行为概率。本实施例中的输入层接收到的是目标用户的历史行为序列数据以及推荐候选物品的ID,而不需要获取目标用户的ID,并且设置有基于自注意力机制的第一自注意力层。其具有以下技术效果:一方面,这样可以实现即便该目标用户不存在于该推荐模型的训练集中时,也可以实现向该目标用户推荐物品,即该推荐模型具有很强的扩展性;另一方面,这也说明了该模型在进行训练时,只要基于部分用户的历史行为序列数据进行训练,然后就能够对所有具有行为序列数据的用户进行推荐计算,计算量较小,节约了计算资源;再一方面,可以捕捉到目标用户的多种兴趣爱好,从而,使得推荐结果更全面和多样,提高了用户体验。
图4为本发明另一个实施例提供的推荐模型的结构示意图。本实施例在图1和图2所示实施例的基础上,对推荐模型的另一种结构进行详细说明。如图4所示,本实施例提供的推荐模型在图1和图2所示实施例的基础上,还包括:第三拼接层,依次连接的第二交互层、第二自注意力层、第二拼接层以及第二全连接层。第二交互层的输入端与嵌入层的输出端连接。所述第二全连接层的输出端以及所述第一全连接层的输出端与所述第三拼接层的输入端连接。所述第三拼接层的输出端与所述输出层的输入端连接。
第一交互层具体用于将每个历史物品的潜在向量与推荐候选物品的潜在向量进行元素积,生成每个历史物品的第一交互向量。
第二交互层具体用于将每个历史物品的潜在向量与推荐候选物品的潜在向量进行拼接,得到每个历史物品的第二拼接向量,对每个历史物品的第二拼接向量进行全连接计算,生成每个历史物品的第二交互向量。
第二自注意力层用于根据每个历史物品的第二交互向量,基于自注意力机制,生成每个历史物品的第二自注意力向量;
第二拼接层用于对所有历史物品的第二自注意力向量进行拼接,生成所有历史物品的第二拼接向量。
所述第三拼接层用于将所述第一全连接层对所述所有历史物品的第一拼接向量进行全连接计算后的结果,以及,将所述第二全连接层对所述所有历史物品的第二拼接向量进行全连接计算后的结果,进行拼接,形成所有历史物品的第三拼接向量。
输出层用于根据所有历史物品的第三拼接向量,输出目标用户在推荐候选物品上的行为概率。
该实施例中,采用的是线性与非线性结合的神经协同过滤模型:第一交互层、第一自注意力层、第一拼接层以及第一全连接层为线性部分,第二交互层、第二自注意力层、第二拼接层以及第二全连接层为非线性部分。第一全连接层对所有历史物品的第一拼接向量进行全连接计算。第二全连接层对所有历史物品的第二拼接向量进行全连接计算。第三拼接层将第一全连接层的输出结果以及第二全连接层的输出结果进行拼接,形成所有历史物品的第三拼接向量。输出层用于根据所有历史物品的第三拼接向量,输出目标用户在推荐候选物品上的行为概率。
该推荐模型由于结合采用了线性模型与非线性模型相结合的方式,采用该推荐模型进行推荐的准确性较高。
图5为本发明一个实施例提供的推荐方法的流程示意图。本实施例适用于根据目标用户的历史行为序列数据,确定向该目标用户推荐的目标推荐物品的场景中。本实施例可以由推荐装置来执行,该推荐装置可以由软件和/或硬件的方式实现,该推荐装置可以集成于计算机设备中。如图5所示,本实施例提供的推荐方法包括如下步骤:
步骤401:获取目标用户的历史行为序列数据。
其中,历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前。M为大于0的整数。
具体地,本实施例中的计算机设备可以为服务器,也可以为终端设备。这里的终端设备可以为手持设备、车载设备、可穿戴设备,以及各种形式的用户设备(User Equipment;简称:UE),移动台(Mobile Station;简称:MS)及终端(terminal)等。示例性地,本发明实施例的终端设备可以是智能手机、平板电脑、智能电视等。
本实施例中的推荐模型可以为图1-图4所示实施例及各种可选的实现方式中的推荐模型。
本实施例中的目标用户的历史行为序列数据指的是该目标用户在当前时刻之前的行为序列数据。可选地,可以从用户访问数据库的日志中获取该目标用户的历史行为序列数据。
步骤402:将目标用户的历史行为序列数据以及推荐候选物品的ID,输入至推荐模型中,确定目标用户在推荐候选物品上的行为概率,将下一个物品作为新的推荐候选物品的ID,返回执行本步骤,直至确定出目标用户在R个推荐候选物品上的行为概率。
其中,R为大于1的整数。
将目标用户的历史行为序列数据以及推荐候选物品的ID输入推荐模型中,该推荐模型即可输出目标用户在推荐候选物品上的行为概率。本实施例中可以采用该推荐模型确定出目标用户在R个推荐候选物品上的行为概率。
步骤403:对目标用户在R个推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品。
步骤404:向目标用户推荐目标推荐物品。
在确定出目标用户在R个推荐候选物品上的行为概率之后,可以对该目标用户在R个推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品。之后,向目标用户推荐该目标推荐物品。
基于对推荐模型的描述,可知,本实施例提供的推荐方式,可以灵活实现向不在推荐模型训练集中的目标用户推荐物品,一方面,可扩展性强,另一方面,在训练该推荐模型时,不需要将所有用户都纳入模型中进行训练,计算量较小,节省了计算资源,再一方面,基于自注意力机制,提高了推荐的全面性和多样化,用户体验较高。
图6为本发明另一个实施例提供的推荐方法的流程示意图。本实施例在图5所示实施例的基础上,对如何训练该推荐模型的步骤作一详细说明。本实施例中仅描述对推荐模型进行训练的过程。如图6所示,本实施例提供的推荐方法还包括如下步骤:
步骤501:获取训练集中的训练历史行为序列数据,以及,每个训练历史行为序列数据对应的实际结果。
可选地,步骤501具体可以为:获取训练用户的训练行为序列数据,其中,训练行为序列数据包括M+1个行为对应的M+1个物品的ID,并且,发生的越早的行为所对应的物品的ID排列越靠前;将训练行为序列数据中除最后一次行为对应的物品之外的其他物品,确定为训练历史行为序列数据;将训练行为序列数据中最后一次行为对应的物品,确定为训练历史行为序列数据对应的正样本;将数据库中,不包括在训练用户行为序列数据中的物品,确定为练历史行为序列数据对应的负样本。
本实施例中的训练历史行为序列数据对应的实际结果包括正样本或者负样本。其中,正样本指的是用户有行为数据的物品,负样本指的是用户没有行为数据的物品。
将用户群体记为Users,假设有k个用户,其集合记为{user_1,user_2,……,user_k}。将物品数据记为A,这里以电影为例,假设电影集合A有t部电影,其集合记为{A_1,A_2,……,A_t}。这里的用户群体指的是训练用户群体。
假设用户在电影集合A上有行为序列数据,以user_1、user_2为例,user_1在A_1、A_2、A_8、A_4和A_5上有观看行为;user_2在A_2、A_3和A_10上有观看行为,则按“历史行为序列数据”、“最近一次行为数据”来区分。之所以要将用户行为序列数据分成“历史行为序列数据”、“最近一次行为数据”,就是要用“历史行为序列数据”来代替原有神经协同过滤模型中的用户ID特征,而“最近一次行为数据”相当于原有神经协同过滤模型中的物品ID特征。如下表所示:
表1用户行为序列数据样例
用户ID | 历史行为序列数据 | 最近一次行为数据 |
user_1 | A_1、A_2、A_8、A_4 | A_5 |
user_2 | A_2、A_3 | A_10 |
由于模型需要构建二分类模型,因此需要构建二分类模型训练数据,即需要正样本和负样本。
正样本的构建方法如下,将用户对物品的最近一次的行为数据作为该用户对于物品的正样本。以表1为例,user_1的最近一次行为数据是A_5,则user_1对于A_5的评分为1;同理,user_2的最近一次行为数据是A_10,其对于A_10评分为1,可以构造如下表所示的正样本评分数据。
表2用户行为数据(二分类)正样本样例
用户ID | 数据A | 评分 |
user_1 | A_5 | 1 |
user_2 | A_10 | 1 |
由于二分类模型在训练时,需要正负样本,而用户对于物品的行为数据只能产生正样本,因此需要进行负采样生成负样本。
负样本的构建方法如下,每个正样本对应若干个负样本,如4个,在用户没有行为的物品集合中,随机选取4个物品作为负样本。
以用户user_1为例,其在物品A_1、A_2、A_8、A_4和A_5上有行为数据,这些物品不能作为user_1的负样本,则通过在这些物品之外的物品集合中进行随机采样,生成负样本。假设用户user_1随机选取物品A_3、A_7、A_11、A_20作为负样本,那么用户user_1在这4个物品上的评分均为0。
同理,user_2在物品A_2、A_3和A_10上有行为数据,这些物品也不能作为user_2的负样本,通过在这些物品之外的物品集合中进行随机采样,生成负样本。假设用户user_2随机选取物品A_50、A_9、A_30、A_39作为负样本,那么用户user_2在这4个物品上的评分均为0。
将用户的正样本和负样本融合一起,得到如下表格。
表3用户行为数据(二分类)正负样本样例
用户ID | 数据A | 评分 |
user_1 | A_5 | 1 |
user_1 | A_3 | 0 |
user_1 | A_7 | 0 |
user_1 | A_11 | 0 |
user_1 | A_20 | 0 |
user_2 | A_10 | 1 |
user_2 | A_50 | 0 |
user_2 | A_9 | 0 |
user_2 | A_30 | 0 |
user_2 | A_39 | 0 |
由于在构建模型时,需要用用户的历史行为序列数据来代替用户ID特征,那么将以上表格中的用户ID替换成用户“历史行为序列数据”,作为用户特征,就得到了模型训练数据。表格展示如下。
表4模型训练数据样例
需要说明的是,步骤501中的用户均指的是训练用户。由于该推荐模型中输入层接收的历史行为序列数据包括M个历史行为对应的M个历史物品的ID,如果训练用户的实际的历史行为的个数大于M,则取最近的M个历史行为对应的M个历史物品的ID输入推荐模型中;如果训练用户的实际的历史行为的个数小于M,则用同一个符号填充在已有的历史物品ID序列的左边,将填充后的历史行为序列数据输入推荐模型中。
步骤502:将训练历史行为序列数据输入初始推荐模型中,获取输出结果。
步骤503:根据输出结果以及对应的训练历史行为序列数据的实际结果,确定损失函数。
步骤502中的输出结果指的是初始推荐模型预测的训练用户在正样本或者负样本上的行为概率。由于训练用户在正样本上的实际行为概率(为1)或者在负样本上的实际行为概率(为0)是已知的,则可以根据初始推荐模型的输出结果以及对应的训练历史行为序列数据的实际结果,确定损失函数。具体地,整个模型可以采用二元交叉熵作为损失函数进行优化。
步骤504:当损失函数大于预设阈值时,调整初始推荐模型的模型参数,确定更新后的推荐模型,将更新后的推荐模型作为初始推荐模型,返回执行将训练历史行为序列数据输入初始推荐模型中,获取输出结果的步骤,直至损失函数小于或者等于预设阈值,将损失函数小于或者等于阈值时的推荐模型确定为推荐模型。
需要说明的是,步骤501-步骤504可以是服务器或者其他计算机设备执行的操作,也可以是本实施例中的推荐装置执行的操作,本实施例对此不作限制。
基于本实施例提供的推荐方法,训练出的推荐模型的可扩展性强,同时,训练过程中计算量小,节约了计算资源。
图7为本发明一个实施例提供的推荐装置的结构示意图。如图7所示,本实施例提供的推荐装置包括:第一获取模块61、第一确定模块62、第二确定模块63以及推荐模块64。
第一获取模块61,用于获取目标用户的历史行为序列数据。
其中,历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前。M为大于0的整数。
第一确定模块62,用于将目标用户的历史行为序列数据以及推荐候选物品的ID,输入至推荐模型中,确定目标用户在推荐候选物品上的行为概率,将下一个物品作为新的推荐候选物品的ID,返回执行本步骤,直至确定出目标用户在R个推荐候选物品上的行为概率。
其中,R为大于1的整数。
第二确定模块63,用于对目标用户在R个推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品。
推荐模块64,用于向目标用户推荐目标推荐物品。
本发明实施例所提供的推荐装置可执行本发明任意实施例所提供的推荐方法,具备执行方法相应的功能模块和有益效果。
图8为本发明另一个实施例提供的推荐装置的结构示意图。本实施例在图7所示实施例的基础上,对推荐装置包括的其他模块作一详细说明。如图8所示,本实施例提供的推荐装置还包括:第二获取模块71、第三获取模块72、第三确定模块73以及第四确定模块74。
第二获取模块71,用于获取训练集中的训练历史行为序列数据,以及,每个训练历史行为序列数据对应的实际结果。
可选地,第二获取模块71具体用于:获取训练用户的训练行为序列数据,其中,训练行为序列数据包括M+1个行为对应的M+1个物品的ID,并且,发生的越早的行为所对应的物品的ID排列越靠前;将训练行为序列数据中除最后一次行为对应的物品之外的其他物品,确定为训练历史行为序列数据;将训练行为序列数据中最后一次行为对应的物品,确定为训练历史行为序列数据对应的正样本;将数据库中,不包括在训练用户行为序列数据中的物品,确定为练历史行为序列数据对应的负样本。
第三获取模块72,用于将训练历史行为序列数据输入初始推荐模型中,获取输出结果。
第三确定模块73,用于根据输出结果以及对应的训练历史行为序列数据的实际结果,确定损失函数。
第四确定模块74,用于当损失函数大于预设阈值时,调整初始推荐模型的模型参数,确定更新后的推荐模型,将更新后的推荐模型作为初始推荐模型,返回执行将训练历史行为序列数据输入初始推荐模型中,获取输出结果的步骤,直至损失函数小于或者等于预设阈值,将损失函数小于或者等于阈值时的推荐模型确定为推荐模型。
本发明实施例所提供的推荐装置可执行本发明任意实施例所提供的推荐方法,具备执行方法相应的功能模块和有益效果。
图9为本发明一个实施例提供的计算机设备的结构示意图。如图9所示,该计算机设备包括处理器90和存储器91。该计算机设备中处理器90的数量可以是一个或多个,图9中以一个处理器90为例;该计算机设备的处理器90和存储器91可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器91作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的推荐方法对应的程序指令以及模块(例如,推荐装置中的第一获取模块61、第一确定模块62、第二确定模块63以及推荐模块64)。处理器90通过运行存储在存储器91中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及推荐,即实现上述的推荐方法。
存储器91可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器91可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器91可进一步包括相对于处理器90远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实施例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种推荐方法,该方法包括:
获取所述目标用户的历史行为序列数据;其中,所述历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
将所述目标用户的历史行为序列数据以及推荐候选物品的ID,输入至所述推荐模型中,确定所述目标用户在所述推荐候选物品上的行为概率,将下一个物品作为新的所述推荐候选物品的ID,返回执行本步骤,直至确定出所述目标用户在R个所述推荐候选物品上的行为概率;其中,R为大于1的整数;
对所述目标用户在R个所述推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品;
向所述目标用户推荐所述目标推荐物品。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的推荐方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)执行本发明各个实施例所述的推荐方法。
值得注意的是,上述推荐装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种推荐模型的构建方法,其特征在于,构建依次连接的输入层、嵌入层、第一交互层、第一自注意力层、第一拼接层、第一全连接层以及输出层;
其中,所述输入层用于接收目标用户的历史行为序列数据以及推荐候选物品的标识ID,所述历史行为序列数据包括M个历史行为对应的M个历史物品的ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
所述嵌入层用于根据推荐候选物品的ID、所述推荐候选物品对应的嵌入向量、每个历史物品的ID以及每个所述历史物品对应的嵌入向量,生成推荐候选物品的潜在向量以及每个所述历史物品的潜在向量;
所述第一交互层用于根据所述推荐候选物品的潜在向量以及每个所述历史物品的潜在向量,生成每个所述历史物品的第一交互向量;
所述第一自注意力层用于根据每个所述历史物品的第一交互向量,基于自注意力机制,生成每个所述历史物品的第一自注意力向量;
所述第一拼接层用于对所有所述历史物品的第一自注意力向量进行拼接,生成所有历史物品的第一拼接向量;
所述输出层用于根据所述第一全连接层对所述所有历史物品的第一拼接向量进行全连接计算后的结果,输出所述目标用户在所述推荐候选物品上的行为概率。
2.根据权利要求1所述的方法,其特征在于,所述第一交互层具体用于将每个所述历史物品的潜在向量与所述推荐候选物品的潜在向量进行元素积,生成每个所述历史物品的第一交互向量。
3.根据权利要求1所述的方法,其特征在于,所述第一自注意力层具体用于:
根据每个所述历史物品的第一交互向量,确定每个所述历史物品的第一交互向量的查询向量、键向量以及值向量;
计算第i个历史物品的第一交互向量的查询向量Qi分别与每个历史物品的第一交互向量的键向量的相似度,得到所述第i个历史物品对应的相似度向量Si;其中,所述相似度向量中的第j个相似度表示所述第i个历史物品的第一交互向量的查询向量Qi与第j个历史物品的第一交互向量的键向量Kj的相似度,1≤i≤M,1≤j≤M;
根据所述第i个历史物品对应的激活函数以及所述第i个历史物品对应的相似度向量Si,得到第i个历史物品对应的归一化后的相似度向量Ai;其中,所述归一化后的相似度向量Ai中归一化后的相似度的排列顺序与所述相似度向量中相似度的排列顺序相同;
4.根据权利要求1所述的方法,其特征在于,所述推荐模型还包括第三拼接层,依次连接的第二交互层、第二自注意力层、第二拼接层以及第二全连接层,所述第二交互层的输入端与所述嵌入层的输出端连接,所述第二全连接层的输出端以及所述第一全连接层的输出端与所述第三拼接层的输入端连接,所述第三拼接层的输出端与所述输出层的输入端连接;
所述第一交互层具体用于将每个所述历史物品的潜在向量与所述推荐候选物品的潜在向量进行元素积,生成每个所述历史物品的第一交互向量;
所述第二交互层具体用于将每个所述历史物品的潜在向量与所述推荐候选物品的潜在向量进行拼接,得到每个所述历史物品的第二拼接向量,对每个所述历史物品的第二拼接向量进行全连接计算,生成每个所述历史物品的第二交互向量;
所述第二自注意力层用于根据每个所述历史物品的第二交互向量,基于自注意力机制,生成每个所述历史物品的第二自注意力向量;
所述第二拼接层用于对所有所述历史物品的第二自注意力向量进行拼接,生成所有历史物品的第二拼接向量;
所述第三拼接层用于将所述第一全连接层对所述所有历史物品的第一拼接向量进行全连接计算后的结果,以及,将所述第二全连接层对所述所有历史物品的第二拼接向量进行全连接计算后的结果,进行拼接,形成所有历史物品的第三拼接向量;
所述输出层用于根据所述所有历史物品的第三拼接向量,输出所述目标用户在所述推荐候选物品上的行为概率。
5.一种推荐方法,其特征在于,应用于如权利要求1-4中任一项所述的推荐模型的构建方法构建的推荐模型中,所述方法包括:
获取所述目标用户的历史行为序列数据;其中,所述历史行为序列数据包括M个历史行为对应的M个历史物品的标识ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
将所述目标用户的历史行为序列数据以及推荐候选物品的ID,输入至所述推荐模型中,确定所述目标用户在所述推荐候选物品上的行为概率,将下一个物品作为新的所述推荐候选物品的ID,返回执行本步骤,直至确定出所述目标用户在R个所述推荐候选物品上的行为概率;其中,R为大于1的整数;
对所述目标用户在R个所述推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品;
向所述目标用户推荐所述目标推荐物品。
6.根据权利要求5所述的方法,其特征在于,所述推荐模型的生成方式包括:
获取训练集中的训练历史行为序列数据,以及,每个训练历史行为序列数据对应的实际结果;
将所述训练历史行为序列数据输入初始推荐模型中,获取输出结果;
根据所述输出结果以及对应的训练历史行为序列数据的实际结果,确定损失函数;
当所述损失函数大于预设阈值时,调整所述初始推荐模型的模型参数,确定更新后的推荐模型,将所述更新后的推荐模型作为所述初始推荐模型,返回执行将所述训练历史行为序列数据输入初始推荐模型中,获取输出结果的步骤,直至所述损失函数小于或者等于所述预设阈值,将所述损失函数小于或者等于所述阈值时的推荐模型确定为所述推荐模型。
7.根据权利要求6所述的方法,其特征在于,所述获取训练集中的训练历史行为序列数据,以及,每个训练历史行为序列数据对应的实际结果,包括:
获取训练用户的训练行为序列数据;其中,所述训练行为序列数据包括M+1个行为对应的M+1个物品的ID,并且,发生的越早的行为所对应的物品的ID排列越靠前;
将所述训练行为序列数据中除最后一次行为对应的物品之外的其他物品,确定为所述训练历史行为序列数据;
将所述训练行为序列数据中最后一次行为对应的物品,确定为所述训练历史行为序列数据对应的正样本;
将数据库中,不包括在所述训练用户行为序列数据中的物品,确定为所述练历史行为序列数据对应的负样本。
8.一种推荐装置,其特征在于,应用于如权利要求1-4中任一项所述的推荐模型的构建方法构建的推荐模型中,包括:
第一获取模块,用于获取目标用户的历史行为序列数据;其中,所述历史行为序列数据包括M个历史行为对应的M个历史物品的标识ID,并且,发生的越早的历史行为所对应的历史物品的ID排列越靠前,M为大于0的整数;
第一确定模块,用于将所述目标用户的历史行为序列数据以及推荐候选物品的ID,输入至所述推荐模型中,确定所述目标用户在所述推荐候选物品上的行为概率,将下一个物品作为新的所述推荐候选物品的ID,返回执行本步骤,直至确定出所述目标用户在R个所述推荐候选物品上的行为概率;其中,R为大于1的整数;
第二确定模块,用于对所述目标用户在R个所述推荐候选物品上的行为概率进行排序,将排列在前预设数量的行为概率对应的推荐候选物品确定为目标推荐物品;
推荐模块,用于向所述目标用户推荐所述目标推荐物品。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5-7中任一所述的推荐方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5-7中任一所述的推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010366717.3A CN111506821B (zh) | 2020-04-30 | 2020-04-30 | 推荐模型、方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010366717.3A CN111506821B (zh) | 2020-04-30 | 2020-04-30 | 推荐模型、方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506821A CN111506821A (zh) | 2020-08-07 |
CN111506821B true CN111506821B (zh) | 2023-06-20 |
Family
ID=71871746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010366717.3A Active CN111506821B (zh) | 2020-04-30 | 2020-04-30 | 推荐模型、方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506821B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613708A (zh) * | 2020-12-15 | 2021-04-06 | 航天信息股份有限公司 | 一种用于管理税务Ukey设备多级流转的方法及系统 |
CN112631560B (zh) * | 2020-12-29 | 2023-07-07 | 上海海事大学 | 一种推荐模型的目标函数的构建方法及终端 |
CN113727195B (zh) * | 2021-08-31 | 2022-11-01 | 广东艾檬电子科技有限公司 | 一种视频推荐方法、终端设备以及计算机可读存储介质 |
CN115309975B (zh) * | 2022-06-28 | 2024-06-07 | 中银金融科技有限公司 | 基于交互特征的产品推荐方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
WO2019223552A1 (zh) * | 2018-05-25 | 2019-11-28 | 腾讯科技(深圳)有限公司 | 文章推荐方法、装置、计算机设备及存储介质 |
CN111046286A (zh) * | 2019-12-12 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置、以及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033140B (zh) * | 2018-06-08 | 2020-05-29 | 北京百度网讯科技有限公司 | 一种确定搜索结果的方法、装置、设备和计算机存储介质 |
-
2020
- 2020-04-30 CN CN202010366717.3A patent/CN111506821B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019223552A1 (zh) * | 2018-05-25 | 2019-11-28 | 腾讯科技(深圳)有限公司 | 文章推荐方法、装置、计算机设备及存储介质 |
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
CN111046286A (zh) * | 2019-12-12 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置、以及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
基于全局与局部相融合的方面注意力推荐模型;张天龙等;《中国科技论文》;20191115(第11期);全文 * |
基于注意力的深度协同在线学习资源推荐模型;冯金慧等;《成都信息工程大学学报》;20200415(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111506821A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111931062B (zh) | 一种信息推荐模型的训练方法和相关装置 | |
CN111506821B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
Ma et al. | Off-policy learning in two-stage recommender systems | |
Yin et al. | Joint event-partner recommendation in event-based social networks | |
CN109919316B (zh) | 获取网络表示学习向量的方法、装置和设备及存储介质 | |
Hemalatha et al. | Sentiment analysis tool using machine learning algorithms | |
CN111368210A (zh) | 基于人工智能的信息推荐方法、装置以及电子设备 | |
Channarong et al. | HybridBERT4Rec: a hybrid (content-based filtering and collaborative filtering) recommender system based on BERT | |
Unger | Latent context-aware recommender systems | |
CN113656699B (zh) | 用户特征向量确定方法、相关设备及介质 | |
Grolman et al. | Utilizing transfer learning for in-domain collaborative filtering | |
CN111324773A (zh) | 一种背景音乐构建方法、装置、电子设备和存储介质 | |
CN115618101A (zh) | 基于负反馈的流媒体内容推荐方法、装置及电子设备 | |
Montazeralghaem et al. | Large-scale interactive conversational recommendation system using actor-critic framework | |
Hou et al. | A deep reinforcement learning real-time recommendation model based on long and short-term preference | |
Hossain et al. | SocialRec: User Activity Based Post Weighted Dynamic Personalized Post Recommendation System in Social Media | |
Piao et al. | Learning to rank tweets with author-based long short-term memory networks | |
Xu et al. | Generalized contextual bandits with latent features: Algorithms and applications | |
Cai et al. | An attention-based friend recommendation model in social network | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
Korotaev et al. | Method for the Development of Recommendation Systems, Customizable to Domains, with Deep GRU Network. | |
Xiao et al. | Neural variational hybrid collaborative filtering | |
Khan et al. | CrossDomain Recommendation based on MetaData using Graph Convolution Networks | |
Deng et al. | Similitude attentive relation network for click-through rate prediction |
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 |