CN112418423B - 利用神经网络向用户推荐对象的方法、设备和介质 - Google Patents
利用神经网络向用户推荐对象的方法、设备和介质 Download PDFInfo
- Publication number
- CN112418423B CN112418423B CN202011334769.9A CN202011334769A CN112418423B CN 112418423 B CN112418423 B CN 112418423B CN 202011334769 A CN202011334769 A CN 202011334769A CN 112418423 B CN112418423 B CN 112418423B
- Authority
- CN
- China
- Prior art keywords
- feature
- feature vector
- user
- layer
- different
- 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/08—Learning methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (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)
- Image Analysis (AREA)
Abstract
本公开提供一种利用神经网络向用户推荐对象的方法、设备和介质,涉及人工智能技术领域,具体为智能推荐和深度学习技术。该神经网络包括:特征向量层,所述特征向量层被配置为接收基于用户特征和对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,特征向量输出包括与用户特征相对应的第一特征向量和与对象特征相对应的第二特征向量;以及特征向量层之后的多个全连接层,多个全连接层被配置为接收特征向量输出并协同运作以生成针对待推荐对象的预测推荐结果,其中,特征向量层包括与用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量。
Description
技术领域
本公开涉及人工智能技术领域,具体为智能推荐和深度学习技术,特别涉及一种利用神经网络向用户推荐对象的方法、设备和介质。
背景技术
互联网的出现和普及给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但随着网络的迅速发展而带来的网上信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低。
根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐系统应运而生。推荐系统通过研究用户的兴趣偏好,进行个性化计算,由系统发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系。推荐系统现已广泛应用于很多领域。为了节省资源,推荐系统会同时服务于多个产品(例如,多个应用程序或多个应用终端)。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一方面,提供一种由计算机实现的神经网络,所述神经网络被配置用于接收用户特征和待推荐对象的对象特征以预测所述待推荐对象的推荐结果,所述神经网络包括:特征向量层,所述特征向量层被配置为接收基于所述用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及所述特征向量层之后的多个全连接层,所述多个全连接层被配置为接收所述特征向量输出并协同运作以生成针对所述待推荐对象的预测推荐结果,其中,所述特征向量层包括与所述用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量。
根据本公开的一方面,提供一种由计算机实现的利用神经网络向用户推荐对象的方法,所述神经网络包括特征向量层和所述特征向量层之后的多个全连接层,所述方法包括:利用所述特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入,其中,所述特征向量层被配置为接收所述特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及利用所述多个全连接层处理所述特征向量输出,其中,所述多个全连接层被配置为接收所述特征向量输出并协同运作以生成针对所述待推荐对象的预测推荐结果,其中,所述特征向量层包括与所述用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量。
根据本公开的一方面,提供一种由计算机实现的神经网络的训练方法,所述神经网络包括嵌入层和多个全连接层,所述训练方法包括:获取样本用户的特征和与所述样本用户相关的样本对象的特征,并标注所述样本对象是否被点击的真实结果;利用嵌入层处理基于样本用户特征和样本对象特征的第一嵌入层输入并确定相应的特征向量以生成第一样本特征向量输出,其中,所述第一样本特征向量输出包括与所述样本用户特征相对应的第一特征向量和与所述样本对象特征相对应的第二特征向量,其中,所述嵌入层还被配置为处理不同于所述第一嵌入层输入的第二嵌入层输入以生成第二样本特征向量输出,其中,所述第一嵌入层输入和第二嵌入层输入为基于相同样本用户特征,所述第二样本特征向量输出包括与所述样本用户特征相对应的不同于所述第一特征向量的第三特征向量;利用所述多个全连接层处理所述第一样本特征向量输出,以输出所述样本对象是否被点击的预测结果;基于所述真实结果和所述预测结果,计算损失函数;以及基于所述损失函数调整所述嵌入层和所述多个全连接层的参数。
根据本公开的一方面,提供一种计算设备,所述计算设备包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述的方法。
根据本公开的一方面,提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行上述的方法。
根据本公开的一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述的方法的步骤。
本公开的技术方案通过利用特征向量层对基于用户特征和对象特征的输入进行处理,能够针对不同产品场景的用户特征形成不同的特征体系,使得不同产品场景的相同用户特征对应不同的特征向量,而神经网络基于用户特征和对象特征相应的特征向量生成推荐结果,从而能够实现适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是示出根据示例性实施例的神经网络的应用结构框图;
图2和图3是示出根据示例性实施例的神经网络的示意性结构图;
图4是示出根据示例性实施例的神经网络的应用结构框图;
图5是示出根据示例性实施例的神经网络的训练结构框图;
图6是示出根据示例性实施例的神经网络的训练方法的流程图;
图7和图8是示出根据示例性实施例的利用神经网络向用户推荐对象的方法的流程图;
图9是示出能够应用于示例性实施例的示例性计算设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些在示例性实施例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
针对推荐系统,利用样本数据进行训练学习,以学习用户特征和对象特征之间的关联关系,从而能够基于用户特征和对象特征为用户推荐感兴趣的对象。若不同产品的样本数据混合训练,会导致不同产品之间互相干扰,无法满足各产品均能够获得理想的推荐结果。例如,以应用程序为例,推荐对象为文字的产品,希望的推荐结果为文字,而推荐对象为视频的产品,希望的推荐结果为视频,应用程序之间会互相干扰,无法得到理想的推荐效果。以应用终端为例,不同应用终端希望的推荐结果不同,应用终端之间也会互相干扰,无法得到理想的推荐效果。
为了解决上述技术问题,本公开提供一种神经网络以及利用该神经网络向用户推荐对象的方法,在将用户特征和对象特征输入神经网络之前,对基于用户特征和对象特征的输入进行处理,以确定与用户特征相对应的特征向量和与对象特征相对应的特征向量,并且所确定的与不同产品场景的相同用户特征相应的特征向量不同。由此,通过改进特征向量的确定方式能够形成不同产品场景的用户特征体系,也就是说,不同产品场景的相同用户特征相对应的特征向量不同,从而推荐系统能够适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。
本公开的技术方案例如可以适用于任意应用推荐系统的产品场景。基于具体的产品场景,用户特征和对象特征可以不同。例如:对于推荐对象为文字的产品,用户特征可以但不限于包括用户感兴趣的文字类型(例如:科技、科普、小说等),例如也可以包括用户的性别、年龄、学历等。用户特征例如可以为:[“男”,“本科”,“科技”]。对象特征可以但不限于包括对象的类型(例如:科技、科普、小说等),例如也可以包括发表时间、作者、热度等。
所述产品例如可以为应用程序或应用终端,不同产品的相同用户特征希望的对象推荐结果不同。本公开的技术方案通过形成不同产品的用户特征体系,使得不同产品的相同用户特征相应的特征向量不同,从而能够基于不同产品相同用户特征相应的不同特征向量来实现不同的对象推荐结果。以应用终端为例,第一应用终端的用户特征希望的推荐结果为视频,第二应用终端的用户特征希望的推荐结果为文字。针对第一应用终端和第二应用终端的相同用户特征“科技”,例如可以确定第一应用终端和第二应用终端的相同用户特征“科技”相应的特征向量分别为[1,0]、[0,1],从而神经网络能够基于不同的用户特征向量生成不同的对象推荐结果,具体可以为:所生成的第一应用终端的用户针对科技视频对象的推荐结果为点击,将科技视频对象推荐给第一应用终端的用户;而所生成的第二应用终端的用户针对科技视频对象的推荐结果为不点击,不将科技视频对象推荐给第二应用终端的用户。
以下将结合附图对本公开的神经网络以及利用神经网络向用户推荐对象的方法进行进一步描述。
图1是示出根据示例性实施例的由计算机实现的神经网络的框图。该神经网络可以被配置用于接收用户特征和待推荐对象的对象特征以预测所述待推荐对象的推荐结果。如图1所示,该神经网络可以包括:特征向量层101,特征向量层101被配置为接收基于用户特征和对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及特征向量层101之后的多个全连接层102,所述多个全连接层102被配置为接收特征向量输出并协同运作以生成针对待推荐对象的预测推荐结果。其中,特征向量层101包括与用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量。由此,通过利用特征向量层对基于用户特征和对象特征的输入进行处理,从而能够针对不同产品场景的用户特征形成不同的特征体系,使得不同产品场景的相同用户特征相对应的特征向量不同,进而神经网络能够适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。
该神经网络可以但不限于为基于多层感知器MLP,即为基于多层全连接神经网络,包括多个级联的全连接层。可以理解的是,所述神经网络也可以为其它类型的神经网络,不仅包括全连接层,还可包括其它层结构,例如,卷积层、池化层,在此不作限定。
该神经网络生成的针对待推荐对象的预测推荐结果例如可以为待推荐对象被用户点击的预测概率,从而能够基于用户针对待推荐对象的预测点击概率来确定是否向该用户推荐该待推荐对象以及确定多个待推荐对象的推荐排序。
例如,可以设置阈值,在待推荐对象的预测点击概率不小于阈值的情况下,确定向该用户推荐该待推荐对象,从而能够推荐用户最可能感兴趣的对象。也可以基于相应的预测点击概率的大小,确定多个待推荐对象的推荐排序,并且确定向该用户推荐排序靠前的若干个待推荐对象,从而能够向用户推荐一定数量的对象供用户自主选择。
在示例性实施例中,可以将基于用户特征和多个待推荐对象中每一个待推荐对象的对象特征分别相应的多个特征向量层输入同时输入神经网络,从而能够同时生成用户针对多个待推荐对象的预测推荐结果(例如预测点击概率),提升推荐效率。
待推荐对象的类型可以根据具体的产品场景而不同,在此不作限定。待推荐对象例如可以为包括以下类型中的一种或多种类型的数据:文字、音频和视频。
本公开中的特征向量层被配置为接收基于用户特征和对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,并且基于不同产品场景的相同用户特征的特征向量层输入生成不同的特征向量输出,从而能够针对不同产品场景的用户特征形成不同的特征体系。
根据一些实施例,特征向量层可以为嵌入层,包括至少一个全连接层。在这种情况下,特征向量层可被配置为接收基于用户特征和对象特征的特征向量层输入并且所述至少一个全连接层协同运作以输出用户特征和对象特征中的每一个特征相应的特征向量,具体原理如下:
在图2示意的示例性实施例中,以用户特征为例来进行说明。输入201可包括多个用户特征,例如,用户性别特征“男”2011、用户学历特征“本科”和用户兴趣特征“科技”。
图2中示意的特征向量层204仅包括一层全连接层,例如可以通过将多个用户特征分别相应的多个全连接子层并联而得到。不同全连接子层可以包括相同数量的神经元,也可以包括不同数量的神经元,在此不作限定。在特征向量层204生成的特征向量输出205中,与每一用户特征相对应的特征向量的维度可以与相应的全连接子层所包括的神经元的个数相同。如图2所示,特征向量层204通过将用户性别特征“男”2011对应的全连接子层2041和其他用户特征(例如图2中示出的用户学历特征“本科”和用户兴趣特征“科技”)相应的全连接子层并联而得到。与每一用户特征相应的全连接子层可以均包括6个神经元,相应地,与每一用户特征相应的特征向量的维度也可以为6。
特征向量层输入例如可以基于每一用户特征的特征编码而得到。可以但不限于利用独热编码(即One-Hot编码,又称一位有效编码)得到每一用户特征(一个数值或字符串)的特征编码(即1×N的向量,下称独热向量)。独热向量的维度可以与该用户特征的取值数量相同,其中独热向量的每一个向量分量对应于该用户特征的一个取值,并且当一个用户特征的取值确定时,独热向量中与该用户特征取值相应的向量分量的值为“1”,独热向量中的其他向量分量的值为“0”。示例性的,针对用户性别特征,取值例如可以为:{“男”、“女”}。以应用于两个产品为例,则用户性别特征可以对应一个四维独热向量。例如第一产品的用户性别特征“男”对应的独热向量可以为四维向量[0,0,0,1],第一产品的用户性别特征“女”对应的独热向量可以为[0,0,1,0],第二产品的用户性别特征“男”对应的独热向量可以为[0,1,0,0],第二产品的用户性别特征“女”对应的独热向量可以为[1,0,0,0]。可以理解的是,也可以通过其他的方式进行独热编码,例如第一产品的用户性别特征“男”对应的独热向量可以为[1,0,0,0],第一产品的用户性别特征“女”对应的独热向量可以为[0,1,0,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为/>类似的,第二产品的用户性别特征“男”2011的独热向量2021例如可以为[0,1,0,0],则第二产品的用户性别特征“男”相应的特征向量为/>可见,第一产品和第二产品的用户性别特征“男”相应的特征向量不同。可以理解的是,此处为便于说明和理解,将独热向量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所示,该神经网络还可包括特征输入层403,特征输入层403位于特征向量层401之前,并被配置为根据映射函数将用户特征和对象特征中的每一个特征分别映射为相应的数值以生成特征向量层输入。由此,通过利用不同的映射函数能够实现不同产品场景的相同用户特征分别映射为不同的数值以生成不同的特征向量层输入,从而特征向量层能够根据不同产品场景的相同用户特征相对应的不同特征向量层输入确定不同的特征向量输出。换言之,不同产品场景的相同用户特征相对应的特征向量不同,从而能够实现不同产品场景具有不同的特征体系,适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。
在图4示意的示例性实施例中,特征向量层401和多个全连接层402与图1中示意的特征向量层101和多个全连接层102分别相对应。
通过不同的映射函数能够将不同产品场景的相同用户特征分别映射得到不同的数值,并且针对相同产品场景的不同用户特征,通过同一映射函数同样能够将不同用户特征分别映射得到不同的数值,从而能够使得映射得到的数值不损失相应的用户特征的表达能力。
根据一些实施例,可根据用户特征被映射得到数值对用户特征进行特征编码(例如独热编码),并且根据对象特征被映射得到数值对对象特征进行特征编码(例如独热编码)。特征向量层输入可包括与用户特征相对应的第一特征编码和与对象特征相对应的第二特征编码。以所述特征向量层利用矩阵乘法生成用户特征相应的特征向量以及对象特征相应的特征向量(具体的实现方法已在上面内容中描述)为例,由于不同产品场景的相同用户特征被映射得到的数值不同,从而能够使得不同产品场景的相同用户特征的特征编码不同,进而使得不同用户特征对应矩阵中的不同行以得到不同的特征向量。
所述映射函数例如可以但不限于为哈希函数,通过与特征向量层配合,能够实现不同产品场景的相同用户特征在特征向量层中具有不同的特征向量与之相对应。以用户特征:[“男”,“本科”,“科技”]为例,哈希后的用户特征为[hash1,hash2,hash3],其中,hash1=hash(男),hash2=hash(本科),hash3=hash(科技)。可以以用户特征的哈希值为位置索引来对用户特征进行独热编码,得到用户特征的特征编码(即独热向量),并且独热向量中与位置索引相对应的向量分量取值为“1”,其它向量分量取值为“0”。需要说明的是,哈希函数并不是一个特定的函数而是一类函数的统称。
根据一些实施例,在映射函数为哈希函数的情况下,特征向量层输入可包括与用户特征相对应的哈希值和与对象特征相对应的哈希值。在这种情况下,特征向量层可被配置为将与用户特征相对应的哈希值作为索引以搜索与用户特征相对应的特征向量,并且将与对象特征相对应的哈希值作为索引以搜索与对象特征相对应的特征向量。由此,通过利用索引进行搜索的方式能够快速确定用户特征和对象特征中的每一个特征相对应的特征向量。由于不同产品场景的用户特征利用不同的哈希函数进行哈希,因此,不同产品场景的相同用户特征的哈希值不同,从而以不同产品场景的相同用户特征相对应的哈希值为索引在特征向量层中搜索到的特征向量不同,进而特征向量层针对用户特征-对象特征组合所确定的特征向量输出不同,能够适用于不同产品场景的对象推荐并且各产品场景之间互不影响推荐效果。
在示例性实施例中,特征向量层中的特征向量可以被以键-值的形式进行存储,其中,键可包括与用户特征相对应的哈希值和与对象特征相对应的哈希值,从而通过查找与索引匹配的键,即能够快速确定匹配的键对应的值即为该索引对应的特征向量。
根据一些实施例,不同产品场景的相同对象特征相对应的特征向量可以相同,由于特征向量层的特征向量输出包括用户特征相对应的特征向量和与对象特征相对应的特征向量,不同产品场景的相同用户特征相对应的特征向量不同,因此,即使不同产品场景的相同对象特征相对应的特征向量相同,用户特征和对象特征的组合相对应的特征向量输出也不同,同样能够满足针对不同产品场景形成不同的特征体系。
在示例性实施例中,不同产品场景的对象特征可以利用相同的映射函数进行映射,即利用相同的映射函数能够将不同产品场景的相同对象特征映射得到相同的数值以生成第二特征向量。例如,不同产品场景的对象特征可以利用相同的哈希函数进行映射,得到相同的哈希值。
根据另一些实施例,不同产品场景的相同对象特征相对应的特征向量也可以不同,也就是说,特征向量层还可包括与相同对象特征相对应的至少一个不同于第二特征向量的第四特征向量。从而能够进一步保证特征向量层所确定的不同产品场景的相同用户特征相对应的特征向量输出不同,满足针对不同产品场景形成不同的特征体系。
在示例性实施例中,不同产品场景的对象特征可以利用不同的映射函数进行映射,即利用不同的映射函数能够将不同产品的相同对象特征分别映射得到不同的数值以分别生成第二特征向量和第四特征向量。例如,不同产品场景的相同对象特征可以利用不同的哈希函数进行映射,得到不同的哈希值。
特征向量层的特征向量输出可以由用户特征相对应的特征向量和与对象特征相对应的特征向量拼接而得到。可以理解的是,特征向量层的特征向量输出例如也可以为用户特征相对应的特征向量和与对象特征相对应的特征向量的内积,在此不作限定。
根据一些实施例,位于特征向量层之前的特征输入层还可被配置为,基于用户所属的用户群组选择不同的映射函数,以使得属于不同用户群组的用户的相同用户特征能够被映射为不同的数值。用户群组例如可以基于用户所使用的产品来划分,使用同一产品的用户归属于一个用户群组,使用不同产品的用户归属于不同用户群组。所述产品例如可以为用户所使用的终端,即用户群组是根据用户所使用的终端设备进行划分的。所述产品例如也可以为用户所使用的应用程序,即用户群组是根据用户所使用的应用程序进行划分的,在此不限定用户群组的具体划分方式,只要不同用户群组中的相同用户特征所对应的理想推荐结果不同即可。
根据一些实施例,特征向量层中与同一用户特征相对应的不同的特征向量的数量可以与用户群组的数量相同,从而利用特征向量层能够基于各用户群组的相同用户特征分别确定各自相对应的不同特征向量,进而能够实现在应用过程中不同用户群组之间均互不影响推荐效果。例如,在基于用户所使用的产品来划分用户群组的情况下,特征向量层中与相同用户特征相对应的不同的特征向量的数量可以与所应用的产品场景的数量相同,从而在应用过程中各产品之间互不影响推荐效果。例如,可以利用不同的映射函数将各产品的相同用户特征分别映射得到各自相对应的不同数值,从而能够以映射得到的不同数值作为索引进行搜索,获取特征向量层中分别相对应的不同特征向量。
图5是示出根据示例性实施例的神经网络的训练结构框图。
根据一些实施例,如图5所示,在训练过程中,神经网络可以包括嵌入层504和多个全连接层502(对应图4中的多个全连接层402)。嵌入层504可包括至少一个全连接层,被配置为接收基于样本用户特征和样本对象特征的嵌入层输入并且所述至少一个全连接层协同运作以生成样本特征向量输出。多个全连接层502可被配置为接收样本特征向量输出并进行处理以生成推荐结果。
基于此,根据本公开的另一方面,还提供一种神经网络的训练方法。如图6所示,所述训练方法可包括:步骤S601、利用嵌入层处理基于样本用户特征和样本对象特征的第一嵌入层输入并确定相应的特征向量以生成第一样本特征向量输出,其中,所述第一样本特征向量输出包括与所述样本用户特征相对应的第一特征向量和与所述样本对象特征相对应的第二特征向量,其中,所述嵌入层还被配置为处理不同于所述第一嵌入层输入的第二嵌入层输入以生成第二样本特征向量输出,其中,所述第一嵌入层输入和第二嵌入层输入为基于相同样本用户特征,所述第二样本特征向量输出包括与所述样本用户特征相对应的不同于所述第一特征向量的第三特征向量;步骤S602、利用所述多个全连接层处理所述第一样本特征向量输出,以输出所述样本对象是否被点击的预测结果;步骤S603、基于所述真实结果和所述预测结果,计算损失函数;以及步骤S604、基于所述损失函数调整所述嵌入层和所述多个全连接层的参数。可以对上述过程进行迭代,直至完成神经网络的训练。例如可以在迭代次数达到设定次数或者计算得到的损失函数小于设定值,确定神经网络训练完成。由此,通过嵌入层能够将不同产品场景的相同用户特征对应为不同的特征向量,从而不同产品场景的样本特征能够混合训练并且互不影响训练效果。
在神经网络训练完成之后,可以直接应用,即神经网络的训练结构和应用结构一致。在这种情况下,在应用过程中,神经网络的特征向量层即为嵌入层。
根据一些实施例,该神经网络还可包括位于嵌入层504之前的特征输入层503(对应图4中的特征输入层403),并且其中,所述训练方法还可包括:利用特征输入层503从映射函数库中选择与样本用户相对应的第一映射函数以及与样本对象相对应的第二映射函数,所述映射函数库包括与所述样本用户相对应的至少一个不同于第一映射函数的第三映射函数;以及利用特征输入层503根据第一映射函数将样本用户特征映射为相应的数值并基于映射所得到的数值确定样本用户特征的第一特征编码,以及根据第二映射函数将样本对象特征映射为相应的数值并基于映射所得到的数值确定样本对象特征的第二特征编码。其中,利用嵌入层504处理基于所述第一特征编码和第二特征编码的第一嵌入层输入并分别确定与样本用户特征相对应的第一特征向量和所述样本对象特征相对应的第二特征向量以生成所述第一样本特征向量输出。由此,根据不同的映射函数能够使得不同产品场景的相同样本用户特征对应不同的特征编码,进而使得不同产品场景的相同样本用户特征对应不同的特征向量,形成不同产品场景的用户特征体系,从而能够将不同产品场景的样本特征混合训练并且互不影响训练效果。
通过不同的映射函数能够将不同产品场景的相同样本用户特征分别映射得到不同的数值,并且针对相同产品场景的不同样本用户特征,通过同一映射函数同样能够将不同样本用户特征分别映射得到不同的数值,从而能够使得映射得到的数值不损失相应的用户特征的表达能力。
根据一些实施例,可根据样本用户特征被映射得到数值对样本用户特征进行独热编码,并且根据样本对象特征被映射得到数值对对象特征进行独热编码。嵌入层输入可包括与样本用户特征相对应的第一特征编码(即独热编码)和与样本对象特征相对应的第二特征编码(即独热编码)。在这种情况下,嵌入层可以接收第一特征编码和第二特征编码并确定相应的特征向量以特征向量输出(具体的实现方法可参见上面内容)。
所述映射函数例如可以但不限于为哈希函数。在示例中,在映射函数为哈希函数的情况下,嵌入层输入可包括与样本用户特征相对应的哈希值和与样本对象特征相对应的哈希值。可以以样本用户特征被映射所得到的哈希值为位置索引,对样本用户特征进行独热编码。同样可以以样本对象特征被映射所得到的哈希值为位置索引,对样本对象特征进行独热编码,具体的实现方法可参见上面内容。
根据一些实施例,该神经网络还可包括特征向量层501,并且其中,所述训练方法还可包括:在所述神经网络训练完成之后,在特征向量层501中存储样本用户特征被映射所得到的数值和与该样本用户特征相对应的特征向量之间的映射关系,以及样本对象特征被映射所得到的数值和与该样本对象特征相对应的特征向量之间的映射关系,并且删除嵌入层504,以得到神经网络的应用结构图。也就是说,在这种情况下,神经网络的应用结构图和训练结构图不同。
在一个示例中,特征向量层501可被配置为根据第一映射函数将样本用户特征进行映射所得到的数值作为索引以搜索与样本用户特征相对应的特征向量,并且根据第二映射函数将样本对象特征进行映射所得到的数值作为索引以搜索与样本对象特征相对应的特征向量。由此,通过利用索引进行搜索的方式能够快速确定样本用户特征和样本对象特征中的每一个特征相对应的特征向量。由于不同产品场景的样本用户特征利用不同的映射函数进行映射,因此不同产品场景的相同样本用户特征的映射值不同,并且以不同产品场景的相同样本用户特征相对应的映射值为索引在特征向量层中搜索到的特征向量不同,特征向量层针对用户特征-对象特征组合所确定的特征向量输出也不同,能够适用于不同产品场景的样本特征混合训练并且各产品场景之间互不影响训练效果。
可以将与样本用户特征和样本对象特征中的每一个特征相对应的特征向量进行拼接得到特征向量输出,以输入多个全连接层502并生成推荐结果。可以理解的是,特征向量层的特征向量输出例如也可以为用户特征相对应的特征向量和与对象特征相对应的特征向量的内积,在此不作限定。
在另一个示例中,特征向量层501例如也可以为矩阵形式,可以利用矩阵乘法,基于样本用户特征对应的第一特征编码,计算得到样本用户特征的特征向量。同样可以利用矩阵乘法,基于样本对象特征对应的第二特征编码计算得到样本对象特征的特征向量,从而能够快速得到样本用户特征相对应的特征向量。具体的原理参见上面内容。
根据一些实施例,所述特征输入层还可被配置为,基于样本用户所属的用户群组从映射函数库中选择与样本用户相对应的映射函数,以使得属于不同用户群组的样本用户的相同样本用户特征能够被映射为不同的数值。用户群组例如可以基于样本用户所使用的产品来划分,使用同一产品的样本用户归属于一个用户群组,使用不同产品的样本用户归属于不同用户群组。所述产品例如可以为样本用户所使用的终端,即用户群组是根据用户所使用的终端设备进行划分的。所述产品例如也可以为样本用户所使用的应用程序,即用户群组是根据样本用户所使用的应用程序进行划分的,在此不限定用户群组的具体划分方式,只要不同用户群组中的相同用户特征所对应的真实推荐结果不同即可。
根据一些实施例,所述映射函数库还可包括与所述样本对象相对应的至少一个不同于所述第二映射函数的第四映射函数。从而能够根据不同的映射函数确定不同产品场景的相同对象用户特征对应不同的特征编码,形成不同产品场景的对象特征体系,进而能够进一步保证不同产品场景的相同用户特征相对应的特征向量输出不同,满足针对不同产品场景形成不同的特征体系。
根据本公开的另一方面,如图7所示,还提供一种由计算机实现的利用神经网络向用户推荐对象的方法,所述神经网络包括特征向量层和所述特征向量层之后的多个全连接层。所述方法可包括:步骤S701、利用所述特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入,其中,所述特征向量层被配置为接收所述特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及步骤S702、利用所述多个全连接层处理所述特征向量输出,其中,所述多个全连接层被配置为接收所述特征向量输出并协同运作以生成针对所述待推荐对象的预测推荐结果,其中,所述特征向量层包括与所述用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量。由此,通过利用特征向量层对基于用户特征和对象特征的输入进行处理,从而能够针对不同产品场景的用户特征形成不同的特征体系,使得不同产品场景的相同用户特征相对应的特征向量不同,进而神经网络能够适用于不同产品场景用户的对象推荐,并且各产品场景之间互不影响推荐效果。
所述神经网络可以但不限于为基于多层感知器MLP,即为基于多层全连接神经网络,包括多个级联的全连接层。可以理解的是,所述神经网络也可以为其它类型的神经网络,不仅包括全连接层,还可包括其它层结构,例如,卷积层、池化层,在此不作限定。
该神经网络生成的针对待推荐对象的预测推荐结果例如可以为待推荐对象被用户点击的预测概率,从而能够基于用户针对待推荐对象的预测点击概率来确定是否向该用户推荐该待推荐对象以及确定该待推荐对象的推荐排序。
例如,可以设置阈值,在待推荐对象的预测点击概率不小于阈值的情况下,确定向该用户推荐该待推荐对象,从而能够推荐用户感兴趣的对象。也可以基于相应的预测点击概率的大小,确定多个待推荐对象的推荐排序,并且确定向该用户推荐排序靠前的若干个待推荐对象,从而能够向用户推荐一定数量的对象供用户自主选择。
在示例性实施例中,可以将基于用户特征和多个待推荐对象中每一个待推荐对象的对象特征分别相应的多个特征向量层输入同时输入神经网络,从而能够同时生成用户针对多个待推荐对象的预测推荐结果(例如预测点击概率),提升推荐效率。
待推荐对象的类型可以根据具体的产品场景而不同,例如可以为包括以下类型中的一种或多种类型的数据:文字、音频和视频,在此不作限定。
本公开中的特征向量层被配置为接收基于用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,并且基于不同产品场景的相同用户特征的特征向量层输入生成不同的特征向量输出,从而能够针对不同产品场景的用户特征形成不同的特征体系。
根据一些实施例,特征向量层可以为嵌入层,包括至少一个全连接层。在这种情况下,步骤S701、利用特征向量层处理特征向量层输入可包括接收基于用户特征和对象特征的特征向量层输入并且所述至少一个全连接层协同运作以输出用户特征和对象特征中的每一个特征相对应的特征向量。
在示例性实施例中,特征向量层输入例如可以基于每一用户特征的特征编码(例如独热编码)和每一对象特征的特征编码(例如独热编码)而得到。在这种情况下,所述特征向量层可以利用矩阵乘法生成用户特征相应的特征向量以及对象特征相应的特征向量(具体的实现方法已在上面内容中描述)。
根据另一些实施例,步骤S701、利用特征向量层处理所述特征向量层输入可包括将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。由此,通过利用索引进行搜索的方式能够快速确定用户特征和对象特征中的每一个特征相对应的特征向量。
在示例性实施例中,所述特征向量可以被以键-值的形式存储在所述特征向量层中,从而通过查找与索引匹配的键(例如用户特征相应的特征编码),即能够确定匹配的键对应的值即为该索引对应的特征向量。
根据一些实施例,结合图4所示,所述神经网络还可包括位于特征向量层401之前的特征输入层403,并且其中,如图8所示,所述方法还可包括:步骤S801、利用特征输入层根据映射函数将用户特征和对象特征中的每一个特征分别映射为相应的数值以生成特征向量层输入。由此,通过利用不同的映射函数能够实现不同产品场景的相同用户特征分别映射为不同的数值以生成不同的特征向量层输入,从而特征向量层能够根据不同产品场景的相同用户特征相对应的不同特征向量层输入确定不同的特征向量输出。换言之,不同产品场景的相同用户特征相对应的特征向量不同,从而能够实现不同产品场景具有不同的特征体系,适用于不同产品场景的对象推荐,并且各产品场景之间互不影响推荐效果。
图8中的步骤S802和步骤S803与图7中的步骤S702和步骤S703分别相对应。
通过不同的映射函数能够将不同产品场景的相同用户特征分别映射得到不同的数值,并且针对相同产品场景的不同用户特征,通过同一映射函数同样能够将不同用户特征分别映射得到不同的数值,从而能够使得映射得到的数值不损失相应的用户特征的表达能力。
根据一些实施例,可根据用户特征被映射得到数值对用户特征进行特征编码(例如独热编码),并且根据对象特征被映射得到数值对对象特征进行特征编码(例如独热编码)。特征向量层输入可包括与用户特征相对应的第一特征编码和与对象特征相对应的第二特征编码。以所述特征向量层利用矩阵乘法生成用户特征相应的特征向量以及对象特征相应的特征向量(具体的实现方法已在上面内容中描述)为例,由于不同产品场景的相同用户特征被映射得到的数值不同,从而能够使得不同产品场景的相同用户特征的特征编码不同,进而使得不同用户特征对应矩阵中的不同行以得到不同的特征向量。
所述映射函数例如可以但不限于为哈希函数,通过与特征向量层配合,能够实现不同产品场景的相同用户特征在特征向量层中具有不同的特征向量与之相对应。以用户特征:[“男”,“本科”,“科技”]为例,哈希后的用户特征为[hash1,hash2,hash3],其中,hash1=hash(男),hash2=hash(大学),hash3=hash(科技)。可以以用户特征的哈希值为位置索引来对用户特征进行独热编码,得到用户特征的特征编码(即独热向量),并且独热向量中与位置索引相对应的向量分量取值为“1”,其它向量分量取值为“0”。需要说明的是,哈希函数并不是一个特定的函数而是一类函数的统称。
根据一些实施例,在映射函数为哈希函数的情况下,特征向量层输入可包括与用户特征相对应的哈希值和与对象特征相对应的哈希值。在这种情况下,特征向量层可被配置为将与用户特征相对应的哈希值作为索引以搜索与用户特征相对应的特征向量,并且将与对象特征相对应的哈希值作为索引以搜索与对象特征相对应的特征向量。由此,通过利用索引进行搜索的方式能够快速确定用户特征和对象特征中的每一个特征相对应的特征向量。由于不同产品场景的用户特征利用不同的哈希函数进行哈希,因此,不同产品场景的相同用户特征的哈希值不同,从而以不同产品场景的相同用户特征相对应的哈希值为索引在特征向量层中搜索到的特征向量不同,进而特征向量层针对用户特征-对象特征组合所确定的特征向量输出不同,能够适用于不同产品场景用户的对象推荐并且各产品场景之间互不影响推荐效果。
在示例性实施例中,特征向量层中的特征向量可以被以键-值的形式进行存储,其中,键可包括与用户特征相对应的哈希值和与对象特征相对应的哈希值,从而通过查找与索引匹配的键,即能够快速确定匹配的键对应的值即为该索引对应的特征向量。
根据一些实施例,不同产品场景的相同对象特征相对应的特征向量可以相同,由于特征向量层的特征向量输出包括用户特征相对应的特征向量和与对象特征相对应的特征向量,不同产品场景的相同用户特征相对应的特征向量不同,因此,即使不同产品场景的相同对象特征相对应的特征向量相同,用户特征和对象特征的组合相对应的特征向量输出也不同,同样能够满足针对不同产品场景形成不同的特征体系。
在示例性实施例中,不同产品场景的对象特征可以利用相同的映射函数进行映射,即利用相同的映射函数能够将不同产品场景的相同对象特征映射得到相同的数值以生成第二特征向量。例如,不同产品场景的对象特征可以利用相同的哈希函数进行映射,得到相同的哈希值。
根据另一些实施例,不同产品场景的相同对象特征相对应的特征向量也可以不同,也就是说,特征向量层还可包括与相同对象特征相对应的至少一个不同于第二特征向量的第四特征向量。从而能够进一步保证特征向量层所确定的不同产品场景的相同用户特征相对应的特征向量输出不同,满足针对不同产品场景形成不同的特征体系。
在示例性实施例中,不同产品场景的对象特征可以利用不同的映射函数进行映射,即利用不同的映射函数能够将不同产品的相同对象特征分别映射得到不同的数值以分别生成第二特征向量和第四特征向量。例如,不同产品场景的相同对象特征可以利用不同的哈希函数进行映射,得到不同的哈希值。
特征向量层的特征向量输出可以由用户特征相对应的特征向量和与对象特征相对应的特征向量拼接而得到。可以理解的是,特征向量层的特征向量输出例如也可以为用户特征相对应的特征向量和与对象特征相对应的特征向量的内积,在此不作限定。
根据一些实施例,位于特征向量层之前的特征输入层还可被配置为,基于用户所属的用户群组选择不同的映射函数,以使得属于不同用户群组的用户的相同的用户特征能够被映射为不同的数值。用户群组例如可以基于用户所使用的产品来划分,使用同一产品的用户归属于一个用户群组,使用不同产品的用户归属于不同用户群组。所述产品例如可以为用户所使用的终端,即用户群组是根据用户所使用的终端设备进行划分的。所述产品例如也可以为用户所使用的应用程序,即用户群组是根据用户所使用的应用程序进行划分的,在此不限定用户群组的具体划分方式,只要不同用户群组中的相同用户特征所对应的理想推荐结果不同即可。
根据一些实施例,特征向量层中与同一用户特征相对应的不同的特征向量的数量可以与用户群组的数量相同,从而利用特征向量层能够使得各用户群组的相同用户特征分别确定各自相对应的不同特征向量,进而能够实现在应用过程中不同用户群组之间互不影响推荐效果。例如,在基于用户所使用的产品来划分用户群组的情况下,特征向量层中与相同用户特征相对应的不同的特征向量的数量可以与所应用的产品场景的数量相同,从而在应用过程中各产品之间互不影响推荐效果。例如,可以利用不同的映射函数将各产品的相同用户特征分别映射得到各自相对应的不同数值,从而能够以映射得到的不同数值作为索引进行搜索,获取特征向量层中相对应的不同特征向量。
需要说明的是,以上虽然以产品场景为例,通过确定不同产品的相同用户特征相对应的特征向量不同,以能够基于同一推荐系统实现不同产品用户的对象推荐并且互不影响推荐效果,但不限定本公开的技术方案仅适用于这种产品场景。本公开的技术方案适用于对相同用户特征的理想推荐结果存在不同的所有应用场景,例如,确定不同地域的相同用户特征相对应的特征向量不同,以能够基于同一推荐系统实现不同地域用户的对象推荐并且互不影响推荐效果。
根据本公开的另一方面,还提供一种计算设备,所述计算设备可包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述的方法。
根据本公开的另一方面,还提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行上述的方法。
参见图9所示,现将描述计算设备9000,其是可以应用于本公开的各方面的硬件设备的示例。计算设备9000可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、机器人、智能电话、车载计算机或其任何组合。上述视频推荐方法可以全部或至少部分地由计算设备9000或类似设备或系统实现。
计算设备9000可以包括(可能经由一个或多个接口)与总线9002连接或与总线9002通信的元件。例如,计算设备9000可以包括总线9002、一个或多个处理器9004、一个或多个输入设备9006以及一个或多个输出设备9008。一个或多个处理器9004可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备9006可以是能向计算设备9000输入信息的任何类型的设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备9008可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备9000还可以包括非暂时性存储设备9010或者与非暂时性存储设备9010连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备9010可以从接口拆卸。非暂时性存储设备9010可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。计算设备9000还可以包括通信设备9012。通信设备9012可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算设备9000还可以包括工作存储器9014,其可以是可以存储对处理器9004的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器9014中,包括但不限于操作系统9016、一个或多个应用程序9018、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序9018中,并且上述推荐方法可以通过由处理器9004读取和执行一个或多个应用程序9018的指令来实现。更具体地,上述推荐方法中,步骤S801-步骤S803可以例如通过处理器9004执行具有步骤S801-步骤S803的指令的应用程序9018而实现。此外,上述推荐方法中的其它步骤可以例如通过处理器9004执行具有执行相应步骤中的指令的应用程序9018而实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备9010)中,并且在执行时可以被存入工作存储器9014中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。
还应该理解,计算设备9000的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算系统9000的其他组件也可以类似地分布。这样,计算设备9000可以被解释为在多个位置执行处理的分布式计算系统。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或在示例性实施例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或在示例性实施例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (24)
1.一种由计算机实现的神经网络,所述神经网络被配置用于接收用户特征和待推荐对象的对象特征以预测所述待推荐对象的推荐结果,所述神经网络包括:
特征向量层,所述特征向量层被配置为接收基于所述用户特征和所述对象特征的特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及
所述特征向量层之后的多个全连接层,所述多个全连接层被配置为接收所述特征向量输出并协同运作以生成针对所述待推荐对象的预测推荐结果,其中,
所述特征向量层包括与所述用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量,
其中,所述神经网络还包括特征输入层,所述特征输入层位于所述特征向量层之前,并被配置为根据映射函数将所述用户特征和所述对象特征中的每一个特征分别映射为相应的数值以生成所述特征向量层输入,所述特征输入层还被配置为,基于用户所属的用户群组选择不同的映射函数,以使得属于不同用户群组的用户的相同用户特征能够被映射为不同的数值。
2.如权利要求1所述的神经网络,其中,所述特征向量层被配置为将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。
3.如权利要求1或2所述的神经网络,其中,所述特征向量被以键-值的形式存储在所述特征向量层中。
4.如权利要求1所述的神经网络,其中,所述特征向量层中与同一用户特征相对应的不同的特征向量的数量与所述用户群组的数量相同。
5.如权利要求1所述的神经网络,其中,所述用户群组是根据用户所使用的终端设备进行划分的。
6.如权利要求1所述的神经网络,其中,所述映射函数为哈希函数。
7.如权利要求1所述的神经网络,其中,所述特征向量层包括与所述对象特征相对应的至少一个不同于所述第二特征向量的第四特征向量。
8.如权利要求1所述的神经网络,其中,所述待推荐对象为包括以下一种或多种类型的数据:文字、音频和视频。
9.如权利要求1所述的神经网络,其中,所述神经网络基于多层感知器MLP。
10.一种由计算机实现的利用神经网络向用户推荐对象的方法,所述神经网络包括特征向量层和所述特征向量层之后的多个全连接层,所述方法包括:
利用所述特征向量层处理基于用户特征和待推荐对象的对象特征的特征向量层输入,其中,所述特征向量层被配置为接收所述特征向量层输入并确定相应的特征向量以生成特征向量输出,其中,所述特征向量输出包括与所述用户特征相对应的第一特征向量和与所述对象特征相对应的第二特征向量;以及
利用所述多个全连接层处理所述特征向量输出,其中,所述多个全连接层被配置为接收所述特征向量输出并协同运作以生成针对所述待推荐对象的预测推荐结果,其中,所述特征向量层包括与所述用户特征相对应的至少一个不同于所述第一特征向量的第三特征向量,
其中,所述神经网络包括位于所述特征向量层之前的特征输入层,所述方法还包括:
利用所述特征输入层根据映射函数将所述用户特征和所述对象特征中的每一个特征分别映射为相应的数值以生成所述特征向量层输入,
并且其中,所述特征输入层还被配置为,基于用户所属的用户群组选择不同的映射函数,以使得属于不同用户群组的用户的相同的用户特征能够被映射为不同的数值。
11.如权利要求10所述的方法,其中,处理所述特征向量层输入包括将所述特征向量层输入作为索引以搜索与所述用户特征和所述对象特征中的每一个特征相对应的特征向量。
12.如权利要求11所述的方法,其中,所述特征向量被以键-值的形式存储在所述特征向量层中。
13.如权利要求10所述的方法,其中,所述特征向量层中与同一用户特征相对应的不同的特征向量的数量与所述用户群组的数量相同。
14.如权利要求10所述的方法,其中,所述用户群组是根据用户所使用的终端设备进行划分的。
15.如权利要求10所述的方法,其中,所述映射函数为哈希函数。
16.如权利要求10所述的方法,其中,所述特征向量层包括与所述对象特征相对应的至少一个不同于所述第二特征向量的第四特征向量。
17.如权利要求10所述的方法,其中,所述待推荐对象为包括以下一种或多种类型的数据:文字、音频和视频。
18.如权利要求10所述的方法,其中,所述神经网络基于多层感知器MLP。
19.一种由计算机实现的神经网络的训练方法,所述神经网络包括嵌入层和多个全连接层,所述训练方法包括:
获取样本用户的特征和与所述样本用户相关的样本对象的特征,并标注所述样本对象是否被点击的真实结果;
利用嵌入层处理基于样本用户特征和样本对象特征的第一嵌入层输入并确定相应的特征向量以生成第一样本特征向量输出,其中,所述第一样本特征向量输出包括与所述样本用户特征相对应的第一特征向量和与所述样本对象特征相对应的第二特征向量,其中,所述嵌入层还被配置为处理不同于所述第一嵌入层输入的第二嵌入层输入以生成第二样本特征向量输出,其中,所述第一嵌入层输入和第二嵌入层输入为基于相同样本用户特征,所述第二样本特征向量输出包括与所述样本用户特征相对应的不同于所述第一特征向量的第三特征向量;
利用所述多个全连接层处理所述第一样本特征向量输出,以输出所述样本对象是否被点击的预测结果;
基于所述真实结果和所述预测结果,计算损失函数;以及
基于所述损失函数调整所述嵌入层和所述多个全连接层的参数,
其中,所述神经网络还包括位于所述嵌入层之前的特征输入层,并且其中,所述方法还包括:
利用所述特征输入层从映射函数库中选择与所述样本用户相对应的第一映射函数以及与所述样本对象相对应的第二映射函数,所述映射函数库包括与所述样本用户相对应的至少一个不同于所述第一映射函数的第三映射函数;以及
利用所述特征输入层根据所述第一映射函数将样本用户特征映射为相应的数值并基于映射所得到的数值确定样本用户特征的第一特征编码,以及根据所述第二映射函数将样本对象特征映射为相应的数值并基于映射所得到的数值确定样本对象特征的第二特征编码,
其中,利用嵌入层处理基于所述第一特征编码和第二特征编码的第一嵌入层输入并分别确定与样本用户特征相对应的第一特征向量和所述样本对象特征相对应的第二特征向量以生成所述第一样本特征向量输出,
并且其中,所述特征输入层还被配置为,基于样本用户所属的用户群组从映射函数库中选择与样本用户相对应的映射函数,以使得属于不同用户群组的样本用户的相同样本用户特征能够被映射为不同的数值。
20.如权利要求19所述的训练方法,其中,所述神经网络还包括特征向量层,并且其中,所述训练方法还包括:
在所述神经网络训练完成之后,在特征向量层中存储样本用户特征被映射所得到的数值和与该样本用户特征相对应的特征向量之间的映射关系,以及样本对象特征被映射所得到的数值和与该样本对象特征相对应的特征向量之间的映射关系,并且删除所述嵌入层。
21.如权利要求19所述的训练方法,其中,所述映射函数库还包括与所述样本对象相对应的至少一个不同于所述第二映射函数的第四映射函数。
22.如权利要求19所述的训练方法,其中,所述映射函数为哈希函数。
23.一种计算设备,所述计算设备包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求10-22中任一项所述的方法。
24.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由计算设备的处理器执行时,致使所述计算设备执行根据权利要求10-22中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334769.9A CN112418423B (zh) | 2020-11-24 | 2020-11-24 | 利用神经网络向用户推荐对象的方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334769.9A CN112418423B (zh) | 2020-11-24 | 2020-11-24 | 利用神经网络向用户推荐对象的方法、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418423A CN112418423A (zh) | 2021-02-26 |
CN112418423B true CN112418423B (zh) | 2023-08-15 |
Family
ID=74842821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011334769.9A Active CN112418423B (zh) | 2020-11-24 | 2020-11-24 | 利用神经网络向用户推荐对象的方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418423B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649774A (zh) * | 2016-12-27 | 2017-05-10 | 北京百度网讯科技有限公司 | 基于人工智能的对象推送方法及装置 |
CN107562925A (zh) * | 2017-09-14 | 2018-01-09 | 广东神马搜索科技有限公司 | 用于推荐文章的方法、设备和电子设备 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110838020A (zh) * | 2019-09-16 | 2020-02-25 | 平安科技(深圳)有限公司 | 基于向量迁移的推荐方法、装置、计算机设备及存储介质 |
CN111027714A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象推荐模型训练方法、推荐方法及装置 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
CN111339240A (zh) * | 2020-02-10 | 2020-06-26 | 北京达佳互联信息技术有限公司 | 对象的推荐方法、装置、计算设备和存储介质 |
CN111475730A (zh) * | 2020-04-09 | 2020-07-31 | 腾讯科技(北京)有限公司 | 基于人工智能的信息推荐方法、装置、电子设备 |
CN111737586A (zh) * | 2020-08-19 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101994319B1 (ko) * | 2013-02-20 | 2019-06-28 | 삼성전자주식회사 | 깊이 영상을 이용하는 객체 인식 장치 및 그 장치를 이용한 방법 |
US20140279751A1 (en) * | 2013-03-13 | 2014-09-18 | Deja.io, Inc. | Aggregation and analysis of media content information |
KR20200025200A (ko) * | 2018-08-29 | 2020-03-10 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
CN109902233A (zh) * | 2019-02-28 | 2019-06-18 | 百度在线网络技术(北京)有限公司 | 智能对象推荐方法、装置、设备和存储介质 |
-
2020
- 2020-11-24 CN CN202011334769.9A patent/CN112418423B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649774A (zh) * | 2016-12-27 | 2017-05-10 | 北京百度网讯科技有限公司 | 基于人工智能的对象推送方法及装置 |
CN107562925A (zh) * | 2017-09-14 | 2018-01-09 | 广东神马搜索科技有限公司 | 用于推荐文章的方法、设备和电子设备 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN110162700A (zh) * | 2019-04-23 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 信息推荐及模型的训练方法、装置、设备以及存储介质 |
CN110838020A (zh) * | 2019-09-16 | 2020-02-25 | 平安科技(深圳)有限公司 | 基于向量迁移的推荐方法、装置、计算机设备及存储介质 |
CN111027714A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 基于人工智能的对象推荐模型训练方法、推荐方法及装置 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
CN111339240A (zh) * | 2020-02-10 | 2020-06-26 | 北京达佳互联信息技术有限公司 | 对象的推荐方法、装置、计算设备和存储介质 |
CN111475730A (zh) * | 2020-04-09 | 2020-07-31 | 腾讯科技(北京)有限公司 | 基于人工智能的信息推荐方法、装置、电子设备 |
CN111737586A (zh) * | 2020-08-19 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度神经网络和概率矩阵分解的混合推荐算法;胡思才等;《四川大学学报(自然科学版)》;第1032-1041页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112418423A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | MTFH: A matrix tri-factorization hashing framework for efficient cross-modal retrieval | |
Sun et al. | What and how: generalized lifelong spectral clustering via dual memory | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN111581510A (zh) | 分享内容处理方法、装置、计算机设备和存储介质 | |
CN113688304A (zh) | 搜索推荐模型的训练方法、搜索结果排序的方法及装置 | |
Du et al. | Cross-network skip-gram embedding for joint network alignment and link prediction | |
CN116249991A (zh) | 一种神经网络蒸馏方法以及装置 | |
Shu et al. | Meta transition adaptation for robust deep learning with noisy labels | |
Zhang et al. | GACOforRec: Session-based graph convolutional neural networks recommendation model | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN113343020B (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
Liang et al. | Cross-media semantic correlation learning based on deep hash network and semantic expansion for social network cross-media search | |
CN111291563A (zh) | 词向量对齐方法和词向量对齐模型训练方法 | |
CN114221991A (zh) | 基于大数据的会话推荐反馈处理方法及深度学习服务系统 | |
Vieira et al. | A novel content-based image retrieval system with feature descriptor integration and accuracy noise reduction | |
CN112418402B (zh) | 推荐对象的方法、神经网络及其训练方法、计算设备 | |
CN112418423B (zh) | 利用神经网络向用户推荐对象的方法、设备和介质 | |
Weng et al. | A fast online spherical hashing method based on data sampling for large scale image retrieval | |
Maduranga et al. | Symmetry-structured convolutional neural networks | |
Han et al. | Query‐dependent metric learning for adaptive, content‐based image browsing and retrieval | |
CN114528491A (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
Fang et al. | Dual enhanced semantic hashing for fast image retrieval | |
Mensah et al. | Evaluating shallow capsule networks on complex images | |
Jha et al. | Analyzing effect of multi-modality in predicting protein-protein interactions | |
Sithungu et al. | Real-time age detection using a convolutional neural network |
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 |