推荐方法、装置、计算机设备及存储介质与流程

文档序号:19929991发布日期:2020-02-14 21:54阅读:150来源:国知局
推荐方法、装置、计算机设备及存储介质与流程

本申请实施例涉及计算机技术领域,特别涉及一种推荐方法、装置、计算机设备及存储介质。



背景技术:

随着计算机技术的发展,越来越多的用户使用电子设备购买商品、阅读文章或者观看视频等,而随着数据规模的逐渐扩大,如何为用户推荐用户喜欢的商品、文章或者视频等数据,成为亟待解决的问题。

在为用户推荐数据时,可以选取多个数据,确定该多个数据中的任两个数据是否相似,则获取与用户之前处理过的数据相似的数据,这些数据可以认为是用户感兴趣的数据,将获取到的数据推荐给用户。例如可以将与用户之前购买过的商品相似的商品推荐给用户。

采用上述方案必须要获取多个数据的相似性以及用户之前处理过的数据,才能进行推荐,局限性强。针对新的用户,无法获取用户之前处理过的数据,也就无法为用户推荐数据,或者针对新的数据,无法获取到该数据与其他数据的相似性,也无法将该数据推荐给用户,因此上述方案的应用范围小。



技术实现要素:

本申请实施例提供了一种推荐方法、装置、计算机设备及存储介质,解决了相关技术中的推荐方法局限性强和应用范围小的问题。所述技术方案如下:

一方面,提供了一种推荐方法,所述方法包括:

获取第一对象的第一特征信息,所述第一对象属于用户标识或备选数据;

基于映射模型,将所述第一特征信息映射至目标空间,得到所述第一对象在所述目标空间中对应的第一映射向量,所述目标空间中包括与用户标识对应的用户映射向量和与备选数据对应的数据映射向量;

根据所述目标空间中任两个映射向量之间的距离,基于所述第一对象及第二对象进行推荐,所述第二对象在所述目标空间中对应的第二映射向量与所述第一映射向量之间的距离小于预设距离,且所述第二映射向量与所述第一映射向量属于不同类别。

另一方面,提供了一种推荐装置,所述装置包括:

第一信息获取模块,用于获取第一对象的第一特征信息,所述第一对象属于用户标识或备选数据;

第一映射模块,用于基于映射模型,将所述第一特征信息映射至目标空间,得到所述第一对象在所述目标空间中对应的第一映射向量,所述目标空间中包括与用户标识对应的用户映射向量和与备选数据对应的数据映射向量;

推荐模块,用于根据所述目标空间中任两个映射向量之间的距离,基于所述第一对象及第二对象进行推荐,所述第二对象在所述目标空间中对应的第二映射向量与所述第一映射向量之间的距离小于预设距离,且所述第二映射向量与所述第一映射向量属于不同类别。

可选地,所述第二推荐单元还用于基于反映射模型,对所述第二映射向量进行反映射,得到所述第二映射向量对应的第二特征信息,确定所述第二特征信息所属的第二对象。

可选地,所述装置还包括用于训练所述映射模型的损失函数,包括以下至少一个:

其中,lneck为所述映射模型的第一损失值,λmargin为预设参数,为所述样本标签,为所述样本用户标识对应的映射向量,为所述样本数据对应的映射向量;

其中,lcov为所述映射模型的第二损失值,n为所述样本信息的数量,e为所述和所述构成的矩阵,cov(e)为矩阵e的协方差矩阵,||·||f为转置函数,diag(·)为矩阵对角元素提取函数。

可选地,所述映射模型为自编码器中的编码模型;所述装置还包括:

第二样本获取模块,用于获取样本信息,所述样本信息包括样本用户标识的特征信息、样本数据的特征信息及样本标签,所述样本标签用于表示是否向所述样本用户标识推荐所述样本数据;

第二训练模块,用于根据所述样本信息,对所述自编码器进行训练。

可选地,所述装置还包括用于训练所述自编码器的损失函数,至少包括:

其中,lreconstruct为所述自编码器的损失值,为所述样本用户标识的特征信息或所述样本数据的特征信息,为所述基于所述自编码器进行处理后输出的特征信息。

可选地,所述第一对象为用户标识,第二对象为备选数据,或者,所述第一对象为备选数据,第二对象为用户标识;

所述推荐模块,还用于向所述用户标识推荐所述备选数据。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如所述推荐方法中所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如所述推荐方法中所执行的操作。

再一方面,提供了一种计算机程序,所述计算机程序中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如所述推荐方法中所执行的操作。

本申请实施例提供的方法、装置、计算机设备及存储介质,分别获取第一对象的第一特征信息和第二对象的第二特征信息,基于映射模型,得到第一特征信息在目标空间中对应的第一映射向量,以及第二特征信息在目标空间中对应的第二映射向量,获取第一映射向量和第二映射向量之间的距离,当该距离小于预设距离时,基于第一对象和第二对象进行推荐。在已知属于不同类别的第一对象和第二对象时,将第一对象和第二对象映射到目标空间中,根据在目标空间中的距离进行推荐,该方法不需要获取除第一对象和第二对象之外的其他对象,在应用时不受其他对象的限制,扩展了应用范围。

并且,本申请实施例提供的方法,获取第一对象的第一特征信息,基于映射模型,将第一特征信息映射至目标空间,得到该第一特征信息在该目标空间中对应的第一映射向量,确定目标空间中与第一映射向量属于不用类别的至少一个第三映射向量,获取第一映射向量与每个第三映射向量之间的距离,从至少一个第三映射向量中,选取与第一映射向量之间的距离小于预设距离的第二映射向量,确定第二映射向量对应的第二对象,基于第一对象和第二对象进行推荐。在已知第一对象时,将第一对象映射至目标空间,选取与第一对象属于不同类别的第二对象进行推荐,该方法不需要获取除第一对象之外的其他对象,在应用时不受其他对象的限制,扩展了应用范围。

