直播房间推荐方法、系统、设备及存储介质
技术领域
本发明涉及互联网直播技术领域,更具体地,涉及直播房间推荐方法及系统。
背景技术
随着互联网直播平台上内容地不断丰富与繁杂的今天,如何给当前用户准确的推荐其感兴趣的直播间是一个众多互联网直播平台所关注的问题。
现有技术中,可以利用大数据算法解决上述直播房间推荐的技术问题。在直播间推荐的众多大数据算法解决方案中,一个简单可行的方案是给用户推荐最近观看过直播间类似的直播间,该方案的难点在于如何准确地计算各直播间所包含直播内容的相似性。
现有技术中的直播房间推荐方案中,有以下一种度量直播房间相似度的杰卡德系数算法(Jaccard’s Coefficient),该算法在直播房间推荐中存在如下问题:该算法基于集合计算各直播房间之间的相似度,房间之间的相似度等于同时观看两个房间的用户数除以至少观看了其中一个房间的用户数。该方法的缺点在于仅仅考虑了两个房间的观看用户,未考虑这些用户对其他房间的观看情况,利用的只是部分信息,相似性度量相对而言比较片面。
现有技术亟需一种可以解决现有技术中所存在相似性度量考虑因素片面问题的直播房间推荐方法。
发明内容
本发明为克服上述问题或者至少部分地解决上述问题,提供直播房间推荐方法。
根据本发明的一个方面,提供一种直播房间推荐方法,包括:
步骤1,从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;
步骤2,基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值;
步骤3,获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
进一步,所述步骤1进一步包括:
选取连续观看任一固定直播房间时长超过预设长的用户和/或非黑名单用户为有效用户;
选取第二预设历史时间段内有效观看用户人数达到预设数量的直播房间为有效直播房间。
进一步,所述步骤2进一步包括:
S21,获取各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合Ui∩Uj;获取所述Ui∩Uj中各有效用户两两之间在第一预设历史时间段内共同观看过的有效直播房间数量|Iu∩Iv|;
其中,i和j为任意两个不同的有效直播房间;Ui和Uj分别为在第一预设历史时间段内观看过有效直播房间i和j的有效用户集合;u∈Ui∩Uj,v∈Ui∩Uj;Iu和Iv分别为用户u和用户v观看过的有效直播房间集合;
S22,基于所述|Iu∩Iv|计算各所述有效直播房间两两之间的相似度值S<i,j>。
进一步,所述步骤S22进一步包括:S<i,j>与所述有效直播房间i和j之间的所述|Iu∩Iv|成反比关系。
所述步骤1进一步包括:
从目标互联网直播平台中当前所有在线用户和所有正在直播房间中筛选出有效用户和有效直播房间。
进一步,所述步骤S22进一步包括:
其中,α为常数。
进一步,所述步骤S22进一步包括:
其中,α为常数;为对有效用户u的惩罚因子;为对有效直播间j的惩罚因子,其中β是一个大于零的常数。
根据本发明另一方面,提供一种直播房间推荐系统,包括筛选模块、获取模块和推荐模块:
所述筛选模块与所述获取模块电连接,用于从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;
所述获取模块分别与所述筛选模块和所述推荐模块电连接,用于基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值S<i,j>;
所述推荐模块与所述获取模块电连接,用于获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
根据本发明另一方面,提供一种直播房间推荐设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一所述的方法。
根据本发明另一方面,提供一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述任一所述的方法。
本申请提出的直播房间推荐方法及系统,在考虑不同用户间所共同观看直播房间数量的基础上,计算不同直播房间的关联程度,能准确地度量各直播房间之间相似度,从而精准有效的进行直播房间的推荐;本发明具有解决了现有技术相关算法中出现的相似性度量考虑因素片面问题的有益效果。
附图说明
图1为根据本发明实施例一种直播房间推荐方法的整体流程示意图;
图2为根据本发明实施例又一种直播房间推荐系统的整体框架示意图;
图3为根据本发明实施例一种直播房间推荐设备的结构框架示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
名词解释:
基于物品的推荐:通过算法挖掘推荐物品之间的关系生成推荐结果,本发明基于该推荐思路,有效实现了有效直播房间之间推送。
相似直播间:通过算法计算出的与用户最近经常观看直播间类似的直播间。
哈利波特现象:推荐算法中在很多用户推荐结果中都会出现热门物品的现象。
在基于物品的推荐方案中,存在背景技术中所提到的a)余弦距离算法(CosineDistance)和b)杰卡德系数算法(Jaccard’s Coefficient),这些算法在其他推荐场景中广泛使用,但在直播房间推荐中都相应存在“哈利波特”现象和相似性度量考虑片面等问题。
为了改善上述算法的缺点,本发明下述具体实施例提出至少一种直播房间推荐方法及系统。
如图1,示出本发明的一个具体实施例中,一种直播房间推荐方法的整体流程图。总体上,包括:
步骤1,从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;
步骤2,基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值;
步骤3,获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
在本发明上述具体实施例的基础上,一种直播房间推荐方法,所述步骤1进一步包括:
选取连续观看任一固定直播房间时长超过预设长的用户和/或非黑名单用户为有效用户;
选取第二预设历史时间段内有效观看用户人数达到预设数量的直播房间为有效直播房间。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,所述步骤2进一步包括:
S21,获取各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合Ui∩Uj;获取所述Ui∩Uj中各有效用户两两之间在第一预设历史时间段内共同观看过的有效直播房间数量|Iu∩Iv|;
其中,i和j为任意两个不同的有效直播房间;Ui和Uj分别为在第一预设历史时间段内观看过有效直播房间i和j的有效用户集合;u∈Ui∩Uj,v∈Ui∩Uj;Iu和Iv分别为用户u和用户v观看过的有效直播房间集合;
S22,基于所述|Iu∩Iv|计算各所述有效直播房间两两之间的相似度值S<i,j>。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,所述步骤S22进一步包括:S<i,j>与所述有效直播房间i和j之间的所述|Iu∩Iv|成反比关系。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,所述步骤1进一步包括:
从目标互联网直播平台中当前所有在线用户和所有正在直播房间中筛选出有效用户和有效直播房间。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,所述步骤S22进一步包括:
其中,α为常数。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,所述步骤S22进一步包括:
其中,α为常数;为对有效用户u的惩罚因子;为对有效直播间j的惩罚因子,其中β是一个大于零的常数。
在本发明任一上述具体实施例的基础上,一种直播房间推荐方法,接下来围绕下述几个方面对本发明技术方案进行展开说明。
本发明提出的基于三角图结构的直播间推荐方法是基于“三角图结构推荐”算法所进行计算的。
所述“三角图结构推荐”算法意在计算所述各直播间之间的相似度。所述三角图结构推荐”算法的设计思想如下。
如果多个用户在观看了同一个直播间s的同时,都只另外共同观看了同一个直播间r,那么可以得到r和s为强关联度的结论。根据上述思想,本方案在算法中定义了一种“三角图结构”,如果用户a和b都同时观看过同一直播房间r,那么(a,b,r)就可以构成一个稳定的三角图结构;如果两个用户a和b之间构成的三角图结构越多,那么所述a和b之间的关联关系越弱;反而言之,如果两个用户a和b之间构成的三角图结构越少,那么所述a和b之间的关联关系越强。
基于上述推理,可以设计了如下“三角图结构推荐”算法的核心公式:
其中:
S<i,j>表示直播间i和直播间j的相似度值。
Ui表示观看过直播间i的用户集合,Uj表示观看过直播间j的用户集合。
Iu表示用户u看过的直播间集合,Iv表示用户v看过的直播间集合。
α是一个常数,在算法中一般设置为1。
在方案具体实施例中,本推荐方案的实施步骤如下:
首先,对用户和房间进行清洗,除去有刷量行为的黑名单用户和月观看人数极少的房间;将用户观看时长超过1分钟的观看行为作为有效的观看行为纳入统计范围中。
其次,计算删选过后的用户两两之间共同观看的房间数;利用前述“三角图结构推荐”算法计算直播间之间的相似度。
最后,根据用户近期观看的房间推荐与其相似度最大的若干个房间作为推荐集。
在本发明上述任一实施例的基础上,一种直播房间推荐方法,上述实施例中“三角图结构推荐”算法运用了全网用户的“集体用户历史观看数据”,因此个别的数据噪声不会影响到算法的度量结果,抗噪音能力非常强。
在本发明具体实施例中,同时为了解决现有技术余弦距离算法中“哈利波特”现象(余弦距离算法(Cosine Distance):该算法将每个用户对房间的观看行为作为向量的一个维度,房间之间的相似度采用余弦公式计算,该方法的缺点在于易产生“哈利波特”现象,在用户的推荐集中都会出现头部热门主播;抗噪声的能力不强,经常会出现一些错误的度量的),在算法公式中引入惩罚因子,惩罚那些行为过多的活跃用户和热门的直播间,提高准确率。本具体实施例提出一种改进的“三角图结构推荐”算法公式如下:
其中:为对用户u的惩罚因子,同理,为对直播间j的惩罚因子,其中β是一个大于零的常数;其中,在计算i的相似房间时,因为只需要对计算的房间j作惩罚,所以对i不作惩罚。s<i,j>与s<j,i>不对称,是因为同一个i对i惩罚的话都是一样,写不写从结果上是一样的。
在本发明上述任一实施例的基础上,一种直播房间推荐方法的具体应用举例。
假设现在有五位用户,分别记为U1、U2、U3、U4、U5;有三个直播间,分别记为I1、I2、I3。每位用户看过的直播间集合如下:
U1:{I1}
U2:{I1、I2、I3}
U3:{I2、I3}
U4:{I1、I2}
U5:{I1、I2}
根据基本的核心算法公式可以计算直播间两两的相似度:
S<I1,I2>=1/(1+2)+1/(1+2)+1/(1+2)=1
S<I1,I3>=0
S<I2,I3>=1/(1+2)=1/3
根据相似度计算的结果,房间I1和I2的相似度最高,因此可以给看过I1的用户U1推荐房间I2,给看过I2的用户U3推荐I1。
综上述所有实施例所述,本发明所述方法通过利用用户和商品形成的三角结构图关系,能准确地度量直播间之间相似度,解决了类似算法中出现的抗噪能力不强和哈利波特现象的问题。
如图2,示出本发明的一个具体实施例中,一种直播房间推荐系统的整体框架图。总体上,包括筛选模块A1、获取模块A2和推荐模块A3:
所述筛选模块A1与所述获取模块A2电连接,用于从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;
所述获取模块A2分别与所述筛选模块A1和所述推荐模块A3电连接,用于基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值S<i,j>;
所述推荐模块A3与所述获取模块A2电连接,用于获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述筛选模块进一步用于:选取连续观看任一固定直播房间时长超过预设长的用户和/或非黑名单用户为有效用户;选取第二预设历史时间段内有效观看用户人数达到预设数量的直播房间为有效直播房间。
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述获取模块进一步用于:
获取各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合Ui∩Uj;获取所述Ui∩Uj中各有效用户两两之间在第一预设历史时间段内共同观看过的有效直播房间数量|Iu∩Iv|;
其中,i和j为任意两个不同的有效直播房间;Ui和Uj分别为在第一预设历史时间段内观看过有效直播房间i和j的有效用户集合;u∈Ui∩Uj,v∈Ui∩Uj;Iu和Iv分别为用户u和用户v观看过的有效直播房间集合;
基于所述|Iu∩Iv|计算各所述有效直播房间两两之间的相似度值S<i,j>。
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述获取模块进一步用于:S<i,j>与所述有效直播房间i和j之间的所述|Iu∩Iv|成反比关系。
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述筛选模块进一步用于:从目标互联网直播平台中当前所有在线用户和所有正在直播房间中筛选出有效用户和有效直播房间。
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述获取模块进一步用于:
其中,α为常数
在上述任一具体实施例的基础上,一种直播房间推荐系统,所述获取模块进一步用于:
其中,α为常数;为对有效用户u的惩罚因子;为对有效直播间j的惩罚因子,其中β是一个大于零的常数。
图3示出本申请实施例的直播房间推荐设备的结构框图。
参照图3,所述直播房间推荐设备,包括:处理器(processor)301、存储器(memory)302和总线303;
其中,
所述处理器301和存储器302通过所述总线303完成相互间的通信;
所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值;获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值;获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:从目标互联网直播平台中当前目标范围用户和目标范围直播房间中筛选出有效用户和有效直播房间;基于各所述有效直播房间两两之间在第一预设历史时间段内共同拥有的有效用户集合计算各所述有效直播房间两两之间的相似度值;获取任一有效用户当前时刻之前预设时长内所观看过的各历史有效直播房间,向所述任一有效用户推荐与所述各历史有效直播房间相似度值最高的相应有效直播房间。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的直播房间推荐设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。