CN112418402B - 推荐对象的方法、神经网络及其训练方法、计算设备 - Google Patents
推荐对象的方法、神经网络及其训练方法、计算设备 Download PDFInfo
- Publication number
- CN112418402B CN112418402B CN202011331138.1A CN202011331138A CN112418402B CN 112418402 B CN112418402 B CN 112418402B CN 202011331138 A CN202011331138 A CN 202011331138A CN 112418402 B CN112418402 B CN 112418402B
- Authority
- CN
- China
- Prior art keywords
- feature vector
- user
- feature
- neural network
- layer
- 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
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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种推荐对象的方法、神经网络及其训练方法、计算设备和介质,涉及智能推荐、深度学习等人工智能领域。神经网络包括:特征向量层,被配置为接收基于用户特征和对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,特征向量输出包括与用户特征相对应的用户特征向量和与对象特征相对应的对象特征向量;特征向量层之后的第一子神经网络,第一子神经网络被配置为接收特征向量输出并生成针对待推荐对象的第一预测推荐结果;以及,特征向量层之后的不同于第一子神经网络的第二子神经网络。
Description
技术领域
本公开涉及人工智能技术领域,具体为智能推荐和深度学习技术,特别涉及一种利用神经网络向用户推荐对象的方法、设备和介质。
背景技术
互联网的出现和普及给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但随着网络的迅速发展而带来的网上信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低。
根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐***应运而生。推荐***通过研究用户的兴趣偏好,进行个性化计算,由***发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐***不仅能为用户提供个性化的服务,还能和用户之间建立密切关系。推荐***现已广泛应用于很多领域。为了节省资源,推荐***会同时服务于多个产品(例如,多个应用程序或多个应用终端)。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一方面,提供了一种神经网络,包括:特征向量层,所述特征向量层被配置为接收基于所述用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的用户特征向量和与所述对象特征相对应的对象特征向量;所述特征向量层之后的第一子神经网络,所述第一子神经网络被配置为接收所述特征向量输出并生成针对所述待推荐对象的第一预测推荐结果;以及,所述特征向量层之后的不同于所述第一子神经网络的第二子神经网络。
根据本公开的另一方面,还提供了一种推荐对象的方法,包括:利用所述特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入,其中,所述特征向量层被配置为接收所述特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的用户特征向量和与所述对象特征相对应的用户特征向量;以及利用所述第一子神经网络处理所述特征向量输出,其中,所述第一子神经网络被配置为接收所述特征向量输出并生成针对所述待推荐对象的第一预测推荐结果。
根据本公开的另一方面,提供一种由计算机实现的神经网络的训练方法,所述神经网络包括嵌入层、所述嵌入层之后的第一子神经网络和所述嵌入层之后的不同于所述第一子神经网络的第二子神经网络,所述训练方法包括:获取样本用户的特征和与所述样本用户相关的样本对象的特征,并标注所述样本对象特征是否被点击的真实结果;利用嵌入层处理基于样本用户特征和样本对象特征的嵌入层输入并确定相应的特征向量以生成样本特征向量输出,其中,所述样本特征向量输出包括与所述样本用户特征相对应的用户特征向量和与所述样本对象特征相对应的对象特征向量;利用所述第一子神经网络处理所述样本特征向量输出,以输出所述样本对象是否被点击的预测结果;基于所述真实结果和所述预测结果,计算损失值;以及基于所述损失值调整所述嵌入层和所述第一子神经网络的参数。
根据本公开的另一方面,还提供了一种计算设备,包括:处理器;以及存储程序的存储器,上述程序包括指令,并且指令在由处理器执行时使处理器执行根据上述的推荐对象的方法和/或根据上述的训练方法。
根据本公开的另一方面,还提供了一种存储程序的计算机可读存储介质,上述程序包括指令,并且指令在由计算设备的处理器执行时,致使计算设备执行根据上述的推荐对象的方法和/或根据上述的训练方法。
根据本公开的另一方面,还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述的方法的步骤。
本公开的技术方案通过将基于用户特征和待推荐对象特征分别相应的用户特征向量和待推荐对象特征向量输入与产品场景相应的子神经网络,以得到与产品场景相应的预测推荐结果,从而能够基于不同产品场景的用户特征向量、对象特征向量,得到与产品场景相应的预测推荐结果,适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。进而能够更有针对性地向用户推荐感兴趣的待推荐对象,并提升推荐效果。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是示出根据示例性实施例的神经网络的框图;
图2-图4是示出根据示例性实施例的神经网络的示意性结构图;
图5是示出根据示例性实施例的推荐对象的方法的流程图;
图6是示出根据示例性实施例的神经网络的训练方法的流程图;以及
图7是能够应用于示例性实施例的示例性计算设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
相关技术中,现有的推荐对象的方法中,推荐***会同时服务于多个用户群组。由于多个用户群组的应用场景不同,因此用户特征相同的不同的用户群组针对同一个对象的行为可能会不同。因此,现有推荐***在面向不同用户群组的用户时,推荐效果较差。
为了解决上述技术问题,本公开提供一种神经网络:特征向量层被配置为接收基于用户特征和对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出;特征向量层之后的第一子神经网络,被配置为接收特征向量输出并生成针对待推荐对象的第一预测推荐结果;特征向量层之后的不同于所述第一子神经网络的第二子神经网络。由此,通过将用户特征和待推荐对象特征分别相应的用户特征向量和待推荐对象特征向量输入与产品场景相应的子神经网络,以得到与产品场景相应的预测推荐结果,从而能够基于不同产品场景的用户特征向量、对象特征向量,得到与产品场景相应的预测推荐结果,适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。进而能够更有针对性地向用户推荐感兴趣的待推荐对象,并提升推荐效果。。
本公开中,特征为所有用户(或待推荐对象)或部分用户(或待推荐对象)共有的一种属性,特征值为某个用户(或待推荐对象)的该属性的具体取值,特征取值为该属性在当前场景下全部可能的取值的集合。示例性的,针对“性别”特征,用户A的“性别”特征的取值例如可以为“男”,“性别”的特征取值例如可以包括:{“男”、“女”、“其他”和“未公开”};针对“文章类别”特征,对象B的“文章类别”特征的特征值例如为“科技”,“文章类别”的特征值取值例如可以包括:{“新闻”、“科技”、“财经”、“娱乐”和“军事”}。
以下将结合附图对本公开的神经网络进行进一步描述。
图1是示出根据本公开示例性实施例的神经网络的框图。如图1所示,神经网络100可以包括:特征向量层101,被配置为接收基于所述用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出;第一子神经网络102,被配置为接收特征向量输出并生成针对待推荐对象的第一预测推荐结果;以及第二子神经网络103。由此,通过将用户特征和待推荐对象特征分别相应的用户特征向量和待推荐对象特征向量输入与产品场景相应的子神经网络,以得到与产品场景相应的预测推荐结果,从而能够基于不同产品场景的用户特征向量、对象特征向量,得到与产品场景相应的预测推荐结果,适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。进而能够更有针对性地向用户推荐感兴趣的待推荐对象,并提升推荐效果。
根据一些实施例,神经网络100可以基于多层感知器MLP。MLP方法简单直观,容易实现,并且多层全连接网络能够从输入中挖掘更多的信息,完成更复杂的内容。
神经网络100可以被配置用于接收用户特征和待推荐对象的对象特征以预测待推荐对象的推荐结果。示例性的,例如在一个向用户推荐网页的具体场景,用户特征例如可以包括用户的年龄、职业、受教育程度和兴趣点等,待推荐对象例如可以是网页,待推荐特征例如可以包括待推荐对象的标题、类别、网页所属的网站和网页浏览次数等。推荐结果可以是用户点击该待推荐对象的概率。推荐结果例如还可以为用户对该推荐对象的评分等,在此不做限定。
根据一些实施例,特征向量层可以为嵌入层,包括至少一个全连接层。特征向量层在这种情况下,特征向量层可被配置为接收基于用户特征和对象特征的特征向量层输入并且所述至少一个全连接层协同运作以输出用户特征和对象特征中的每一个特征相应的特征向量,具体原理如下:
在图2示意的示例性实施例中,以用户特征为例来进行说明。输入201可包括多个用户特征,例如,用户性别特征“男”2011、用户学历特征“本科”和用户兴趣点特征“科技”等等。
图2中示意的特征向量层204仅包括一层全连接层,例如可以通过将多个用户特征分别相应的多个全连接子层并联而得到。不同全连接子层可以包括相同数量的神经元,也可以包括不同数量的神经元,在此不作限定。在特征向量层204生成的特征向量输出205中,与每一用户特征相对应的特征向量的维度可以与相应的全连接子层所包括的神经元的个数相同。如图2所示,特征向量层204通过将用户性别特征“男”2011对应的全连接子层2041和其他用户特征(例如图2中示出的用户学历特征“本科”和用户兴趣特征“科技”)相应的全连接子层并联而得到。与每一用户特征相应的全连接子层可以均包括6个神经元,相应地,与每一用户特征相应的特征向量的维度也可以为6。
特征向量层输入例如可以基于每一用户特征的特征编码而得到。可以但不限于利用独热编码(即One-Hot编码,又称一位有效编码)得到每一用户特征(一个数值或字符串)的特征编码(即1×N的向量,下称独热向量)。独热向量的维度可以与该用户特征的取值数量相同,其中独热向量的每一个向量分量对应于该用户特征的一个取值,并且当一个用户特征的取值确定时,独热向量中与该用户特征取值相应的向量分量的值为“1”,独热向量中的其他向量分量的值为“0”。示例性的,针对“性别”特征,用户性别特征的取值例如可以为:{“男”、“女”、“其他”和“未公开”},则每个特征取值对应一个不同的四维向量,例如用户性别特征“男”对应的独热向量可以为四维向量[1,0,0,0],用户性别特征“女”对应的独热向量可以为[0,1,0,0],用户性别特征“其他”对应的独热向量可以为[0,0,1,0],用户性别特征“未公开”对应的独热向量可以为[0,0,0,1]。可以理解的是,可以通过其他的对应方式进行独热编码,例如用户性别特征“男”对应[0,0,0,1],用户性别特征“女”对应[0,0,1,0],以此类推,在此不做限定。
类似地,可以利用上述方法获取每一对象特征的特征编码。在这种情况下,特征向量层输入为基于用户特征的特征编码和对象特征的特征编码而得到。可以将所有用户特征的特征编码和所有对象特征的特征编码进行拼接以作为特征向量层输入。
特征向量层可以基于每一用户特征相应的全连接子层中每一个神经元对该用户特征的特征编码中每一个神经元的权重,计算出该用户特征相应的特征向量,同样可以基于每一对象特征相应的全连接子层中每一个神经元对该对象特征的特征编码中每一个神经元的权重,计算出该对象特征相应的特征向量。由此,可以将所有用户特征相应的特征向量和所有对象特征相应的特征向量进行拼接以得到特征向量输出。
示例性的,结合图2和图3所示,输入201包括多个用户特征,例如,用户性别特征“男”、用户学历特征“本科”和用户兴趣特征“科技”等等。可以通过独热编码得到输入201相应的独热向量202,独热向量202可以作为特征向量层输入203。图2中示意的特征向量层204包括一层全连接层204,全连接层204基于特征向量层输入203生成特征向量输出205。例如某个用户的用户性别特征“男”2011的独热向量2021例如可以为[0,0,0,1],独热向量2021可以作为特征向量层子输入2031。可以基于相应的全连接子层2041的每个神经元对特征向量层子输入2031里最下方的神经元的权重 和/>得到用户性别特征“男”2011相应的特征向量2051。由于特征向量层子输入2031最下方的神经元的值为“1”,因此在全连接子层2041中的每个神经元不设置偏置与激活函数的情况下,该特征向量2051为/>可以理解的是,此处为便于说明和理解,将独热向量202和特征向量层输入203分开处理,也可以将特征的独热向量202直接输入全连接层204。类似地,特征向量输出205的每一个特征向量也可以分别存储在相应的全连接子层中,为便于说明和理解,将神经元的计算功能和存储功能分开,分别由全连接层204和特征向量输出205来实现。
在示例性实施例中,结合图2和图3所示,针对用户特征,当用户特征对应的全连接层中的每个神经元不设置偏置与激活函数的情况下,该全连接层可以等价于一个矩阵。在图2和图3示意的示例性实施例中,如图3所示,用户性别特征对应的全连接子层2041可以等价于矩阵300。该矩阵300的行数等于用户性别特征相应的特征向量层子输入2031的维度,该矩阵300的列数等于相应的特征向量2051的维度。该矩阵300的每一列对应全连接子层2041的一个神经元对特征向量层子输入2031(或独热向量2021)中的全部神经元的权重。该矩阵300的每一行对应全连接子层2041的全部神经元对特征向量层子输入2031的一个神经元的权重,并且该矩阵300的不同行对应全连接子层2041的全部神经元对特征向量层子输入2031的不同神经元的权重。这是因为每个用户的用户性别特征的特征向量层子输入2031中只有一个神经元的输出为“1”,其他神经元的输出均为“0”,并且不同产品用户的相同用户性别特征相应的特征向量层子输入2031中不同的神经元的输出为“1”。
基于此,根据一些实施例,可以设置所述特征向量层即为相应的矩阵,利用矩阵乘法确定用户特征和对象特征分别相应的特征向量。例如将上述矩阵300与特征向量层子输入2031(一维行向量)相乘,即可得到相应的特征向量2051。特征向量2051即为特征向量层子输入2031(或独热向量2021)中值为“1”的神经元所对应的矩阵300的一行301。由此,通过矩阵乘法能够确定矩阵(即特征向量层)中相应的一行即为某一产品的用户特征的特征向量,并且确定矩阵(即特征向量层)中相应的不同行分别为不同产品的相同用户特征相应的特征向量。
根据一些实施例,特征向量层可以被配置为将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。由此,通过利用索引进行搜索的方式能够快速确定用户特征和对象特征中的每一个特征相对应的特征向量,提升推荐效率。由此,通过利用索引进行搜索的方式能够快速确定用户特征和对象特征中的每一个特征相对应的特征向量,提升推荐效率。
根据一些实施例,特征向量层还可以被配置为基于用户所属的用户群组将特征向量输出传输至相对应的子神经网络。如图4所示,神经网络包括输入401、特征向量层402、第一子神经网络4031和第二子神经网络4032。图4中的输入401、特征向量层402分别和图2中的输入201、特征向量层204类似。神经网络还可以包括更多的如第N子神经网络403N。特征向量层402可以基于用户所属的用户群组将特征向量输出传输至第一子神经网络4031、第二子神经网络4032、……、第N子神经网络403N中与该用户群组对应的子神经网络。由此,通过将特征向量输出传输至与用户所属的用户群组相对应的子神经网络,使得子神经网络输出的预测推荐结果与该用户群组相关,从而实现了基于特征向量与用户群组得出预测推荐结果,以适用于不同用户群组的对象推荐,并且各用户群组之间互不影响推荐效果。
根据一些实施例,用户群组例如可以基于用户所使用的产品来划分,使用同一产品的用户归属于一个用户群组,使用不同产品的用户归属于不同用户群组。所述产品例如可以为用户所使用的终端,即用户群组是根据用户所使用的终端设备进行划分的。所述产品例如也可以为用户所使用的应用程序,即用户群组是根据用户所使用的应用程序进行划分的,在此不限定用户群组的具体划分方式,只要不同用户群组中的相同用户特征所对应的理想推荐结果不同即可。
根据一些实施例,特征向量层还可以被配置为将不同用户群组相对应的特征向量输出传输至不同的子神经网络。由此,通过将不同用户群组相对应的特征向量输出传输至不同的子神经网络,使得每一个用户群组单独对应一个子神经网络,从而能够实现针对不同的用户群组使用不同的子神经网络得出与该用户群组相应的预测推荐结果,同时解决了推荐***无法对不同用户群组中的相同用户特征相应的用户特征向量进行区分的问题,进而能够更有针对性地向用户推荐感兴趣的待推荐对象,并提升推荐效果。
根据一些实施例,神经网络所包括的子神经网络的数量可以与所述用户群组的数量相同。由此,可以实现子神经网络与用户群组的一一对应,各用户群组之间利用不同的子神经网络实现针对用户的对象推荐,互不影响推荐效果。
根据一些实施例,待推荐对象可以为包括以下一种或多种类型的数据:文字、音频和视频。例如在知识类应用或网站的待推荐对象可以是文字,例如在音乐类、电台/播客类应用或网站的待推荐对象可以是音频,例如在视频类、体育类应用或网站的待推荐对象可以是视频。可以理解的是,待推荐对象根据具体的产品场景而不同,并且同一个产品场景可能对应多种不同类型的待推荐对象,在此不作限定。
所述产品场景例如可以包括应用程序或应用终端,从而不同产品场景的相同用户特征希望的对象推荐结果不同。本公开的技术方案能够基于不同产品相同用户特征相应的不同特征向量来实现不同的对象推荐结果。以应用终端为例,第一应用终端的用户特征希望的推荐结果为视频,第二应用终端的用户特征希望的推荐结果为文字。针对第一应用终端和第二应用终端的相同用户特征“科技”,例如可以将相同用户特征“科技”输入分别与第一应用终端和第二应用终端相应的子神经网络,从而神经网络能够基于不同的用户特征向量生成不同的对象推荐结果,具体可以为:相应的子神经网络所生成的第一应用终端的用户针对科技视频对象的推荐结果为点击,将科技视频对象推荐给第一应用终端的用户;而相应的子神经网络所生成的第二应用终端的用户针对科技视频对象的推荐结果为不点击,不将科技视频对象推荐给第二应用终端的用户。
根据一些实施例,神经网络所包括的所有的子神经网络均可以为全连接神经网络。不同子神经网络可以为相同的网络构架,也可以为不同的网络构架,在此不作限定。全连接神经网络的结构简单、容易实现,而多层全连接网络能够从输入中挖掘更多的信息,完成更复杂的内容。示例性的,如图4所示,神经网络所包括的第一子神经网络4031、第二子神经网络4032、……、第N子神经网络403N,这些子神经网络可以均为全连接神经网络,且为相同架构的神经网络,均包括六个全连接层。此外,这些全连接层中,从最靠近特征向量的层到最靠近输出的层神经元数逐渐减少。在图4示意的示例性实施例中,以第一子神经网络4031为例,包括全连接层4001、4002、……、4006等六个全连接层。
根据本公开的另一方面,还提供一种推荐对象的方法,如图5所示,该方法可以为由计算机实现的利用神经网络向用户推荐对象的方法,利用的神经网络可以包括特征向量层、特征向量层之后的第一子神经网络和特征向量层之后的不同于第一子神经网络的第二子神经网络。推荐对象的方法可以包括:步骤S501、利用特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入;以及步骤S502、利用第一子神经网络处理特征向量输出。由此,通过将基于用户特征和待推荐对象特征得到的用户特征向量和待推荐对象特征向量输入与用户的用户群组相应的子神经网络,从而能够基于用户特征向量、对象特征向量和用户的用户群组,得到与用户群组相应的预测推荐结果,进而能够更有针对性地向用户推荐待推荐对象,并提升推荐效果。
根据一些实施例,上述方法中利用的特征向量层还可以被配置为基于用户所属的用户群组将特征向量输出传输至相对应的子神经网络。
根据一些实施例,上述方法中利用的特征向量层还可以被配置为将不同用户群组相对应的特征向量输出传输至不同的子神经网络。
根据一些实施例,上述方法中利用的神经网络中的子神经网络的数量可以与用户群组的数量相同。
根据一些实施例,用户群组例如可以是根据用户所使用的终端设备进行划分的。
根据一些实施例,上述方法中利用的特征向量层可以被配置为将特征向量层输入作为索引以搜索与用户特征和对象特征中的每一个特征相对应的特征向量。
根据一些实施例,待推荐对象可以为包括以下一种或多种类型的数据:文字、音频和视频。
根据本公开的另一方面,还提供一种神经网络的训练方法,神经网络可以包括嵌入层、嵌入层之后的第一子神经网络和嵌入层之后的不同于第一子神经网络的第二子神经网络。如图6所示,训练方法可以包括:步骤S601、获取样本用户的特征和与所述样本用户相关的样本对象的特征,并标注所述样本对象特征是否被点击的真实结果;步骤S602、利用嵌入层处理基于样本用户特征和样本对象特征的嵌入层输入并确定相应的特征向量以生成样本特征向量输出;步骤S603、利用所述第一子神经网络处理所述样本特征向量输出,以输出所述样本对象是否被点击的预测结果;步骤S604、基于所述真实结果和所述预测结果,计算损失值;以及步骤S605、基于所述损失值调整所述嵌入层和所述第一子神经网络的参数。由此,通过只使用与子神经网络相应的用户群组的样本训练该子神经网络,使得每一个子神经网络只用于处理属于相应的用户群组的用户样本,从而能够实现不同用户群组的样本混合训练,并且各用户群组之间互相不干扰,进而能够生成更有针对性地向用户推荐待推荐对象的推荐***。
根据一些实施例,嵌入层还可以被配置为基于用户所属的用户群组将所述样本特征向量输出传输至相对应的子神经网络。
上述训练方法还可以包括:针对另一样本,假设该样本的用户所属的用户群组为第二子神经网络对应的用户群组,可以将该样本的特征向量输出传输到第二子神经网络,以得到第二子神经网络输出的预测结果;基于真实结果和第二子神经网络输出的预测结果,计算损失值;以及基于损失值,调整嵌入层和第二子神经网络的参数。可以理解的是,当神经网络包括更多的子神经网络时,每一个子神经网络都可以通过类似的方法进行训练。损失值例如可以使用L1损失函数计算得出,也可以使用L2损失函数计算得出,还可以使用其他的计算方式计算得出,在此不作限定。
根据一些实施例,神经网络还可以包括位于嵌入层之前的特征输入层,并且训练方法还可以包括:利用所述特征输入层对样本用户特征进行编码并生成用户特征编码(例如独热编码),以及对样本对象特征进行编码并生成对象特征编码(例如独热编码)。在这种情况下,可以利用嵌入层处理基于用户特征编码和对象特征编码的嵌入层输入并分别确定与样本用户特征相对应的用户特征向量和所述样本对象特征相对应的对象特征向量以生成所述样本特征向量输出。
根据一些实施例,神经网络还可以包括特征向量层,并且训练方法还可以包括:在所述神经网络训练完成之后,在特征向量层中存储样本用户特征和与该样本用户特征相对应的特征向量之间的映射关系,以及样本对象特征和与该样本对象特征相对应的特征向量之间的映射关系,并且删除嵌入层。从而,可以基于上述映射关系,实现将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。在这种情况下,神经网络的应用结构图和训练结构图不同。
根据另一些实施例,在神经网络训练完成之后,可以直接应用,即神经网络的训练结构和应用结构一致。在这种情况下,在应用过程中,神经网络的特征向量层即为嵌入层。
根据本公开的另一方面,还提供一种计算设备,可以包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述的推荐对象的方法和训练方法。
根据本公开的另一方面,还提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行根据上述的推荐对象的方法和训练方法。
参见图7所示,现将描述计算设备7000,其是可以应用于本公开的各方面的硬件设备(电子设备)的示例。计算设备7000可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、机器人、智能电话、车载计算机或其任何组合。上述推荐对象的方法和训练方法可以全部或至少部分地由计算设备7000或类似设备或***实现。
计算设备7000可以包括(可能经由一个或多个接口)与总线7002连接或与总线7002通信的元件。例如,计算设备7000可以包括总线7002、一个或多个处理器7004、一个或多个输入设备7006以及一个或多个输出设备7008。一个或多个处理器7004可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备7006可以是能向计算设备7000输入信息的任何类型的设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备7008可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备7000还可以包括非暂时性存储设备7010或者与非暂时性存储设备7010连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备7010可以从接口拆卸。非暂时性存储设备7010可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。计算设备7000还可以包括通信设备7012。通信设备7012可以是使得能够与外部设备和/或与网络通信的任何类型的设备或***,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算设备7000还可以包括工作存储器7014,其可以是可以存储对处理器7004的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器7014中,包括但不限于操作***7016、一个或多个应用程序7018、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序7018中,并且上述推荐对象的方法和训练方法可以通过由处理器7004读取和执行一个或多个应用程序7018的指令来实现。更具体地,上述推荐对象的方法和训练方法中,步骤S501-步骤S502可以例如通过处理器7004执行具有步骤S501-步骤S502的指令的应用程序7018而实现。此外,上述推荐对象的方法和训练方法中的其它步骤可以例如通过处理器7004执行具有执行相应步骤中的指令的应用程序7018而实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备7010)中,并且在执行时可以被存入工作存储器7014中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。
还应该理解,计算设备7000的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算***7000的其他组件也可以类似地分布。这样,计算设备7000可以被解释为在多个位置执行处理的分布式计算***。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (18)
1.一种由计算机实现的利用神经网络向用户推荐对象的方法,所述神经网络被配置用于接收用户特征和待推荐对象的对象特征以预测所述待推荐对象的推荐结果,所述神经网络包括:
特征向量层,所述特征向量层被配置为接收基于所述用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的用户特征向量和与所述对象特征相对应的对象特征向量;
所述特征向量层之后的第一子神经网络,所述第一子神经网络被配置为接收所述特征向量输出并生成针对所述待推荐对象的第一预测推荐结果;以及,
所述特征向量层之后的不同于所述第一子神经网络的第二子神经网络,
其中,所述特征向量层还被配置为基于用户所属的用户群组将所述特征向量输出传输至相对应的子神经网络,并且其中,所述神经网络基于多层感知器MLP。
2.如权利要求1所述的方法,其中,所述特征向量层还被配置为将不同用户群组相对应的所述特征向量输出传输至不同的子神经网络。
3.如权利要求1所述的方法,其中,所述神经网络所包括的子神经网络的数量与所述用户群组的数量相同。
4.如权利要求1所述的方法,其中,所述用户群组是根据用户所使用的终端设备进行划分的。
5.如权利要求1所述的方法,其中,所述特征向量层被配置为将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。
6.如权利要求1所述的方法,其中,所述待推荐对象为包括以下一种或多种类型的数据:文字、音频和视频。
7.如权利要求1所述的方法,其中,所述神经网络所包括的所有子神经网络均为全连接神经网络。
8.一种由计算机实现的利用神经网络向用户推荐对象的方法,所述神经网络包括特征向量层、所述特征向量层之后的第一子神经网络和所述特征向量层之后的不同于所述第一子神经网络的第二子神经网络,所述方法包括:
利用所述特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入,其中,所述特征向量层被配置为接收所述特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的用户特征向量和与所述对象特征相对应的用户特征向量;以及
利用所述第一子神经网络处理所述特征向量输出,其中,所述第一子神经网络被配置为接收所述特征向量输出并生成针对所述待推荐对象的第一预测推荐结果,
其中,所述特征向量层还被配置为基于用户所属的用户群组将所述特征向量输出传输至相对应的子神经网络。
9.如权利要求8所述的方法,其中,所述特征向量层还被配置为将不同用户群组相对应的所述特征向量输出传输至不同的子神经网络。
10.如权利要求8-9中任一项所述的方法,其中,所述神经网络中的子神经网络的数量与所述用户群组的数量相同。
11.如权利要求8-9中任一项所述的方法,其中,所述用户群组是根据用户所使用的终端设备进行划分的。
12.如权利要求8所述的方法,其中,所述特征向量层被配置为将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。
13.如权利要求8所述的方法,其中,所述待推荐对象为包括以下一种或多种类型的数据:文字、音频和视频。
14.一种神经网络的训练方法,所述神经网络包括嵌入层、所述嵌入层之后的第一子神经网络和所述嵌入层之后的不同于所述第一子神经网络的第二子神经网络,所述训练方法包括:
获取样本用户的特征和与所述样本用户相关的样本对象的特征,并标注所述样本对象特征是否被点击的真实结果;
利用嵌入层处理基于样本用户特征和样本对象特征的嵌入层输入并确定相应的特征向量以生成样本特征向量输出,其中,所述样本特征向量输出包括与所述样本用户特征相对应的用户特征向量和与所述样本对象特征相对应的对象特征向量;
利用所述第一子神经网络处理所述样本特征向量输出,以输出所述样本对象是否被点击的预测结果;
基于所述真实结果和所述预测结果,计算损失值;以及
基于所述损失值调整所述嵌入层和所述第一子神经网络的参数,
其中,所述嵌入层还被配置为基于用户所属的用户群组将所述样本特征向量输出传输至相对应的子神经网络。
15.如权利要求14所述的训练方法,其中,所述神经网络还包括位于所述嵌入层之前的特征输入层,并且其中,所述方法还包括:
利用所述特征输入层对样本用户特征进行编码并生成用户特征编码,以及对样本对象特征进行编码并生成对象特征编码,
其中,利用嵌入层处理基于所述用户特征编码和对象特征编码的嵌入层输入并分别确定与样本用户特征相对应的用户特征向量和所述样本对象特征相对应的对象特征向量以生成所述样本特征向量输出。
16.如权利要求15所述的训练方法,其中,所述神经网络还包括特征向量层,并且其中,所述训练方法还包括:
在所述神经网络训练完成之后,在特征向量层中存储样本用户特征和与该样本用户特征相对应的特征向量之间的映射关系,以及样本对象特征和与该样本对象特征相对应的特征向量之间的映射关系,并且删除所述嵌入层。
17.一种计算设备,所述计算设备包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-16中任一项所述的方法。
18.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行根据权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011331138.1A CN112418402B (zh) | 2020-11-24 | 2020-11-24 | 推荐对象的方法、神经网络及其训练方法、计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011331138.1A CN112418402B (zh) | 2020-11-24 | 2020-11-24 | 推荐对象的方法、神经网络及其训练方法、计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418402A CN112418402A (zh) | 2021-02-26 |
CN112418402B true CN112418402B (zh) | 2023-08-11 |
Family
ID=74778489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011331138.1A Active CN112418402B (zh) | 2020-11-24 | 2020-11-24 | 推荐对象的方法、神经网络及其训练方法、计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418402B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205183B (zh) * | 2021-04-23 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 物品推荐网络训练方法、装置、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615616A (zh) * | 2014-05-04 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 群组推荐方法和*** |
CN107657347A (zh) * | 2017-09-30 | 2018-02-02 | 桂林电子科技大学 | 一种面向群组的旅游推荐方法 |
CN108076154A (zh) * | 2017-12-21 | 2018-05-25 | 广东欧珀移动通信有限公司 | 应用信息推荐方法、装置及存储介质和服务器 |
CN108446410A (zh) * | 2018-05-29 | 2018-08-24 | 科大讯飞股份有限公司 | 信息推荐方法、装置、***、设备及可读存储介质 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN109960759A (zh) * | 2019-03-22 | 2019-07-02 | 中山大学 | 基于深度神经网络的推荐***点击率预测方法 |
CN110502704A (zh) * | 2019-08-12 | 2019-11-26 | 山东师范大学 | 一种基于注意力机制的群组推荐方法及*** |
CN111046286A (zh) * | 2019-12-12 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置、以及计算机存储介质 |
CN111143686A (zh) * | 2019-12-30 | 2020-05-12 | 北京百度网讯科技有限公司 | 资源推荐方法及装置 |
CN111160954A (zh) * | 2019-12-16 | 2020-05-15 | 南京理工大学 | 基于图卷积网络模型的面向群组对象的推荐方法 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
CN111368210A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于人工智能的信息推荐方法、装置以及电子设备 |
CN111597428A (zh) * | 2019-02-20 | 2020-08-28 | 中国科学院声学研究所 | 一种具有q分离k稀疏的用户与物品拼接的推荐方法 |
CN111708950A (zh) * | 2020-06-22 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置及电子设备 |
CN111738000A (zh) * | 2020-07-22 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种短语推荐的方法以及相关装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922680B2 (en) * | 2002-03-19 | 2005-07-26 | Koninklijke Philips Electronics N.V. | Method and apparatus for recommending an item of interest using a radial basis function to fuse a plurality of recommendation scores |
US8073794B2 (en) * | 2007-12-20 | 2011-12-06 | Yahoo! Inc. | Social behavior analysis and inferring social networks for a recommendation system |
US11151617B2 (en) * | 2012-03-09 | 2021-10-19 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11270215B2 (en) * | 2018-02-20 | 2022-03-08 | Microstrategy Incorporated | Intelligent recommendations |
US10795897B2 (en) * | 2018-06-28 | 2020-10-06 | Microsoft Technology Licensing, Llc | Techniques for querying user profiles using neural networks |
US11100116B2 (en) * | 2018-10-30 | 2021-08-24 | International Business Machines Corporation | Recommendation systems implementing separated attention on like and dislike items for personalized ranking |
-
2020
- 2020-11-24 CN CN202011331138.1A patent/CN112418402B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615616A (zh) * | 2014-05-04 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 群组推荐方法和*** |
CN107657347A (zh) * | 2017-09-30 | 2018-02-02 | 桂林电子科技大学 | 一种面向群组的旅游推荐方法 |
CN108076154A (zh) * | 2017-12-21 | 2018-05-25 | 广东欧珀移动通信有限公司 | 应用信息推荐方法、装置及存储介质和服务器 |
CN108446410A (zh) * | 2018-05-29 | 2018-08-24 | 科大讯飞股份有限公司 | 信息推荐方法、装置、***、设备及可读存储介质 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN111597428A (zh) * | 2019-02-20 | 2020-08-28 | 中国科学院声学研究所 | 一种具有q分离k稀疏的用户与物品拼接的推荐方法 |
CN109960759A (zh) * | 2019-03-22 | 2019-07-02 | 中山大学 | 基于深度神经网络的推荐***点击率预测方法 |
CN110502704A (zh) * | 2019-08-12 | 2019-11-26 | 山东师范大学 | 一种基于注意力机制的群组推荐方法及*** |
CN111046286A (zh) * | 2019-12-12 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象推荐方法、装置、以及计算机存储介质 |
CN111160954A (zh) * | 2019-12-16 | 2020-05-15 | 南京理工大学 | 基于图卷积网络模型的面向群组对象的推荐方法 |
CN111143686A (zh) * | 2019-12-30 | 2020-05-12 | 北京百度网讯科技有限公司 | 资源推荐方法及装置 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
CN111368210A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于人工智能的信息推荐方法、装置以及电子设备 |
CN111708950A (zh) * | 2020-06-22 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置及电子设备 |
CN111738000A (zh) * | 2020-07-22 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种短语推荐的方法以及相关装置 |
Non-Patent Citations (1)
Title |
---|
刘辉.基于深度学习考虑深层特征的个性化推荐算法研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2020,(第1期),40-55. * |
Also Published As
Publication number | Publication date |
---|---|
CN112418402A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444428B (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
CN111581510B (zh) | 分享内容处理方法、装置、计算机设备和存储介质 | |
CN110516160B (zh) | 基于知识图谱的用户建模方法、序列推荐方法 | |
CN111538912B (zh) | 内容推荐方法、装置、设备及可读存储介质 | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
Taneja et al. | Modeling user preferences using neural networks and tensor factorization model | |
Zhang et al. | Enabling kernel-based attribute-aware matrix factorization for rating prediction | |
WO2022016522A1 (zh) | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 | |
US20230017667A1 (en) | Data recommendation method and apparatus, computer device, and storage medium | |
US10262299B2 (en) | Efficient recommendation services | |
CN102197394A (zh) | 通过基于注释聚集搜索结果来进行数字图像取得 | |
CN110717099A (zh) | 一种推荐影片的方法及终端 | |
WO2022148186A1 (zh) | 行为序列数据处理方法及装置 | |
CN111831901A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114912030A (zh) | 权益模型训练方法、推荐方法及电子终端和计算机介质 | |
CN112347361A (zh) | 推荐对象的方法、神经网络及其训练方法、设备和介质 | |
CN112418402B (zh) | 推荐对象的方法、神经网络及其训练方法、计算设备 | |
Li et al. | From edge data to recommendation: A double attention-based deformable convolutional network | |
CN111159242A (zh) | 一种基于边缘计算的客户端重排序方法及*** | |
CN113704620A (zh) | 基于人工智能的用户标签更新方法、装置、设备及介质 | |
Chen et al. | Edge data based trailer inception probabilistic matrix factorization for context-aware movie recommendation | |
Han et al. | Personalized re-ranking for recommendation with mask pretraining | |
CN114817692A (zh) | 确定推荐对象的方法、装置和设备及计算机存储介质 | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN116401522A (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 |