当第一对象为用户标识,第二对象为备选数据时,只需要根据该用户标识的特征信息,基于映射模型,就能够获取该用户标识感兴趣的备选数据,进行推荐,而不需要根据其他的用户标识或者备选数据,间接得到该用户标识感兴趣的备选数据,扩展了应用范围。

当第一对象为备选数据,第二对象为用户标识时,只需要获取该备选数据的特征信息,基于映射模型,就能够获取对该备选数据感兴趣的用户标识,进行推荐,而不需要根据其他的备选数据或者用户标识,间接得到对该备选数据感兴趣的用户标识,扩展了应用范围。

并且,该方法还可以绝对化用户标识的兴趣点,更加明确用户兴趣,在无备选数据时,可以实现对用户喜欢的备选数据的特征的推测。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种实施环境的示意图。

图2是本申请实施例提供的一种推荐方法的流程图。

图3是本申请实施例提供的一种映射向量距离的示意图。

图4是本申请实施例提供的另一种映射向量距离的示意图。

图5是本申请实施例提供的另一种推荐方法的流程图。

图6是本申请实施例提供的一种推荐界面的示意图。

图7是本申请实施例提供的一种自编码器的示意图。

图8是本申请实施例提供的一种向量映射的示意图。

图9是本申请实施例提供的另一种向量映射的示意图。

图10是本申请实施例提供的另一种向量映射的示意图。

图11是本申请实施例提供的一种目标空间向量分布的示意图。

图12是本申请实施例提供的一种流形结构的示意图。

图13是本申请实施例提供的一种映射向量的解码过程示意图。

图14是本申请实施例提供的一种双自编码器的示意图。

图15是本申请实施例提供的一种流形结构的重建过程示意图。

图16是本申请实施例提供的一种协同度量学习效果的示意图。

图17是本申请实施例提供的一种深度化模型的示意图。

图18是本申请实施例提供的一种推荐装置的结构示意图。

图19是本申请实施例提供的另一种推荐装置的结构示意图。

图20是本申请实施例提供的另一种推荐装置的结构示意图。

图21是本申请实施例提供的一种终端的结构示意图。

图22是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1是本申请实施例提供的一种实施环境的示意图,该实施环境包括:至少一个终端101和服务器102,至少一个终端101与服务器102连接,可以基于用户标识登录服务器102。

服务器102中存储有多个数据,可以包括视频数据、音频数据、文本数据或图片数据等,在任一终端101运行过程中,服务器102可以将任一个数据推荐给终端101,由终端101进行显示。

其中,终端101可以为手机、平板电脑等多种类型的设备。服务器102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。

图2是本申请实施例提供的一种推荐方法的流程图,本申请实施例的执行主体为服务器,参见图2,该方法包括:

201、获取第一对象的第一特征信息,以及第二对象的第二特征信息。

本申请实施例中提供了两种类别的对象:用户标识和备选数据。用户标识的特征信息用于描述该用户标识对应的用户,该用户标识的特征信息可以包括用户的年龄、性别等信息。

在一种可能实现方式中,该用户特征信息还可以包括用户的兴趣标签,可以根据该用户标识之前处理过的备选数据获取用户兴趣标签,例如通过用户的商品购买记录获取用户喜欢的商品类型,通过文章阅读记录获取用户喜欢的文章类型,通过视频观看记录获取用户喜欢的视频类型等。

另外,备选数据的特征信息用于描述备选数据。

在一种可能实现方式中,当该备选数据为商品时,则特征信息可以为该商品的价格、类型等信息;当该备选数据为文章时,则特征信息可以为文章的类型、文字数量等信息;当该备选数据为视频时,则特征信息可以为视频的类型、时长等信息。

本申请实施例中,第一对象属于用户标识或备选数据,第二对象也属于用户标识或备选数据,第一对象与第二对象属于不同的类别,即当第一对象为用户标识时,第二对象为备选数据;当第一对象为备选数据时,第二对象为用户标识。

202、基于映射模型,将第一特征信息和第二特征信息分别映射至目标空间,得到该第一特征信息在该目标空间中对应的第一映射向量,以及第二特征信息在该目标空间中对应的第二映射向量。

本申请实施例中,映射模型用于对特征信息进行映射,将特征信息通过映射模型映射到目标空间中,得到对应的映射向量。其中,与特征信息原始的空间相比较,目标空间与原始的空间维度不同,目标空间为一个低维空间或者为一个高维空间。

并且,不同类别的对象的特征信息均可基于该映射模型映射至目标空间中,得到特征信息对应的映射向量。其中,用户标识的特征信息映射至目标空间,得到对应的用户映射向量,备选数据的特征信息映射至目标空间,得到对应的数据映射向量。

将第一特征信息输入至映射模型,得到在目标空间中对应的第一映射向量,将第二特征信息输入至映射模型,得到在目标空间中对应的第二映射向量。由于第一特征信息与第二特征信息属于不同类别的对象,因此第二映射向量与第一映射向量属于不同类别的映射向量。

在一种可能实现方式中,该映射模型可以为单映射模型,即特征信息与基于映射模型映射得到的映射向量之间是一一对应的,每个特征信息有唯一对应的映射向量,每个映射向量有唯一对应的特征信息。

另外,该映射模型可以由用于映射不同类别的特征信息的多个映射模型组合而成,例如,可以由用户标识映射模型和备选数据映射模型组合而成。其中,用户标识映射模型用于对用户标识对应的特征信息进行映射,备选数据映射模型用于对备选数据对应的特征信息进行映射。此时,用户标识的特征信息映射过程和备选数据的特征信息映射过程,可以同时执行,也可以先后执行。

