计算直播间相似度的方法、存储介质、设备及系统与流程

文档序号:14993711发布日期:2018-07-20 23:06阅读:613来源:国知局

本发明涉及大数据推荐领域,具体涉及一种计算直播间相似度的方法、存储介质、设备及系统。



背景技术:

在大数据的应用领域中,一个重要的方向是根据海量数据对用户进行个性化推荐。在直播平台中,常用的推荐策略是推荐用户看过房间相似的房间,因此需要对直播间的相似度进行度量。此外,在一些基于物品的协同过滤推荐算法中,也需要计算直播间两两之间的相似度。

通常计算物品相似度的算法有以下两种,这些算法被广泛使用,但在直播房间推荐中都存在一些问题。

(1)余弦距离:该算法将每个用户对房间的观看行为作为向量的一个维度,房间之间的相似度采用余弦公式计算,该方法的缺点在于在用户的推荐集中都会出现头部热门主播;抗噪声的能力不强,经常会出现一些错误的度量。

(2)杰卡德系数:该算法是基于集合进行计算的,房间之间的相似度等于同时观看两个房间的用户数除以至少观看了其中一个房间的用户数。该方法的缺点在于仅仅考虑了两个房间的观看用户,未考虑这些用户对其他房间的观看情况,利用的只是部分信息,相似性度量相对而言比较片面。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种能有效地降低热门直播间在相似度计算中带来的负面影响,且相似性度量较为全面的计算直播间相似度的方法。

为达到以上目的,本发明采取的技术方案是:

一种计算直播间相似度的方法,该方法包括以下步骤:

设定时间周期,并在时间周期内将所有直播间分为热门直播间和非热门直播间;

判断用户观看热门直播间和非热门直播间时是否为有效观看行为,确定每个用户有效观看的直播间的数量;

从所有直播间中任意选取第一直播间和第二直播间,统计有效观看了第一直播间的第一用户集合以及有效观看了第二直播间的第二用户集合;

确定同时有效观看了第一直播间和第二直播间的第三用户集合,获取第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔;以及

根据获取的第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量,以及获取的第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,计算第一直播间和第二直播间的相似度。

在上述技术方案的基础上,

统计有效观看了第一直播间的第一用户集合ui和有效观看了第二直播间的第二用户集合uj;

确定同时有效观看了第一直播间和第二直播间的第三用户集合ui∩uj;

获取第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量qu;

获取第三用户集合中的每个用户最后一次观看第一直播间的时间tui与最后一次观看第二直播间的时间tuj的间隔tui-tuj;

根据公式计算第一直播间和第二直播间的相似度,其中,sim(i,j)是直播间i和直播间j的相似度,δ是大于0的权重系数,

在上述技术方案的基础上,在时间周期内统计每个直播间的观看人数,将观看人数最多的若干个直播间作为热门直播间,其余的直播间作为非热门直播间。

在上述技术方案的基础上,判断用户在时间周期内观看热门直播间的次数是否达到预设次数,若是,则是有效观看行为,若否,则不是有效观看行为;以及

判断用户在时间周期内是否观看过非热门直播间,若是,则是有效观看行为,若否,则不是有效观看行为。

在上述技术方案的基础上,所述时间周期为7天或30天。

本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明还提供一种设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明还提供一种计算直播间相似度的系统,包括:

分类模块,其用于设定时间周期,并在时间周期内将所有直播间分为热门直播间和非热门直播间;

判断模块,其用于判断用户观看热门直播间和非热门直播间时是否为有效观看行为,并确定每个用户有效观看的直播间的数量;以及

计算模块,其用于从所有直播间中任意选取第一直播间和第二直播间,统计有效观看了第一直播间的第一用户集合以及有效观看了第二直播间的第二用户集合,获取第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量;确定同时有效观看了第一直播间和第二直播间的第三用户集合,获取第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,根据获取的第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量,以及获取的第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,计算第一直播间和第二直播间的相似度。

在上述技术方案的基础上,所述判断模块用于判断用户在时间周期内观看热门直播间的次数是否达到预设次数,若是,则是有效观看行为,若否,则不是有效观看行为;

所述判断模块还用于判断用户在时间周期内是否观看过非热门直播间,若是,则是有效观看行为,若否,则不是有效观看行为。

在上述技术方案的基础上,所述分类模块根据直播间的观看人数将时间周期内将所有直播间分为热门直播间和非热门直播间。

与现有技术相比,本发明的优点在于:

(1)本发明的计算直播间相似度的方法,不仅仅只是考虑需要计算相似度的两个房间的观看用户,还考虑了这些用户对其他房间的观看情况,利用的信息较为全面,相似性度量相对而言比较全面;

(2)本发明的计算直播间相似度的方法,其是在时间周期内进行计算,考虑了时间的衰减。

(3)本发明的计算直播间相似度的方法引入了有效观看行为的概念,针对热门直播间,只有用户在时间周期内观看某热门直播间的次数达到预设次数时,才将该用户的行为当成有效观看,否则丢弃。通过这种非对称广播的方法,可以有效地降低热门直播间在相似度计算中带来的负面影响。

附图说明

图1为本发明实施例中计算直播间相似度的方法的流程图;

图2为本发明实施例中设备连接框图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种计算直播间相似度的方法,该方法包括以下步骤:

s1.设定时间周期,并在时间周期内将所有直播间分为热门直播间和非热门直播间;

