(1)用户画像理解
推荐系统当然是在用户画像标签产生的基础上来做,推荐系统有两个层要考虑,一个是数据的分类,找到相似的几个部分,一个是利用ALS或SVD等跟推荐算法密切相关的算法,另外有个重要的考虑点在于用户的反馈数据,用户的反馈数据并不是实时的,会有延迟,并且反馈的数据会进入到用户画像系统的中间数据层,而正常的做法是反馈数据应该进入到推荐系统的数据分类层和推荐算法层,用于推荐的迭代优化。
什么是用户画像?
用户画像的焦点工作就是为用户打“标签”,而一个标签通常是人为规定的高度精炼的特征标识,如年龄、性别、地域、用户偏好等,最后将用户的所有标签综合来看,就可以勾勒出该用户的立体“画像”了。
例如:
男,31岁,已婚,收入1万以上,爱美食,团购达人,喜欢红酒配香烟。
这样一串描述即为用户画像的典型案例。如果用一句话来描述,即:用户信息标签化。
如果用一幅图来展现,即:
为什么需要用户画像
用户画像的核心工作是为用户打标签,打标签的重要目的之一是为了让人能够理解并且方便计算机处理,如,可以做分类统计:喜欢红酒的用户有多少?喜欢红酒的人群中,男、女比例是多少?也可以做数据挖掘工作:利用关联规则计算,喜欢红酒的人通常喜欢什么运动品牌?利用聚类算法分析,喜欢红酒的人年龄段分布情况?
大数据处理,离不开计算机的运算,标签提供了一种便捷的方式,使得计算机能够程序化处理与人相关的信息,甚至通过算法、模型能够“理解”人。当计算机具备这样的能力后,无论是搜索引擎、推荐引擎、广告投放等各种应用领域,都将能进一步提升精准度,提高信息获取的效率。
(2)基于用户画像推荐架构图
文章内容标签化:
内容标签化,根据内容定性制定一系列标签,这些标签可以是描述性标签,即文章相关的内容词语
文章频道(分类)内容
关键词
用户标签化:
这个过程就是需要研究用户对内容的喜好程度,用户喜好的内容即当做用户喜好标签在用户的行为记录中,我们所记录下用户的行为在此时就发挥重要的作用了
用户的浏览(时长/频率)
点击
分享/收藏/关注
其他商业化或关键信息
均不同程度的代表用户对这个内容的喜好程度
业务架构图:
(3)基于用户画像推荐数据流程图
构建用户画像一数据流程图
(4)用户画像标签提取过程
构建用户画像-原始数据:
构建用户画像-统计表:
把用户若干个行为统计在一张表中:
构建用户画像案例:
(4.1)数据源
Movies:文件里包含了一部电影的id和标题,以及该电影的类别
Ratings:文件里面的内容包含了每一个用户对于每一部电影的评分
Tags:文件里面的内容包含了每一个用户对于每一个电影标签化的评价
(4.2)用户兴趣标签提取
我们核心拥有的就是用户对电影的打标签数据,以及用户对电影的评分数据。
所以,从上面两个行为数据集中,我们可以尝试提取以下几个维度的用户偏好数据:
用户对电影类目偏好数据,即用户对那些类目偏好。
用户的偏好兴趣标签,即通过用户对电影的偏好标签打标行为,进一步可以提取用户的兴趣标签。
用户的偏好年份,通过打分数据,描述用户偏好哪个年代的电影。
(4.2.1)用户标签【tags】偏好数据
需要对单个用户的所有打标数据进行合并(标签会做预处理),然后如果用户对刚好打标的电影有评分的话,还需要带上评分权重,最终合并这些标签,形成用户带权重(本身的频度、对应电影的评分)的标签集,这就是用户的一些兴趣点。
(4.2.2)用户类目【genres】偏好数据
(4.2.3)用户年份【years】偏好数据
(4.2.4)属性合并
(4.3)电影数据处理
电影画像与用户画像的匹配计算
接下来,我们需要绘制候选集电影的属性(取之前,做一些初筛过滤操作,减少计算量),对应用户的属性,同样是三个,其中年份、类目都是直接存放于电影表中,唯一需要额外处理的就是特征Tag了,由于不同人对不同的电影进行Tag标记,上面进行用户画像绘制的时候,是以人为维度的,现在以电影为维度,进行标签合并,最终同样可以形成电影维度的标签集。
(4.3.1)电影Tags数据
我们进行相似tag合并操作,返回的数据形态是(movielD,tag)集合
(4.3.2)电影genres数据
(4.3.3)属性合并
(4.3.4)电影画像与用户画像的匹配计算