在一种可能实现方式中,服务器可以存储特征信息和基于映射模型映射得到的映射向量,存储时,可以将用户标识的特征信息和对应的用户映射向量对应存储,将备选数据的特征信息和对应的数据映射向量对应存储。

203、获取第一映射向量与第二映射向量之间的距离。

本申请实施例中需要对第一映射向量和第二映射向量之间的距离进行测量,以确定两者之间的距离。因此,需要在目标空间中,定义一个度量对任两个映射向量之间的距离进行测量。该度量至少需要满足以下几个条件:

(1)满足数学中对度量的各项要求,即非负性、不可区分者的同一性、对称性和三角不等式。

(2)该度量能够通过欧式度量计算的得到。

(3)在保证各映射向量之间的距离的前提下,能够尽可能地嵌入更多映射向量。

本申请实施例中定义了一致度量,采用一致度量测量任两个映射向量之间的距离。定义的一致度量为:

其中,为目标空间中的任意两个映射向量,为切比雪夫距离,即l∞距离,a为预设距离,且a>0。

一致度量中通过l∞距离计算得到任意两个映射向量之间的最大值,将该最大值与a进行比较,选取其中的最小值。

例如,以表示某一映射向量,目标空间中存在多个映射向量,可以将该多个映射向量看作多个点,图3中的线是指与之间的距离为a的各个点连接而成的线,图3的俯视图参见图4,图4中的圆与映射向量之间的距离为a,认为以斜线表示的部分中的任一映射向量,与映射向量之间的距离较近,认为圆外部的区域中的任一映射向量,与映射向量之间的距离较远。

证明定义的一致度量满足上述度量条件

一致度量证明满足上述条件(1)的证明过程如下:

关于非负性证明:由于且a>0、因此取最小值时,非负性成立。

关于不可区分者的同一性证明:如果那么进而得到如果那么进而得到因此,不可区分者的同一性成立。

关于对称性证明:由于是一个明确定义的度量,因此其具有对称性,即那么进而得到因此,对称性成立。

关于三角不等式证明:如果有三个向量那么其中任一向量与另外两个向量之间的距离之和应该大于另外两个向量之间的距离。

其中任一向量与另外两个向量之间的距离之和为:

可以定义一个新的度量d(x,y)=min{d(x,y),a},该度量的非负性、不可区分者的同一性和对称性显而易见,其三角不等式性质:

d(x,y)+d(y,z)=min(|x-y|,a)+min(|y-z|,a)

≥min(|x-z|,a)

因此,d(x,y)=min{d(x,y),a}是一个定义明确的度量。上述不等式可以写为:

通过上述证明,可以确定一致度量为一个定义明确的度量。

由于该一致度量是基于欧式空间的度量,所以满足上述条件(2)。

该一致度量不同于其他欧式空间度量,以该度量诱导产生的度量拓扑空间中,认为与之间的距离不小于a的向量都认为与之间的距离为a,因此即使在低维空间中也可以映射很多距离相等的向量。而当需要调整空间的映射能力时,只需要调整a,a越小,映射能力越强;a越大,映射能力越弱,a等于0,空间完全等价于以l∞为度量诱导出的度量拓扑空间。因此,满足上述条件(3)。

通过定义的一致度量对第一映射向量与第二映射向量之间的距离进行测量,得到两个映射向量之间的距离。

204、当该距离小于预设距离时,基于第一对象和第二对象进行推荐。

本申请实施例中,当第一映射向量与第二映射向量之间的距离小于预设距离时,基于第一对象和第二对象进行推荐。

当目标空间中的第一映射向量与第二映射向量之间的距离不小于预设距离时,则不基于第一对象和第二对象进行推荐。

在一种可能实现方式中,第一对象为用户标识,第二对象为备选数据,或者,第一对象为备选数据,第二对象为用户标识时,基于第一对象及第二对象进行推荐,包括:向用户标识推荐备选数据。

在一种可能实现方式中,向用户标识推荐备选数据可以包括:由服务器向登录有该用户标识的终端发送备选数据,由终端显示该备选数据,用户即可查看。

例如,终端显示的推荐界面参见图6,该推荐界面中包括用户头像、关注选项和推荐选项。点击用户头像可以查看用户标识等用户信息,点击关注选项可以查看该用户标识关注的其他用户标识发表的文章,点击推荐选项,推荐界面显示根据用户的特征信息为用户推荐的可能感兴趣的文章,以及一些热门文章。

其中,预设距离为用于表示用户标识对应的用户对备选数据感兴趣的最小距离,该预设距离可以由服务器随机确定,也可以根据需要设置,如果需要推荐的准确率更高,即推荐的备选数据更加符合用户的兴趣,则可以设置较小的预设距离;如果需要尽可能多地获取推荐的备选数据,则可以设置较大的预设距离。

例如,已知用户和商品,判断是否将该商品推荐给该用户,首先获取该用户对应的用户特征信息和该商品对应的商品特征信息,将用户特征信息和商品特征信息分别输入至映射模型,得到用户对应的用户映射向量和商品对应的商品映射向量,基于一致度量,获得用户映射向量和商品映射向量之间的距离,当该距离小于预设距离时,说明该用户对该商品感兴趣,可以将该商品推荐给该用户,当该距离不小于预设距离时,说明该用户对该商品不感兴趣,不需要将该商品推荐给该用户。

需要说明的是,在另一实施例中,可以将用户特征信息输入至映射模型,通过与本申请实施例类似的方法获得相似的用户,然后进行推荐;将数据特征信息输入至映射模型,通过与本申请实施例类似的方法获得相似的数据,然后进行推荐。

