掌桥专利:专业的专利平台
掌桥专利
首页

信息推荐方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本申请涉及互联网应用技术领域,尤其涉及一种信息推荐方法、装置、计算机设备及存储介质。

背景技术

随着互联网及大数据技术的发展,对用户进行信息推荐一直是一个非常热门且重要的研究内容。目前的信息推荐算法虽然比较成熟,但也存在一些弊端。

比如,基于物品或用户的协同推荐方法,虽然能够达到相对精准的推荐结果,但其计算复杂,对于冷门物品的推荐效果差;又比如,基于关联规则的推荐方法,虽然简单易操作,但其推荐效果较差。

因此,如何找到一种既能保证推荐效果,又能推送冷门物品的推荐方法,成为亟待解决的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种既可实现精准推送又能推送冷门信息的信息推荐方法、装置、计算机设备及存储介质。

本申请实施例提供了一种信息推荐方法,所述方法包括:

获取应用程序中预先分类的多个应用对象,根据第一用户对各所述应用对象相关的第一历史操作信息,计算各所述应用对象的第一上限置信区间值;

根据所述第一用户的画像信息确定与所述第一用户相似的至少一个第二用户;

根据所述第二用户对各所述应用对象相关的第二历史操作信息,计算每个所述第二用户对应的各所述应用对象的第二上限置信区间值;

根据各所述应用对象的第一上限置信区间值以及每个所述第二用户对应的各所述应用对象的第二上限置信区间值,确定各所述应用对象的目标上限置信区间值;

根据各所述应用对象的目标上限置信区间值,对各所述应用对象进行排序后推荐给所述第一用户。

在一个实施例中,所述根据各所述应用对象的第一上限置信区间值以及各所述应用对象的第二上限置信区间值,确定各所述应用对象的目标上限置信区间值,包括:

将各所述应用对象中的任一应用对象作为第一应用对象;

根据每个所述第二用户对应的所述第一应用对象的第二上限置信区间值,计算所述第一应用对象的平均上限置信区间值;

根据所述第一应用对象的第一上限置信区间值,以及所述第一应用对象的平均上限置信区间值,确定所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述根据所述第一应用对象的第一上限置信区间值,以及所述第一应用对象的平均上限置信区间值,确定所述第一应用对象的目标上限置信区间值,包括:

获取预设的与所述第一应用对象的第一上限置信区间值对应的第一权重;

根据所述第一权重,确定与所述第一应用对象的平均上限置信区间值对应的第二权重;所述第一权重与所述第二权重的和为一;

将所述第一权重与所述第一应用对象的第一上限置信区间值相乘,得到所述第一应用对象的第一加权值;

将所述第二权重与所述第一应用对象的平均上限置信区间值相乘,得到所述第一应用对象的第二加权值;

计算所述第一加权值与所述第二加权值的和值,得到所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述

获取预设的与所述第一应用对象的第一上限置信区间值对应的第一权重,包括:

获取本地存储的多个权重函数;

将满足预设条件的权重函数作为目标权重函数;

根据所述目标权重函数,确定所述第一应用对象的第一权重。

在一个实施例中,所述将满足预设条件的权重函数作为目标权重函数,包括:

基于预设的评估函数,确定每个所述权重函数分别对应的评估函数值;

将所述评估函数值最大的权重函数确定为目标权重函数。

在一个实施例中,所述应用对象包括商品,所述根据所述第一用户对各所述应用对象相关的第一历史操作信息,计算各所述应用对象的第一上限置信区间值,包括:

根据所述第一历史操作信息,确定所述第一用户对各所述商品的下单次数;

获取本地存储的对所述第一用户推荐各所述商品的历史推荐数据;

根据所述历史推荐数据,确定对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数;

根据所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数,确定各所述商品的第一上限置信区间值;

其中,各所述商品的第一上限置信区间值与所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数正相关,与对所述第一用户推荐各所述商品的推荐次数负相关。

在一个实施例中,所述方法还包括:

当对所述第一用户推荐各所述商品的推荐次数为0时,确定推荐次数为0的商品的第一上限置信区间值为0。

本申请实施例提供了一种信息推荐装置,包括:

获取模块,用于获取应用程序中预先分类的多个应用对象;

第一计算模块,用于根据第一用户对各所述应用对象相关的第一历史操作信息,计算各所述应用对象的第一上限置信区间值;

匹配模块,用于根据所述第一用户的画像信息确定与所述第一用户相似的至少一个第二用户;

第二计算模块,用于根据所述第二用户对各所述应用对象相关的第二历史操作信息,计算每个所述第二用户对应的各所述应用对象的第二上限置信区间值;

确定模块,用于根据各所述应用对象的第一上限置信区间值以及每个所述第二用户对应的各所述应用对象的第二上限置信区间值,确定各所述应用对象的目标上限置信区间值;

推荐模块,用于根据各所述应用对象的目标上限置信区间值,对各所述应用对象进行排序后推荐给所述第一用户。

在一个实施例中,所述确定模块包括:

