您的位置 首页 知识

权重计算方法(用户画像标签的权重算法)

权重计算方法
用户画像几乎是每一个互联网公司都会提到的一个课题,其本质上是由用户的一系列标签拼凑而成的。对于标签,我们习惯将其分为客观属性标签、交易消费标签和用户习惯标签。

客观属性标签
通常是用户的一些静态属性标签,如性别、年龄、地理位置等等,这些属性一般是不会轻易改变的,可以从用户注册信息获取或者根据用户行为推算;

交易消费标签
通常是用户的一些交易、消费、收藏行为的标签,如购买力、交易高低频等等,这些属性可以从各种日志和记录信息中推算得出;

用户习惯标签
通常是用户的一些偏好、习惯类的标签,如偏好的产品种类、偏好习惯等等,这些属性同样从日志中推算得出;

用户标签组成
我们举栗来说,一个人访问网站,产生一系列信息,大致就是什么时间、什么地点、什么人、干了什么,清洗数据后得到如下表(虚拟数据):

用户标签的判断
我们的目的是判断A用户的搜索产品偏好,看用户更偏向哪种产品,以支持后续用户推荐、页面改善等等。可以看到用户A对多种产品进行了多次搜索、收藏和取消收藏等操作,判断用户对不同产品的偏好,需要给各个标签打上相应的权重。

标签权重也可以分为两部分来看,一是该标签的用户权重,就单纯的考虑用户与标签的关系;二是在客观权重的基础上,结合业务场景,再得到真正的标签权重。判断用户权重的方法很多,我们采用的是TF-IDF算法。

TF-IDF的原理简单解释就是一种经常被用于判断文章摘要的算法。

TF:词频,指的是某一个给定的词语在该文件中出现的频率,如果一个词条在一类文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,数学表示:

IDF:逆向文件频率,是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到,简单来说,就是看这个词语的稀缺程度,数学表示

这样说可能还是有点抽象,举例来说,我们现在想看一个文章中的关键词,大家第一想到的一定是词语在文章中出现的次数,这就是TF(词频)。但是光考虑词频是不够的,因为不同关键词出现的次数可能是一样的,并且有些词本身出现的概率就很大,所以我们还需要看这个词语的IDF(逆向文件频率),去评价它的重要性;

结合我们的例子:A用户食品标签
tf=(3+2+7)/(3+2+3+4+5+2+7+1)=0.44
这个例子因为只列了一个客户,所以不是很恰当,实际上可以认为食品idf=log(所有标签所有用户之和/所有包含食品标签的用户),各位如果有兴趣,可以自己重新编写数据算一算;

最后,所谓TF-IDF,也就是TF*IDF,可以预想得到,如果一个标签常出现,是高频词,且这个标签在整体标签中属于低频标签,TF-IDF的权重一定更高,即与用户关系一定更为紧密。

至此,我们得到了标签的用户权重,它实际上反应了与用户的关联程度;但是实际业务中我们往往不可能直接利用,毕竟算法还是需要结合实际业务才行。

通常情况下,我们还需要考虑时间、用户行为等因素,即:用户标签权重=行为权重*衰减因子*行为次数*TF-IDF。

行为权重
用户对同种产品产生不同行为,例如搜索、购买、收藏、分享这几种行为的行为权重一定是不一样的,例如将取消、跳出等等行为列为负值,具体的行为权重可以参考网上案例或者根据业务场景决定;

衰减因子
一般考虑时间,例如去年发生的行为和今年发生的行为应该是有衰减逻辑在里面的,通常的做法是参考牛顿冷却定律;当然如果周期小或业务场景稳定,例如TOB的产品,也可以选择忽略这个因素;

行为次数
一般来说,不同的行为次数决定了用户的偏好程度,用户行为越多,对偏好影响就越大;

用户标签权重的应用
根据上面所说的判断方式,我们最终会得到用户搜索产品偏好的各个标签权重值,对数据归一化后排序,可以得到用户最为偏好的标签,同时可以得到每个用户的各个标签权重的分布,从而进行用户划分;用户A的食品权重为0.72,所以用户A的搜索产品偏好标签为食品,即用户更倾向搜索食品。

当然,判断标签权重的方式有很多,比如数据矩阵、BM25等方式也有很不错的效果。具体问题需要具体分析,且真实场景中还需要考虑更多的条件,以此方法,仅供参考与指教。

编辑/图片:April

权重计算方法相关文章