例如,对于一个可以添加好友的应用客户端中的两个用户,将这两个用户的特征信息分别输入至映射模型,得到对应的两个用户映射向量,且这两个用户映射向量之间的距离小于预设距离,那么认为这两个用户为相似用户,可以将其中的一个用户推荐给另一个用户。

本申请实施例提供的方法,分别获取第一对象的第一特征信息和第二对象的第二特征信息,基于映射模型,得到第一特征信息在目标空间中对应的第一映射向量,以及第二特征信息在目标空间中对应的第二映射向量,获取第一映射向量和第二映射向量之间的距离,当该距离小于预设距离时,基于第一对象和第二对象进行推荐。在已知属于不同类别的第一对象和第二对象时,将第一对象和第二对象映射到目标空间中,根据在目标空间中的距离进行推荐,该方法不需要获取除第一对象和第二对象之外的其他对象,在应用时不受其他对象的限制,扩展了应用范围。

例如,对于一个用户和一个商品而言,相关技术中,需要获取用户之前购买过的商品,根据这个商品是否与购买过的商品类似,确定是否将这个商品推荐给用户。而本申请实施例中,只需要根据用户的用户特征信息和商品的商品特征,得到用户映射向量和商品映射向量在目标空间中的距离,根据该距离进行推荐,当该距离小于预设距离时,可以将该商品推荐给用户,不需要通过其他商品间接确定是否进行推荐。

图5是本申请实施例提供的另一种推荐方法的流程图。本申请实施例的执行主体为服务器,参见图5,该方法包括:

501、获取第一对象的第一特征信息。

具体实施方式与上述实施例中步骤201的实施方式类似,在此不再一一赘述。

502、基于映射模型,将第一特征信息映射至目标空间,得到该第一特征信息在该目标空间中对应的第一映射向量。

目标空间中包括用户标识对应的用户映射向量和备选数据对应的数据映射向量。

本申请实施例中第一特征信息映射得到对应的第一映射向量的实施方式与上述实施例中步骤202的实施方式类似,在此不再一一赘述。

需要说明的是,本申请实施例中,只需要将第一特征信息映射至目标空间,得到对应的第一映射向量,对于目标空间中除用户映射向量之外的其他映射向量的映射方式不做限定,可以采用本申请实施例中的映射模型进行映射,也可以采用其他方式进行映射。

503、确定目标空间中与该第一映射向量属于不同类别的至少一个第三映射向量。

504、获取该第一映射向量与每个第三映射向量之间的距离。

其中,第三映射向量与第一映射向量属于不同类别,当第一映射向量为用户标识的映射向量时,第三映射向量为备选数据的映射向量,当第一映射向量为备选数据的映射向量时,第三映射向量为用户标识的映射向量。

该目标空间中包括至少一个第三映射向量,确定该空间中每一个第三映射向量的位置,根据目标空间中定义的一致度量,得到第一映射向量与每个第三映射向量之间的距离。

本申请实施例中的距离获取方式与上述步骤203中的实施方式类似,在此不再一一赘述。

505、从至少一个第三映射向量中,选取与该第一映射向量之间的距离小于预设距离的第二映射向量。

根据步骤504获取第一映射向量与每个第三映射向量之间的距离之后,从与第一映射向量之间的距离小于预设距离的第三映射向量中,选取第二映射向量。

在一种可能实现方式中,在选取与第一映射向量之间的距离小于预设距离的第二映射向量时,选取的第二映射向量可以为一个或者多个。其中,选取的第二映射向量的数量可以根据需要进行设置。

506、确定第二映射向量对应的第二对象,基于第一对象和第二对象进行推荐。

根据选取的第二映射向量,确定该第二映射向量对应的第二对象,基于第一对象和第二对象进行推荐。

在一种可能实现方式中,第一对象为用户标识,第二对象为备选数据,或者,第一对象为备选数据,第二对象为用户标识时,基于第一对象及第二对象进行推荐,包括:向用户标识推荐备选数据。

在一种可能实现方式中,向用户标识推荐备选数据可以包括:由服务器向登录有该用户标识的终端发送备选数据,由终端显示该备选数据,用户即可查看。

在一种可能实现方式中,服务器存储有每个映射向量与对应的对象之间的对应关系,可以通过查询该对应关系,确定每个映射向量对应的对象。

在另一种可能实现方式中,基于反映射模型,对第二映射向量进行反映射,得到该第二映射向量对应的第二对象。

其中,该反映射模型用于对映射向量进行反映射,映射向量通过反映射模型反映射到原来的空间中,得到对应的特征信息。

在一种可能实现方式中,该反映射模型可以为单反映射模型,即每个映射向量与基于反映射模型反映射得到的特征信息之间是一一对应的,每个映射向量有唯一对应的特征信息,每个特征信息也有唯一对应的映射向量。

在另一种可能实现方式中,该反映射模型可以为非单反映射模型,即每个映射向量有唯一对应的特征信息,但是一个特征信息可能对应有多个映射向量。

另外,当第二对象为用户标识时,该反映射模型可以为用户反映射模型,当第二对象为备选数据时,该反映射模型可以为数据反映射模型。

需要说明的一点是,当第一对象为用户标识,第二对象为备选数据时,获取用户标识的特征信息,基于映射模型,将该特征信息映射至目标空间,得到该特征信息对应的用户标识的映射向量,然后确定目标空间中的至少一个备选数据的映射向量,获取用户标识的映射向量与每个备选数据的映射向量之间的距离,从至少一个备选数据的映射向量中,选取与用户标识的映射向量之间的距离小于预设距离的备选数据的映射向量,确定选取的映射向量对应的备选数据,则可以将选取的备选数据推荐给用户标识。