第一确定单元,用于将各所述应用对象中的任一应用对象作为第一应用对象;

计算单元,用于根据每个所述第二用户对应的所述第一应用对象的第二上限置信区间值,计算所述第一应用对象的平均上限置信区间值;

第二确定单元,用于根据所述第一应用对象的第一上限置信区间值,以及所述第一应用对象的平均上限置信区间值,确定所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述第二确定单元还用于:

获取预设的与所述第一应用对象的第一上限置信区间值对应的第一权重;

根据所述第一权重,确定与所述第一应用对象的平均上限置信区间值对应的第二权重;所述第一权重与所述第二权重的和为一;

将所述第一权重与所述第一应用对象的第一上限置信区间值相乘,得到所述第一应用对象的第一加权值;

将所述第二权重与所述第一应用对象的平均上限置信区间值相乘,得到所述第一应用对象的第二加权值;

计算所述第一加权值与所述第二加权值的和值,得到所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述第二确定单元还用于:

获取本地存储的多个权重函数;

将满足预设条件的权重函数作为目标权重函数;

根据所述目标权重函数,确定所述第一应用对象的第一权重。

在一个实施例中,所述第二确定单元还用于:

基于预设的评估函数,确定每个所述权重函数分别对应的评估函数值;

将所述评估函数值最大的权重函数确定为目标权重函数。

在一个实施例中,所述应用对象包括商品,所述第一计算模块还用于:

根据所述第一历史操作信息,确定所述第一用户对各所述商品的下单次数;

获取本地存储的对所述第一用户推荐各所述商品的历史推荐数据;

根据所述历史推荐数据,确定对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数;

根据所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数,确定各所述商品的第一上限置信区间值;

其中,各所述商品的第一上限置信区间值与所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数正相关,与对所述第一用户推荐各所述商品的推荐次数负相关。

在一个实施例中,所述第一计算模块还用于:

当对所述第一用户推荐各所述商品的推荐次数为0时,确定推荐次数为0的商品的第一上限置信区间值为0。

本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意实施例所提供的信息推荐方法的步骤。

本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本申请任意实施例所提供的信息推荐方法的步骤。

本申请实施例所提供的信息推荐方法、装置、计算机设备及存储介质,首先获取应用程序中预先分类的多个应用对象,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一上限置信区间值,再根据第一用户的画像信息确定与第一用户相似的至少一个第二用户,并根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二上限置信区间值,接着根据各应用对象的第一上限置信区间值以及每个第二用户对应的各应用对象的第二上限置信区间值,确定各应用对象的目标上限置信区间值,进而根据各应用对象的目标上限置信区间值,对各应用对象进行排序后推荐给第一用户,由于各应用对象对应的目标上限置信区间值是根据第一用户和相似用户分别对同一应用对象的上限置信区间值确定的,使得在进行信息推荐时,既考虑了用户自身的偏好,又结合了相似用户的偏好,在保证信息推荐准确度的同时,还能实现对冷门信息和新上架信息的推荐。

附图说明

图1为一个实施例中信息推荐方法的应用场景图;

图2为一个实施例中信息推荐方法的流程示意图;

图3为另一个实施例中信息推荐方法的流程示意图;

图4为本申请一实施例提供的商品推荐方法的流程示意图;

图5为一个实施例中信息推荐装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在电商行业中,对用户进行商品推荐是比较热门的研究内容。目前常用的商品推荐方法及对应的优缺点有:

(1)基于商品内容的推荐方法。比如食物A和食物B,对于它们价格、味道、保质期、品牌等维度,可以计算它们的相似程度,根据相似程度进行商品推荐。这种推荐方法的预处理较复杂,商品维度较多,难以选择合适的维度进行相似度计算,导致推荐效果较差。

(2)基于关联规则的推荐方法。最常见的就是通过用户的购买习惯进行商品推荐,比如经典的“啤酒尿布”案例。然而实际运营中,这种方法运用较少,因为需要充足的数据做关联规则,推荐精度较差。

(3)基于物品的协同推荐方法。假设物品A被小张、小明、小董购买过,物品B被小红、小丽、小晨购买过,物品C被小张、小明、小李购买过,直观看来,物品A和物品C的购买人群相似度更高(相对于物品B),因此可以对小董推荐物品C,对小李推荐物品A。这种方法能够获得较好的推荐效果,但计算复杂,对于冷门物品的推荐效果较差。

(4)基于深度学习的推荐方法。比如将卷积神经网络、循环神经网络、深度神经网络等运用在商品推荐上。这种推荐方法能够获得较好的推荐效果,但目前运用尚不成熟,且模型训练时的参数调节难度较大。

