本发明涉及大数据处理技术领域,尤其涉及一种基于用户偏好预测的商品推荐方法、装置、设备及可读介质。
背景技术:
随着经济的发展、互联网应用的普及以及人民生活水平的提高,基于各大网络电商平台的购物行为得到了广泛的普及。基于网络销售平台区别于线下实体购物的特点,为了在用户无法接触商品实体的情况下,也能获得丰富的商品信息和良好的购物体验,各大电商平台都会为用户进行可能感兴趣的商品的推荐。
现有的电商平台中对用户进行商品推荐的一般是基于用户历史的购买数据进行类似的商品的推荐,但是用户的购物偏好是在不断变化,仅仅依靠历史数据进行推荐的精确度不高,这会导致用户的购物体验不佳、电商平台的营销效果不佳。
技术实现要素:
基于此,有必要针对上述问题,提出一种基于用户偏好预测的商品推荐方法、装置、计算机设备及可读介质。
一种基于用户偏好预测的商品推荐方法,其特征在于,所述方法包括:
获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;
获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;
根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;
根据目标偏好度确定与所述目标用户对应的目标推荐商品。
其中,所述根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度,包括:
根据所述历史购物数据确定所述目标用户对于每一个所述目标商品的历史操作类型,所述历史操作类型包括:未点击、已浏览、已加入购物车、已购买;
按照预设的与历史操作类型对应的偏好度权重值,确定所述目标用户对于每一个所述目标商品的历史偏好度。
所述获取所述目标用户的当前购物数据,根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度,包括:
根据所述当前购物数据确定所述目标用户当前所浏览的目标商品总数及对于各个所述目标商品的当前购买次数;
根据所述目标商品总数和所述当前购买次数确定所述目标用户对于每一个所述目标商品的当前偏好度;
根据所述当前偏好度和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度。
所述根据所述当前偏好度和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度,包括:
获取所述目标用户最近一次历史购物行为的结束时间点与当前购物行为的开始时间点;
根据所述结束时间点和所述开始时间点确定所述目标用户对于每一个目标商品的历史偏好度的历史影响权重值;
根据所述历史影响权重值、所述历史偏好度和所述当前偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度。
更进一步的,所述根据所述结束时间点和所述开始时间点确定所述目标用户对于每一个目标商品的历史偏好度的历史影响权重,包括:
根据所述结束时间点和所述开始时间点确定所述目标用户的购物时间间隔;
根据所述购物时间间隔与预设时间间隔阈值的比较结果确定所述目标用户的偏好变化状态,所述偏好变化状态包括偏好稳定期、偏好遗忘期、完全遗忘期;
根据所述偏好变化状态确定所述历史影响权重。
所述根据所述目标用户对于每一个所述目标商品的目标偏好度确定所述目标用户对应的目标推荐商品,包括:
获取所述目标用户的用户总数和所述目标商品的商品总数;
根据所述用户总数、所述商品总数和所述目标偏好度确定所述目标用户之间的偏好相似度;
根据所述偏好相似度确定所述目标用户对应的目标推荐商品。
其中,所述根据所述偏好相似度确定所述目标用户对应的目标推荐商品,包括:
根据所述偏好相似度确定与所述目标用户的偏好相似度大于预设相似度阈值的其他用户作为该目标用户的参考用户;
获取所述参考用户对于每一个所述目标商品的目标偏好度作为参考偏好度,获取所述目标用户对应的历史操作类型为已购买的目标商品以外的目标商品作为待推荐商品;
根据所述参考偏好度在所述待推荐商品中确定所述目标用户对应的目标推荐商品。
一种基于用户偏好预测的商品推荐装置,其特征在于,所述装置包括:
第一获取单元:用于获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;
第二获取单元:用于获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;
第一确定单元:用于根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;
第二确定单元:用于根据目标偏好度确定与所述目标用户对应的目标推荐商品。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;
获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;
根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;
根据目标偏好度确定与所述目标用户对应的目标推荐商品。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;
获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;
根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;
根据目标偏好度确定与所述目标用户对应的目标推荐商品。
在本发明实施例中,首先获取目标用户的历史购物数据,根据所述历史购物数据确定该目标用户对于多个目标商品的历史偏好度。在确定了历史偏好度之后,再实时获取所述目标用户发送的购物请求,根据所述购物请求确定该目标用户的当前购物数据。最后根据这个当前购物数据和上述历史偏好度确定出该目标用户对于每一个所述目标商品的目标偏好度,从而根据目标偏好度确定与所述目标用户对应的目标推荐商品。
因此,相较于现有技术中只是根据用户的历史购物数据来预测用户当前的偏好,忽略了随着时间变化用户偏好的衰退和迁移,本发明通过将历史偏好和当前偏好相结合,以及参考与目标用户偏好较为相似的其他用户的购物数据对目标用户进行商品的推荐。提高了用户偏好预测的准确率,间接提高了基于偏好预测的商品推荐的准确率和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1示出了一个实施例中基于用户偏好预测的商品推荐方法的流程图;
图2示出了一个实施例中确定所述目标用户对于多个目标商品的历史偏好度的流程图;
图3示出了一个实施例中确定所述目标用户对于每一个所述目标商品的目标偏好度的流程图;
图4示出了一个实施例中根据所述当前偏好度和历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度的流程图;
图5示出了一个实施例中确定所述目标用户对于每一个目标商品的历史偏好度的历史影响权重值的流程图;
图6示出了一个实施例中根据目标偏好度确定与所述目标用户对应的目标推荐商品的流程图;
图7示出了一个实施例中根据所述偏好相似度确定所述目标用户对应的目标推荐商品的流程图;
图8示出了一个实施例中基于用户偏好预测的商品推荐装置的结构框图;
图9示出了一个实施例中计算机设备的内部结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种基于用户偏好预测的商品推荐方法,在一个实施例中,本发明可以基于一智能手机、pc等计算机处理设备等。
参考图1,本发明实施例提供了一种基于用户偏好预测的商品推荐方法。
图1示出了一个实施例中基于用户偏好预测的商品推荐方法的流程图。本发明中所述的基于用户偏好预测的商品推荐方法至少包括如图1所示的步骤s1022-s1028,详细介绍如下:
在步骤s1022中,获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度。
其中,步骤s1022还可以至少包括图2示出的步骤s1032-s1034。下面结合图2进行说明。图2示出了一个实施例中确定所述目标用户对于多个目标商品的历史偏好度的流程图。
在步骤s1032中,根据所述历史购物数据确定所述目标用户对于每一个所述目标商品的历史操作类型,所述历史操作类型包括:未点击、已浏览、已加入购物车、已购买。
首先可以存在一定数量的预设商品等待被选择和推荐,在一个可选的实施例中,分别记为a、b、c、d、e、f和商品g。而针对上述待推荐的目标商品,用户“alice”在过去的48小时的时间内所做的操作可以分别是:购买了商品a,将商品b、商品c、商品d加入了购物车,浏览了商品e和商品f,而对于商品g未点击。
需要说明的是,考虑到点击、浏览、加入购物车以及最终的购买可以同时出现在针对一件商品的消费过程中,并且具有时间上的依次递进顺序。即消费者一般会先点击某商品,进入该商品的信息展示页面进行浏览,随后可以选择加入购物车或者直接购买,或者浏览后退出商品信息展示页面,不再进行下一步操作等。
因此在一件待推荐商品对应不止一个历史操作类型时,选取该商品时间次序上最靠近消费行为终点(即购买)的类型。
在步骤s1034中,按照预设的与历史操作类型对应的偏好度权重值,确定所述目标用户对于每一个所述目标商品的历史偏好度。
容易理解的是,在实际的线上购物过程中,消费者首先会点击自己较为感兴趣的商品,以进行商品信息的查看和比较,而在基本确定了自己所偏好的购买概率较大的商品之后,一般会将其加入购物车,以便之后结账购买,而正常情况下,消费者所支付购买的商品是其在当前待推荐商品库中最大的偏好体现。
因此,此处上述各历史操作类型对应的偏好度权重值可以排列如下:已购买>已加入购物车>已浏览>未点击。在可选的实施例中,具体的可以根据目标用户针对每一个目标商品的历史最终操作的执行次数和该种操作对应的权重值确定出其对于该商品的历史偏好度。
在步骤s1024中,获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据。
举例说明,可以是某用户“alice”在进入预设的购物系统中的商品展示界面后,开始对商品列表中的进行点击和浏览(如以上下滑动的方式)。
当前商品列表中存在的商品从上至下可以分别为商品p1、p2、p3、p4、p5、p6。而用户“alice”在从p1依次滑动到p5,分别点击了这5件商品的详情页面中进行浏览和查看,并且最终将商品p3、p4加入了购物车,而购买了商品p2。
在步骤s1026中,根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度。
具体的,步骤s1026还可以包括图3示出的步骤s1042-s1046。图3示出了一个实施例中确定所述目标用户对于每一个所述目标商品的目标偏好度的流程图。
在步骤s1042中,根据所述当前购物数据确定所述目标用户当前所浏览的目标商品总数及对于各个所述目标商品的当前购买次数。
结合步骤s1024中的举例,目标用户“alice”所浏览的商品总数为5件,而针对商品p1、p2、p3、p4、p5分别的当前购买次数为0、1、0、0、0。
在步骤s1044中,根据所述目标商品总数和所述当前购买次数确定所述目标用户对于每一个所述目标商品的当前偏好度。
具体的,可以按照如下过程进行目标用户对于每一个所述目标商品的当前偏好度的计算:
分别按照“已购买”、“已加入购物车”、“已浏览”这三类获取所有目标商品中购买次数最大的商品和购买次数最小的商品之间的购买次数的差值作为分母,而用针对这三类商品的历史平均购买次数减去购买次数最小的商品的购买次数的差作为分子,以此确定三个数值,将这三个数值的和作为此处的当前偏好度。
在步骤s1046中,根据所述当前偏好度和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度。
考虑到用户在进行当前购物行为和历史购物行为结束之间的时间间隔可能存在较大差异,每一次登陆线上购物网站进行操作的时间间隔短则数分钟,长则数天甚至数星期或数月。而容易理解的是,用户对于商品的偏好也是基于人的认知和记忆的原理的,即同样是符合人的记忆遗忘曲线的。也就是说,随着时间的推移,用户对于特定事物的偏好,在进行下一次认知增强刺激发生之前是随着时间正比例衰减的。
应用到购物场景中消费者对于商品的偏好则是,用户可能在获取/习得了新的偏好之后,在较为短的时间间隔内(考虑到人的记忆能力阈值以及短时记忆的存储时长,可能为3-7天),这种偏好是较为稳定的,即用户对于目标商品的喜好或厌恶会维持一段时间不改变。而在经过了较长的时间(如7天以上),用户对于各个目标商品的记忆开始衰减,也就是说对于商品的喜好/厌恶程度都会向中性无偏好的方向逐渐靠近。而在经过更长时间的变迁之后,用户的偏好基本上已经完成了偏好中性化,也就是处于了无偏好的状态。
综上所述,为了基于人的偏好与时间的关系对确定出的针对各个目标商品的目标偏好度进行校正,步骤s1046还可以包括图4示出的步骤s1052-s1056。图4示出了一个实施例中根据所述当前偏好度和历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度的流程图。
在步骤s1052中,获取所述目标用户最近一次历史购物行为的结束时间点与当前购物行为的开始时间点。
具体的,可以是用户“alice”最近一次在2019年12月16日20:15:08退出了线上购物网站,而当前的购物行为开始于2019年12月19日14:15:50用户“alice”登陆了该线上购物网站。
在步骤s1054中,根据所述结束时间点和所述开始时间点确定所述目标用户对于每一个目标商品的历史偏好度的历史影响权重值。
容易理解的是,此处是获取结束时间点和开始时间点为了确定用户针对线上购物网站的遗忘周期,以此根据遗忘周期的长短来确定其偏好的变迁和衰减程度的大小。因此,步骤s1054又可以包括图5示出的步骤s1062-s1066。图5示出了一个实施例中确定所述目标用户对于每一个目标商品的历史偏好度的历史影响权重值的流程图。
在步骤s1062中,根据所述结束时间点和所述开始时间点确定所述目标用户的购物时间间隔。
根据步骤s1052中的举例,可以计算出用户“alice”的购物时间间隔是66小时。
在步骤s1064中,根据所述购物时间间隔与预设时间间隔阈值的比较结果确定所述目标用户的偏好变化状态,所述偏好变化状态包括偏好稳定期、偏好遗忘期、完全遗忘期。
首先可以设定两个时长阈值,用以界定用户的偏好的迁移程度(即偏好变化状态)正处于的时期。如将购物时间间隔小于等于48小时(第一时长阈值)的用户的偏好变化状确定为偏好稳定期,对应的,将购物时间间隔小于等于48小时的用户的偏好变化状确定为偏好遗忘期。由此,前述步骤中的用户“alice”的偏好变化状态确定为偏好遗忘期。
与此同时,可以更进一步地确定一个第二时长阈值,如168小时(即7天),在购物时间间隔大于这个记忆极限阈值时,即认为用户已经处于了完全遗忘期,在这个时期内用户的对于各个目标商品的偏好水平全部归零。
在步骤s1066中,根据所述偏好变化状态确定所述历史影响权重。
在偏好稳定期,目标用户对于各个目标商品的历史偏好度对应的历史影响权重可以为1,即用户的偏好度不发生变化。
而在偏好遗忘期中,目标用户对于各个目标商品的历史偏好度对应的历史影响权重可以为0.5(即小于1),即用户对于各个目标商品的偏好度在历史偏好度的基础上逐渐衰减。
对应的,若是用户已经处于完全遗忘期,则其对于各个目标商品的历史偏好度的影响已经很弱,因此可以将此时期的目标用户对于各个目标商品的历史偏好度对应的历史影响权重设置为0。
在步骤s1056中,根据所述历史影响权重值、所述历史偏好度和所述当前偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度。
具体的,目标用户对于每一个所述目标商品的目标偏好度可以按照如下过程进行计算:
在目标用户的历史影响权重值为0的情况下(即该用户处在完全遗忘期),其对于每一个目标商品的目标偏好度为当前偏好度。
而在目标用户的历史影响权重值不为0的情况下(即该用户处在偏好遗忘期或者偏好稳定期),其对于每一个目标商品的目标偏好度为历史影响权重值与历史偏好度的乘积加上当前偏好度与1中减去所述历史影响权重值的乘积的和。
在步骤s1028中,根据目标偏好度确定与所述目标用户对应的目标推荐商品。
最后,此步骤还可以包括图6示出的步骤s1072-s1076。图6示出了一个实施例中根据目标偏好度确定与所述目标用户对应的目标推荐商品的流程图。
在步骤s1072中,获取所述目标用户的用户总数和所述目标商品的商品总数。
具体的,可以存在m个目标用户和n件目标商品。此处将每个目标用户视作空间中的点,将每一个目标用户针对每一件商品的目标偏好度视作空间中的一个向量。
在步骤s1074中,根据所述用户总数、所述商品总数和所述目标偏好度确定所述目标用户之间的偏好相似度。
即此处采用了协同过滤的思想,利用大量的用户对于大量商品的偏好的数据作为分析基础,不仅仅是基于某个用户的当前和历史购物数据进行分析,还根据大量用户的偏好进行相似度的分析,从而进行推荐。
具体的确定用户之间的偏好相似度的过程可以按照如下进行:
假设现在要计算用户“alice”和用户“bob”之间的偏好相似度,首先获取“alice”和“bob”所共同存在操作的商品集合,确定出“alice”和“bob”针对这个商品集合中的所有商品的平均偏好度,以及对于这个商品集合中某特定商品k,这两个用户分别的目标偏好度。根据两个用户针对商品集合中每一个商品的目标偏好度与平均偏好度的偏离程度来确定这两个用户的偏好相似度。
在步骤s1076中,根据所述偏好相似度确定所述目标用户对应的目标推荐商品。
步骤s1076又可以包括图7示出的步骤s1082-s1086。图7示出了一个实施例中根据所述偏好相似度确定所述目标用户对应的目标推荐商品的流程图。
在步骤s1082中,根据所述偏好相似度确定与所述目标用户的偏好相似度大于预设相似度阈值的其他用户作为该目标用户的参考用户。
在步骤s1084中,获取所述参考用户对于每一个所述目标商品的目标偏好度作为参考偏好度,获取所述目标用户对应的历史操作类型为已购买的目标商品以外的目标商品作为待推荐商品。
如在确定了用户“alice”的参考用户为用户“bob”和用户“chris”之后,将当前目标用户“alice”未浏览或者未购买的目标商品作为待推荐商品。
在步骤s1086中,根据所述参考偏好度在所述待推荐商品中确定所述目标用户对应的目标推荐商品。
具体的,可以是获取参考用户“bob”和“chris”以及目标用户“alice”对于待推荐商品的平均偏好度,以及“bob”和“chris”分别与目标用户“alice”之间的偏好相似度,以及“bob”和“chris”分别对于每一件待推荐商品的目标偏好度,根据上述这些参数来从推荐商品中最终确定“alice”对应的目标推荐商品。
图8示出了一个实施例中基于用户偏好预测的商品推荐装置的结构框图。
参考图8所示,根据本发明的一个实施例的基于用户偏好预测的商品推荐装置1090,包括:第一获取单元1092、第二连接单元1094、第一确定单元1096、第二确定单元1098。
其中,第一获取单元1092:用于获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;
第二获取单元1094:用于获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;
第一确定单元1096:用于根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;
第二确定单元1098:用于根据目标偏好度确定与所述目标用户对应的目标推荐商品。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和通信模块、处理模块、展示模块。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本基于用户偏好预测的商品推荐方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本基于用户偏好预测的商品推荐方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;根据目标偏好度确定与所述目标用户对应的目标推荐商品
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标用户的历史购物数据,根据所述历史购物数据确定所述目标用户对于多个目标商品的历史偏好度;获取所述目标用户发送的购物请求,根据所述购物请求确定所述目标用户的当前购物数据;根据所述当前购物数据和所述历史偏好度确定所述目标用户对于每一个所述目标商品的目标偏好度;根据目标偏好度确定与所述目标用户对应的目标推荐商品
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。