当第一对象为备选数据,第二对象为用户标识时,获取备选数据的特征信息,基于映射模型,将该特征信息映射至目标空间,得到该数据特征信息对应的备选数据的映射向量,然后确定目标空间中的至少一个用户标识的映射向量,获取备选数据的映射向量与每个用用户标识的映射向量之间的距离,从至少一个用户标识的映射向量中,选取与备选数据的映射向量之间的距离小于预设距离的用户标识的映射向量,确定选取的映射向量对应的用户标识,则可以将备选数据推荐给选取的用户标识。

需要说明的另一点是,在另一实施例中,对于同一类别的对象,可以通过与本申请实施例类似的方法获得相似的用户标识或者相似的备选数据。

本申请实施例提供的方法,获取第一对象的第一特征信息,基于映射模型,将第一特征信息映射至目标空间,得到该第一特征信息在该目标空间中对应的第一映射向量,确定目标空间中与第一映射向量属于不用类别的至少一个第三映射向量,获取第一映射向量与每个第三映射向量之间的距离,从至少一个第三映射向量中,选取与第一映射向量之间的距离小于预设距离的第二映射向量,确定第二映射向量对应的第二对象,基于第一对象和第二对象进行推荐。在已知第一对象时,将第一对象映射至目标空间,选取与第一对象属于不同类别的第二对象进行推荐,该方法不需要获取除第一对象之外的其他对象,在应用时不受其他对象的限制,扩展了应用范围。

当第一对象为用户标识,第二对象为备选数据时,只需要根据该用户标识的特征信息,基于映射模型,就能够获取该用户标识感兴趣的备选数据,进行推荐,而不需要根据其他的用户标识或者备选数据,间接得到该用户标识感兴趣的备选数据,扩展了应用范围。

当第一对象为备选数据,第二对象为用户标识时,只需要获取该备选数据的特征信息,基于映射模型,就能够获取对该备选数据感兴趣的用户标识,进行推荐,而不需要根据其他的备选数据或者用户标识,间接得到对该备选数据感兴趣的用户标识,扩展了应用范围。

并且,该方法还可以绝对化用户标识的兴趣点,更加明确用户兴趣,在无备选数据时,可以实现对用户喜欢的备选数据的特征的推测。

上述实施例中涉及到映射模型和反映射模型,为了便于对这两个模型进行训练,可以采用自编码器。自编码器包括编码模型和解码模型,将编码模型作为映射模型,将解码模型作为反映射模型。下面对自编码器的训练过程进行说明。

(1)获取样本数据。

获取样本信息,该样本信息包括样本用户标识的特征信息、样本数据的特征信息及样本标签,该样本标签用于表示是否向样本用户标识推荐样本数据。

该样本标签可以为1或-1,1表示样本用户标识与样本数据为正关系,即表示向用户标识推荐样本数据;-1表示样本用户标识与样本数据为负关系,即表示不向用户标识推荐样本数据。

样本用户标识的特征信息与上述用户标识的特征信息类似,样本数据的特征信息与上述备选数据的特征信息类似,在此不再一一赘述。

(2)根据样本数据,对自编码器进行训练。

将样本用户标识的特征信息、样本数据的特征信息输入至自编码器,基于自编码器输出预测用户标识的特征信息或预测样本数据的特征信息,根据该预测的特征信息与对应的输入的特征信息之间产生的损失值,对该自编码器的参数进行调整,以使调整后该自编码器输出的预测的特征信息与对应的输入的特征信息之间的损失值减小,达到训练该自编码器的目的。

其中,自编码器的结构参见图7,包括编码模型和解码模型,将特征向量输入至编码模型,对应得到一个映射向量采用解码模型对映射向量解码得到对应的预测特征向量编码模型和解码模型中还可以包括多个隐藏层。

在一种可能实现方式中,将样本标签一起输入至自编码器时,在训练过程中,基于编码模型得到映射的映射向量之后,预测用户标识对应的映射向量与样本数据对应的映射向量之间的距离,进而得到样本用户标识与样本数据为负关系还是正关系,将该得到的关系与输入的样本标签代表的关系进行比较,对该自编码器的参数进行调整,以使调整后该自编码器的预测关系与样本标签代表的关系相同,达到训练该自编码器的目的。

第一:

本申请实施例提供了两种损失函数,其中第一种损失函数为:

其中,lneck1为映射模型的损失值,为样本标签,其取值可以为1或者-1,为样本用户标识的特征信息对应的映射向量,为样本数据的特征信息对应的映射向量。

根据上述实施例中定义的一致度量,得到在该一致度量下得到用户标识对应的映射向量和备选数据对应的映射向量之间的距离,将该距离乘以对应的标签数据作为第一种损失函数。

采用第一种损失函数进行训练时,考虑到一种特殊情形,即训练样本中样本用户标识和样本数据呈现正关系,基于未经训练的自编码器中的编码模型,分别将样本用户标识和样本数据映射至度量空间,得到样本用户标识对应的映射向量以及样本数据对应的映射向量得到两个向量的一致度量距离,参见图8,该距离大于预设距离,此时梯度为0,无法在该距离的基础上,采用梯度递减的方法继续进行训练。

第二种损失函数为:

其中,lneck2为映射模型的第一损失值,λmargin为预设参数,为样本标签,其取值可以为1或者-1,为样本用户标识的特征信息对应的映射向量,为样本数据的特征信息对应的映射向量。

采用第二种损失函数,即hingeloss(一种损失函数)进行训练时,对于样本用户标识和样本数据呈现负关系的情况,参见图9,其中,斜线区域中的损失函数的损失值较小,空白区域中的损失函数的损失值较大,箭头方向表示希望向量移动的方向,使之间的距离尽可能远。左图为采用第一种损失函数进行训练,虚线圆为与之间的距离为a的右图为采用第二种损失函数进行训练,虚线圆为负样本的目标安全界限,该目标安全界限为在距离a的基础上,加上某一个数值,得到的距离。采用该目标安全界限可以使训练得到的用户标识和样本数据之间的关系更为准确。在该情况下,采用两种损失函数进行训练的结果相同。