针对上述问题,本申请提供了一种信息推荐方法,是基于蒙特卡洛策略找到的一种全新的推荐算法,蒙特卡洛树搜索策略的核心思想是基于上限置信区间(UpperConfidence Bound,UCB)值计算,选择UCB值最大的后续节点。发明人在研究过程中发现,针对商品推荐,商品的大分类、次分类、细分类、店铺、商品型号等同于蒙特卡洛树的各节点,因此发明人想到将蒙特卡洛树搜索策略应用于商品推荐中,甚至应用于资讯推荐、音乐推荐等信息推荐中。采用本申请的方案,一方面可以对用户进行精准推送,保证用户接收到最喜欢、最常用的信息资讯,另外一方面可以推送最新的信息资讯,避免冷门信息、新上架信息被遗漏,避免新用户因无历史数据导致无法被推荐信息的困境。

本申请提供的信息推荐方法,可以应用于如图1所示的应用环境中,具体应用于图1中的服务器104中。图1中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以是电商平台、短视频平台、音乐平台、新闻资讯平台等具有信息推送需求的应用程序对应的服务器,上述应用程序可以安装在电子设备102中,电子设备102可以是电脑、手机、可穿戴设备等。本申请实施例中,电子设备102与服务器104之间通过网络进行通信。以进行商品推荐为例,本申请应用于电商平台的商品推荐时,应用对象包括商品或商品的类别,第一用户通过电子设备102登录电商平台后,电商平台对应的服务器104获取电商平台中预先分类的多个应用对象,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一UCB值,并根据第一用户的画像信息确定与第一用户相似的至少一个第二用户,根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二UCB值,进而根据各应用对象的第一UCB值以及每个第二用户对应的各应用对象的第二UCB值,确定各应用对象的目标UCB值,根据各应用对象的目标UCB值,将每个应用对象进行排序,将排序结果展示在电子设备102的电商平台中,以推荐给第一用户,由此实现商品的精准推送,以及实现推送冷门和新上架商品。

在一个实施例中,如图2所示,提供了一种信息推荐方法。本实施例主要以该信息推荐方法应用于图1中的服务器来举例说明。如图2所示,该信息推荐方法可以包括以下步骤:

步骤202,获取应用程序中预先分类的多个应用对象,根据第一用户对各所述应用对象相关的第一历史操作信息,计算各所述应用对象的第一上限置信区间值。

其中,应用程序是指任意具有信息推荐功能的应用,包括但不限于电商平台、短视频平台、音乐平台、新闻资讯平台等。应用对象是与应用程序对应的被推荐对象,应用对象是预先分类确定的,不同的应用程序对应不同的应用对象。比如,对于电商平台,预先分类的多个应用对象可以包括商品、商品所属的类别(比如家电、3C数码、服装、食品等)、商品的品牌等;对于音乐平台,预先分类的说过应用对象可以包括音乐、音乐所属的音乐种类(比如民谣、流行、摇滚等);对于新闻资讯平台,预先分类的多个应用对象可以包括新闻、新闻所属的新闻类别(比如娱乐、金融、汽车、互联网等)。第一用户是指当前正在使用具有信息推荐功能的应用程序的任意用户,第一历史操作信息是指第一用户在当前正在使用的应用程序上的历史操作记录,包括但不限于浏览记录、下单记录、收藏记录、分享记录等。

能够理解的是,本申请实施例中,对于不同的应用程序,获取的第一历史操作信息可以不同。比如,对于电商平台,获取的第一历史操作信息可以包括第一用户在电商平台的浏览记录、下单记录、加购记录、收藏记录等;又比如,对于短视频平台,获取的第一历史操作信息可以包括第一用户观看视频的记录、点赞视频的记录、分享视频的记录、评论视频的记录、收藏视频的记录等。第一历史操作信息中包含第一用户对不同应用对象的操作记录,随着第一用户使用应用程序的时间增长,第一历史操作信息中包含的应用对象会增多。

本申请实施例中,当服务器对第一用户进行信息推荐时,可以从本地内存或数据库等存储用户的操作记录的地方,获取第一用户在应用程序上对各应用对象相关的操作记录,作为第一历史操作信息,并根据获取的第一历史操作信息,计算各应用对象的第一UCB值。

能够理解的是,第一UCB值的个数与应用对象的个数一致,有几个应用对象,计算得到几个第一UCB值,一个应用对象对应一个第一UCB值。

示例性地,以音乐推荐为例,应用对象包括音乐和音乐所属的类别,服务器可以从第一历史操作记录中分析出第一用户收听所有歌曲的总时长,以及第一用户收听每首歌曲的时长,第一用户收听每种类别的歌曲的时长,根据第一用户收听每首歌曲的时长和收听所有歌曲的总时长,确定每首歌曲的第一UCB值,以及,根据第一用户收听每种类别的歌曲的时长和收听所有歌曲的总时长,确定每种歌曲类别的第一UCB值。

示例性地,以音乐推荐为例,应用对象包括音乐和音乐所属的类别,服务器可以从第一历史操作记录中分析出第一用户收听每首歌的次数,以及根据每首歌所属的歌曲类别,分析出第一用户收听每种歌曲类别的歌曲的次数,比如,可以将第一用户收听同一歌曲类别的歌曲的总次数,作为第一用户收听该歌曲类别的歌曲的次数,之后,再通过如下公式(1)计算各音乐以及各歌曲类别的第一UCB值:

