我们可以看到目前很多的网站都会有内容评分,无论是电子商务、信息分享还是内容下载。内容的评分主要分为两类,一类是用户对内容的评分,主要针对用户的使用感受,如电子商务网站的商品评分,内容分享网站的内容评分等,这个也是目前最普遍的评分模式,而内容的综合评分的计算也相对比较简单,大多是取所有用户评分的均值;另一种评分方式就是网站自身对内容的评分,主要针对用户的历史行为数据,如通过用户对内容的访问情况评价内容的热门程度等。
这里要介绍的网站内容评分模型主要针对第二类的评分方式,因为评分的分值是相对固定的,100分制、10分制还是5分制,而用户相对于每个内容所产生的行为数据的数值却千差万别,可能是千数量级,也可能是万数量级,甚至是百万数量级,如何将这些数据转化成标准的评分体制,并让最终的分值分布更加合理化、有效化,从而让真正优质的内容获得较高的评分,并推荐给用户,是这里重点要解决的问题。
介绍应用的案例前,先要说明下应用的环境和具体的需求:假设有一个内容分享网站,需要将网站中的内容进行评分,以5分制的形式展现,即每个内容的评分只可能出现1-5这5个分值,目的是展现出网站中每个内容的热门程度,为用户的选择和阅读提供参考。
这是一个最简单的内容评分的应用,上面已经非常明确的说明了评分的目的——区分内容的热门度,以及最终的数据展现——以5分制的形式展现。对于这样一个明确了的数据需求,我们就可以选择指标、搭建模型、并最终输出结果。
1、选择指标
评价内容的热门度,貌似挺简单的,直接用内容浏览量(PV)作为评定指标不就行了?确实,PV是个不错的选择,也是最简单的一种选择,但其实还有更好的选择,访问数(Visits),访问用户数(UV),这两个指标能剔除同一个用户短时间内连续刷新同一内容的情况,所以我们不妨选择访问用户数UV来作为评价指标。
2、构建评分模型
现在开始才是文章的关键内容,显然,需要对内容的热门程度进行评价首先要消除指标的度量单位,并把分值的分布区间控制在要求的范围内——1-5分。
消除度量单位?也许你已经想到了,是的,还是数据的标准化,这篇文章中的方法已经在多处使用,可以说是很多数据分析和数据挖掘的基础步骤。
Min-Max归一化评分
Min-Max是最常用的数据归一化方法(详见数据标准化这篇文章的描述),处理后的数据分布在[0,1]的区间内,接下来只要把0-1的数值转化1-5这5个分值就行。很简单,先乘以4使数据落在[0,4]的分布区间,四舍五入,是不是只剩下0-4这5分分值了,再加1就可以得到我们想要的结果了。我们来看看处理后的各分值内容分布情况的示例:
根据上面各分值内容分布图可以看出Min-Max的评分结果的每个分值的内容数量分布是不可控的,一般会跟网站中热门内容和冷门内容的比例直接相关,所以当某些网站的热门内容只占网站所有内容的20%,并且这些内容的访问量异常高,占据了所有网站访问量的80%,也就是我们平常说的符合二八法则。那么可能出现的情况就是大部分的内容评分集中在1分,小部分集中在5分,而中间的2、3、4分的内容分布非常少,其实上图就有点偏向这个趋势,但其实很多时候我们期望的内容分布可以偏向正态,也就是大部分内容能分布在中间分值,两端分值的内容数据相对较少,于是就有了下面的另一种评分模型:
Z标准化评分
如果你的网站的内容数量很多,那么就可以使用Z标准化(详细描述还是参见数据标准化那篇文章,这里不重复了)。Z标准化的好处是可以让数据呈现正态分布的趋势(不是正是我们想要的吗 ),标准化后的数据趋于N(0,1)的正态分布,也就是整体的均值为0,标准差为1。再想想办法让他们变成只是1-5这5个分值,当标准化后的数值:
小于等于-1.5(即-1.5σ)时:1分
大于-1.5(即-1.5σ)小于等于-0.5(即-0.5σ)时:2分
大于-0.5(即-0.5σ)小于0.5(即0.5σ)时:3分
小于等于0.5(即0.5σ)小于1.5(即1.5σ)时:4分
大于等于1.5(即1.5σ)时:5分
如果数据符合标准正态分布,那每个分值的比例大概是,1分和5分的内容分别占7%,2分和4分的内容分别占23%,3分的内容占40%。我们再来看看用这个方法得到的评分结果的分布情况:
是不是看到你想要的结果了?
3、输出结果
当然内容评分的展现方式有很多,下面是几个网站的评分截图,其实都不错。
上面介绍的主要是针对单一指标的内容评分体系,其实在很多情况下内容的评分是诸多指标共同影响的结果,那么内容的评分应该考虑所有这些影响因子,应该构建相应的模型计算内容的综合评分,这里不展开,之后有机会再介绍。