具体实施方式
本申请的方案适用于依据推荐***中的用户日志等数据,对推荐***的多个对象(根据推荐***的不同,对象可以为文章、新闻等)进行筛选,以确定出该推荐***适合向新用户推荐的对象集合。
其中,推荐***可以是能够推荐新闻、文章、图像、视频等对象的网络平台。
在本申请实施例中,新用户是指首次访问、注册或者登录推荐***的用户,也可以是在推荐***注册时长小于预设时长或者访问总次数较少的用户。也就是说,新用户就是指推荐***中存在历史行为数据较少(如,历史行为数据低于设定阈值)的用户。
为了便于理解本申请的方案,先对本申请实施例的方案所适用的场景进行介绍。如参见图1,其示出了本申请一种推荐对象确定***的一种组成架构示意图。
由图1可以看出,该推荐对象确定***包括:计算机设备101和至少一台推荐服务器102。
其中,计算机设备101和各台推荐服务器102之间可以通过网络实现数据通信。
该推荐服务器102为推荐***中用于向用户推荐对象的服务器。
其中,该计算机设备101可以是具有数据处理能力的设备,该计算机设备可以是推荐***中的服务器,如,该计算机设备可以为推荐服务器,或者,该计算机设备可以为推荐服务器之外,用于对推荐***产生的用户日志等数据进行分析处理的服务器;该计算机设备也可以是独立于推荐***的计算机设备。
其中,计算机设备101,用于结合推荐***中该至少一台推荐服务器所获取到的展示日志,从推荐***的多个对象中筛选出适合向新用户推荐的对象集合。
可选的,计算机设备101还可以将确定出的适合向新用户推荐的对象集合发送给推荐服务器102,以使得推荐服务器基于计算机设备确定出的对象集合,向新用户推荐对象。
可选的,该数据筛选***还可以包括:数据存储设备103,该数据存储设备可以是推荐***的数据库等数据存储设备,也可以是独立于推荐***的数据存储设备。该数据存储设备可以通过网络与计算机设备101以及推荐服务器102实现数据通信。
其中,该数据存储设备103可以用于存储推荐服务器所涉及到的用户信息,展示日志以及可作为推荐的多个对象的属性等相关信息。
该数据存储设备103还可以用于存储计算机设备筛选出的对象集合,相应的,推荐服务器还可以是从数据存储设备获取可推荐给新用户的对象集合。
结合以上共性,为了便于理解本申请的方案,下面结合方法流程图对本申请的一种推荐对象确定方法进行介绍。
如,参见图2,其示出了本申请一种推荐对象确定方法一个实施例的流程示意图,本实施例的方法可以应用于前面提到的计算机设备,该方法可以包括:
S201,获取推荐***的多份展示日志。
其中,该展示日志记录有:推荐***向用户展示的对象、该对象的类别、该用户的至少一个用户属性的属性值及该对象的点击情况。
其中,在该展示日志中记录的对象可以通过对象的名称,或者对象的标识等来表征该对象。根据推荐***所涉及到的可推荐对象的不同,该对象可以有多种可能。如,在推荐***为具备新闻推荐功能的新闻平台或者推荐***的情况下,对象可以为不同篇新闻;在推荐***为论文等文章推荐平台时,该对象可以为论文等文章;在推荐***为图像、视频等多媒体服务平台时,该对象可以为图像、视频等等。
相应的,对象的类别(也称为对象类别)用于表征对象的内容所属的分类,如,以对象为新闻为例,对象的类别可以包括:科技、社会、女性、房产、文艺等多个新闻类别。
其中,用户的用户属性可以包括:用户的性别、年龄、学历等等多个属性,而用户属性的属性值是指用户属性对应的具体取值。其中,由于有些用户在某个用户属性中并未填写相应的取值,或者未获取到某个用户属性的属性值,因此,用户属性的属性值可以为空。如,对于性别这一用户属性而言,属性值可以为“男”或“女”,也可以是性别为“未知”,在性别为未知的情况下,可以认为性别这一用户属性的属性值为空。相应的,年龄这一用户属性的属性值可以为用户的具体年龄,也可以为“空”(或者表示为“未知”)。需要说明的是,对于本申请实施例中的用户属性和用户行为数据等,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
其中,对象的点击情况至少表征对象是否被该用户点击。
可选的,考虑到实际应用中,可能会更关注对象被点击是否属于有效点击,该点击情况还可能会包括对象被用户点击后的浏览时长。该浏览时长可以表征对象被阅读或观看的时长,基于该浏览时长可以分析本次对该对象的点击行为是否属于有效点击。如,有效点击可以为点击该对象后,用户对对象的浏览时长超过预设时长。
其中,展示日志为依据推荐***的历史推荐数据以及用户行为数据确定出的,用于分析推荐***中各个对象展示给用户以及用户点击情况的数据。
如,在一种可能的情况中,该展示日志可以为推荐***中用户日志,该用户日志为推荐***向用户推荐一次对象之后,所产生的表征用户所能浏览到的对象以及对于对象的点击情况的相关信息。如,用户日志可以记录有:用户的标识,该用户的至少一个属性的属性值,该推荐***向用户展示至少一个对象,每个对象的类别以及用户对各个对象的点击情况等。
在用户日志中记录的是一个用户,以及推荐***一次向该用户展示的各个对象的信息以及用户对于各个对象的各个对象的操作行为属性等。可选的,为了便于分析各个对象,还可以对用户日志进行提取,以得到该用户日志中各篇文章分别与用户之间的对应关系数据。在该种情况下,展示日志还可以为基于用户日志提取出的,用于表征对象在一次展示过程中,该对象被展示给的用户、用户的相关属性以及对象被该用户点击的点击情况。如,展示日志可以记录有:一个对象的标识,该对象的类别,用户的标识(表示本次展示该对象给用户时,该用户的用户标识),用户的至少一个属性的属性值以及该对象被该用户点击的点击情况。
S202,对于每份展示日志中的每个对象,将该对象划归到表征该对象的类别及该展示日志中该至少一个用户属性的属性值的至少一个多维属性组中。
其中,多维属性组可以为由对象的类别这一维度以及至少一个维度的用户属性构成的属性组合,且,该多维属性组中对于各个维度上设置有相应的取值或者取值范围。其中,不同多维属性组中至少存在一个相同维度上的取值或者取值范围不同。
举例说明,每个多维属性组都是由对象的类别,用户性别,用户年龄这三个维度的属性构成的一个多个维度属性的多维属性组合,其中,该多维属性组合中每个维度上对应着一个取值或者取值范围。可见,通过组合对象的类别、用户性别、用户年龄这三个维度,并分别设置这三个维度上的取值或者取值范围,可以得到多种不同的多维属性组。
如,假设表征对象的类别为科技,用户性别这一用户的用户属性为男,而用户年龄的取值范围为18到23岁的多维属性组可以表示为【科技,男,【18,23】】。而表征对象的类别为文艺,用户性别的取值为女,用户年龄的取值范围为25到30岁的多维属性组可以表示为【文艺,女,【25,30】】。
由以上分析可知,针对任意一份展示日志中的一个对象而言,在该对象的类别,该对象所属的该展示日志中用户的至少一个用户属性的属性值确定的情况下,可以确定出该对象可以划归到能够表征该对象的类别以及该至少一个用户属性的属性值的至少一个多维属性组中。如,假设展示日志中,对象的类别为社会,用户的性别为男,而用户年龄为20岁,则可以将该对象划归到表征对象的类别为社会,用户性别为男,且用户年龄段为18岁到25岁的多维属性组:【社会,男,【18,25】】中。
在一种可能的情况中,多维属性组可以预先构建。如,根据推荐***所涉及到的对象所可能归属的多种不同类别,所需涉及到的用户属性的个数以及每种用户属性可能的取值,分别针对每种类别构建出多个多维属性组。其中,对应同一类别的不同多维属性组中同一维度的用户属性的取值范围可以不同。
仍以每个多维属性组包括对象的类别,用户性别,用户年龄这三个维度为例说明,假设对象的类别可以包括:科技和社会,而将用户年龄可以预先划分为多个年龄段,如,划分出5个年龄段为:【1,17】,【18,28】、【29-38】、【39-50】、【51,100】,则,将“科技”这一类别与用户性别“男”这两个属性分别与5个年龄段进行组合可以得到5个多维属性组,依次表示为:【科技,男,【1,17】】;【科技,男,【18,28】】;【科技,男,【29,38】】;【科技,男,【39,50】】;【科技,男,【51,100】】。相应的,将“科技”这一类别及用户性别“女”分别与这5个年龄段组合可以得到5个多维属性组,这5个多维属性组与前面这5个多维属性组的区别仅在于,用户性别这一维度上的取值为“女”,从而构建出对象的类别为“科技”这一情况下所有可能的多维属性组。与此类似,可以将对象类别为“社会”,与用户性别和用户年龄段的不同取值或者取值范围进行组合,也可以得到10个多维属性组。
可选的,考虑到用户的某个用户属性可能会未知的,在该种情况下,可以构建较为粗粒度的多维属性组,具体的,多维属性组中表征某一个或者多个用户属性的取值(或者取值范围)可以为“空”(也可以表示为null)。其中,多维属性组中表征某个用户属性的维度上的取值为“空”,则说明忽略该用户属性的具体取值,则只要对象的类别以及其他用户属性的取值分别符合该多维属性组中相应维度的取值或者取值范围,则可以将该对象划归到该多维属性组中。
举例说明,仍以每个多维属性组包括对象的类别,用户性别,用户年龄这三个维度为例说明,对象的类别一般都是已知的,而用户性别以及用户年龄可以是未知的,因此,构建出的多维属性组中表征用户性别以及用户年龄中的一个或两个维度上的取值可以为“空”。
例如,仍假设对象的类别可以包括:科技和社会,而将用户年龄划分为5个年龄段为:【1,17】,【18,28】、【29-38】、【39-50】、【51,100】,则对于对象的类别为:“科技”的情况,除了上面列举出的10个多维属性组之外,还可以构建出表征用户性别为空,而年龄段可以为以上5个中的任意一个的多维属性组,从而可以得到5个多维属性组为:【科技,空,【1,17】】;【科技,空,【18,28】】;【科技,空,【29,38】】;【科技,空,【39,50】】;【科技,空,【51,100】】。相应的,在对象的类别为“科技”,用户性别可以为“男”或者“女”,而用户年龄为“空”的情况下,仍可以构建出2个多维属性组:【科技,男,空】,【科技,女,空】。相应的,还可以构建出表征对象的类别为科技,而用户性别以及用户年龄均为空的多维属性组:【科技,空,空】。在此基础上,假设展示日志中,对象的类别为科技,用户的性别为男,而用户年龄为20岁,则该对象可以划归到【科技,男,【18,28】】,【科技,空,【18,28】】,【科技,男,空】以及【科技,空,空】这四个多维属性组中。
在又一种可能的情况中,该多维属性组可以是在分析多份展示日志的过程中构建出的。如,针对任意一份展示日志中的每个对象,根据该对象的类别以及该展示日志中该至少一个用户属性的属性值,构建维度由该对象的类别及该展示日志中该至少一个用户属性组成的至少一个多维属性组。其中,对于多维属性组中任意一个表征用户属性的维度而言,该维度上取值范围分别包括展示日志中记录的该用户属性的属性值。如,假设展示日志中用户年龄为“18”,那么对于构建出的任意一个包括“年龄”这一维度的多维属性组而言,该多维属性组中“年龄”的取值范围包括年龄为“18”这一属性值。
相应的,可以将该对象划归到构建出的该至少一个多维属性组中,以使得构建出的每个多维属性组中均包括该对象。
可选的,可以预先设定每种用户属性所可能对应的多种取值范围,然后结合每种用户属性对应的多种取值范围,以及展示日志中该对象的类别以及该展示日志中该至少一个用户属性的属性值,构建出至少一个多维属性组。
如,仍以展示日志中包括对象的类别,用户性别,用户年龄为例,则可以构建出表征这三个维度的属性组合,考虑到对应用户年龄这种一个年龄可以划分出多种可能的取值范围的情况,也可以预先设定出用户年龄的年龄段。如,预先将所有用户可能的年龄划分为:【1,17】,【18,28】、【29-38】、【39-50】、【51,100】以及“空”这6种情况。相应的,针对展示日志中,用户年龄的具体取值可以将用户年龄对应到预先划分出的至少一个年龄段中,然后依据对象的类别以及展示日志中用户性别的取值,构建出至少一个多维属性组。
例如,展示日志中,对象的类别为科技,用户的性别为男,而用户年龄为20岁,则该对象的年龄可以对应到“空”(表示忽略具体年龄)以及年龄段【18,28】中,则同样可以构建出【科技,男,【18,28】】,【科技,男,空】,【科技,空,【18,28】】以及【科技,空,空】这四个多维属性组。
需要说明的是,针对任意一份展示日志中的每个对象,如果构建出的多维属性组已经存在(在当前时刻之前被构建出),则无需在重复构建,而只需确定该对象所可能归属的该多维属性组,并将该对象划归到该对象属性组中即可。相应的,对于同一个多维属性组,如果该多维属性组中已经包含了某篇对象,而无需将同一个对象重复添加到该多维属性组中。
可以理解的是,对于同一个对象,推荐***不同时刻可能会将该对象展示(如推荐)给不同的用户,因此,一个对象可能会记录在多个不同的展示日志中。而通过对多份展示日志中的对象归类,同一个对象有可能会被划归到多个不同的多维属性组。
同时,考虑到多维属性组中部分表征用户属性的维度的取值可以为空,从而使得两个或者多个多维属性组中的对象存在重合。如,参见图3,其示出了不同多维属性组之间的关系示意图。在图3中示出了不同多维属性组中包括的对象之间的重合关系示意图。
在图3中是以多维属性组为涉及三个维度,一个维度为对象的类别,而另外两个维度为用户属性,而用户属性包括用户性别和用户年龄这两个维度为例说明。在图3中仅仅示出了用户年龄的取值范围为【18,23】的情况,由图3可以看出,多维属性组【科技,空,空】中忽略了用户性别以及用户年龄的具体取值,任意只要是对象的类别属于科技,都可以划归到该多维属性组中。
而多维属性组【科技,女,空】中忽略了用户年龄的取值,因此,只要是展示日志中对象的类别为“科技”,且该展示日志中记录的该对象所展示给的用户的性别为女,则可以将该展示日志中该对象划归到该多维属性组【科技,女,空】。从图3可以看出,多维属性组【科技,女,空】中的所有对象都属于多维属性组【科技,空,空】。
相应的,属于多维属性组【科技,女,【18,23】】的对象全部属于该多维属性组【科技,女,空】以及【科技,空,【18,23】】。而【科技,空,【18,23】】所包含的对象与多维属性组【科技,男,空】中包含的对象存在交集,而该交集内的对象实际上就全部属于多维属性组【科技,男,【18,23】】。
S203,针对每个多维属性组,从该多份展示日志中,确定所记录的对象被划归到该多维属性组的至少一份目标展示日志,并依据该至少一份目标展示日志中对象的点击情况,分别统计该多维属性组中每个对象的总展示量和点击率。
可以理解的是,针对一个多维属性组,该多维属性组中包括的对象实际上反映的是具有相同用户属性(如相同性别,相同年龄段等)的用户群组所观看到(也就是被展示的)或者点击的同一类别的多个对象。而为了分析出该多维属性组表征的具有特定用户属性的用户群组对于该多维属性组中包括的各个对象的感兴趣程度,则需要单独针对每个多维属性组统计该多维属性组中各个对象被展示以及点击的情况。
其中,该多维属性组中任意一个对象的总展示量与该划归到该多维属性组之前,该对象所属的展示日志有关。为了便于区分,针对任意一个多维属性组,将所记录的对象被划归到该多维属性组的展示日志称为目标展示日志。如,展示日志1中记录有对象A,对象A的类别为科技,用户性别为男,而用户年龄为20;而展示日志1中记录有对象A,对象A的类别为科技,用户性别为女,用户年龄为35。则基于展示日志1,对象A会被划分到多维属性组【科技,男,【18,23】】中,而展示日志2中的对象A并不会划归到该多维属性组【科技,男,【18,23】】,因此,展示日志1属于该多维属性组【科技,男,【18,23】】的目标展示日志。
可以理解的是,由于展示日志记录的是对象一次展示时,用户及用户的行为数据,因此,对于多维属性组中的任意一个对象,包含该对象的目标展示日志的数量就是该对象的总展示量。如,对于多维属性组【科技,男,【18,23】】,有10个目标展现日志中对象A能够被划归到该多维属性组中,则该对象A在该多维属性组【科技,男,【18,23】】中的总展示量为10次。
其中,点击率为多维属性组中对象的点击次数与对象的总展示量的比值。其中,多维属性组中每个对象的点击次数可以基于该多维属性组中该对象所属的至少一份目标展示日志中记录的用户对该对象的点击情况确定。如,多维属性组中对象来源于100份目标展示日志,则该对象的总展示量为100次,而假设这100份目标展示日志中有30份记录了用户点击了该对象,则对象在该多维属性组中的点击次数为30,相应的,对象在该多维属性组中的点击率为0.3。
可选的,为了能够更为真实的反映对象的受欢迎程度(也就是用户对对象的感兴趣程度),本申请中多维属性组中对象的点击次数是指有效点击的点击次数。其中,有效点击是为了排除误点击,有效点击可以是根据需要设定,如前面提到了一种有效点击的确定方式。当然,还可以有其他确定有效点击的方式,如,以对象为新闻为例,有效点击是指该新闻的阅读完成度超过预设百分比(例如百分之四十)且浏览时长超过预设时长(例如,10秒)。相应的,针对该多维属性组中的对象,可以依据对象对应的目标展示日志中对于该对象的点击情况是否表征用户对该对象的点击属于有效点击,并统计目标展示日志中记录的有效点击的总次数。
S204,筛选出该多维属性组中符合预设条件的对象。
其中,该预设条件包括:对象的总展示量大于展示量阈值,且点击率符合预设要求。
其中,展示量阈值可以根据需要设定,如,展示量阈值可以为150次。
可选的,考虑到推荐***中的用户对于不同类别的对象的兴趣分布存在差异,导致不同类别的对象的展示量也存在巨大差别,因此,在筛选具有高曝光量的对象时,也需要针对不同类别的对象分别设置不同的展示量阈值,也使得每种类别的对象都能筛选出属于该类别曝光量较高的对象。相应的,对象的总展示量大于展示量阈值可以为:对象的总展示量大于该对象所归属的多维属性组表征的类别对应的展示量阈值。
如,对于大部分用户兴趣较为集中的对象类别,则可以将展示量阈值设置的较高,可以分别设置较高的展示量阈值。例如,将属于“社会”、“娱乐”、“女性”类别的对象的展示量阈值分别设置为10000次、2000次和1500次,相应的,如果多维属性组表征的类别为社会,则该多维属性组中对象的展示量需要大于10000次;如果多维属性组表征的类别为“娱乐”,则该多维属性组中的对象的展示量需要满足大于2000次,对于表征的类别为“女性”的多维属性组,其判断相似。同时,对于不属于大部分用户兴趣集中的类别,则可以将展示量阈值设置的相对较低,例如,将不属于“社会”、“娱乐”、“女性”类别的对象的展示量阈值均设置为150次。
其中,该点击率符合预设要求的情况可以有多种可能,如,点击率大于预设阈值。又如,按照点击率从高到底的排序,点击率属于排序靠前的指定数量个点击率,或者,点击率属于处于排序靠前的预设百分比(如,百分之十五)内的点击率。当然,该预设要求还可以有其他可能,具体可以根据需要设定。
可以理解的是,对于一个多维属性组中任意一个对象,该多维属性组所表征的具有特定用户属性的用户群组对该对象的感兴趣程度,实际上就可以反映出该对象作为向新用户推荐的对象的适合程度。其中,此处该新用户可以是任意新用户,也可以是具有该多维属性组表征的特定用户属性的新用户。一般的,多维属性组所表征的用户群组对某个对象的感兴趣程度越高,则说明该对象对于具有该特定用户属性的用户群组的受欢迎程度较高,该对象推荐给具有该特定用户属性的用户,或者用户属性未知的用户的适合程度越高,更容易引起被推荐用户的兴趣。可见,通过该步骤S205的筛选,可以去除该多维属性组中不适合推荐给新用户的对象,以筛选出符合大众用户喜好,以用于向新用户推荐的对象。
其中,筛选出多维属性组中满足预设条件的对象可以是将该多维属性组中不符合预设条件的对象删除,以保留多维属性组中符合预设条件的对象;也可以是,提取出该多维属性组中满足预设条件的对象,并将筛选出的对象作为多维属性组中具有的对象。
可选的,考虑到推荐***的有些新用户的用户属性无法获知,而为了能够更为准确的筛选出的适合向任意新用户推荐的对象,需要筛选出每个多维属性组中具有普遍适用性的对象,因此,该预设条件还可以包括:对象的内容特征不具有设定的风险内容特征。
其中,风险内容特征可以根据需要设定,基于风险内容特征进行对象筛选,以删除对象内容具有地域针对性,对象的内容不健康,或者对象内容较为负面,对象具有短期时效性等不适合大部分用户的内容特征。
该风险内容特征可以需要设定,风险内容特征可以包括如下任意(1)-(5)所示情况中的一种或者多种:
(1)、对象的内容特征为具有时效性和高热度的内容特征。
可以理解的是,适合作为向新用户推荐的对象应该能够经过一定时间的验证仍能够保持受欢迎的特性,因此,如果对象的内容特征具有时效性和高热度的属性,则说明对象的内容无法长时间保持受欢迎,不适合作为向新用户推荐的对象。
例如,以对象为新闻类的文章为例,如果文章仅仅是短期内具有高热度的新闻,则该文章的关注度很容易随着时间降低,如果将该文章作为用于向新用户推荐的文章,很容易出现使得新用户阅读到已过时的旧新闻的情况。
(2)、对象的内容特征属于具有地域性的内容特征。
其中,对象的内容为针对部分地域的内容,则会使得对象不具有普遍适用性,无法吸引大部分地区用户的关注度,从而使得对象不具有普遍适用性。如,仍以对象为新闻文章为例,如果新闻文章记录的是关于“城市A举办校园美育节”的相关内容,则对该新闻文章感兴趣的用户可能只有城市A的住户,如果将该新闻文章推荐给新用户必然会导致对新用户的吸引力较低。
(3)、对象的标题(也称为主题)特征具有设定的标题党属性。
其中,具有标题党属性的标题特征是指为了吸引眼球,而采用十分夸张或者歪曲事实的标题,使得对象的内容与主题不符合。对象的标题特征如果属于具有标题党属性的标题,很容易引起新用户反感,从而对象不适合向新用户推荐。
如,仍以对象为新闻文章为例,具有标题党属性的新闻文章的标题可以为“一不小心,我就崩溃了,其实我也不想的”,或者“震惊,每个人都有,不看后悔了”等类似特征的主题。
(4)、对象的内容特征不符合设定的内容及形式要求;
其中,形式要求可以包括:对象的标题长度处于预设的标题字数区间。如,对象的标题字数在10到50字以内。
内容要求可以包括:对象的正文长度超过预设的正文字数区间,如,对象的正文字数超过200字。可选的,内容要求还可以包括,对象的正文中图像的样式、数量的要求。例如,以对象为新闻文章为例,内容要求除了要求新闻的正文长度超过200字,还可以要求新闻文章中必须有图片展示。
相应的,如果对象的标题以及正文不符合形式要求或者内容要求中的任意一个,则对象的内容特征属于具有风险内容特征。
(5)、对象的内容中包括负面信息。
如,对象的内容中包括比较恐怖或者消极等负面信息。仍以对象为新闻文章为例,如果新闻中包括“恐怖”“变异”“尸体”“绿帽”“龌龊”等可能会给用户较差体验的关键词。
其中,对象的以上几种内容特征可以由计算机设备通过对象进行分析确定。可选的,为了提高筛选效率,可以预先获取到包含各个对象的属性数据,如,通过对象(如新闻等)的提供方提供属性信息,或者通过大数据分析确定各个对象的属性数据。该对象的属性数据中可以包括用于表征对象的内容特征是否具有以上几种风险内容特征的相关数据,从而根据对象的属性数据,来确定该对象的内容特征是否具有以上任意一种或几种风险特征。
可以理解的是,风险内容特征还可以有其他情况,以上仅仅是以几种情况为例进行介绍。针对不同种对象,风险内容特征也可能会存在差异,具体可以根据需要设定,在此不加以限制。
S205,分别存储各个多维属性组中筛选出的对象,以将各个多维属性组中筛选出的对象确定为该推荐***用于向新用户推荐的对象。
如,存储各个多维属性组,并将各个多维属性组中筛选出的对象分别存储到相应的多维属性组内,以便后续推荐***分别基于各个多维属性组所包含的对象,从各个多维属性组所包含的对象中选取向新用户推荐的对象。
可选的,考虑到用于向新用户推荐的对象集合一般会存储到特定的存储区,在本申请实施例中,将用于存储向新用户推荐的对象的存储区称为推荐对象存储区,因此,可以分别将各个多维属性组筛选出对象存储到推荐存储区。如,在推荐存储区分别存储各个多维属性组所包含的对象的列表(筛选后保留的对象)
可以理解的是,由于每个多维属性组中筛选出的对象都是该对象对应的类别中,对于具有该多维属性组所表征的用户属性的用户群组都具有较大的吸引度的对象。如,表征对象的类别为科技,用户性别为男性以及用户年龄为空的多维属性组中的对象都是属于科技的对象中,对于任意年龄段的男性都比较感兴趣的对象。而且相对于未被筛选的对象,该多维属性组中的对象对于用户属性未知的用户群组的吸引程度也偏大,因此基于各个多维属性组筛选出的对象向推荐***的新用户推荐对象,有利于向新用户推荐能够更为吸引新用户的对象,从而有利于提高向新用户推荐对象的精准度。
可选的,考虑到某些对象的类别属于较为少见的类别,而该类别的对象关注的人群也较少,对于大部分用户不具有普遍的吸引力,不适合作为可向新用户推荐的对象,因此,在存储多维属性组中筛选出的对象之前,还可以删除不具有普适性的多维属性组。其中,不具有普适性的多维属性组表征的对象的类别属于预设的不具有普适性的类别。
如,以对象为新闻等文章为例,如果新闻的类别为“宗教”、“天气”和“彩票”等比较小众的类别时,对于该类新闻的关注的人群较少,如果将该类别下的新闻作为后续用于向新用户推荐的候选对象,则引起新用户兴趣的概率较低,使得该类别的新闻不具有普遍适用性,因此,表征的类别属于这些小众类别的多维属性组就属于不具有普适性的多维属性组。相应的,对于存储这些小众类别的新闻的多维属性组可以删除,以使得用于向新用户推荐的对象中不包括该类别对应的多维属性组中的对象。
其中,删除不具有普适性的多维属性组可以是在存储多维属性组之前执行;也可以是将所有展示日志中的对象归类到各个多维属性组之后,检测归类出的多个多维属性组中是否存在不具有普适性的多维属性组,以删除不具有普适性的多维属性组,从而无需对不具有普适性的多维属性组中的对象进行筛选,以减少数据处理量。
由以上分析可知,基于推荐***的各展示日志中记录的对象的类别以及该对象展示时所面向的用户具有的用户属性,将各个展示日志中记录的对象分别划归到不同的多维属性组中,从而将具有相同类别,且展示时所面向的用户的用户属性相似的多个对象划归到同一个多维属性组中。这样,基于每个多维属性组中各个对象各自在该多维属性组中的点击率和总展示量,可以筛选出该多维属性组对应的具有特定用户属性的用户群体感兴趣程度较高的多个对象,使得各个多维属性组中筛选出的对象属于对于不同类型用户均具有较高吸引力,从而使得各个多维属性组中筛选出的对象对于任意新用户均具有相对较高的吸引力,因此,将各个多维属性组筛选出的对象作为用于向新用户推荐的对象,有利于提高新用户的感兴趣程度,进而有利于避免盲目向新用户推荐对象,提高了向新用户推荐对象的精准度。
为了便于理解本申请的方案,结合图4进行说明,图4示出了本申请对象归类以及筛选的过程示意图。
在图4中展示日志中对象归类以及筛选的过程为从左到右依次执行。
由图4可以看出,基于推荐***的每份展示日志所记录的信息,可以将该展示日志中每个对象,分别归类到至少一个多维属性组中,从而可以得到多个分别包括一个或多个对象的多维属性组,该过程可以参见前面的相关介绍。
对于归类出的每个多维属性组,可以先进行第一层筛选,如图4第一层筛选主要是针对多维属性组中对象的类别以及历史表现进行筛选。具体的,该第一层筛选包括:
(1)、删除不具有普适性的多维属性组;
(2)、针对未被删除的多维属性组,统计多维属性组中每个对象在该多维属性组中的总展示量(具体可以参见步骤S203中关于统计多维属性组中对象的总展示量的相关介绍),并基于对象在该多维属性组中的总展示量,删除该多维属性组中总展示量小于该多维属性组所表征的对象类别对应的展示量阈值的对象。
(3)、对于每个多维属性组中未被删除的各个对象,分别统计各个对象在该多维属性组中的点击率;对该多维属性组中各个对象的点击率进行排序,并筛选出点击率排序处于靠前的设定比值(如百分之十五)的多个对象。
对于经过第一层筛选后所得到的各个多维属性组还需要进行第二层筛选。该第二层筛选主要是基于对象的内容特征,筛选出多维属性组中不具有设定的风险内容特征,从而删除具有风险内容特征的对象。
如由图4可以看出,该第二层筛选主要是包括删除内容特征具有前面提到的几种风险内容特征的对象。如图4,风险内容特征可以体现在内容具有时效性、对象的标题属于标题党等等。
经过以上第一层筛选和第二层筛选所得到的多维属性组以及该多维属性组中的对象就可以作为适合向新用户推荐的对象,并将筛选出的多维属性组及多维属性组中的对象存储到对象池中,该对象池可以认为是用于存储各个多维属性组的存储集合,对象池的对象为可作为向新用户推荐的候选对象。
可以理解的是,为了进一步提高向新用户推荐对象的精准度,在通过本申请以上实施例中的推荐对象确定方法确定出用于作为向新用户推荐的各个多维属性组以及各个多维属性组中的用户之后,还可以定期更新多维属性组中所包含的对象,以向多维属性组中新增一些更具吸引力的对象,还可以删除多维属性组中吸引力相对较弱的对象。在该种情况下,可以按照预设更新周期,在满足对象更新时刻,触发执行本申请以上的步骤S201到步骤S205的操作。
需要注意的是,在不同次更新周期,获取到的展示日志可能会有所差别。相应的,不同次更新周期内构建出的多维属性组可能不同,即使构建出相同的多维属性组,不同次构建出的同一多维属性组中所包含的对象都可能会有所差别。因此,在存储各个多维属性组中筛选出的对象的过程中,还需要检测推荐存储区是否已经存储相应的多维属性组。具体的,针对每个多维属性组,检测新用户对应的推荐对象存储区中是否具有该多维属性组;当该推荐对象存储区具有该多维属性组的情况下,将筛选后的该多维属性组中的各个对象存储到该推荐对象存储区中相应的多维属性组中;当该推荐对象存储区不具有该多维属性组,则在该推荐对象存储区存储该多维属性组以及该多维属性组中筛选出的对象。
如,在当前时刻之前,推荐对象存储区中已经存储有多维属性组【科技,男,【18,23】】,如果在某个更新周期内,又得到包含至少一个对象的该多维属性组【科技,男,【18,23】】,则无需重复在推荐对象存储区中存储多维属性组【科技,男,【18,23】】,则只需将本次更新周期中构建出的该多维属性组【科技,男,【18,23】】中的对象存储到该推荐对象存储区中的该多维属性组【科技,男,【18,23】】中。
可以理解的是,对于待存储的任意一个多维属性组,在该推荐对象存储区具有该多维属性组的情况下,如果筛选后的该多维属性组中的某个对象已经存在该对象存储区的同一多维属性组中,可以是将该对象替换掉该对象存储区中的该对象,也可以无需重复存储,而仅仅将该对象的存储时间更新为当前时刻,以便于后续基于对象的存储时间,删除较长时间为更新的对象。
如,参见图5,其示出了本申请一种推荐对象确定方法又一个实施例的流程示意图,本实施例同样应用于前面提到的计算机设备,本实施例可以包括:
S501,获取推荐***的多份展示日志。
其中,该展示日志记录有:推荐***向用户展示的对象、该对象的类别、该用户的至少一个用户属性的属性值及该对象的点击情况。
S502,对于每份展示日志中的每个对象,将该对象划归到表征该对象的类别及该展示日志中该至少一个用户属性的属性值的至少一个多维属性组中,以将该多份展示日志中的各个对象分别划归到多个多维属性组。
S503,删除该多个多维属性组中不具有普适性的多维属性组。
其中,不具有普适性的多维属性组表征的对象的类别属于预设的不具有普适性的类别。
可以理解的是,在本实施例中,该步骤S503为可选步骤,在实际应用中也可以根据需要不执行该步骤S503。
S504,针对剩余的每个多维属性组,从该多份展示日志中,确定所记录的对象被划归到该多维属性组的至少一份目标展示日志,并依据该至少一份目标展示日志中对象的点击情况,分别统计该多维属性组中每个对象的总展示量和点击率。
以上步骤S501到步骤S504可以参见前面实施例的相关介绍,在此不再赘述。
S505,针对每个多维属性组,删除该多维属性组中不满足预设条件的对象,得到筛选后的多维属性组。
其中,预设条件包括:对象的内容特征不具有设定的风险内容特征;对象的总展示量大于展示量阈值;且,对象的点击率符合预设要求。
可以理解的是,在实际应用中可以按照图4相关介绍,同时或者依次执行以下三步操作:
删除多维属性组中内容特征具有设定的风险内容特征的对象;
删除多维属性组中对象的总展示量不大于该展示量阈值的对象;
删除该对象的点击率不符合预设要求的对象。
通过以上三步操作,可以多维属性组中剩余的对象就是该多维属性组中筛选出的对象。
其中,预设条件中各个条件的具体含义可以参见前面实施例的相关介绍,在此不再赘述。
在本申请实施例中是以预设条件需要同时满足以上三个条件为例,但是可以理解的是,预设条件仅仅包括“对象的总展示量大于展示量阈值;且,对象的点击率符合预设要求”,也同样适用于本实施例。
S506,针对每个多维属性组,当该推荐对象存储区具有该多维属性组的情况下,将筛选后的该多维属性组中的各个对象存储到该推荐对象存储区中记录的该多维属性组内,并将当前存储到推荐对象存储区的该多维属性组中各个对象的存储时刻分别记录为该各个对象在该推荐存储区的该多维属性组中的更新时刻。
举例说明,经过筛选后得到的待存储的多维属性组A中包括对象a1和对象a2,而推荐对象存储区存储有该多维属性组A,则只需要将该对象a1和对象a2存储到该多维属性组A中,并分别记录推荐对象存储区中该多维属性组A中对象a1以及对象a2的更新时刻为当前存储时刻。
可以理解的是,对于多维属性组中的任意一个对象,如果推荐对象存储区的该多维属性组中已经存储在该对象,则可以是将该对象存储到该推荐对象存储区的多维属性组,并删除原来存储的该对象,同时,更新该对象的更新时刻。当然,也可以是无需重复存储向推荐对象存储区中该多维属性组中存储该对象,而仅仅更新该推荐对象存储区中该对象的更新时刻。
其中,计算机设备可以独立维护该推荐对象存储区中各个多维属性组中每个对象的更新时刻,如,计算机设备维护该推荐对象存储区对应的一个更新时间文件,在该更新时间文件中分别记录该推荐存储区中各个多维属性组中每个对象的更新时刻。
可以理解的是,推荐存储区的不同多维属性组中可能会存储有相同的对象,但是同一对象在不同多维属性组中的更新时刻有可能不同。
例如,多维属性组A中,对象a1的更新时刻为:2017年7月8日;对象a2的更新时刻为2017年6月1日;多维属性组B中,对象a1的更新时刻为2017年6月10日;对象a3的更新时刻为2017年8月1日。
S507,当该推荐对象存储区不具有该多维属性组,则在该推荐对象存储区存储该多维属性组以及该多维属性组中筛选出的对象,并将该多维属性组中各个对象存储到该推荐对象存储区的存储时刻分别记录为各个对象在推荐对象存储区中的该多维属性组中的更新时刻。
该步骤中生成对象的更新时刻的方式与步骤S506相似,在此不再赘述。
S508,监控该推荐对象存储区中各个多维属性组中各个对象的更新时刻。
S509,对于该推荐对象存储区的每个多维属性组,当该多维属性组中存在更新时刻距离当前时刻的时长超过预设时长的目标对象时,删除推荐对象存储区中该多维属性组中的该目标对象。
可以理解的是,一些优质的对象,能够吸引的用户较多,这样,这些对象被多次挖掘出来并存储到推荐对象存储区的可能性也相对较高,而且,由于每次向推荐对象存储区存储一个对象都会更新该对象的更新时刻,因此,对象在多维属性组中的更新时刻距离当前时刻的时长可以表征该对象是否仍具有较大的吸引力,也就是对象是否仍属于对于大部分用户具有普遍适用性的对象。
相应的,如果多维属性组中存在更新时刻距离当前时刻的时长超过预设时长,则说明该对象已经失去了对大部分用户受欢迎的特性,不适合作为具有普遍性适合向任意新用户推荐的对象。在该种情况下,则删除多维属性组中的更新时刻距离当前时刻的时长较长的对象,以使得推荐存储区中仅仅存储对普通大众具有普遍吸引度的对象。需要说明的是,这里的监控旨在获取推荐对象存储区中各个多维属性组中各个对象的更新时刻。同时,获取数据的过程若涉及用户信息,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
可以理解的是,通过筛选出各个多维属性组中的对象,实际上是针对每种对象类别分别筛选出具有不同用户属性的用户群体所感兴趣的对象集合。因此,在推荐***可以将筛选后的多维属性组中的对象作为用于向新用户推荐的候选对象,并在满足向新用户推荐对象的条件时,从存储的各个多维属性组的对象中选取向该新用户推荐的对象。
其中,推荐***的推荐服务器从存储的各个多维属性组中选取向新用户推荐的对象的具体方式可以有多种:
如,在一种可能的实现方式中,推荐***的推荐服务器可以随机存储的各个多维属性组中选取至少一个对象作为需要推荐给新用户的对象。
在又一种可能的实现方式中,推荐服务器还可以预先设置不同多维属性组的权重,然后结合各个多维属性组的权重,从不同多维属性组中的对象选取出用于推荐给该新用户的对象。
在又一种可能的实现方式中,推荐服务器还可以获取新用户的用户属性的属性值。如果推荐***获取到该新用户的至少一个用户属性的属性值,则根据该新用户的用户属性的属性值,从存储的多维属性组中,确定能够表征该新用户的用户属性的属性值的至少一个目标多维属性组,并从目标多维属性组中选取推荐给该新用户的至少一个对象。如果无法获取到该新用户的用户属性的属性值,则可以随机从各个多维属性组中选取对象推荐给该新用户。
举例说明,推荐服务器设置的用户属性包括两个用户属性,分别为用户性别和年龄。同时假设推荐***中对象包括社会和科学两类,推荐***获取到的存储的多维属性组可以分为表征对象类别为社会的多维属性组,以及表征对象类别为科学的多维属性组这两大类。
假设获取到新用户M的用户性别为“男”,年龄为30。则从表征对象类别为社会的各多维属性组中,可以确定出表征的用户属性的取值范围分别包括用户性别为“男”,且年龄为“30”的目标多维属性组,假设查找到的目标多维属性组为【社会,男,【28,35】】。类似的,从表征对象类别为科技的各多维属性组中也至少可以找到一个目标多维属性组【科技,男,【28,35】】。
相应的,推荐服务器可以从多维属性组为【社会,男,【28,35】】和多维属性组【科技,男,【28,35】】中分别选取需要推荐给该新用户M的一个或多个对象。
假设推荐***无法获取到新用户N的用户性别和年龄的属性值,则推荐***可以分别从表征对象类别为社会的各多维属性组以及表征对象类别为科技的各多维属性组中,按照不同多维属性组的权重,或者随机的,从各个多维属性组中选取对象推荐给该新用户N。
可以理解的是,在构建的多维属性组为粗粒度的多维属性组,即多维属性组中表征某一个或者多个用户属性的取值(或者取值范围)可以为“空”的情况下,如果即使新用户的一个或者全部用户属性的属性值都无法获取到,仍有可能从存储的多维属性组中,确定出能够表征该新用户的至少一个用户属性的属性值的多维属性值。为了便于理解,可以参见图6,其示出了基于本申请的推荐对象确定方法的对象推荐方法的一种流程示意图。
对象推荐方法可以应用于推荐***的推荐服务器,在前面的计算机设备为推荐服务器的情况下,也可以认为该对象推荐方法也可以由计算机设备执行。该流程可以包括:
S601,推荐服务器获取当前访问的新用户的至少一个用户属性的属性值。
其中,新用户的用户属性值可以是具体取值,也可以是空。
如,假设推荐服务器设定了用户可以填写的用户属性包括:用户性别,用户年龄和所在城市。假设该新用户可能未填写任何一个用户属性,在该种情况下,属于未获取到新用户的任何属性,则可以认为该新用户的每个用户属性的属性值均为空。如果新用户仅仅填写了用户性别,而没有填写年龄和所在城市,则获取到的该新用户的年龄和所在城市的属性值为空。
S602,推荐服务器根据该新用户的至少一个用户属性的属性值,从推荐存储区存储的多个多维属性组中,查询是否存在能够表征该至少一个用户属性的属性值的至少一个目标多维属性组。
其中,推荐存储区存储的多维属性组可以具体参加前面的相关介绍。
其中,推荐存储区可以位于计算机设备中,在该种情况下,推荐服务器可以从计算机设备中查询推荐存储区中存储的各个多维属性组;或者是推荐存储区中的多个多维属性组发送给推荐服务器,以在推荐服务器中的推荐存储区中存储该多个多维属性组。推荐存储区也可以是位于数据存储设备中,以使得计算机设备以及推荐服务器可以访问该推荐存储区。
当然,本实施例中是以通过推荐存储区存储该多个多维属性组为例进行说明,在实际应用中,计算机设备可以将筛选后的多个多维属性组存储到一个对象集合文件中,该对象集合文件就相当于一个包含多个对象的对象池,以使得推荐服务器可以基于对象池中各个多维属性组内的对象向新用户推荐对象。
可以理解的是,推荐存储区存储的每个多维属性组实际上由对象的类别以及至少一个用户属性构成的多个维度的属性组合,且该多维属性组中每个维度都设置有相应的取值范围,因此,在该新用户的至少一个用户属性的属性值确定的情况下,可以从推荐存储区的多个多维属性组查找目标多维属性组。其中,该目标多维属性组中表征该至少一个用户属性的维度上的取值范围可以分别包括该新用户在该至少一个用户属性上的属性值。
举例说明,仍以前面推荐***中对象包括社会和科学两类为例,并假设每个多维属性组为除了对象类别之外,还包括用户性别和年龄这两个维度。相应的,获取到新用户M的用户性别为“男”,年龄为30。基于前面的描述可知,可以查找到的目标多维属性组为【社会,男,【28,35】】和目标多维属性组【科技,男,【28,35】】。
假设新用户M的用户性别未知,而年龄为30,如果推荐***中存在表征用户性别的取值为空的多维属性组,则查找到的目标多维属性组可以包括:【社会,空,【28,35】】和【科技,空,【28,35】】。当然,如果推荐***中存在表征用户性别的取值为空的多维属性组,则还可以查询到目标多维属性组【社会,空,空】和【科技,空,空】。
假设新用户M的用户性别和用户年龄均未知,如果推荐***中的每个多维属性组中在用户性别和年龄这两个维度的取值都不空,或者仅仅是用户性别或者用户年龄为空,则查询不到目标多维属性组;如果仅仅存在用户性别和用户年龄为空的多维属性组,则可以查找到目标多维属性组【社会,空,空】和【科技,空,空】。
S603,当查询到至少一个目标多维属性组时,从该至少一个目标多维属性组的对象中,选取出推荐给该新用户的至少一个对象。
可以理解的是,目标多维属性组中的对象是与该新用户的用户属性相同或者相似的用户群体所喜好的对象,因此,可以基于每个目标多维属性组中的对象,确定需要推荐给该新用户的至少一个对象,以提高对象推荐的精准度。
如,新用户M的用户性别为“男”,年龄为30,确定出的目标多维属性组包括【社会,男,【28,35】】,该目标多维属性组中都是代表年龄段在28岁到35岁的男性较为感兴趣的“社会”类别的对象,这样,可以基于该目标多维属性组,向该新用户M推荐社会类的对象。
S604,当查询不到目标多维属性组,则从推荐***存储的多个多维属性组各自包含的对象中,选取出推荐给该新用户的至少一个对象。
如果查询不到目标多维属性组,由于推荐***存储的各个多维属性组中的对象是具有不同用户属性的用户群体比较感兴趣的对象,使得各个多维属性组中的对象对于绝大部分用户均具有普遍的吸引力。因此,可以将推荐***存储的各个多维属性组中的对象均作为可以推荐给该新用户的候选对象,并从各个多维属性组中选取可以推荐给该新用户的至少一个对象,以避免提高向新用户推荐对象的精准度。
可以理解的是,为了全面验证推荐存储区中的对象的推荐效果,以及时清理推荐存储区中新用户反馈的推荐效果不好的对象,本申请还可以结合新用户对于基于该推荐存储区存储的各多维属性组所推荐的对象的行为数据,调整推荐存储区中多维属性组中的内容。
如,结合图7进行说明,图7示出了本申请图7示出了本申请实施例一种推荐对象确定方法的实现流程的框架示意图。
由图7可以看出,在将筛选后的多维属性组中的对象存储到推荐存储区(即图7中的对象池)之后,会涉及到基于更新时间文件更新推荐存储区(如图7中推荐存储区右侧的部分)以及基于新用户的行为反馈调整推荐存储区(如图7中推荐存储区左侧的部分)。
其中,每次向推荐存储区的多维属性组存储对象,都会将该对象的更新时刻设置为当前存储时刻,并将对象的更新时刻与该对象所属的该推荐存储区的多维属性组之间的对应关系存储到计算机设备维护的更新时间文件中。如图7中推荐存储区右侧的维护有更新时间文件。
相应的,计算机设备会根据更新时间文件中记录的各个多维属性组中各个对象的更新时刻,定期删除每个多维属性组中更新时刻距离当前时刻较长的对象。
进一步的,在推荐***基于推荐存储区中的多维属性组向新用户推荐对象之后,计算机设备会获取新用户的行为数据,以基于新用户的行为数据来调整推荐存储区中的对象。具体的,可以参见图8,其示出了本申请实施例中基于新用户对于多维属性组中对象的行为反馈数据更新多维属性组的一种流程示意图。图8的流程可以应用于本申请的计算机设备,该流程可以包括:
S801,获取新用户对于存储的各个多维属性组中各个对象的行为数据。
其中,行为数据用于反映在该推荐***基于存储的各个多维属性组中的对象向新用户推荐对象之后,新用户对于推荐的对象的点击情况和/或评论情况。
其中,新用户对于推荐的对象的点击情况可以包括:新用户是否点击推荐的对象,还可以包括:在该推荐的对象被点击之后,新用户浏览该被推荐的对象的浏览时长,以及对象的内容被观看或者阅读的百分比等内容中的一种或者多种。
其中,评论情况可以包括新用户是否对推荐的对象给出评论,还可以包括评论的字数等等。
S802,针对存储的每个多维属性组,根据该多维属性组中各个对象的行为数据,分别确定该多维属性组中各个对象的推荐效果。
在一种可能的情况中,推荐效果可以通过对象被推荐之后,新用户对于该推荐的对象的点击、点击时长以及浏览时长等等得到,如,对象的推荐效果可以是对象的点击率,该点击率也可以是有效点击的点击率。
可选的,针对推荐存储区中每个多维属性组中的每个对象,可以基于如下公式一计算点击率打分S1:
其中,对象的点击量是指该多维属性中的该对象推荐给新用户之后,新用户点击该对象的总数量;对象的展示量该多维属性中的该对象推荐给新用户展示的展示总量;α是指预先设定的平滑系数,如α的取值可以为400。在计算点击率打分时,添加平滑系数α可以避免由于对象的展示量过小而导致对象的点击率没有可比性。
相应的,可以将对象的点击率打分S1用于评分对象的推荐效果,其中,同一个多维属性组中,对象点击率打分越高,该对象的推荐效果越好。
在又一种可能的实现方式中,在多维属性组中的对象被推荐给不同新用户之后,还可以根据各个新用户对于该多维属性组中该对象的评论情况,来确定推荐效果。如,对象被评论的次数越多,对象的评论热度也就越高,则说明该对象越能够吸引新用户,推荐效果越高,该对象越适合作为推荐存储区中用于向新用户推荐的对象。
可选的,在多维属性组中的对象被推荐给不同新用户之后,可以根据新用户对该多维属性组中该对象的用户评论数,计算评论热度打分S2。如,评论热度打分S2可以通过如下公式二得到:
其中,最大评论基数可以根据需要设定,如可以设置为6000。为了避免评论热度评分大于1,而导致不同对象的评论热度评分不具有可比性,可以根据通常对象的评论量,设置评论上限,如果对象的用户评论数不大于该评论上限,则用户评论数按照实际数量取值,如果该对象的用户评论数达到或超过该评论上限,则用户评论数取值为该评论上限。
相应的,可以将对象的评论热度打分S2用于评分对象的推荐效果,其中,同一个多维属性组中,对象的评论热度打分越高,该对象的推荐效果越好。
在实际应用中,还可以结合对象的点击情况以及评论情况,来综合确定对象的推荐效果,如,针对任意一个多维属性组中对象,可以将该对象的评分热度打分以及点击率打分之和,确定表征该对象在该多维属性组中推荐效果的评分,该评分越高,推荐效果越好。
S803,针对存储的每个多维属性组,删除该多维属性组中推荐效果较差的多个对象。
如,对于多维属性组中的各个对象,按照推荐效果好坏进行排序,从而删除推荐效果排序靠后的指定数量个对象,或者删除属于排序效果靠后的预设比例内的对象。
又如,在按照点击率和展示量确定推荐效果的情况下,可以是删除该多维属性组中展示量大于预设阈值,且点击量低于预设百分比的对象。
当然,在通过其他方式确定推荐效果时,删除推荐效果较差的多个对象还可以有其他实现方式,在此不加以限制。
其中,删除该多维属性组中推荐效果较差的多个对象,有利于保证推荐存储区中各个多维属性组中对象对于用户群体的吸引度,从而保证了向新用户推荐对象的推荐效果。
S804,针对存储的每个多维属性组,将该多维属性组中推荐效果较好的多个对象的更新时刻修改为当前时刻。
该步骤S804为可选步骤,在将筛选后的多维属性组中的对象存储到推荐对象存储区,且监控该推荐对象存储区中各个多维属性组中对象的更新时刻的情况下,如果多维属性组中的对象的推荐效果较好,则可以将该对象在该多维属性组中的更新时刻修改为当前时刻,以使得受新用户喜欢的对象,在短时间内不会由于未更新而被从推荐存储区删除。
如,可以将多维属性组中,推荐效果排序靠前的前100个对象的更新时刻修改为当前时刻。
为了便于理解本申请实施例的方案,下面结合一个具体应用场景进行介绍。如,参见图9,其示出了本申请的推荐对象确定方法所适用的一种应用场景的组成架构示意图。
在图9中以推荐***为新闻推荐***为例,并假设用于确定可用于向新用户推荐的对象的计算机设备为新闻推荐***中的服务器为例说明。
在图9中,新闻推荐***可以包括:计算机设备901、数据存储设备902以及至少一台新闻推荐服务器903。其中,计算机设备901、数据存储设备902以及至少一台新闻推荐服务器903可以通过网络实现数据通信。
在步骤S91部分中,计算机设备901可以从数据存储设备902中获取分析用的用户日志。
如,用户日志可以包括:用户展示日志以及用户点击日志。
其中,用于展示日志可以记录:在用户一次刷新行为后,推荐***为该用户获取到的多篇新闻的展示信息,如,推荐***基于一种或者多种推荐算法向用户推荐的适合该用户的多篇新闻文章的相关信息;展示时间;每篇新闻的标识、该用户的性别、用户的年龄。还可以记录有:每篇新闻的推送策略的标识、用户所在设备的IP地址等等。
用户点击日志可以记录用户的每次点击行为相关的信息,如,点击时间;点击的新闻的相关信息,如,新闻的标识、所属类别、安全等级等;还可以包括:推荐该新闻时使用的具体推荐策略等信息。
在该步骤S92部分中,计算机设备基于该用户日志,分别提取出各篇新闻在不同次展示的展示日志,其中,该展示日志中包括该新闻的标识、新闻的类别、新闻被展示给的用户的用户标识、该用户的用户性别和年龄等用户属性的属性值。
可以理解的是,数据存储设备也可以存储预先提取出的各篇新闻在不同次被展示所对应的展示日志,则计算机设备可以直接获取该展示日志。
相应的,计算机设备会针对每份展示日志中的新闻进行归类,从而得到多个多维属性组,每个多维属性组中包括多个新闻(具体为,多篇新闻的标识)。然后,通过前面对于多维属性组以及多维属性组中的新闻进行筛选,将筛选出的多维属性组存储到新闻池,新闻池可以认为是一个文件或者其他类型的存储容器。该新闻池可以在存储在计算机设备中的指定存储区。
在该步骤S93部分,计算机设备会将确定出的新闻池存储到数据存储设备中。
当然,计算机设备也可以直接将新闻池发送给各台新闻推荐存储服务器,如图9中虚线所示。
在该步骤S94部分中,用户可以通过用户终端904访问该新闻推荐***。
在该步骤S95部分中,新闻推荐***的新闻推荐服务器检测到该当前访问的用户属于新用户,且满足向新用户推荐对象的条件,则可以从数据存储设备中查询向新用户推荐新闻所依据的新闻池;
在该步骤S96部分中,新闻推荐服务器可以从该新闻池的各个多维属性组的对象中,选取需要推荐给该新用户的对象,并将选取出的对象推荐给该新用户。
另一方面,本申请还提供了一种推荐对象确定装置。如,参见图10,其示出了本申请的推荐对象确定装置的一种组成示意图,该装置可以应用于本申请的计算机设备,该装置可以包括:
数据获取单元1001,用于获取推荐***的多份展示日志,所述展示日志记录有:推荐***向用户展示的对象、所述对象的类别、所述用户的至少一个用户属性的属性值及所述对象的点击情况,所述点击情况至少表征对象是否被所述用户点击;
对象归类单元1002,用于对于每份展示日志中的每个对象,将该对象划归到至少一个多维属性组中,所述多维属性组表征该对象的类别及该展示日志中所述至少一个用户属性的属性值;
展示分析单元1003,用于针对每个多维属性组,从所述多份展示日志中,确定记录的对象被划归到该多维属性组的至少一份目标展示日志,并依据所述至少一份目标展示日志中对象的点击情况,分别统计所述多维属性组中每个对象的总展示量和点击率;
对象筛选单元1004,用于筛选出所述多维属性组中符合预设条件的对象,所述预设条件包括:对象的总展示量大于展示量阈值,且点击率符合预设要求;
对象存储单元1005,用于分别存储各个多维属性组中筛选出的对象,以将各个多维属性组中筛选出的对象确定为所述推荐***用于向新用户推荐的对象。
在一种可能的实现方式中,该对象筛选单元中的所述预设条件还包括:
对象的内容特征不具有设定的风险内容特征。
在一种可能的实现方式中,该对象归类单元可以包括:
属性组构建子单元,用于对于每份展示日志中的每个对象,根据该对象的类别以及该展示日志中所述至少一个用户属性的属性值,构建至少一个多维属性组,其中,所述多维属性组的维度由所述对象的类别及所述展示日志中所述至少一个用户属性组成,且对于多维属性组中任意一个表征所述用户属性的维度,该维度的取值范围包括所述展示日志中记录的该用户属性的属性值;
对象划归子单元,用于将该对象划归到所述属性组构建子单元针对该对象构建出的该至少一个多维属性组中,以使得构建出的每个多维属性组中均包括该对象。
可选的,该对象存储单元可以包括:
检测子单元,用于针对每个多维属性组,检测新用户对应的推荐对象存储区中是否具有所述多维属性组,所述新用户对象的推荐存储区用于存储适用于向新用户推荐的对象;
第一存储子单元,用于当所述推荐对象存储区具有所述多维属性组,将筛选后的所述多维属性组中的各个对象存储到所述推荐对象存储区中相应的多维属性组中;
第二存储子单元,用于当所述推荐对象存储区不具有所述多维属性组,则在所述推荐对象存储区存储所述多维属性组以及所述多维属性组中筛选出的对象。
在对象存储单元包括检测子单元、第一存储子单元和第二存储子单元的基础上,该装置还可以包括:时刻更新单元、更新监控单元和超时更新单元。如,参加图11,其示出了本申请一种推荐对象确定装置又一个实施例的组成示意图,本实施例的装置除了前面提到了数据获取单元1001,对象归类单元1002,展示分析单元1003,对象筛选单元1004和对象存储单元1005之外,至少还包括:
时刻更新单元1006,用于在所述第一存储子单元或第二存储子单元将多维属性组中筛选出的对象存储到所述推荐对象存储区的同时,针对每个多维属性组中筛选出的每个对象,将所述对象存储到所述推荐对象存储区的存储时刻记录为所述对象在所述推荐对象存储区中的所述多维属性组中的更新时刻;
更新监控单元1007,用于监控所述推荐对象存储区中各个多维属性组中各个对象的更新时刻;
超时更新单元1008,用于对于所述推荐对象存储区的每个多维属性组,当该多维属性组中存在更新时刻距离当前时刻的时长超过预设时长的目标对象时,将所述目标对象从所述推荐对象存储区中的该多维属性组中删除。
可选的,该装置还可以包括:
组删除单元1009,用于在对象存储单元分别存储各个多维属性组中筛选出的对象之前,删除不具有普适性的多维属性组,所述不具有普适性的多维属性组表征的对象的类别属于预设的不具有普适性的类别。
在一种可能的实现方式中,该装置还可以包括:
数据反馈单元,用于获取新用户对于存储的各个多维属性组中各个对象的行为数据,所述行为数据用于反映在所述推荐***基于存储的各个多维属性组中的对象向新用户推荐对象之后,新用户对于推荐的对象的点击情况和/或评论情况;
效果确定单元,用于针对存储的每个多维属性组,根据该多维属性组中各个对象的行为数据,分别确定该多维属性组中各个对象的推荐效果;
对象删除单元,用于删除所述多维属性组中推荐效果较差的多个对象。
进一步的,在装置的更新监控单元监控所述推荐对象存储区中各个多维属性组中对象的更新时刻的情况下,该装置还可以包括:
时刻修改单元,用于针对所述推荐对象存储区中的每个多维属性组,将所述多维属性组中所述推荐效果较好的多个对象的更新时刻修改为当前时刻。
另一方面,本申请还提供了一种计算机设备。如,参见图12,其示出了本申请一种计算机设备的一种组成结构示意图。
由图12可以看出,该计算机设备1200至少包括:处理器1201和存储器1202。
该处理器1201,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
其中,所述处理器1201用于执行所述存储器中存储的程序;
存储器1202中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令。
在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
获取推荐***的多份展示日志,所述展示日志记录有:推荐***向用户展示的对象、所述对象的类别、所述用户的至少一个用户属性的属性值及所述对象的点击情况,所述点击情况至少表征对象是否被所述用户点击;
对于每份展示日志中的每个对象,将该对象划归到至少一个多维属性组中,所述多维属性组表征该对象的类别及该展示日志中所述至少一个用户属性的属性值;
针对每个多维属性组,从所述多份展示日志中,确定记录的对象被划归到该多维属性组的至少一份目标展示日志,并依据所述至少一份目标展示日志中对象的点击情况,分别统计所述多维属性组中每个对象的总展示量和点击率;
筛选出所述多维属性组中符合预设条件的对象,所述预设条件包括:对象的总展示量大于展示量阈值,且点击率符合预设要求;
分别存储各个多维属性组中筛选出的对象,以将各个多维属性组中筛选出的对象确定为所述推荐***用于向新用户推荐的对象。
在一种可能的实现方式中,该存储器1202可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、以及至少一个应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据等。
该存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
可选的,该计算机设备还可以包括通信接口1203、输入单元1204和显示器1205和通信总线1206。
处理器1201、存储器1202、通信接口1203、输入单元1204、显示器1205、均通过通信总线1206完成相互间的通信。
当然,图12所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中计算机设备可以包括比图12所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现如上任意一个实施例中所描述的推荐对象确定方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。