对于样本用户标识和样本数据呈现正关系的情况,参见图10,其中,斜线区域中的损失函数的损失值较小,空白区域中的损失函数的损失值较大,箭头方向表示希望向量移动的方向,使之间的距离尽可能近。左图为采用第一种损失函数进行训练,右图为采用第二种损失函数进行训练。在该情况下,左图为图8所示的无法进行训练的情况,而右图中采用第二种损失函数能够避免无法进行训练的情况。

综上所述,从数学方面来讲,基于一致度量定义的两个向量之间的距离,直接对自编码器进行训练与使用hingeloss对自编码器进行训练,效果相同。在实际应用时,采用第二种损失函数,即hingeloss进行训练,可以对一致度量中的预设距离a进行训练,得到更好的训练效果。

第二:

考虑到将特征信息映射到低维空间时,映射向量在空间中的分布情况需要尽可能均匀分布,采用下述损失函数进行训练:

其中,lcov为映射模型的第二损失值,n为样本数据的数量,e为构成的矩阵,cov(e)为矩阵e的协方差矩阵,||·||f为转置函数,diag(·)为矩阵对角元素提取函数。

在编码过程中,将样本用户标识对应的特征信息或者样本数据对应的特征信息映射到一个低维空间时,得到的对应的映射向量在低维空间中的分布情况参见图11,其中,三角形表示一个类别的映射向量,圆形表示另一个类别的映射向量。左图为映射之后,得到的高共线性的分布,这种情况浪费空间,并且会导致对自编码器进行训练时,为了映射更多的映射向量,只能调高空间的维度,进而导致对当前训练的样本能够完美预测,但是对于新的样本预测效果较差。采用该损失函数对自编码器进行训练能够达到右图的效果,使映射得到的映射向量在空间中均匀分布。

第三:

需要自编码器输入的特征信息与输出的特征信息尽可能相同,采用下述损失函数进行训练:

其中,lreconstruct为自编码器的损失值,为样本用户标识的特征信息或所述样本数据的特征信息,基于自编码器进行处理后输出的特征信息。

或者,将上述三个损失函数进行结合,得到一个整体的损失函数:

l=αlneck2+βlreconstruct+γlcov

上述训练过程中,当映射的空间无限大时,无法对该空间中的全部映射向量之间的距离进行测量,因此,需要映射的低维空间为一个有限的空间。因此,编码模型中最后一层进入嵌入层的激活函数需要为有界激活函数,例如sigmoid(一种有界激活函数)函数、tanh(双曲正切)函数等有界函数。

并且,由于输出的特征信息中包括数值特征以及2进制特征,在处理时需要将其标准化,即得到的数值在0和1之间。因此,解码模型中,最后一层进入输出层的激活函数的值域需要在0和1之间,可以为sigmoid函数或者其他激活函数。

在一种可能实现方式中,采用上述方法训练得到的自编码器,可以在低维空间中重新构建出来的用户标识或备选数据的兴趣流形结构,参见图12,其中,三角形表示一个类别的映射向量,圆形表示另一个类别的映射向量。形成该兴趣流形结构的是所有用户标识或备选数据对应的的映射向量。其中,任意两个映射向量,不论两个映射向量是否是同一类别,两个映射向量之间的距离可以直接表示两个映射向量的“倾睐”关系,距离越近,倾睐关系越强,距离越远,倾睐关系越弱。当距离小于预设距离时,该两个映射向量为正关系,当距离不小于预设距离时,该两个映射向量为负关系。由于一致度量的三角不等式的性质,会对各个映射向量起到聚类作用,即相似的用户标识会被聚合在一起,相似的备选数据会被聚合在一起,以及用户标识和向该用户标识推荐的备选数据也会被聚合在一起。

并且,得到兴趣流形结构之后,可以通过解码模型,对该兴趣流形结构中包括的映射向量进行解码,得到对应的用户标识的特征信息或者备选数据的特征信息。该解码过程参见图13,其中,圆形区域表示映射之后的兴趣流形结构中的一部分区域,该区域中的映射向量通过解码模型得到解码之后的流形结构。解码后得到的流形结构具有连续性,因此兴趣流形结构不会因为解码过程导致丢失映射向量。且当解码模型不是单解码模型时,即同一类别的多个映射向量通过解码模型解码之后,可能得到同一特征信息,因此,解码后得到的结构可能存在交叉区域。

需要说明的第一点是,本申请实施例仅是以一个自编码器的训练过程为例进行说明。上述实施例中使用自编码器时,可以采用双自编码器,双自编码器的结构参见图14,其中一个自编码器用于对用户标识的特征信息进行编码和解码,另一个自编码器用于对备选数据的特征信息进行编码和解码。在另一实施例中,可以包括多个类别的特征信息,采用对应数量的多个自编码器,分别对各个类别的特征信息进行编码和解码。

需要说明的第二点是,在另一实施例中可以根据不同的数据类型采用不同类型的自编码器,例如vae(variationalauto-encoder,变分自编码器)、contrastive(对照)自编码器等。使用不同类型的编码器需要遵循对应的原则,需要将特征信息映射至一个具有明确度量定义的有界空间中。

例如,采用vae(variationalauto-encoder,变分自编码器)时,目标空间为一个高维高斯分布的概率分布空间,在该空间中定义kld(kullback–leiblerdivergence,kl散度)对分布于分布之间的距离进行定义。