时间周期的长度可以根据需要合理设置,本发明实施例中的时间周期为7天或30天。此外,本发明实施例在时间周期内统计每个直播间的观看人数,将观看人数最多的若干个直播间作为热门直播间,其余的直播间作为非热门直播间。即是根据直播间的观看人数将时间周期内将所有直播间分为热门直播间和非热门直播间。比如可以将每个直播间的观看人数统计出来后,按照观看人数的多少进行排序,将排在前1000名的直播间作为热门直播间,而剩下的直播间作为非热门直播间。

s2.判断用户观看热门直播间和非热门直播间时是否为有效观看行为,确定每个用户有效观看的直播间的数量;

由于一些非常热门的直播间,平台上几乎所有的用户都会去观看,这就导致了这些非常热门的直播间与其他大部分直播间都会发生关联,这是非常不合理的。因此,只有用户在时间周期内观看热门直播间次数比较多时,才认为他们观看热门直播间的行为是有效的观看。

为了解决上述问题,这里引入了有效观看行为。具体的,针对热门直播间,主要是通过判断用户在时间周期内观看热门直播间的次数是否达到预设次数,若是,则是有效观看行为,若否,则不是有效观看行为。

本发明实施例中的预设次数为5次,也就是说只有用户在时间周期内观看某热门直播间的次数大于等于5次时,才将该用户的行为当成有效观看,否则丢弃。通过这种非对称广播的方法,可以有效地降低热门直播间在相似度计算中带来的负面影响。

针对非热门直播间,判断用户在时间周期内是否观看过非热门直播间,若是,则是有效观看行为,若否,则不是有效观看行为。也就是说只要用户观看过非热门直播间即为有效观看行为。

由于本发明实施例还确定了每个用户有效观看的直播间的数量,采用这种方式后,使得整个计算过程不仅仅只是考虑需要计算相似度的两个房间的观看用户,还考虑了这些用户对其他房间的观看情况,利用的信息较为全面,相似性度量相对而言比较全面。

s3.从所有直播间中任意选取第一直播间和第二直播间,统计有效观看了第一直播间的第一用户集合以及有效观看了第二直播间的第二用户集合;

s4.确定同时有效观看了第一直播间和第二直播间的第三用户集合,获取第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔;

s5.根据获取的第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量,以及获取的第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,计算第一直播间和第二直播间的相似度。

下面对计算直播间相似度的方法做进一步介绍:

统计有效观看了第一直播间的第一用户集合ui和有效观看了第二直播间的第二用户集合uj;

确定同时有效观看了第一直播间和第二直播间的第三用户集合ui∩uj;

获取第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量qu;

获取第三用户集合中的每个用户最后一次观看第一直播间的时间tui与最后一次观看第二直播间的时间tuj的间隔tui-tuj;

根据公式计算第一直播间和第二直播间的相似度,其中,sim(i,j)是直播间i和直播间j的相似度,δ是大于0的权重系数,

下面举出一个具体的实例来进行计算:

假设有效观看过第一直播间的用户有u1、u2、u3,有效观看过第二直播间的用户有u1、u4,那么共同有效观看过第一直播间和第二直播间的用户是u1。u1、u2、u3、u4分别有效观看的直播间数量为10、4、6、2个,u1最后一次有效观看第一直播间的时间与最后一次有效观看第一直播间的时间间隔为2天,δ为0.5,δ是基于数据分析并通过最终计算得到的结果,根据需要可不断调整。

于是:

那么第一直播间和第二直播间的相似度为:

通常来说sim(i,j)越大,第一直播间和第二直播间越相似。

综上所述,本发明实施例中的方法其是在时间周期内进行计算,考虑了时间的衰减,此外,还引入了有效观看行为的概念,针对热门直播间,只有用户在时间周期内观看某热门直播间的次数达到预设次数时,才将该用户的行为当成有效观看,否则丢弃。通过这种非对称广播的方法,可以有效地降低热门直播间在相似度计算中带来的负面影响。

对应上述的计算直播间相似度的方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述实施例中的计算直播间相似度的方法的步骤。需要说明的是,存储介质包括u盘、移动硬盘、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。

另外,参见图2所示,对应上述的计算直播间相似度的方法,本发明实施例还提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时可实现上述实施例中的计算直播间相似度的方法的步骤。

本发明实施例还提供一种计算直播间相似度的系统,其包括分类模块、判断模块和计算模块。

其中,分类模块,其用于设定时间周期,并在时间周期内将所有直播间分为热门直播间和非热门直播间。本发明实施例中的分类模块根据直播间的观看人数将时间周期内将所有直播间分为热门直播间和非热门直播间。比如可以将每个直播间的观看人数统计出来后,按照观看人数的多少进行排序,将排在前1000名的直播间作为热门直播间,而剩下的直播间作为非热门直播间。

判断模块,其用于判断用户观看热门直播间和非热门直播间时是否为有效观看行为,并确定每个用户有效观看的直播间的数量。本发明实施例中的判断模块,针对热门直播间,其用于判断用户在时间周期内观看热门直播间的次数是否达到预设次数,若是,则是有效观看行为,若否,则不是有效观看行为。针对非热门直播间,判断模块还用于判断用户在时间周期内是否观看过非热门直播间,若是,则是有效观看行为,若否,则不是有效观看行为。

计算模块,其用于从所有直播间中任意选取第一直播间和第二直播间,统计有效观看了第一直播间的第一用户集合以及有效观看了第二直播间的第二用户集合,获取第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量;确定同时有效观看了第一直播间和第二直播间的第三用户集合,获取第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,根据获取的第一用户集合和第二用户集合中的每个用户有效观看的直播间的数量,以及获取的第三用户集合中的每个用户最后一次观看第一直播间的时间与最后一次观看第二直播间的时间的间隔,计算第一直播间和第二直播间的相似度。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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