基于熵值法的用户分区偏好计算方法及***
技术领域
本发明涉及视频直播中的用户分区领域,具体涉及一种基于熵值法的用户分区偏好计算方法及***。
背景技术
随着视频直播平台内容的丰富,用户需要更个性化,精确的信息获取手段,快速获取感兴趣的房间内容。为了达到该目的,需要对平台用户的兴趣进行挖掘,获取用户的偏好内容。
用户在直播平台上观看视频直播时,可能观看大量的分区内容;用户对不同分区内容产生的行为不一样,例如观看分区内房间个数的多少,观看时长的长短、观看的频率、是否有赠送信息等,都反映用户对分区内容的偏好程度。但是,如何确定对分区内容的偏好程度缺乏统一的标准。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:提供一种基于熵值法的用户分区偏好计算方法及***。本发明能够根据计算出的用户在不同分区的偏好得分的大小,确定用户的主要偏好分区类型。
为达到以上目的,本发明提供的基于熵值法的用户分区偏好计算方法,包括以下流程:
S1:根据需要计算用户偏好的用户观看视频直播时对不同分区的行为信息,在每个分区中分别为每位用户构建评估指标,转到S2;
S2:定时统计需要计算用户偏好的所有用户的评估指标,根据所有用户的评估指标构建初始化矩阵X,转到S3;
S3:在初始化矩阵X中计算第z位用户的第j项评估指标的优化指标X'zj,转到S4;
S4:根据X'zj计算第j项评估指标下第z位用户的贡献度Pzj,转到S5;
S5:根据Pzj计算第j项评估指标的熵值ej,转到S6;
S6:根据ej计算第j项评估指标的差异系数gj,转到S7;
S7:根据gj计算第j项评估指标的权重Wj,转到S8;
S8:根据S4至S7的过程,计算当前初始化矩阵X中第z位用户的每项评估指标的权重w1,w2,…wm,:计算w1时,j取1,计算w2时,j取2,…计算wm时,j取m;根据每项评估指标的权重,计算第z位用户在当前初始化矩阵X中对应的每个分区的偏好得分S。
本发明提供的实现上述计算方法的基于熵值法的用户分区偏好计算***,包括评估指标构建模块、初始化矩阵构建模块、优化指标计算模块、用户贡献度计算模块、评估指标熵值计算模块、评估指标差异系数计算模块、评估指标权重计算模块和偏好得分计算模块;
评估指标构建模块用于:根据需要计算用户偏好的用户观看视频直播时对不同分区的行为信息,在每个分区中分别为每位用户构建评估指标;
初始化矩阵构建模块用于:定时统计需要计算用户偏好的所有用户的评估指标;根据所有用户的评估指标构建初始化矩阵X;
优化指标计算模块用于:在初始化矩阵X中计算第z位用户的第j项评估指标的优化指标X'zj;
用户贡献度计算模块用于:根据X'zj计算第j项评估指标下第z位用户的贡献度Pzj;
评估指标熵值计算模块用于:根据Pzj计算第j项评估指标的熵值ej;
评估指标差异系数计算模块用于:根据ej计算第j项评估指标的差异系数gj;
评估指标权重计算模块用于:根据gj计算第j项评估指标的权重Wj;
偏好得分计算模块用于:根据当前初始化矩阵X中第z位用户的每项评估指标的权重,计算第z位用户在初始化矩阵X中对应的每个分区的偏好得分S。
与现有技术相比,本发明的优点在于:
(1)本发明通过用户观看直播时产生的不同的行为信息,在每个分区中分别为每位用户构建评估指标;根据每位用户的评估指标,通过基于熵值法的算法确定用户在每个分区中的偏好得分(加权和)。在此基础上,本发明能够根据不同分区的偏好得分的大小,确定用户的主要偏好分区类型,进而统一了用户分区偏好计算的标准。
与此同时,熵值法是一种客观赋权法,本发明基于熵值法并根据各项评估指标的大小来确定偏好得分时,计算精度较高。
(2)本发明在计算偏好得分之前,将用户区分为2类:1、仅有观看行为的用户,2既有观看行为、又有发送弹幕或赠送礼物的用户。对于第1类用户,计算偏好得分仅需考虑有效观看次数、有效观看时长、有效观看房间数和有效观看天数4项评估指标,评估指标的数量较少,进而精简了偏好得分的计算过程,便于人们使用。
附图说明
图1为本发明实施例中基于熵值法的用户分区偏好计算方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的基于熵值法的用户分区偏好计算方法,包括以下流程:
S1:在需要计算用户分区偏好的用户观看视频直播时,根据用户对不同分区的行为信息,在每个分区中分别为每位用户构建分区偏好评估指标;评估指标包括有效观看次数、有效观看时长、有效观看房间数、有效观看天数、弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数。
S1的具体流程为:
S101:根据用户对不同分区的行为信息,为每位用户构建每个分区的一级指标,转到S102。
S102:从一级指标中确定对视频直播房间的行为信息指标,判断行为信息指标是否存在2个相关系数的绝对值大于0.8的行为信息指标,若是,转到S103,否则转到S104。
S103:剔除1个相关系数的绝对值大于0.8的行为信息指标,转到S104;例如观看时长与有效观看时长两个指标的相关系数为0.9125,属于强相关指标(一般相关系数大于0.8的,定义为强相关),应剔除一个指标。
S104:根据预先设置的筛选要求,在剩余的行为信息指确定评估指标。
S1中评估指标中弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数均为0时,与该评估指标对应的用户为只有观看行为的用户(观看类用户),该类用户真正的评估指标仅有有效观看次数、有效观看时长、有效观看房间数和有效观看天数。
S1中评估指标中弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数均为非0时,与该评估指标对应的用户为既有观看行为、又有发送弹幕或赠送礼物的用户(观看互动类用户),该类用户真正的评估指标为有效观看次数、有效观看时长、有效观看房间数、有效观看天数、弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数。
S2:在指定周期内(本实施例中指定周期为7天),统计需要计算用户偏好的所有用户的评估指标;根据所有用户的评估指标构建初始化矩阵X;其中定义Xzj为第z位用户的第j项评估指标,z=1,2,…,n(n为最大用户数量);j=1,2,…,m(m为每位用户的最大评估指标数量,m≤10)。
S3:由于各指标的量纲不一致,因此在计算偏好得分前,需要对选取的指标进行标准化处理,具体流程为:在初始化矩阵X中计算第z位用户的第j项评估指标的优化指标X'zj;优化指标分为正向优化指标和负向优化指标,正向指标数值越高越好,负向指标数值越低越好,在实际中进行计算时,需要根据不同的评估指标的需求,选择不同的指标算法(正向指标算法或负向指标算法)。
正向优化指标的计算公式为:
负向优化指标的计算公式为:
上述公式中max(X1j,X2j,...,Xnj)表示选取所有用户中第j项评估指标的最大值;min(X1j,X2j,...,Xnj)表示选取所有用户中第j项评估指标的最小值。
S4:根据X'zj计算第j项评估指标下第z位用户的贡献度Pzj,计算公式为:
S5:根据Pzj计算第j项评估指标的熵值ej,计算公式为:
其中ej≥0,k>0,k=1/ln(n),ln为自然对数。
S4和S5中公式中的n均与S1中的n相同,代表最大用户数量。
S6:根据ej计算第j项评估指标的差异系数gj,计算公式为:
gj=1-ej,gj越大,ej熵值就越小,gj就越重要。
S7:根据gj计算第j项评估指标的权重Wj,计算公式为:
其中m与S1相同,代表为每位用户的最大评估指标数量。
S8:根据S4至S7的过程,计算当前初始化矩阵X中第z位用户的每项评估指标的权重w1(即j=1),w2(即j=2),…wm(即j=m);根据每项评估指标的权重,计算第z位用户在当前初始化矩阵X中对应的每个分区的偏好得分(即加权和)S,计算公式为:
S=w1·Xz1+w2·Xz2+……+wm·Xzm。
S9:根据偏好得分确定第z位用户的最终兴趣偏好分区类型,具体流程为:将第z位用户所有分区的偏好得分按照从大到小的顺序排列,确定偏好得分排名前10的分区类型为第z位用户的最终兴趣偏好分区类型。
本发明实施例中提供的实现上述计算方法的基于熵值法的用户分区偏好计算***,该***包括评估指标构建模块、初始化矩阵构建模块、优化指标计算模块、用户贡献度计算模块、评估指标熵值计算模块、评估指标差异系数计算模块、评估指标权重计算模块、偏好得分计算模块和分区类型确定模块。
评估指标构建模块用于:根据需要计算用户偏好的用户观看视频直播时对不同分区的行为信息,在每个分区中分别为每位用户构建评估指标;具体工作流程为:
根据用户对不同分区的行为信息,为每位用户构建每个分区的一级指标;从一级指标中确定对视频直播房间的行为信息指标,判断行为信息指标是否存在2个相关系数的绝对值大于0.8的行为信息指标:
若是,则剔除1个相关系数的绝对值大于0.8的行为信息指标后,根据预先设置的筛选要求,在剩余的行为信息指确定评估指标;否则直接根据预先设置的筛选要求,在剩余的行为信息指确定评估指标。
评估指标构建模块构建的评估指标包括有效观看次数、有效观看时长、有效观看房间数、有效观看天数、弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数。
在此基础上,评估指标构建模块在每个分区中分别为每位用户构建分区偏好评估指标后,还包括以下工作流程:将评估指标中弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数均为0的用户确定为观看类用户,将观看类用户的评估指标中的弹幕次数、弹幕房间数、弹幕天数、赠送礼物量、赠送礼物房间数和赠送礼物天数剔除。
初始化矩阵构建模块用于:定时统计需要计算用户偏好的所有用户的评估指标;根据所有用户的评估指标构建初始化矩阵X,其中Xzj为第z位用户的第j项评估指标,z=1,2,…,n;n代表为最大用户数量;j=1,2,…,m;m代表每位用户的最大评估指标数量。
优化指标计算模块用于:在初始化矩阵X中计算第z位用户的第j项评估指标的优化指标X'zj,计算公式为:
或者:
上述公式中max(X1j,X2j,...,Xnj)表示选取所有用户中第j项评估指标的最大值;min(X1j,X2j,...,Xnj)表示选取所有用户中第j项评估指标的最小值。
用户贡献度计算模块用于:根据X'zj计算第j项评估指标下第z位用户的贡献度Pzj,计算公式为:
评估指标熵值计算模块用于:根据Pzj计算第j项评估指标的熵值ej,计算公式为:其中k=1/ln(n),ln为自然对数。
评估指标差异系数计算模块用于:根据ej计算第j项评估指标的差异系数gj,计算公式为:gj=1-ej。
评估指标权重计算模块用于:根据gj计算第j项评估指标的权重Wj,计算公式为:
根据当前初始化矩阵X中第z位用户的每项评估指标的权重W1,W2,…Wm;计算第z位用户在初始化矩阵X中对应的每个分区的偏好得分S,计算公式为:
S=w1·Xz1+w2·Xz2+……+wm·Xzm;其中W1对应j为1,W2对应j为2,…Wm对应j为m。
分区类型确定模块用于:根据偏好得分确定第z位用户的最终兴趣偏好分区类型,具体工作流程为:将第z位用户所有分区的偏好得分按照从大到小的顺序排列,确定偏好得分排名前10的分区类型为第z位用户的最终兴趣偏好分区类型。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。