发明内容
本公开主要是针对用户冷启动问题,提出的一种解决方案。
根据本公开的第一个方面,提供了一种不同领域的物品间的关系挖掘方法,包括:获取用户针对第一领域物品的第一行为信息、以及所述用户针对第二领域物品的第二行为信息;基于多个用户的所述第一行为信息和所述第二行为信息,确定所述第一领域物品与所述第二领域物品之间的相关度。
优选地,确定所述第一领域物品与所述第二领域物品之间的相关度的步骤可以包括:基于所述多个用户的第一行为信息,确定所述第一领域物品相对于所述多个用户的第一行为特征分布;基于所述多个用户的第二行为信息,确定所述第二领域物品相对于所述多个用户的第二行为特征分布;根据所述第一行为特征分布和所述第二行为特征分布的相似程度,确定所述第一领域物品与所述第二领域物品之间的相关度。
优选地,所述第一行为特征分布和/或所述第二行为特征分布可以包括以下一项或多项:用户对物品是否执行了行为;用户对物品的行为次数;用户对物品的偏好度。
优选地,第一行为信息和/或第二行为信息包括:用户对物品是否执行了行为;和/或基于用户对物品执行的行为而产生的行为数据。
优选地,行为数据可以包括以下一项或多项:行为类型;行为次数;行为时长。
优选地,第一行为特征分布包括所述多个用户中每个用户对所述第一领域物品的第一偏好度,所述第二行为特征分布包括所述多个用户中每个用户对所述第二领域物品的第二偏好度,所述确定第一领域物品与所述第二领域物品之间的相关度的步骤包括:建立所述多个用户分别针对所述第一领域物品的第一偏好度向量和所述第二领域物品的第二偏好度向量;通过计算所述第一偏好度向量和所述第二偏好度向量之间的相似度,确定所述第一领域物品与所述第二领域物品之间的相关度。
优选地,用户对物品的偏好度等于用户针对物品的至少部分行为类型中每个行为类型对应的子偏好度的总和,其中,所述子偏好度分别与行为次数和行为权重正相关。
优选地,可以使用如下公式确定用户针对物品的偏好度r,
其中,T为用户针对物品的行为类型集合,t为行为类型,qt为行为类型t下的行为次数,Wt为行为类型t对应的行为权重。
优选地,该关系挖掘方法还可以包括:分别对第一偏好度向量和第二偏好度向量进行归一化处理。
根据本公开的第二个方面,还提供了一种不同领域的物品间的关系挖掘方法,包括:对于多个用户中的每个用户,分别获取所述用户针对一个或多个第一领域物品的第一行为数据、以及所述用户针对一个或多个第二领域物品的第二行为数据;基于所述多个用户的第一行为数据和所述第二行为数据,确定至少部分第一领域物品中的每一个与至少部分第二领域物品中的每一个之间的相关度。
根据本公开的第三个方面,还提供了一种物品推荐方法,包括:获取用户在第一领域内的第一行为数据,所述第一行为数据涉及一个或多个第一领域物品;基于所述一个或多个第一领域物品中的至少一个分别与至少一个第二领域物品中的每一个之间的相关度,从所述至少一个第二领域物品中选取第二领域物品;以及向所述用户推荐所选取的第二领域物品。
优选地,第一领域物品与第二领域物品之间的相关度可以是利用本公开第一个方面或第二个方面述及的关系挖掘方法得到的。
优选地,从所述至少一个第二领域物品中选取第二领域物品的步骤可以包括:计算每个第二领域物品的推荐度;按照推荐度由大到小的顺序,选取排名靠前的预定数量的第二领域物品。
优选地,所述第二领域物品的推荐度分别与所述至少一个中的每一个第一领域物品与所述第二领域物品的相关度正相关。
优选地,所述第二领域物品的推荐度等于所述第二领域物品对所述至少一个中的每一个第一领域物品的子推荐度的总和,所述子推荐度分别与所述第一领域物品与所述第二领域物品的相关度以及所述用户对所述第一领域物品的偏好度正相关。
优选地,可以使用如下公式计算第二领域物品的推荐度,
其中,recuj表示用户u对第二领域物品j的推荐度,I为用户在第一领域内的第一行为数据所涉及的第一领域物品的集合,i为第一领域物品,sim(i,j)表示第一领域物品i和第二领域物品j之间的相关度,rui表示用户u对第一领域物品i的偏好度。
优选地,用户对所述第一领域物品的偏好度等于用户针对所述第一领域物品的至少部分行为类型中每个行为类型对应的子偏好度的总和,其中,所述子偏好度分别与行为次数和行为权重正相关。
优选地,第一行为数据包括用户对第一领域物品执行的行为的以下一项或多项信息:行为类型;行为次数;行为时长。
根据本公开的第四个方面,还提供了一种不同领域的物品间的关系挖掘装置,包括:行为信息获取模块,用于获取用户针对第一领域物品的第一行为信息、以及所述用户针对第二领域物品的第二行为信息;相关度确定模块,用于基于多个用户的所述第一行为信息和所述第二行为信息,确定所述第一领域物品与所述第二领域物品之间的相关度。
优选地,所述相关度确定模块可以包括:第一行为特征分布确定单元,用于基于所述多个用户的第一行为信息,确定所述第一领域物品相对于所述多个用户的第一行为特征分布;第二行为特征分布确定单元,用于基于所述多个用户中的第二行为信息,确定所述第二领域物品相对于所述多个用户的第二行为特征分布;相关度确定单元,用于根据所述第一行为特征分布和所述第二行为特征分布的相似程度,确定所述第一领域物品与所述第二领域物品之间的相关度。
优选地,第一行为特征分布和/或所述第二行为特征分布可以包括以下一项或多项:用户对物品是否执行了行为;用户对物品的行为次数;用户对物品的偏好度。
优选地,第一行为信息和/或第二行为信息包括:用户对物品是否执行了行为;和/或基于用户对物品执行的行为而产生的行为数据。
优选地,行为数据可以包括以下一项或多项:行为类型;行为次数;行为时长。
优选地,第一行为特征分布包括所述多个用户中每个用户对所述第一领域物品的第一偏好度,所述第二行为特征分布包括所述多个用户中每个用户对所述第二领域物品的第二偏好度,所述相关度确定单元包括:向量建立单元,用于建立所述多个用户分别针对所述第一领域物品的第一偏好度向量和所述第二领域物品的第二偏好度向量;以及相关度计算单元,用于通过计算第一偏好度向量和第二偏好度向量之间的相似度,确定第一领域物品与第二领域物品之间的相关度。
优选地,用户对物品的偏好度等于用户针对物品的至少部分行为类型中每个行为类型对应的子偏好度的总和,其中,所述子偏好度分别与行为次数和行为权重正相关。
优选地,第一行为特征分布确定单元和/或所述第二行为特征分布确定单元可以使用如下公式确定用户针对物品的偏好度r,
其中,T为用户针对物品的行为类型集合,t为行为类型,qt为行为类型t下的行为次数,Wt为行为类型t对应的行为权重。
优选地,该关系挖掘装置还可以包括:归一化处理模块,用于分别对第一偏好度向量和第二偏好度向量进行归一化处理。
根据本公开的第五个方面,还提供了一种不同领域的物品间的关系挖掘装置,包括:行为数据获取模块,用于对于多个用户中的每个用户,分别获取所述用户针对一个或多个第一领域物品的第一行为数据、以及所述用户针对一个或多个第二领域物品的第二行为数据;相关度确定模块,用于基于所述多个用户的第一行为数据和所述第二行为数据,确定至少部分第一领域物品中的每一个与至少部分第二领域物品中的每一个之间的相关度。
根据本公开的第六个方面,还提供了一种物品推荐装置,包括:第一行为数据获取模块,用于获取用户在第一领域内的第一行为数据,所述第一行为数据涉及一个或多个第一领域物品;物品选取模块,用于基于所述一个或多个第一领域物品中的至少一个分别与至少一个第二领域物品中的每一个之间的相关度,从所述至少一个第二领域物品中选取第二领域物品;以及物品推荐模块,用于向所述用户推荐所选取的第二领域物品。
优选地,第一领域物品与第二领域物品之间的相关度可以是利用本公开第一个方面或第二个方面述及的关系挖掘方法得到的。
优选地,物品选取模块可以包括:推荐度计算单元,用于计算每个第二领域物品的推荐度;物品选取单元,用于按照推荐度由大到小的顺序,选取排名靠前的预定数量的第二领域物品。
优选地,所述第二领域物品的推荐度分别与所述至少一个中的每一个第一领域物品与所述第二领域物品的相关度正相关。
优选地,每个所述第二领域物品的推荐度等于所述第二领域物品对所述至少一个中的每一个第一领域物品的子推荐度的总和,所述子推荐度分别与所述第一领域物品与所述第二领域物品的相关度以及所述用户对所述第一领域物品的偏好度正相关。
优选地,推荐度计算单元可以使用如下公式计算第二领域物品的推荐度,
其中,recuj表示用户u对第二领域物品j的推荐度,I为用户在第一领域内的第一行为数据所涉及的第一领域物品的集合,i为第一领域物品,sim(i,j)表示第一领域物品i和第二领域物品j之间的相关度,rui表示用户u对第一领域物品i的偏好度。
根据本公开的第七个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行本公开的第一个方面或第二个方面述及的方法。
根据本公开的第八个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行本公开的第一个方面或第二个方面述及的方法。
利用本公开的不同领域的物品间的关系挖掘方案可以确定跨领域物品间的相关度。在用户在目标领域内没有行为数据时,可以基于跨领域物品间的相关度,将用户在其他领域内已知的行为数据涉及的物品映射到目标领域内与其相似的物品上,从而可以解决用户冷启动问题,提升用户体验。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
【概述】
本公开主要是针对信息推荐过程中涉及的用户冷启动问题,提出的一种解决方案。本公开的核心思想是,以用户作为关联纽带,通过收集多个用户在不同领域内针对不同领域物品的行为数据,预先建立不同领域物品间的关联关系(即下文述及的相关度)。
对于在目标领域没有行为数据的用户,在为其推荐目标领域内的物品时,可以基于预先建立的不同领域物品间的关联关系以及用户在其他领域内针对其他领域物品的行为数据,从目标领域内选取与用户在其他领域内浏览的其他领域物品的关联性较高的目标领域物品推荐给用户。由此,可以解决用户冷启动问题。
本公开述及的物品主要是指在互联网中展示的物品,其可以是新闻、图片、视频、音乐等虚拟物品,也可以是实体物品。例如,以涉及的领域为购物平台为例,该领域内的物品可以是在购物平台上展示的待出售的虚拟物品或实体物体,如可以是游戏币、游戏道具礼包等虚拟物品,也可以是商家出售的服装、数码产品等实体物品。
本公开述及的领域则可以有多种划分方式。
作为本公开的一个示例,可以将不同的应用视为不同的领域,也可以将同一应用中的不同模块视为不同的领域。以新闻资讯应用(如今日头条)为例,可以将应用中的不同频道视为不同的领域,如可以将今日头条中的视频频道、社会频道、娱乐频道、财经频道、时尚频道视为不同的领域。以购物平台(如京东商城)为例,可以将商城下的电脑整机、办公耗材、电气设备、手机数码、超市百货等商品分类视为不同的领域。
作为本公开的另一个示例,还可以根据物品的属性划分不同的领域,例如可以根据物品的格式划分为音乐、视频、图片、小说等多种领域。并且针对划分好的领域,还可以对其做进一步划分。例如,针对视频领域,还可以根据视频携带的标签,进一步划分为言情剧、抗日剧、古装剧等多个领域。
作为本公开的再一个示例,还可以将不同类型的应用视为不同领域。如可以将社交通讯类应用(如微信、QQ)与新闻阅读类应用(如今日头条、内涵端子、凤凰新闻等)视为不同领域。
另外还可以有其它多种领域划分方式,此处不再赘述。
下面对本公开的技术方案所涉及的各个方面分别进行描述。
【跨领域物品间关系的建立】
图1是示出了根据本公开一实施例的不同领域的物品间关系的挖掘方法的示意性流程图。
参见图1,在步骤S110,获取用户针对第一领域物品的第一行为信息、以及该用户针对第二领域物品的第二行为信息。
第一行为信息和/或第二行为信息可以包括表示用户对物品是否执行了行为的信息,并且在用户对物品执行了行为的情况下,第一行为信息和/或第二行为信息还可以包括基于用户对物品执行的行为而产生的行为数据。
例如,在行为信息(第一行为信息和/或第二行为信息)为空信息的情况下,可以表示用户对物品没有执行行为,行为信息不为空的情况下,可以表示用户度物品执行了行为。再例如,行为信息还可以包括用于表示用户对物品是否执行了行为的信息,如标识信息,标识信息可以是“1”和“0”,“1”表示用户对物品执行了行为,“0”表示用户对物品没有执行行为。
行为数据可以包括用户对物品执行行为产生的数据,也可以包括对用户执行的行为进行统计得到的数据。例如,行为数据可以包括但不限于用户针对物品执行的点击、播放、评价等多种行为类型、每种行为类型的行为次数以及行为时长等。
在步骤S120,基于多个用户的第一行为信息和第二行为信息,确定第一领域物品与第二领域物品之间的相关度。
本公开可以以用户为关联纽带,通过分析多个用户中每个用户的第一行为信息和第二行为信息,分别确定第一领域物品相对于这多个用户的第一行为特征分布和第二领域物品相对于这多个用户的第二行为特征分布。
第一行为特征分布可以表征多个用户中分别对第一领域物品的行为特征,第二行为特征分布可以表征多个用户分别对第二领域物品的行为特征。作为示例,行为特征可以是用户对物品是否执行了行为,也可以是用户对物品的行为次数,还可以是通过计算得到的用户对物品的偏好度等等。其中,用户对物品是否执行了行为、行为次数均可以从行为信息中获取,偏好度的计算方式将在下文进行说明,此处暂不赘述。
针对特定的第一领域物品A和第二领域物品B,可以根据A的第一行为特征分布和B的第二行为特征分布之间的相似程度,确定A与B的相关度。其确定原理为,如果多个用户对A的第一行为特征分布和对B的第二行为特征分布相似,则可以认为A与B强相关,反之弱相关。
|
视频1 |
视频2 |
视频3 |
视频4 |
音乐1 |
音乐2 |
音乐3 |
用户1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
用户2 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
用户3 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
用户4 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
用户5 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
表一
以表一为例,第一领域可以为视频,第二领域可以为音乐,第一领域物品为具体的视频,如视频1-视频4,第二领域物品为具体的音乐,如音乐1-音乐3。表中示出的用户在相应物品下的数字1表示用户对相应的物品(视频或音乐)执行了行为,具有行为数据(如点击、播放、收藏等),表中示出的用户在相应物品下的数字0表示用户对相应的物品(视频或音乐)没有执行行为,没有行为数据。
如表一所示,用户4针对视频2执行了行为,用户1、用户3以及用户5均对音乐2执行了行为。因此,视频2的第一行为特征分布可以表示为{0,0,0,1,0},音乐2的第二行为特征分布可以表示为{1,0,1,0,1}。由于视频2和音乐2没有共同的使用用户,因此可以认为视频2和音乐2弱相关,即视频2和音乐2之间的相关度可以认为是零。
【相关度的计算】
作为本公开的一个示例,第一行为特征分布可以表征这多个用户分别对第一领域物品的偏好度的分布情况。第二行为特征分布可以表征这多个用户分别对第二领域物品的偏好度的分布情况。即,第一行为特征分布可以包括这多个用户中每个用户对第一领域物品的第一偏好度,第二行为特征分布可以包括多个用户中每个用户对第二领域物品的第二偏好度。
如此针对特定的第一领域物品A和第二领域物品B,可以通过计算这多个用户分别对A的偏好度的分布情况和对B的偏好度的分布情况之间的相似度,确定A和B之间的相关度。相关度的计算过程如下。
步骤1、偏好度计算
如上文所述,在用户对物品执行了行为的情况下,行为信息还可以包括基于用户对物品执行的行为而产生的行为数据,为了便于区分,第一行为信息包括的行为数据可以称为“第一行为数据”,第二行为信息包括的行为数据可以称为“第二行为数据”。其中,在用户没有对物品执行了行为的情况下,行为信息不包括行为数据,或者说包括的行为数据为空值。
可以根据多个用户中每个用户的第一行为数据和第二行为数据,计算每个用户对第一领域内的第一领域物品的第一偏好度,以及对第二领域内的第二领域物品的第二偏好度。
如上文所述,用户针对物品的行为数据可以包括点击、播放、评价等多种行为类型,并且不同的行为类型的执行次数也不尽相同。因此,可以认为用户对物品的总的偏好度等于用户针对物品的至少部分行为类型中每个行为类型对应的子偏好度的总和。其中,子偏好度可以分别与行为次数和行为权重正相关。
例如可以使用如下公式计算用户针对物品的偏好度r,
其中,T为用户针对物品的至少部分(优选地是全部)行为类型,t为不同的行为类型,qt为行为类型t下的行为次数,Wt为行为类型t对应的行为权重。行为类型、行为次数可以从行为数据中获取,不同行为类型对应的权重可以通过赋值的方式预先确定,也可以通过其它方式确定,例如可以根据行为类型的行为时长确定其权重。
步骤2、向量的建立
可以建立所述多个用户分别针对第一领域物品的第一偏好度向量和第二领域物品的第二偏好度向量。偏好度向量中的元素的个数与用户的个数一致,元素的值为用户针对相应物品的偏好度。
步骤3、计算向量间的相似度
可以采取多种计算方式计算第一偏好度向量和第二偏好度向量之间的相似度。计算得到的相似度可以作为相应的第一领域物品和第二领域物品之间的相关度。
例如可以通过余弦相似度、Jaccard相似度、皮尔逊相关系数、欧几里德距离、曼哈顿距离、马氏距离等多种向量相似度计算方式进行计算。
需要说明的是,由于不同领域计算得到的物品的偏好度的量纲可能不同,为了避免量纲不同造成的差异,可以分别对步骤1中计算得到的第一偏好度向量和第二偏好度向量进行归一化处理,使用归一化处理后的偏好度向量参与相关度的计算。其中,常见的归一化方法有min-max标准化、log函数转化、z-score标准化等,归一化处理的过程此处不再赘述。
计算示例
|
视频1 |
视频2 |
视频3 |
视频4 |
音乐1 |
音乐2 |
音乐3 |
用户1 |
2 |
0 |
0 |
2 |
4 |
5 |
0 |
用户2 |
5 |
0 |
4 |
0 |
0 |
0 |
1 |
用户3 |
0 |
0 |
5 |
0 |
0 |
2 |
0 |
用户4 |
0 |
1 |
0 |
3 |
5 |
0 |
4 |
用户5 |
0 |
0 |
0 |
0 |
4 |
2 |
0 |
表二
表二中物品与用户对应的数字表示了用户对物品的偏好度。根据表二的偏好度计算结果可以得出,视频1的偏好度向量为{2,5,0,0,0},视频2的偏好度向量为{0,0,0,1,0},视频3的偏好度向量为{0,4,5,0,0},视频4的偏好度向量为{2,0,0,3,0},音乐1的偏好度向量为{4,0,0,5,4},音乐2的偏好度向量为{5,0,2,0,2},音乐3的偏好度向量为{0,1,0,4,0}。
可以利用余弦相似度计算方式计算不同领域下的物品间的相关度,计算结果如下表三所示,具体计算过程不再展开描述。
|
视频1 |
视频2 |
视频3 |
视频4 |
音乐1 |
0.20 |
0.66 |
0.00 |
0.84 |
音乐2 |
0.32 |
0.00 |
0.27 |
0.48 |
音乐3 |
0.22 |
0.97 |
0.15 |
0.81 |
表三
至此以第一领域和第二领域为例,描述了跨领域物品间的相关度的确定过程。需要说明是,利用本公开的关系挖掘方案,可以针对多个不同的领域中的任意两个领域,挖掘这两个领域的物品间的相关度。
另外,还可以通过其它方式确定不同领域的物品间的相关度。例如,针对不同领域的物品,可以抽取在多种维度下能够表征其属性的标签或关键词,如可以采取主题模型的方式,根据物品的元素属性信息,将其映射到一个标签上。也可以采取seq2vec的方式,根据物品的元素属性信息,将其映射到一个向量中。如此可以通过计算不同物品的标签或向量的相似程度,确定不同领域的物品间的相关度。
作为本公开的一个示例,可以抽取不同领域的物品的关键词,通过分析不同领域的物品间的关键词的相似程度,确定不同领域的物品间的相关度。具体来说,针对第一领域内的第一领域物品,可以抽取第一领域物品的一个或多个关键词,生成第一关键词向量。针对第二领域内的第二领域物品,可以抽取第二领域物品的一个或多个关键词,生成第二关键词向量。通过可以利用余弦相似度计算方式计算第一关键词向量和第二关键词向量之间的相似程度,如此也可以确定第一领域物品和第二领域物品之间的相关度。
基于本公开的构思,还可以通过多种其它方式确定跨领域物品间的相关度,此处不再赘述。
作为本公开的一个示例,可以针对多个用户中的每个用户,分别获取用户针对一个或多个第一领域物品的第一行为数据、以及用户针对一个或多个第二领域物品的第二行为数据。
其中,此处述及的多个用户优选地是在第一领域内和第二领域内均具有行为数据的用户。第一领域不同于第二领域。根据上文对领域的划分方式的描述可知,第一领域和第二领域可以是指不同应用,也可以是同一应用中的不同模块,还可以是不同类型的应用,或者根据属性划分的不同领域,如音乐、视频、图片等等。
可以通过客户端日志采集***收集第一行为数据和第二行为数据。并且在通过客户端日志收集行为数据时,还可以对客户端日志进行清洗,滤除其中用户异常、用户操作异常、服务器异常等导致的无效日志。此处述及的第一行为数据、第二行为数据是指用户在相应领域内的总的行为数据,其可能涉及一个或多个物品。
基于所述多个用户的第一行为数据和第二行为数据,可以利用上文结合图1描述的关系挖掘方法,确定至少部分第一领域物品中的每一个与至少部分第二领域物品中的每一个之间的相关度。其中相关度的具体确定过程此处不再赘述。
【跨领域物品推荐】
图2是示出了根据本公开一实施例的物品推荐方法的示意性流程图。
参见图2,在步骤S210,获取用户在第一领域内的第一行为数据,第一行为数据涉及一个或多个第一领域物品。
在步骤S220,基于所述一个或多个第一领域物品中的至少一个分别与至少一个第二领域物品中的每一个之间的相关度,从至少一个第二领域物品中选取第二领域物品。
本实施例中的用户是指在第二领域内缺少行为数据的用户,即用户可以视为是第二领域内的新用户。在为用户推荐第二领域内的第二领域物品时,面临用户冷启动问题。而用户在第一领域内则不存在用户冷启动问题。
与上文在不同领域的物品间的关系挖掘方案中描述到的第一领域不同,本实施例中第一领域可以泛指不同于第二领域的其它一个或多个用户具有行为数据的已知领域。
也就是说,在为用户推荐第二领域内的第二领域物品时,可以基于用户在行为数据已知的一个或多个其它领域内的行为数据所涉及的部分或所有物品,从第二领域内选取与用户在其它领域内涉及的部分或所有物品的相关度较高的第二领域物品作为适宜向用户推荐的物品。
其中,第一领域物品和第二领域物品之间的相关度可以是预先确定的,例如可以是使用上文述及的不同领域的物品间关系的挖掘方法得到的。
在步骤S230,向用户推荐所选取的第二领域物品。
由此,在为用户进行某个未知领域内的内容(物品)推荐时,可以利用用户在其他内容领域的已知行为数据,通过跨领域寻找相似物品,将用户在其他内容领域的兴趣映射到未知领域中,从而可以解决未知领域内的用户冷启动问题,提升用户体验。
作为本公开的一个示例,在选取第二领域物品时,可以通过计算所述至少一个第二领域物品中每一个第二领域物品的推荐度,按照推荐度由大到小的顺序,选取排名靠前的预定数量的第二领域物品。
其中,第二领域物品的推荐度可以分别与用户的第一行为数据涉及的物品集中至少部分(优选地是全部)第一领域物品中的每一个与第二领域物品的相关度正相关。
例如,第二领域物品的推荐度可以等于第二领域物品对用户的第一行为数据涉及的各个第一领域物品的子推荐度的总和。其中,子推荐度分别与第一领域物品与第二领域物品的相关度以及用户对第一领域物品的偏好度正相关。
具体可以使用如下公式计算第二领域物品的推荐度,
其中,recuj表示用户u对第二领域物品j的推荐度,I为用户在第一领域内的第一行为数据所涉及的第一领域物品的集合,i为第一领域物品,sim(i,j)表示第一领域物品i和第二领域物品j之间的相关度,rui表示用户u对第一领域物品i的偏好度。其中,偏好度可以视为第一领域物品i和第二领域物品j之间的相关度sim(i,j)的权重,关于偏好度的计算方式可以参见上文相关说明,此处不再赘述。
具体应用例
本公开可以用于解决存在用户冷启动问题的手机、平板、电脑、电视、智能音箱、智能手表等多种电子设备中的视频、音乐、新闻、应用、游戏、主题等应用推荐中。
图3是示出了本公开的跨领域物品间关系挖掘方案以及用户冷启动方案的整体实现流程图。图3所示的实现步骤如下。
步骤1、收集用户产生的行为日志
可以通过客户端日志采集***,收集用户在各种终端上的不同领域中的针对物品的点击、播放、评价等行为数据。
步骤2、日志清洗、计算偏好数据
首先对原始日志进行清洗,过滤掉异常用户、误操作、服务器异常等导致的无效日志。然后通过对行为数据分析,可以得到用户对物品的偏好度。其中,关于偏好度的计算方式,此处不再赘述。
步骤3、根据偏好数据计算跨域物品间的关系数据。
根据步骤2得到的偏好数据,可以得出不同领域的物品在多个用户(User,即图中示出的User1至User5)下的偏好度向量。如图3所示,Video1的偏好度向量为{2,5,0,0,0},Video2的偏好度向量为{0,0,0,1,0},Video3的偏好度向量为{0,4,5,0,0},Video4的偏好度向量为{2,0,0,3,0},Music1的偏好度向量为{4,0,0,5,4},Music2的偏好度向量为{5,0,2,0,2},Music3的偏好度向量为{0,1,0,4,0}。
可以利用Cosine相似度计算方式计算不同领域的物品对应的偏好度向量之间的相似度,以作为不同领域物品间的相关度,从而可以得到不同领域物品间的关系数据。
步骤4、计算物品的推荐度
User5在视频领域(Video)中没有行为数据,因此User5可以视为视频领域中的新用户,在为User5推荐视频时,面临冷启动问题。
可以根据User5在音乐领域中的行为数据,以及预先确定的视频领域和音乐领域中的跨领域物品间的关系数据,针对User5计算不同Video的推荐度。
具体地,可以使用如下公式计算User5对不同Video的推荐度。
此处,recuj表示User5对视频j的推荐度,I为User5在音乐领域中的行为数据涉及的音乐的集合,为{Music1,Music2}。sim(i,j)表示视频j和音乐i之间的相关度,rui表示User5对音乐i的偏好度。
如图3所示,计算Video1的推荐值(即推荐度)的展开公式为,(similarity_mlv1)·(value_m1)+(similarity_m2v1)·(value_m2)+(similarity_m3v1)·(value_m3),其中,similarity_mlv1表示Music1和Video1之间的相关度,value_m1表示User5对Music1的偏好度。imilarity_m2v1表示Music2和Video1之间的相关度,value_m2表示User5对Music2的偏好度。imilarity_m3v1表示Music3和Video1之间的相关度,value_m3表示User5对Music3的偏好度。
利用上述计算方式最终计算得到的User5对不同Video的推荐度为,User5对Video1的推荐度为1.4,User5对Video2的推荐度为2.4,User5对Video3的推荐度为05,User5对Video4的推荐度为4.2。
步骤5、根据推荐度排名,选取物品进行推荐
如图3所示,可以按照物品的推荐度由大到小的顺序进行排列,排名靠前的物品可以作为推荐列表展示给用户。例如可以将排名靠前的Video4、Video2推荐给User5。
由此,对于在目标领域缺少用户行为数据的新用户,原本只能看到非个性化的信息,利用本公开则可以看到个性化的信息推荐结果。如图4A、图4B所示,用户虽然没有使用过视频中心,但根据用户看过小说《三生三世十里桃花》,则在用户打开视频应用“猜你喜欢”模块后,可以看到推荐的电视剧《三生三世十里桃花》。
综上,本公开可以使用其他领域的数据来补足目标领域用户行为数据不足问题,解决用户在推荐***中的冷启动问题,提升用户在推荐***中的体验。
至此,上文中已经参考图1至图3详细描述了本公开的不同领域的物品间的关系挖掘方法和物品推荐方法。下面参考图5至图8描述本公开的不同领域的物品间的关系挖掘装置、物品推荐装置及计算设备。
【关系挖掘装置】
图5是示出了本公开的不同领域的物品间的关系挖掘装置的结构的示意性框图。其中,有关内容的细节与上文中参考图1的描述相同,在此不再赘述。
参见图5,关系挖掘装置300可以包括行为信息获取模块310和相关度确定模块320。
行为信息获取模块310可以用于获取用户针对第一领域物品的第一行为信息、以及所述用户针对第二领域物品的第二行为信息;
相关度确定模块可以基于多个用户的第一行为信息和第二行为信息,确定第一领域物品与第二领域物品之间的相关度。
如图5所示,相关度确定模块320可以可选地包括图中虚线框所示的第一行为特征分布确定单元321、第二行为特征分布确定单元323和相关度确定单元325。
第一行为特征分布确定单元321可以基于多个用户的第一行为信息,确定第一领域物品相对于多个用户的第一行为特征分布。
第二行为特征分布确定单元323可以基于多个用户的第二行为信息,确定第二领域物品相对于多个用户的第二行为特征分布。
相关度确定单元325可以根据第一领域物品的第一行为特征分布和第二领域物品的第二行为特征分布的相似程度,确定第一领域物品和第二领域物品之间的相关度。
第一行为特征分布和/或第二行为特征分布可以包括以下一项或多项:用户对物品是否执行了行为、用户对物品的行为次数、用户对物品的偏好度。
作为示例,第一行为特征分布可以包括多个用户中每个用户对第一领域物品的第一偏好度,第二行为特征分布可以包括多个用户中每个用户对第二领域物品的第二偏好度。
用户对物品的偏好度可以等于用户针对物品的部分或所有行为类型中每个行为类型对应的子偏好度的总和,其中,子偏好度分别与行为次数和行为权重正相关。例如,第一行为特征分布确定单元321和/或第二行为特征分布确定单元323可以使用如下公式计算用户针对物品的偏好度r,
其中,T为用户针对物品的所有行为类型,t为不同的行为类型,qt为行为类型t下的行为次数,Wt为行为类型t对应的行为权重。
相关度确定单元325可以包括向量建立单元3251和相关度计算单元3253。
向量建立单元3251用于建立多个用户分别针对第一领域物品的第一偏好度向量和第二领域物品的第二偏好度向量。
相关度计算单元3253可以通过计算第一偏好度向量和第二偏好度向量之间的相似度,确定第一领域物品和第二领域物品之间的相关度。
如图5所示,关系挖掘装置300还可以可选地包括图中虚线框所示的归一化处理模块330。归一化处理模块330可以分别对第一偏好度向量和第二偏好度向量进行归一化处理,相关度计算单元3253可以计算归一化处理后的第一偏好度向量和第二偏好度向量之间的相似度,作为第一领域物品和第二领域物品间的相关度。
图6示出了本公开的不同领域的物品间的关系挖掘装置的结构的示意性框图。其中,有关内容的细节与上文中参考图1的描述相同,在此不再赘述。
参见图6,关系挖掘装置600可以包括行为数据获取模块610和相关度确定模块620。
行为数据获取模块610用于对于多个用户中每个用户,分别获取用户在第一领域内针对一个或多个第一领域物品的第一行为数据、以及用户在第二领域内针对一个或多个第二领域物品的第二行为数据。
第一行为数据和第二行为数据可以包括以下一项或多项:行为类型、行为次数、行为时长。
相关度确定模块620用于基于多个用户的第一行为数据和第二行为数据,确定至少部分第一领域物品中的每一个与至少部分第二领域物品中的每一个之间的相关度。其中,确定第一领域物品与第二领域物品间的相关度的具体确定方式可以参见上文相关说明,此处不再赘述。
【物品推荐装置】
图7是示出了本公开的物品推荐装置的结构的示意性框图。其中,有关内容的细节与上文中参考图2的描述相同,在此不再赘述。
参见图7,物品推荐装置400可以包括第一行为数据获取模块410、物品选取模块420以及物品推荐模块430。
第一行为数据获取模块410可以获取用户在第一领域内的第一行为数据,第一行为数据涉及一个或多个第一领域物品。
物品选取模块420可以基于所述一个或多个第一领域物品中的至少一个分别与至少一个第二领域物品中的每一个之间的相关度,从所述至少一个第二领域物品中选取第二领域物品。其中,第一领域物品与第二领域物品之间的相关度可以是利用上文述及的关系挖掘方法得到的。
物品推荐模块430可以用于向用户推荐所选取的第二领域物品。
如图7所示,物品选取模块420还可以可选地包括图中虚线框所示的推荐度计算单元421和物品选取单元423。
推荐度计算单元421可以用于每个第二领域物品的推荐度。物品选取单元423可以按照推荐度由大到小的顺序,选取排名靠前的预定数量的第二领域物品。
其中,每个第二领域物品的推荐度可以与用户的第一行为数据涉及的各个第一领域物品与第二领域物品的相关度正相关。
作为示例,第二领域物品的推荐度等于第二领域物品对所述至少一个中的每一个第一领域物品的子推荐度的总和,子推荐度分别与第一领域物品与第二领域物品的相关度以及用户对第一领域物品的偏好度正相关。
例如,推荐度计算单元421可以使用如下公式计算第二领域物品的推荐度,
其中,recuj表示用户u对第二领域物品j的推荐度,I为用户在第一领域内的第一行为数据所涉及的第一领域物品的集合,i为第一领域物品,sim(i,j)表示第一领域物品i和第二领域物品j之间的相关度,rui表示用户u对第一领域物品i的偏好度。
【计算设备】
根据本公开还提供了一种可以用于执行本公开的角色识别模型训练方法和信息推荐方法的计算设备。
图8是可以用于执行本公开的不同领域的物品间的关系挖掘方法和物品推荐方法的计算设备的示意性框图。
如图8所示,该计算设备500可以包括处理器510和存储器530。存储器530上存储有可执行代码。当处理器510执行该可执行代码时,使得处理器510执行上面描述的关系挖掘方法和物品推荐方法。
上文中已经参考附图详细描述了根据本发明的物品间关系挖掘及推荐方法、装置、计算设备。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。