上一篇二哈介绍了用户画像的数据采集过程,这回我们来说说数据采集之后的处理。
1、数据存储&更新
1.1、存储:由于数据来源不同,日志格式也会不一样,需要将不同日志存放在不同文件下,且由于不同业务方向不同,有可能之后需要原始日志,所以文件备份也要做好;(一定要有唯一标识进行不同日志之间的关联,一般使用设备ID居多)
1.2、更新:不同数据更新的频率也不太一样,比如说产品属性的数据(使用频次、喜好等),因为时刻在变,可以做到日更或者小时更,但年龄、性别这种固定数据,基本是固定的,那么更新频次肯定不用那么长。
2、数据清洗
这个是非常重要的一环,在我们收集上来的数据中,一定会有许多的脏数据,这些脏数据如果不清洗,那么直接会导致之后偏好计算的不准确,也就是标签输出错误,间接影响了推荐算法的准确率,如果涉及到机器学习,样本内的错误将会造成非常严重的后果。
举一个简单例子,就是在注册时用户填写生日的时候,我们发现X年X月X日的用户特别多,或是有3岁以下100岁以上等,但在这个点的前后,数据都保持相同趋势,那么这一定是个脏数据,很可能是注册BUG或者是默认值导致的结果,一定要剔除掉。(比如QQ上出生在1970,貌似是一个版本的默认值)
所以我们在做数据清洗的时候主要有以下几个注意事项:
2.1、判断脏数据:可通过长期趋势或者相邻的数据来对比发现
2.2、处理脏数据:是用平均值替换还是为空处理,都需要按照具体业务来判定
3、字典输出
输出格式基本为key-value的格式
key:是一个个的字典参数,比如年龄、性别、职业、使用时长、新闻或视频偏好(可以拆细成内容的不同种类偏好)等等
value:是一个个字典参数的值,比如年龄就是指单个年龄或者年龄段,新闻偏好指对不同内容种类的偏好程度
图例如下:横轴为key,纵轴为value
4、标签偏好计算
这里涉及机器学习算法,只做简要的说明。
4.1、有绝对指标:比如年龄、性别、职业、使用时长、使用频次等,直接可以选择对应的值
4.2、无绝对指标:比如消费能力、运动习惯、韩剧偏好、摇滚音乐偏好等,是根据算法来得到的(有兴趣的同学可以专门去研究下)
5、数据提取/校验
将字典做完,偏好值输出完毕,其实整个画像就做好了,但是这个画像准不准呢?这个就需要具体的业务具体的检验了。
首先,可以通过访问redis或者数据库拿到数据,或者通过文件、接口等形式将数据输出给业务部门
业务部门拿到数据之后,进行策略测试,如果效果符合预期,则画像较准,如果不符合预期,则需要重新调整画像
用户画像其实是一个不断迭代的过程,因为在业务的发展中,拿到的数据会原来越多,维度也会越来越细,尤其是DAU千万以上的产品,数据很容易就冗余,后台负责用户画像产品的同学,一定要及时同步前端业务同学的需求,不要想当然,大而全的去做画像这件事,最好是根据具体业务具体输出,所以经常在大公司内,有好几套不同的用户画像,这也是不同业务属性来决定的。
本次用户画像中篇就说完了,因为本身只做过部分的个性化推荐工作,所以并不是那么细腻,欢迎讨论和交流。
二哈,互联网产品狗,码字很慢,性格尚可,不喜可以喷,不定期更新中。。。