需要说明的第三点是,对于不同的数据稀疏度,可以相应在原来的模型中加入嵌入层,或者采用wide&deep(一种深度学习模型)等其他模型代替基础的mlp(multilayerperceptron,人工神经网络),以更好地获取系数数据中的信息。

需要说明的第四点是,当输入的数据是具有时序的数据时,可以采用随时间变化的神经网络。例如,从深度学习方面来说,可以采用rnn(recurrentneuralnetwork,循环卷积神经网络)或者lstm(longshort-termmemory,长短期记忆模型);从统计学习方面来说,可以采用贝叶斯先验后验的时序更新,或者使用卡尔曼滤波器进行时间序列数据的学习。

相关技术中,采用cml(collaborativemetriclearning,协同度量学习)进行推荐,该方法在已知原始的空间中用户标识和备选数据的关系的情况下,基于该已知的关系,对目标空间中对应的向量进行移动,以得到和原始空间类似的距离关系。该方法用于固定的用户标识和备选数据,该方法使用范围较小,并且,需要获得原始空间中的用户标识和备选数据的关系,对新的用户标识或者备选数据进行推荐时,该方法不适用。

例如,采用协同度量学习为用户推荐商品,参见图16,图中的圆表示用户,三角形表示用户喜欢的商品,矩形表示用户不喜欢的商品,箭头用于表示商品的移动方向。左图为商品和用户的原始位置,基于协同度量学习,得到右图中的结果,使用户喜欢的商品靠近用户,用户不喜欢的商品远离用户。采用该方法时,空间中的用户和商品是固定不变的,只能为固定的用户推荐固定的商品,当该空间中没有商品时,无法推测出该用户可能喜欢的商品。

相关技术中,采用t-sne(student-tstochasticneighborhoodembedding,一种算法)重新构建数据流形结构。该算法的原理为:高维度空间中任两个特征向量之间的距离关系,要与低维空间中的任两个映射向量的距离关系类似,假设高维空间中有两个特征向量,该两个特征向量在高维空间中距离很远,那么在低维空间中,用于这两个特征向量对应的两个映射向量距离也应该很远,反之亦然。当原高维空间中有多个特征向量,比如说n个特征向量,那么低维空间就会有n个对应的映射向量。该方法实现的效果参见图15,左侧第一个图为原始高维空间中多个特征向量构成的流形结构,第二个图是将原始高维空间中多个特征向量映射到低维空间之后得到的映射向量构成的流形结构,然后依次得到第三个图和第四个图的流形结构,最终得到第五个图的流形结构,实现在低维空间中重新构建了高维空间中n个特征向量的流形结构。

相关技术中,还采用vaecf(variationalautoencodercollaborativefiltering,一种深度化模型)进行数据推荐,该深度化模型参见图17,通过该方法可以准确获取用户标识与备选数据之间的关系,但是,使用该方法时,如果只根据用户标识的特征信息,没有给出备选数据的特征信息,则无法获取为该用户标识推荐的用户数据,即不能够根据用户标识获取用户的兴趣。

而本申请实施例中提供的方法,根据任一用户标识的特征信息,可以基于自编码器获取为该用户标识推荐的备选数据,或者,根据任一备选数据的特征信息,可以基于自编码器获取为对该备选数据感兴趣的用户标识,然后进行备选数据的推荐,该方法的使用范围大,且能够根据用户标识或者备选数据其中一个的特征信息,进行推荐。

图18是本申请实施例提供的一种推荐装置的结构示意图。参见图18,该装置包括:

第一信息获取模块1801,用于获取第一对象的第一特征信息,第一对象属于用户标识或备选数据;

第一映射模块1802,用于基于映射模型,将第一特征信息映射至目标空间,得到第一对象在目标空间中对应的第一映射向量,目标空间中包括与用户标识对应的用户映射向量和与备选数据对应的数据映射向量;

推荐模块1803,用于根据目标空间中任两个映射向量之间的距离,基于第一对象及第二对象进行推荐,第二对象在目标空间中对应的第二映射向量与第一映射向量之间的距离小于预设距离,且第二映射向量与第一映射向量属于不同类别。

可选地,参见图19,装置还包括:

第二信息获取模块1804,用于获取第二对象的第二特征信息;

第二映射模块1805,用于基于映射模型,将第二特征信息映射至目标空间,得到第二对象在目标空间中对应的第二映射向量;

推荐模块1803还包括:

第一距离获取单元18031,用于获取第一映射向量与第二映射向量之间的距离;

第一推荐单元18032,用于当距离小于预设距离时,基于第一对象和第二对象进行推荐。

可选地,参见图19,推荐模块1803包括:

向量确定单元18033,用于确定目标空间中与第一映射向量属于不同类别的至少一个第三映射向量;

第二距离获取单元18034,用于获取第一映射向量与每个第三映射向量之间的距离;

向量选取单元18035,用于从至少一个第三映射向量中,选取与第一映射向量之间的距离小于预设距离的第二映射向量;

第二推荐单元18036,用于确定第二映射向量对应的第二对象,基于第一对象和第二对象进行推荐。

可选地,第二推荐单元18036还用于基于反映射模型,对第二映射向量进行反映射,得到第二映射向量对应的第二特征信息,确定第二特征信息所属的第二对象。

可选地,参见图19,装置还包括:

第一样本获取模块1806,用于获取样本信息,样本信息包括样本用户标识的特征信息、样本数据的特征信息及样本标签,样本标签用于表示是否向样本用户标识推荐样本数据;

第一训练模块1807,用于根据样本信息,对映射模型进行训练。

可选地,装置还包括用于训练映射模型的损失函数,包括以下至少一个:

其中,lneck为映射模型的第一损失值,λmargin为预设参数,为样本标签,为样本用户标识对应的映射向量,为样本数据对应的映射向量;