其中,

需要说明的是,由上述公式(1)可知,当第j个应用对象未曾被服务器推荐过时,无法通过上述公式(1)计算得到UCB值,这种情况下,可以预先设置UCB值为0。也就是说,当n

步骤204,根据所述第一用户的画像信息确定与所述第一用户相似的至少一个第二用户。

本申请实施例中,服务器可以在获得第一用户授权的前提下,根据第一用户的登录账号,从本地存储空间中获取第一用户在应用程序上的注册资料,并根据获取的注册资料分析出第一用户的画像信息,进而根据第一用户的画像信息确定出与第一用户相似的至少一个第二用户。

示例性地,根据第一用户的注册资料,可以将第一用户的画像信息分成如表1所示的几个维度甚至更多维度。

表1

本申请实施例中,在获取了第一用户的画像信息之后,可以将画像信息中的各个维度视为一个向量,将第一用户的画像信息表示为S(v

步骤206,根据所述第二用户对各所述应用对象相关的第二历史操作信息,计算每个所述第二用户对应的各所述应用对象的第二上限置信区间值。

其中,第二历史操作信息是各个第二用户过去在使用应用程序时产生的操作记录,第二历史操作信息的内容与第一历史操作信息的内容类似。能够理解的是,一个第二用户对应自身的第二历史操作信息。为了解决现有技术无法对用户未曾浏览或购买过的商品、新上架商品、冷门商品等进行推荐的问题,本申请实施例中,找到与第一用户相似的第二用户,例如100人,计算每个第二用户分别对每个应用对象的UCB值,称为第二UCB值。

本申请实施例中,获取了每个第二用户的第二历史操作信息之后,可以根据各第二用户的第二历史操作信息,计算各第二用户对每个应用对象的第二UCB值。

能够理解的是,对于第二用户A,利用第二用户A的第二历史操作信息,计算得到第二用户A对每个应用对象的第二UCB值;对于第二用户B,利用第二用户B的第二历史操作信息,计算得到第二用户B对每个应用对象的第二UCB值。其中,有几个应用对象,每个第二用户就对应几个第二UCB值。

需要说明的是,第二UCB值的计算方式与第一UCB值的计算方式类似,此处不再赘述。

步骤208,根据各所述应用对象的第一上限置信区间值以及每个所述第二用户对应的各所述应用对象的第二上限置信区间值,确定各所述应用对象的目标上限置信区间值。

本申请实施例中,分别计算获得第一用户与第二用户对每个应用对象的UCB值之后,可以根据第一用户对每个应用对象的第一UCB值,以及各第二用户对每个应用对象的第二UCB值,确定每个应用对象对应的目标UCB值。

示例性地,对于第j个应用对象,可以将第一用户对第j个应用对象的第一UCB值,以及每个第二用户分别对第j个应用对象的第二UCB值进行求和,之后再将所得的和值除以第二用户与第一用户的总人数,得到均值,将所得均值作为第j个应用对象对应的目标UCB值。

步骤210,根据各所述应用对象的目标上限置信区间值,对各所述应用对象进行排序后推荐给所述第一用户。

本申请实施例中,确定了每个应用对象对应的目标UCB值之后,可以根据每个应用对象的目标UCB值的大小,对各个应用对象进行排序,并将排序后的应用对象推荐给第一用户。

示例性地,可以按照目标UCB值从大到小的顺序对各个应用对象进行排序,将目标UCB值大的应用对象排在前面,目标UCB值小的应用对象排在后面,服务器将排序后的各应用对象推送给应用程序进行展示,使得排序后的应用对象通过应用程序展示给第一用户。

需要说明的是,服务器根据目标UCB值对应用对象进行排序时,可以将同一等级的应用对象进行单独排序,比如在商品推荐时,将商品大类按照大类的目标UCB值进行排序,将次类别按照次类别的目标UCB值单独排序,将同一类别的商品按照不同品牌对应的目标UCB值进行单独排序,也可以将商品、不同等级的类别进行混合排序在一起,具体可以根据应用程序的信息推荐需求设置排序方式,本申请对此不作限制。

本申请实施例所提供的信息推荐方法,首先获取应用程序中预先分类的多个应用对象,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一上限置信区间值,再根据第一用户的画像信息确定与第一用户相似的至少一个第二用户,并根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二上限置信区间值,接着根据各应用对象的第一上限置信区间值以及每个第二用户对应的各应用对象的第二上限置信区间值,确定各应用对象的目标上限置信区间值,进而根据各应用对象的目标上限置信区间值,对各应用对象进行排序后推荐给第一用户,由于各应用对象对应的目标UCB值是根据第一用户和相似的第二用户分别对同一应用对象的UCB值确定的,使得在进行信息推荐时,既考虑了用户自身的偏好,又结合了相似用户的偏好,在保证信息推荐准确度的同时,还能实现对冷门信息和新上架信息的推荐。

在本申请的一种可选实施方式中,如图3所示,在如图2所示实施例的基础上,步骤208可以包括以下步骤:

步骤302,将各应用对象中的任一应用对象作为第一应用对象。

步骤304,根据每个所述第二用户对应的所述第一应用对象的第二上限置信区间值,计算所述第一应用对象的平均上限置信区间值。

本申请实施例中,可以将各应用对象中的任一应用对象作为第一应用对象,以第一应用对象的目标UCB值的确定方式为示例,解释说明每个应用对象的目标UCB值的确定方式。具体地,计算得到每个第二用户分别对应的每个应用对象的第二UCB值之后,可以根据每个第二用户对应的第一应用对象的第二UCB值,计算第一应用对象的UCB均值,得到第一应用对象的平均UCB值。

步骤306,根据所述第一应用对象的第一上限置信区间值,以及所述第一应用对象的平均上限置信区间值,确定所述第一应用对象的目标上限置信区间值。

在本申请的一种可选实施方式中,可以计算第一应用对象的第一UCB值与第一应用对象的平均UCB值之和,将所得和值作为第一应用对象的目标UCB值。

在本申请的一种可选实施方式中,可以获取预设的与所述第一应用对象的第一上限置信区间值对应的第一权重;根据所述第一权重,确定与所述第一应用对象的平均上限置信区间值对应的第二权重,其中,所述第一权重与所述第二权重的和为一;将所述第一权重与所述第一应用对象的第一上限置信区间值相乘,得到所述第一应用对象的第一加权值,并将所述第二权重与所述第一应用对象的平均上限置信区间值相乘,得到所述第一应用对象的第二加权值;进而计算所述第一加权值与所述第二加权值的和值,得到所述第一应用对象的目标上限置信区间值。

其中,第一应用对象的第一UCB值对应的第一权重,可以是预先设置的一个固定的参数,取值为0~1区间内的任意值,比如,可以预先设置第一权重为0.5,以平衡第一用户的数据与相似的第二用户的数据。或者,考虑到用户刚开始使用应用程序时,用户的历史数据量很小,参考价值不大,第一权重可以取较小的值;随着用户的使用,历史数据越来越多,第一权重的取值可以逐渐增大,但考虑到还希望能够向用户推荐新信息、冷门信息等,第一权重的取值可以不超过0.5,以避免新上架信息、冷门信息、未曾被推荐过的信息无法被推荐。因此,第一权重也可以根据一个预设的权重函数动态确定,权重函数的变量可以是时间(天数、月数、年数等)、下单量、历史记录、用户特性等。

示例性地,当第一权重根据预设的权重函数确定,权重函数的变量为用户使用应用程序的月数时,可以根据第一用户当前使用应用程序的月数,比如第一用户已使用应用程序三个月,则将三个月带入权重函数,将得到的权重函数值作为第一权重。

接着,确定了第一权重之后,可以将1减去第一权重的差值,作为与第一应用对象的平均UCB值对应的第二权重。

进而,计算第一权重与第一应用对象的第一UCB值的乘积,得到第一加权值,以及计算第二权重与第一应用对象的平均UCB值的乘积,得到第二加权值,再计算第一加权值与第二加权值的和值,得到第一应用对象的目标UCB值。

具体地,可以通过如下公式(2)确定第一应用对象的目标UCB值:

UCB

其中,UCB

本申请实施例中,当第一权重a根据预设的权重函数确定时,即第一权重a被定义为一个动态的权重函数,权重函数可以是预设的满足一些条件的函数,其中,权重函数需满足的条件如下:

(1)需要使得a的取值在0~1区间,优先地,a的取值在0~0.5区间;

(2)权重函数需要随时间、用户被推荐次数、用户使用情况、偏好等进行变化;

(3)权重函数收敛性较好,能够随着时间、历史数据、使用情况逼近一个极限值,比如0.5;

(4)权重函数的变量可以是时间、推荐次数、下单量、浏览商品种类等等,但在一段时间(比如一年)后,a值需要逼近一个极限值,比如0.5,即任一应用对象的UCB值包括50%的UCB

本申请实施例中,可以基于满足上述条件的Sigmod函数、双曲正切Tanh函数、Relu函数等函数中的任意函数来定义a。

示例性地,定义a=0.5*S(x),其中,S(x)表示Sigmod函数,

示例性地,定义a=0.5*tanh(x),其中,

本申请实施例中,将a定义为满足一些条件的权重函数,并随时间、用户使用情况、偏好、推荐成功率来做限定,其主要原因是:用户刚开始使用时,应用程序未对用户进行过推荐或者推荐数据量较少,绝大部分应用对象的n

通过调整a,一方面向用户推荐熟悉及感兴趣的数据商品,另外一方面向用户推荐新上架、未曾被浏览及推荐的商品,即UCB

在本申请的一种可选实施方式中,还可以从满足条件的多个权重函数中,选择出最好、最合适的权重函数来定义a,以达到最好的推荐效果。具体地,可以获取本地存储的多个权重函数,并将满足预设条件的权重函数作为目标权重函数,进而根据所述目标权重函数,确定所述第一应用对象的第一权重。

其中,本地存储的多个权重函数可以是满足上述条件(1)~(4)的权重函数,如基于Sigmod函数、双曲正切Tanh函数、Relu函数等定义的权重函数0.5*Sigmod函数、0.5*Tanh函数、0.5*Relu函数等。

在本申请的一种可选实施方式中,预设条件可以是收益最高,也就是说,在基于利用各权重函数定义的第一权重生成的各应用对象的目标UCB值进行推荐时,得到的收益最高的权重函数被确定为目标权重函数。

其中,权重函数带来的收益可以通过预设的评估函数来进行评估。具体地,基于预设的评估函数,确定每个所述权重函数分别对应的评估函数值;将所述评估函数值最大的权重函数确定为目标权重函数。进而,可以基于确定的目标权重函数,确定第一权重。

示例性地,预设的评估函数可以通过如下公式(3)表示:

其中,X表示用户每次使用推荐时的回报,可以根据应用程序的不同进行不同的定义,比如,在商品推荐时,X可以表示为第一用户的下单次数、下单金额等,在新闻资讯推荐时,X可以表示为浏览次数、感兴趣次数等,n表示服务器推荐总次数。

示例性地,在商品推荐中,以下单次数来表示回报X为例,假设推荐总次数n为1000,则a被定义为不同的权重函数或值时的评估函数值如下表2所示。

表2

能够理解的是,值越高,推荐效果越好。由表2可以看出,a被定义为0.5*Tanh函数时的推荐效果最好,因此可以确定目标权重函数为0.5*Tanh函数,进而基于0.5*Tanh函数确定第一权重。

能够理解的是,同一权重函数在不同画像的用户群体中可能获得的收益不同,比如,基于sigmoid函数定义的权重函数可能在用户群体A中能够获得最高的收益,而在用户群体B中可能获得较低的收益。因此本申请实施例中,为了获得最好的推荐效果,可以选择不同用户群体的测试用户进行测试,其中,一个用户群体中包含的用户的画像是相似的,同一用户群体可以再划分为多个小群体,每个小群体对应的权重函数不同,也就是说,一个小群体对应采用基于sigmoid函数定义的权重函数的推荐策略,一个小群体对应采用基于tanh函数定义的权重函数的推荐策略,一个小群体对应采用基于Relu函数定义的权重函数的推荐策略。基于这些小群体使用应用程序的历史操作记录和历史推荐记录,确定出测试用户每次使用推荐时的回报和推荐总次数,进而基于上述公式(3)计算同一用户群体中,不同权重函数对应的评估函数值。进而,在获取第一权重时,获取多个权重函数,并根据第一用户的画像信息确定与之相似的测试用户群体,接着确定相似的测试用户群体中,每个权重函数的评估函数值,选择评估函数值最大的权重函数作为目标权重函数来确定第一权重。

在本申请实施例中,通过基于预设的评估函数,确定每个权重函数分别对应的评估函数值,进而将评估函数值最大的函数确定为目标权重函数,由此,能够从多个权重函数中选择出推荐效果最好的目标权重函数来定义a,以达到最佳的推荐效果。

本申请实施例提供的信息推荐方法,通过将各应用对象中的任一应用对象作为第一应用对象,根据每个第二用户对应的第一应用对象的第二UCB值,计算第一应用对象的平均UCB值,再根据第一应用对象的第一UCB值,以及第一应用对象的平均UCB值,确定第一应用对象的目标UCB值,由此,使得计算得到的任一应用对象的目标UCB值不仅考虑了用户自身的偏好,还考虑了相似用户的偏好,为后续根据UCB值进行信息推荐提供了数据支撑,有利于提高推荐精度以及实现冷门信息的推荐。

在本申请的一种可选实施方式中,可以应用于电商平台的商品推荐,从而,应用程序中预先分类的应用对象可以包括商品和商品类别,其中,商品类别可以是商品所属的大类,比如家电、3C数码、服装、食品等,也可以是各大类下的次分类,比如3C数码大类下的手机、笔记本电脑、平板电脑、耳机等次分类,还可以是商品所属的品牌、商品所在的店铺等。本申请实施例中,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一UCB值时,可以先根据所述第一历史操作信息,确定所述第一用户对各所述商品的下单次数,再获取本地存储的对所述第一用户推荐各所述商品的历史推荐数据,并根据历史推荐数据,确定对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数,进而根据所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数,确定各所述商品的第一上限置信区间值,其中,各所述商品的第一上限置信区间值与所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数正相关,与对所述第一用户推荐各所述商品的推荐次数负相关。

示例性地,可以通过上述公式(1)计算得到各商品的第一UCB值。在进行商品推荐时,公式(1)中的

能够理解的是,当应用对象包括商品类别时,在根据第一历史操作信息确定各商品类别的下单次数时,可以根据第一历史操作信息,分析出第一历史操作信息中的各商品所属的商品类别,进而再统计出各商品类别的下单次数。则,在计算第j个商品类别的第一UCB值时,

需要说明的是,

能够理解的是,本申请实施例的方案不仅可以应用于商品推荐,还可以应用于短视频推荐、音乐推荐、新闻推荐等,

另外,需要说明的是,从上述公式(1)可以看出,在商品推荐中,计算UCB值时,需要保证n

在本申请的一种可选实施方式中,当第j个商品或第j个商品类别未曾被服务器推荐过时,无法通过上述公式(1)计算得到UCB值,这种情况下,可以预先设置UCB值为0。也就是说,当对所述第一用户推荐各所述商品的推荐次数为0时,确定推荐次数为0的商品的第一上限置信区间值为0。同样地,当对第一用户推荐各商品类别的商品的推荐次数为0时,确定推荐次数为0的商品类别的第一UCB值为0。由此,使得无论n

本申请实施例提供的信息推荐方法可以应用于商品推荐、音乐推荐、短视频推荐等场景,以商品推荐为例,图4为本申请一实施例提供的商品推荐方法的流程示意图。

如图4所示,该商品推荐方法可以包括以下步骤:

步骤401,获取电商平台中预先分类的多个应用对象,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一UCB值,其中,应用对象包括商品、商品大类、商品小类、商品的品牌。

步骤402,根据第一用户的画像信息,确定与第一用户相似的至少一个第二用户。

步骤403,根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二UCB值。

步骤404,根据每个应用对象的第一UCB值和每个第二用户对应的各应用对象的第二UCB值,计算每个应用对象的目标UCB值。

需要说明的是,步骤401-步骤404的描述可以参见前述实施例的相关内容,此处不再赘述。

本申请实施例中,针对每个商品、以及每个商品的大类、小类、品牌等,分别计算各自的目标UCB值。

步骤405,根据每个商品大类的目标UCB值,对各个商品大类进行排序后推荐给第一用户。

步骤406,根据第一用户选择的目标商品大类下每个商品小类的目标UCB值,对每个商品小类进行排序后推荐给第一用户。

步骤407,根据第一用户选择的目标商品小类下每个品牌的目标UCB值,对各个品牌进行排序后推荐给第一用户。

步骤408,根据第一用户选择的目标品牌下每个商品的目标UCB值,对各个商品进行排序后推荐给第一用户。

步骤409,获取第一用户对各个商品的操作记录。

其中,操作记录包括但不限于浏览、收藏、加购、购买等。

步骤410,根据操作记录及目标商品对象,更新第一用户对目标商品对象的目标UCB值。

其中,目标商品对象包括用户浏览、点击或者购买的目标商品、目标商品大类、目标商品小类、目标商品的品牌等。

本申请实施例中,可以先根据每个商品大类的目标UCB值,将各个商品大类进行排序后推荐给用户,比如商品大类可以包括家电、3C电子产品、蔬菜、家装、水果等等。用户选择某个商品大类后,比如用户点击进入3C电子产品这一商品大类,则根据3C电子产品下每个商品小类的目标UCB值,对3C电子产品下的各个商品小类进行排序后推荐给用户,比如手机、笔电、电吹风机等等。用户选择某个商品小类后,比如用户点击进入手机这一商品小类,则继续根据手机这一类别下每个品牌的目标UCB值,对各个品牌进行排序后推荐给用户,比如品牌A、品牌B、品牌C等。用户选择某个品牌后,比如用户点击进入品牌A,则继续根据品牌A下各个商品的目标UCB值,对品牌A中的各个自有商品进行排序后推荐给用户,并获取用户对各个商品的操作记录,进而根据操作记录以及用户选择的目标品牌、目标商品小类、目标商品大类,更新当前用户对用户浏览、点击或者购买的目标商品、目标商品大类、目标商品小类、目标商品的品牌的目标UCB值,以便用户下次进入电商平台时,向用户呈现最新的推荐列表。

本申请的方案应用于商品推荐时,第一次将蒙特卡洛搜索算法用于商品推荐,一方面可以向用户进行精准推送,保证用户接收到最喜欢、最常用的商品资讯,另外一方面可以推送最新的产品资讯,避免冷门商品、新上架商品被遗漏,还可以推荐类似群体的商品偏好数据,避免新用户因无历史数据,导致无法被推荐的困境。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种信息推荐装置,该信息推荐装置50包括获取模块502、第一计算模块504、匹配模块506、第二计算模块508、确定模块510和推荐模块512。其中:

获取模块502,用于获取应用程序中预先分类的多个应用对象;

第一计算模块504,用于根据第一用户对各所述应用对象相关的第一历史操作信息,计算各所述应用对象的第一上限置信区间值;

匹配模块506,用于根据所述第一用户的画像信息确定与所述第一用户相似的至少一个第二用户;

第二计算模块508,用于根据所述第二用户对各所述应用对象相关的第二历史操作信息,计算每个所述第二用户对应的各所述应用对象的第二上限置信区间值;

确定模块510,用于根据各所述应用对象的第一上限置信区间值以及每个所述第二用户对应的各所述应用对象的第二上限置信区间值,确定各所述应用对象的目标上限置信区间值;

推荐模块512,用于根据各所述应用对象的目标上限置信区间值,对各所述应用对象进行排序后推荐给所述第一用户。

在一个实施例中,所述确定模块510包括:

第一确定单元,用于将各所述应用对象中的任一应用对象作为第一应用对象;

计算单元,用于根据每个所述第二用户对应的所述第一应用对象的第二上限置信区间值,计算所述第一应用对象的平均上限置信区间值;

第二确定单元,用于根据所述第一应用对象的第一上限置信区间值,以及所述第一应用对象的平均上限置信区间值,确定所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述第二确定单元还用于:

获取预设的与所述第一应用对象的第一上限置信区间值对应的第一权重;

根据所述第一权重,确定与所述第一应用对象的平均上限置信区间值对应的第二权重;所述第一权重与所述第二权重的和为一;

将所述第一权重与所述第一应用对象的第一上限置信区间值相乘,得到所述第一应用对象的第一加权值;

将所述第二权重与所述第一应用对象的平均上限置信区间值相乘,得到所述第一应用对象的第二加权值;

计算所述第一加权值与所述第二加权值的和值,得到所述第一应用对象的目标上限置信区间值。

在一个实施例中,所述第二确定单元还用于:

获取本地存储的多个权重函数;

将满足预设条件的权重函数作为目标权重函数;

根据所述目标权重函数,确定所述第一应用对象的第一权重。

在一个实施例中,所述第二确定单元还用于:

基于预设的评估函数,确定每个所述权重函数分别对应的评估函数值;

将所述评估函数值最大的权重函数确定为目标权重函数。

在一个实施例中,所述应用对象包括商品,所述第一计算模块504还用于:

根据所述第一历史操作信息,确定所述第一用户对各所述商品的下单次数;

获取本地存储的对所述第一用户推荐各所述商品的历史推荐数据;

根据所述历史推荐数据,确定对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数;

根据所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数,以及对所述第一用户推荐各所述商品的推荐次数,确定各所述商品的第一上限置信区间值;

其中,各所述商品的第一上限置信区间值与所述第一用户对各所述商品的下单次数、对所述第一用户推荐所有商品的总次数正相关,与对所述第一用户推荐各所述商品的推荐次数负相关。

在一个实施例中,所述第一计算模块504还用于:

当对所述第一用户推荐各所述商品的推荐次数为0时,确定推荐次数为0的商品的第一上限置信区间值为0。

本申请实施例所提供的信息推荐装置,首先获取应用程序中预先分类的多个应用对象,根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一上限置信区间值,再根据第一用户的画像信息确定与第一用户相似的至少一个第二用户,并根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二上限置信区间值,接着根据各应用对象的第一上限置信区间值以及每个第二用户对应的各应用对象的第二上限置信区间值,确定各应用对象的目标上限置信区间值,进而根据各应用对象的目标上限置信区间值,对各应用对象进行排序后推荐给第一用户,由于各应用对象对应的UCB值是根据第一用户和相似用户分别对同一应用对象的UCB值确定的,使得在进行信息推荐时,既考虑了用户自身的偏好,又结合了相似用户的偏好,在保证信息推荐准确度的同时,还能实现对冷门信息和新上架信息的推荐。

关于信息推荐装置的具体限定可以参见上文中对于信息推荐方法的限定,在此不再赘述。上述信息推荐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种设备,该设备可以是服务器,其内部结构图可以如图6所示。该设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该设备的数据库用于存储用户的注册资料、历史操作记录、历史推荐数据等数据。该设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种信息推荐方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的信息推荐装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的设备上运行。设备的存储器中可存储组成该信息推荐装置的各个程序模块,比如,图5所示的获取模块、第一计算模块、匹配模块、第二计算模块、确定模块和推荐模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的信息推荐方法中的步骤。

例如,图6所示的设备可以通过如图5所示的信息推荐装置中的获取模块执行获取应用程序中预先分类的多个应用对象的步骤。设备可通过第一计算模块执行根据第一用户对各应用对象相关的第一历史操作信息,计算各应用对象的第一上限置信区间值的步骤。设备可通过匹配模块执行根据第一用户的画像信息确定与第一用户相似的至少一个第二用户的步骤。设备可通过第二计算模块执行根据第二用户对各应用对象相关的第二历史操作信息,计算每个第二用户对应的各应用对象的第二上限置信区间值的步骤。设备可通过确定模块执行根据各应用对象的第一上限置信区间值以及每个第二用户对应的各应用对象的第二上限置信区间值,确定各应用对象的目标上限置信区间值的步骤。设备可通过推荐模块执行根据各应用对象的目标上限置信区间值,对各应用对象进行排序后推荐给第一用户的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,比如静态随机存取存储器(Static Random Access Memory,SRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 信息推荐方法、装置、计算机设备和计算机可读存储介质
  • 信息推荐方法、信息推荐装置及计算机可读存储介质
技术分类

06120114695504