基于多层潜在特征的用户兴趣分群方法及系统技术领域
本发明涉及音乐聚合处理领域,特别是涉及基于多层潜在特征的用户兴趣分群方
法。
背景技术
随着近年来互联网行业的高速发展,海量音乐资源的迅速扩充使用户对于音乐的
选择变得尤为困难。因此,如何快速并有效地向用户推荐合适的音乐成为了音乐软件迅速
占据市场的关键课题。
随着大数据技术的发展,在向用户推荐音乐之前,会对不同的用户进行分群,以便
向不同类的用户推荐相应的音乐信息。一般的用户兴趣分群是把物品的特性抽取出来,然
后根据用户浏览,收藏与购买物品等行为轨迹把物品的特征映射至用户上,并通过模型把
此特征量化,通过分类算法对用户进行分群。
然而使用此流程有一个很重要的前提:物品的特征要明确;如:电影,电器,日用商
品,食品类;但如果涉及情感类的物品,如:音乐,此类的特征会由人为主观判断,各人对音
乐的情感判读差别化较大,容易造成分类不准确;且物品数据量需要控制在一定范围;如果
物品数据量太多,由于人力成本以及重要性等问题,结果准确度下降严重。
发明内容
基于此,本发明实施例的目的在于提供一种基于多层潜在特征的用户兴趣分群方
法及系统,可以准确对用户进行分群,以准确推荐符合各类用户兴趣的音乐。
为达到上述目的,本发明实施例采用以下技术方案:
一种基于多层潜在特征的用户兴趣分群方法,包括步骤:
从日志系统读取用户播放日志;
依据所述用户播放日志进行栏目特征分析、轨迹特征分析以及歌词特征分析;
依据栏目特征分析结果、轨迹特征分析结果以及歌词特征分析结果确定特征模
型;
对所述特征模型进行聚类分析,得到聚类中心值;
依据所述聚类中心值进行用户分群。
以及一种基于多层潜在特征的用户兴趣分群系统,包括:
读取单元,用于从日志系统读取用户播放日志;
第一分析单元,用于依据所述用户播放日志进行栏目特征分析、轨迹特征分析以
及歌词特征分析;
确定单元,用于依据栏目特征分析结果、轨迹特征分析结果以及歌词特征分析结
果确定特征模型;
第二分析单元,用于对所述特征模型进行聚类分析,得到聚类中心值;
群分单元,用于依据所述聚类中心值进行用户分群。
利用本发明方案,通过对用户播放日志进行栏目特征分析、用户播放轨迹特征分
析以及歌词分析,采用栏目(歌单,电台,榜单)作为主题特征值,由于栏目的可变化性,能及
时反馈用户的兴趣特征,融合“轨迹特征+歌词特征+ 栏目特征”构建多层次混合模型,减少
稀疏的影响,丰富了特征维度,更准确反映用户特征,然后进行聚类分析,得到聚类中心值,
按照聚类中心值进行用户分群,可以准确对用户进行分群,以准确推荐符合各类用户兴趣
的音乐。
附图说明
附图是用来提供对本发明的进一步理解,并构成说明书的一部分,与下面的具体
实施方式一起用于解释本发明,但不应构成对本发明的限制。在附图中,
图1是本发明提出的基于多层潜在特征的用户兴趣分群方法的流程示意图;
图2是本发明提出的轨迹特征分析的实施例示意图;
图3是本发明提出的歌词特征分析的实施例示意图;
图4是本发明提出的基于多层潜在特征的用户兴趣分群系统的结构示意图;
图5是混淆矩阵示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本
发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,
并不限定本发明的保护范围。
图1示出了一种基于多层潜在特征的用户兴趣分群方法的流程图,包括步骤:
S100、从日志系统读取用户播放日志;
具体的,从音乐服务器中的音乐播放日志系统读取用户播放日志。该播放日志中
记录了各个用户对客户端的歌曲进行点击播放的各种信息,包括播放歌曲名称、播放单首
歌曲时长、搜索歌曲的信息、搜索歌手信息、歌曲栏目、用户在各栏目的操作类型以及用户
在各栏目的停留时间等等。其中操作类型包括:浏览、试听、下载等。
S200、依据所述用户播放日志进行栏目特征分析、轨迹特征分析以及歌词特征分
析;
其中,进行栏目特征分析时,根据用户在各栏目的操作类型以及用户在各栏目的
停留时间,获得用户对各个栏目的兴趣度;具体的,根据用户在栏目(如歌单,电台,榜单)的
操作,对栏目的兴趣度进行打分,并结合时间衰减函数表示兴趣的变化;其中,
时间衰减函数T(t):设t为当前时间,T为有效时间帧长度,R为停留在栏目最后时
间点:![]()
栏目兴趣函数F(t):栏目的打分为(W(1),W(2),...,W(n)),各个栏目的权重为k,
则各个栏目的兴趣度为:F(t)=T(t)*k(i)*W(i)
依据栏目兴趣函数可获得用户对各个栏目的兴趣度。
其中,进行轨迹特征分析时,获得用户在歌曲栏目中的点击轨迹,以二八原则并结
合矩阵获得用户操作轨迹量化值;具体的,轨迹特征分析的构思是分析用户行为,设计“用
户位置轨迹顺序”,发现用户潜在特征,归类用户习惯。分析客户端各个位置点的数据,结合
用户在歌曲播放客户端的点击轨迹,以二八原则,把80%用户集中在20%的行为路径找出
来,并结合矩阵量化。矩阵如图2所示,设(p1,p2,...,pn)为用户,(t1,t2,...,tn)为路径,
得分为0,1;通过图2所示矩阵可获得用户操作轨迹量化值。
其中,进行歌词特征分析时,通过分词算法,把各歌曲的歌词拆分为一个个单词,
并进行去噪降维处理得到潜在的歌曲核心词;获取各个潜在的歌曲核心词在各歌曲中的出
现次数、出现该单词的歌曲数、各歌曲的总词数;依据各个潜在的歌曲核心词在各歌曲中的
出现次数、出现该单词的歌曲数、各歌曲的总词数提炼歌曲核心词;依据歌曲核心词确定各
用户播放歌曲的标签以及各用户播放歌曲的标签得分值。具体的,通过分词算法,把一段歌
词拆分为一个个单词,并通过分析提炼歌曲核心词(能反映歌曲特征的单词),并通过曲库
标签体系,以及人工编辑的方式对核心词构建模型进行映射,以达到归类特征的效果。其思
想核心是通过歌词降维,减少寻找潜在特征的难度,并通过模型为核心词附上标签。
具体实现方式如下:
1、采用MMSEG分词算法把歌词拆分成单词组;
2、建立词库黑名单把虚词(连词、介词、助词、语气词)与特殊词类(叹词和象声
词),并对实词做过滤分析,抽取核心词作为歌词的隐性特征词组;
3、剔除异常数据检验统计上的提法:采用假设服从正态分布的假设检验,抽取其
怀疑为异常数据的单词;剔除异常数据的方法:
1.若考察X1,X2,…,Xn
设X1,X2…,Xn相互独立,分别服从方差相同的正态分布N(μi,σ2),i=1,2,…,n。针
对基本假设H0:μ1=μ2=…=μn,考虑如下三种对立假设:
H1+:μ1=μ2=…=μk-1=μk+1=…=μn=μ
μk=μ+d |d>0
H1-μ1=μ2=…=μk-1=μk+1=…=μn=μ
μk=μ+d d<0
H1:μ1=μ2=…=μk-1=μk+1=…=μn=μ
μk=μ+d d≠0
其中d表示异常误差,μk=μ+d表示异常均值,而d和k都是未知的。
因此,剔除异常数据的检验,就是当对立假设为H1+,H1-或H1时,对基本假设H0的检
验。如果H0被否定,则Xk即判为异常数据。
4、采用剔除异常数据的统计检验方法:通过Grubbs检验测试“可疑异常数据的单
词”是否为异常。在第1步至第4步,是为对了歌词进行降维,去噪的工作,目的是把歌词的潜
在核心词显现出来,为对“歌曲”贴上合理标签作准备。
5、依据以下方式对潜在的歌曲核心词进行打分,确定打分为前若干位的潜在的核
心词为歌曲核心词。
对潜在的歌曲核心词进行打分步骤包括:
潜在核心词得分等于词频与逆文档频率得乘积;其中,词频等于潜在的歌曲核心
词在各歌曲中的出现次数与该歌曲总词数的比值;逆文档频率等于以e为底的总歌曲数与
出现该单词的歌曲数加1后的比值的对数;
即:词频(IF)=潜在的歌曲核心词在各歌曲中的出现次数/该歌曲总词数;
其中,K为出现该单词的歌曲数。
潜在核心词得分(IF_IDF)=词频×逆文档频率。
图3是以陈奕迅的“十年”为例的词频分析,从图4可知,出现次数越多的词,字体越
大。从图3的歌曲核心词可以初步反映是关于“爱情”,“分手”,“悲伤”,“难受”等标签信息,
但需要把潜在因子(核心词)从“单词(分词算法后的各个单词)”中提炼出来。这里需要使用
到统计学中的Logistic回归模型对数据进行预测。其中,潜在因子的特点是词组名字不相
同,而且数据很多,或者需要多个核心词来表达一个“标签”;例如:“伤心”与“悲伤”,“难受”
都可以用来表达标签“悲伤”;另一种情况:沦为”+“朋友”与“沦为”+“陌生人”代表标签“分
手”;“情人”,“牵手”,“女友”,“拥抱”,“温柔”代表标签“爱情”。
6、利用统计学中的Logistic回归模型对数据进行预测,提炼歌曲核心词对应的标
签;
1)采用二八原则从曲库提取具有代表性的覆盖歌曲80%核心标签的歌曲,并对歌
曲的歌词做第1步至第5步的操作。
2)对音乐库中歌曲的“单词”进行标签映射,建立对应库,例如:沦为”+“朋友”与
“沦为”+“陌生人”对应“分手”;“情人”,“牵手”,“女友”,“拥抱”,“温柔”对应“爱情”;“泪
流”,“颤抖”+“难受”,“眼泪”对应“悲伤”;以上规则需要应用到第5步的“词频权重”进行调
优,具体需要实验确定;
3)把音乐库的歌曲信息按2:1的比例建立训练集与测试集,并以Logistic回归模
型对歌曲进行预测与调优;
4)把回归模型使用至所有歌曲样本,把潜在因子预测出来;
5)对预测结果进行抽样分析,确定其准确性。对预测结果不理想或没有预测结果
的歌曲进行总体分析,并返回第1步重新设立模型重新预测。
7、在歌曲核心词提炼标签完成后,使用上述潜在核心词得分(IF_IDF)=词频×逆
文档频率的算法重新对标签进行打分。
其中,在此过程进行了2次打分,第一次是对“潜在因子”打分,用于生成“标签”使
用;而第二次打分是确定标签的得分,用于聚类算法使用。
S300、依据栏目特征分析结果、轨迹特征分析结果以及歌词特征分析结果确定特
征模型;
其中,该步骤包括:使用z-score标准化将用户对各个栏目的兴趣度、用户操作轨
迹量化值、各用户播放歌曲的标签得分值得分统一至同一水平;
获取以下三个特征的质量以最高质量的特征为核心,其他两个特征为补充,并整
合三个特征共有信息,构建多层次混合特征模型;其中,所述三个特征为标准化处理后的用
户对各个栏目的兴趣度、用户操作轨迹量化值、各用户播放歌曲的标签得分值。
具体的,以“栏目特征”,“轨迹特征”与“歌词特征”的结果分析,再决定适应性模
型。初次可使用权重模型进行测试。此三个特征分别代表了三种不同的特性:主题,习惯,标
签,从不同角度组合成用户模型,更能反映用户特性。
1、先把“栏目特征”,“轨迹特征”与“歌词特征”使用z-score标准化把不同层次的
得分统一至同一水平。具体的,统一后的新数据=(原数据-均值)/标准差。
2、分析三个“特征”的质量,以最高质量的特征为核心,其他两个特征为补充,并整
合三个特征共有信息,构建模型,设计“轨迹特征”为W(n),“歌词特征”为X(n),“栏目特征”
为Y(n),K(i)为权重,则得分函数F(n)为:
F(n)=K(1)W(n)+K(2)X(n)+K(3)Y(n)
以上方式是采用经典的线性加权融合方法,具体是采用多元线性回归模型,其权
重确认方法如下:
1)结合“栏目特征”,“轨迹特征”与“歌词特征”的信息由数据分析师设计调查问
卷,并收集足够的样本素材;
2)对“栏目特征”,“轨迹特征”与“歌词特征”归一化,以达到同一水平层次;
3)把样本设置训练集,通过多元线性回归模型进行多次训练,若其预测结果是与
结果集相符合,则可认为此权重参数为所求;
4)进行多元线性回归模型的检验,以决定其权重参数是否可以应用。
其中,多元线性回归模型:设y为因变量,x1,x2,…xk为自变量,并且自变量与因变
量之间为线性关系时,则多元线性回归模型为:
y=b0+b1x1+b2x2+…+bkxk+e
其中,b0为常数项,b1,b2,…bk为回归系数,b1为x2,x3…xk固定时,x1每增加一个单
位对y的效应,即x1对y的偏回归系数;同理b2为x1,xk固定时,x2每增加一个单位对y的效
应,即,x2对y的偏回归系数,等等。如果两个自变量x1,x2同一个因变量y呈线相关时,可用
二元线性回归模型描述为:
y=b0+b1x1+b2x2+e
多元性回归模型的参数估计是在要求误差平方和(∑e2)为最小的前提下,用最小
二乘法求解参数。以二线性回归模型为例,求解回归参数的标准方程组为:
![]()
解此方程可求得b0,b1,b2的数值。亦可用下列矩阵法求得:
b==(x′x)-1·(x′y)
即:
![]()
其中,多元线性回归模型的检验的步骤如下:
1、拟合程度的测定。
与一元线性回归中可决系数r2相对应,多元线性回归中也有多重可决系数r2,它
是在因变量的总变化中,由回归方程解释的变动(回归平方和)所占的比重,R2越大,回归方
各对样本数据点拟合的程度越强,所有自变量与因变量的关系越密切。计算公式为:
![]()
其中,
![]()
![]()
2.估计标准误差
估计标准误差,即因变量y的实际值与回归方程求出的估计值
之间的标准误差,
估计标准误差越小,回归方程拟合程度越程。
![]()
![]()
其中,k为多元线性回归方程中的自变量的个数。
3.回归方程的显著性检验
回归方程的显著性检验,即检验整个回归方程的显著性,或者说评价所有自变量
与因变量的线性关系是否密切。能常采用F检验,F统计量的计算公式为:
![]()
根据给定的显著水平a,自由度(k,n-k-1)查F分布表,得到相应的临界值Fa,若F>
Fa,则回归方程具有显著意义,回归效果显著;F<Fa,则回归方程无显著意义,回归效果不显
著。
4.回归系数的显著性检验
在一元线性回归中,回归系数显著性检验(t检验)与回归方程的显著性检验(F检
验)是等价的,但在多元线性回归中,这个等价不成立。t检验是分别检验回归模型中各个回
归系数是否具有显著性,以便使模型中只保留那些对因变量有显著影响的因素。检验时先
计算统计量ti;然后根据给定的显著水平a,自由度n-k-1查t分布表,得临界值ta或ta/2,t>
t-a或ta/2,则回归系数bi与0有显著关异,反之,则与0无显著差异。统计量t的计算公式为:
![]()
其中,Cij是多元线性回归方程中求解回归系数矩阵的逆矩阵(x'x)-1的主对角线
上的第j个元素。对二元线性回归而言,可用下列公式计算:
![]()
![]()
其中,
![]()
![]()
![]()
![]()
5.多重共线性判别
若某个回归系数的t检验通不过,可能是这个系数相对应的自变量对因变量的影
平不显著所致,此时,应从回归模型中剔除这个自变量,重新建立更为简单的回归模型或更
换自变量。也可能是自变量之间有共线性所致,此时应设法降低共线性的影响。
多重共线性是指在多元线性回归方程中,自变量之彰有较强的线性关系,这种关
系若超过了因变量与自变量的线性关系,则回归模型的稳定性受到破坏,回归系数估计不
准确。需要指出的是,在多元回归模型中,多重共线性的难以避免的,只要多重共线性不太
严重就行了。判别多元线性回归方程是否存在严惩的多重共线性,可分别计算每两个自变
量之间的可决系数r2,若r2>R2或接近于R2,则应设法降低多重线性的影响。亦可计算自变
量间的相关系数矩阵的特征值的条件数k=λ1/λp(λ1为最大特征值,λp为最小特征值),k<
100,则不存在多重点共线性;若100≤k≤1000,则自变量间存在较强的多重共线性,若k>
1000,则自变量间存在严重的多重共线性。降低多重共线性的办法主要是转换自变量的取
值,如变绝对数为相对数或平均数,或者更换其他的自变量。
6.D.W检验
当回归模型是根据动态数据建立的,则误差项e也是一个时间序列,若误差序列诸
项之间相互独立,则误差序列各项之间没有相关关系,若误差序列之间存在密切的相关关
系,则建立的回归模型就不能表述自变量与因变量之间的真实变动关系。D.W检验就是误差
序列的自相关检验。检验的方法与一元线性回归相同。
S400、对所述特征模型进行聚类分析,得到聚类中心值;
其中,在确定特征模型之后选择聚类算法,可以考虑k-means聚类算法;以栏目特
征、轨迹特征、歌词特征3个维度采用多元线性回归模型确定三个特征的权重,建议以用户、
特征向量组成的矩阵,并使用K-means进行聚类。设(p1,p2,...,pn)为用户,轨迹特征得分
为(W1,W2,...,Wn),歌词特征得分为(X1,X2,...,Xn),,栏目特征得分为(Y1,Y2,...,Yn),
则得分矩阵为:
![]()
![]()
K-means聚类算法是基于距离的聚类算法,采用距离作为相似性的评价指标,即认
为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此
把得到紧凑且独立的簇作为最终目标。
k个初始类聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步
中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代
中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的
簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次
迭代前后,评价指标J的值没有发生变化,说明算法已经收敛。
迭代运算的流程:
1、根据事先给定的k值建立初始划分,得到k个Cluster(簇、群),比如,可以随机选
择k个点作为k个Cluster的重心,又或者用Canopy Clustering得到的Cluster作为初始重
心(当然这个时候k的值由Canopy Clustering得结果决定);
2、计算每个点到各个Cluster重心的距离,将它加入到最近的那个Cluster;
3、重新计算每个Cluster的重心;
4、重复过程2~3步骤,直到各个Cluster重心在某个精度范围内不变化或者达到
最大迭代次数,即可得到聚类中心值。
S500、依据所述聚类中心值进行用户分群。
其中,在经过上述聚类分析之后再进行评估指标,步骤包括:
一、建立混淆矩阵,它主要用于比较分类结果和实例的真实信息。矩阵中的每一行
代表实例的预测类别,每一列代表实例的真实类别。假设我们的分类目标只有两类,计为正
例(positive)和负例(negtive)分别是:
1)True positives(TP):被正确地划分为正例的个数,即实际为正例且被分类器
划分为正例的实例数(样本数);
2)False positives(FP):被错误地划分为正例的个数,即实际为负例但被分类器
划分为正例的实例数;
3)False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器
划分为负例的实例数;
4)True negatives(TN):被正确地划分为负例的个数,即实际为负例且被分类器
划分为负例的实例数。
具体的混淆矩阵示意图参考图5。
二、由混淆矩阵计算评价指标,具体指标如下:
1)正确率(accuracy)
正确率是我们最常见的评价指标,accuracy=(TP+TN)/(P+N),这个很容易理解,
就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好;
2)错误率(error rate)
错误率则与正确率相反,描述被分类器错分的比例,error rate=(FP+FN)/(P+
N),对某一个实例来说,分对与分错是互斥事件,所以accuracy=1-error rate;
3)灵敏度(sensitive)
sensitive=TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识
别能力;
4)特效度(specificity)
specificity=TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的
识别能力;
5)精度(precision)
精度是精确性的度量,表示被分为正例的示例中实际为正例的比例,precision=
TP/(TP+FP);
6)召回率(recall)
召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/
P=sensitive,可以看到召回率与灵敏度是一样的。
利用本发明方案,通过对用户播放日志进行栏目特征分析、用户播放轨迹特征分
析以及歌词分析,采用栏目(歌单,电台,榜单)作为主题特征值,由于栏目的可变化性,能及
时反馈用户的兴趣特征,融合“轨迹特征+歌词特征+栏目特征”构建多层次混合模型,减少
稀疏的影响,丰富了特征维度,更准确反映用户特征,然后进行聚类分析,得到聚类中心值,
按照聚类中心值进行用户分群,可以准确对用户进行分群,以准确推荐符合各类用户兴趣
的音乐。
与上述方法对应的,本发明公开了一种基于多层潜在特征的用户兴趣分群系统,
如图4所示,包括:
读取单元,用于从日志系统读取用户播放日志;
第一分析单元,用于依据所述用户播放日志进行栏目特征分析、轨迹特征分析以
及歌词特征分析;
确定单元,用于依据栏目特征分析结果、轨迹特征分析结果以及歌词特征分析结
果确定特征模型;
第二分析单元,用于对所述特征模型进行聚类分析,得到聚类中心值;
群分单元,用于依据所述聚类中心值进行用户分群。
其中,所述用户播放日志包括歌曲栏目、用户在各栏目的操作类型以及用户在各
栏目的停留时间;
其中,如图4所示,第一分析单元包括:兴趣度获取单元、用户轨迹获取单元、歌曲
标签获取单元;
所述兴趣度获取单元,用于根据用户在各栏目的操作类型以及用户在各栏目的停
留时间,获得用户对各个栏目的兴趣度;
所述用户轨迹获取单元,用于获得用户在歌曲栏目中的点击轨迹,以二八原则并
结合矩阵获得用户操作轨迹量化值;
所述歌曲标签获取单元,用于通过分词算法,把各歌曲的歌词拆分为一个个单词,
并进行去噪降维处理得到潜在的歌曲核心词;获取各个潜在的歌曲核心词在各歌曲中的出
现次数、出现该单词的歌曲数、各歌曲的总词数;依据各个潜在的歌曲核心词在各歌曲中的
出现次数、出现该单词的歌曲数、各歌曲的总词数提炼歌曲核心词;依据歌曲核心词确定各
用户播放歌曲的标签以及各用户播放歌曲的标签得分值。
其中,所述确定单元使用z-score标准化将用户对各个栏目的兴趣度、用户操作轨
迹量化值、各用户播放歌曲的标签得分值得分统一至同一水平;获取以下三个特征的质量
以最高质量的特征为核心,其他两个特征为补充,并整合三个特征共有信息,构建多层次混
合特征模型;其中,所述三个特征为标准化处理后的用户对各个栏目的兴趣度、用户操作轨
迹量化值、各用户播放歌曲的标签得分值。
其中,所述歌曲标签获取单元,依据以下方式对潜在的歌曲核心词进行打分:
潜在核心词得分等于词频与逆文档频率得乘积;其中,词频等于潜在的歌曲核心
词在各歌曲中的出现次数与该歌曲总词数的比值;逆文档频率等于以e为底的总歌曲数与
出现该单词的歌曲数加1后的比值的对数;
确定打分为前若干位的潜在的核心词为歌曲核心词。
其中,对所述三个特征采用线性加权融合方法构建所述多层次混合特征模型。
只要不违背本发明创造的思想,对本发明的各种不同实施例进行任意组合,均应
当视为本发明公开的内容;在本发明的技术构思范围内,对技术方案进行多种简单的变型
及不同实施例进行的不违背本发明创造的思想的任意组合,均应在本发明的保护范围之
内。