其中,lcov为映射模型的第二损失值,n为样本信息的数量,e为构成的矩阵,cov(e)为矩阵e的协方差矩阵,||·||f为转置函数,diag(·)为矩阵对角元素提取函数。

可选地,参见图20,映射模型为自编码器中的编码模型;装置还包括:

第二样本获取模块1808,用于获取样本信息,样本信息包括样本用户标识的特征信息、样本数据的特征信息及样本标签,样本标签用于表示是否向样本用户标识推荐样本数据;

第二训练模块1809,用于根据样本信息,对自编码器进行训练。

可选地,装置还包括用于训练自编码器的损失函数,至少包括:

其中,lreconstruct为自编码器的损失值,为样本用户标识的特征信息或样本数据的特征信息,基于自编码器进行处理后输出的特征信息。

可选地,第一对象为用户标识,第二对象为备选数据,或者,第一对象为备选数据,第二对象为用户标识;

推荐模块1803,还用于向用户标识推荐备选数据。

需要说明的是:上述实施例提供的推荐装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成以完成以上描述的全部或者部分功能。另外,上述实施例提供的推荐装置与推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图21是本申请实施例提供的一种终端2100的结构示意图。

通常,终端2100包括有:处理器2101和存储器2102。

处理器2101可以包括一个或多个处理核心,比如4核心处理器、5核心处理器等。处理器2101可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2101可以在集成有gpu(graphicsprocessingunit,图像处理的交互器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2101还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器2102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2101所具有以实现本申请中方法实施例提供的推荐方法。

在一些实施例中,终端2100还可选包括有:外围设备接口2103和至少一个外围设备。处理器2101、存储器2102和外围设备接口2103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2103相连。具体地,外围设备包括:射频电路2104、触摸显示屏2105、摄像头2106、音频电路2107、定位组件2108和电源2109中的至少一种。

外围设备接口2103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2101和存储器2102。在一些实施例中,处理器2101、存储器2102和外围设备接口2103被集成在同一芯片或电路板上;在一些其他实施例中,处理器2101、存储器2102和外围设备接口2103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路2104用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路2104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及8g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路2104还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏2105用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2105是触摸显示屏时,显示屏2105还具有采集在显示屏2105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2101进行处理。此时,显示屏2105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2105可以为一个,设置终端2100的前面板;在另一些实施例中,显示屏2105可以为至少两个,分别设置在终端2100的不同表面或呈折叠设计;在再一些实施例中,显示屏2105可以是柔性显示屏,设置在终端2100的弯曲表面上或折叠面上。甚至,显示屏2105还可以设置成非矩形的不规则图形,也即异形屏。显示屏2105可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件2106用于采集图像或视频。可选地,摄像头组件2106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端2100的前面板,后置摄像头设置在终端2100的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路2107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2101进行处理,或者输入至射频电路2104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2101或射频电路2104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2107还可以包括耳机插孔。

定位组件2108用于定位终端2100的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件2108可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源2109用于为终端2100中的各个组件进行供电。电源2109可以是交流电、直流电、一次性电池或可充电电池。当电源2109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端2100还包括有一个或多个传感器2110。该一个或多个传感器2110包括但不限于:加速度传感器2111、陀螺仪传感器2112、压力传感器2113、指纹传感器2114、光学传感器2115以及接近传感器2116。

加速度传感器2111可以检测以终端2100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2111可以用于检测重力加速度在三个坐标轴上的分量。处理器2101可以根据加速度传感器2111采集的重力加速度信号,控制触摸显示屏2105以横向视图或纵向视图进行用户界面的显示。加速度传感器2111还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器2112可以检测终端2100的机体方向及转动角度,陀螺仪传感器2112可以与加速度传感器2111协同采集用户对终端2100的3d动作。处理器2101根据陀螺仪传感器2112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器2113可以设置在终端2100的侧边框和/或触摸显示屏2105的下层。当压力传感器2113设置在终端2100的侧边框时,可以检测用户对终端2100的握持信号,由处理器2101根据压力传感器2113采集的握持信号进行左右手识别或快捷操作。当压力传感器2113设置在触摸显示屏2105的下层时,由处理器2101根据用户对触摸显示屏2105的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器2114用于采集用户的指纹,由处理器2101根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器2114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2101授权该用户具有相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2114可以被设置终端2100的正面、背面或侧面。当终端2100上设置有物理按键或厂商logo时,指纹传感器2114可以与物理按键或厂商标志集成在一起。

光学传感器2115用于采集环境光强度。在一个实施例中,处理器2101可以根据光学传感器2115采集的环境光强度,控制触摸显示屏2105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏2105的显示亮度;当环境光强度较低时,调低触摸显示屏2105的显示亮度。在另一个实施例中,处理器2101还可以根据光学传感器2115采集的环境光强度,动态调整摄像头组件2106的拍摄参数。

接近传感器2116,也称距离传感器,通常设置在终端2100的前面板。接近传感器2116用于采集用户与终端2100的正面之间的距离。在一个实施例中,当接近传感器2116检测到用户与终端2100的正面之间的距离逐渐变小时,由处理器2101控制触摸显示屏2105从亮屏状态切换为息屏状态;当接近传感器2116检测到用户与终端2100的正面之间的距离逐渐变大时,由处理器2101控制触摸显示屏2105从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图21中示出的结构并不构成对终端2100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图22是本申请实施例提供的一种服务器的结构示意图,该服务器2200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)2201和一个或一个以上的存储器2202,其中,存储器2202中存储有至少一条指令,至少一条指令由处理器2201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

服务器2200可以用于执行上述推荐方法中服务器所执行的步骤。

本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的推荐方法中所执行的操作。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的推荐方法中所执行的操作。

本申请实施例还提供了一种计算机程序,该计算机程序中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的推荐方法中所执行的操作。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1