推荐系统之基于用户画像推荐

简介: 笔记

(1)用户画像理解


推荐系统当然是在用户画像标签产生的基础上来做,推荐系统有两个层要考虑,一个是数据的分类,找到相似的几个部分,一个是利用ALS或SVD等跟推荐算法密切相关的算法,另外有个重要的考虑点在于用户的反馈数据,用户的反馈数据并不是实时的,会有延迟,并且反馈的数据会进入到用户画像系统的中间数据层,而正常的做法是反馈数据应该进入到推荐系统的数据分类层和推荐算法层,用于推荐的迭代优化。


什么是用户画像?

用户画像的焦点工作就是为用户打“标签”,而一个标签通常是人为规定的高度精炼的特征标识,如年龄、性别、地域、用户偏好等,最后将用户的所有标签综合来看,就可以勾勒出该用户的立体“画像”了。


例如:

男,31岁,已婚,收入1万以上,爱美食,团购达人,喜欢红酒配香烟。

这样一串描述即为用户画像的典型案例。如果用一句话来描述,即:用户信息标签化。


如果用一幅图来展现,即:

11.png

为什么需要用户画像


用户画像的核心工作是为用户打标签,打标签的重要目的之一是为了让人能够理解并且方便计算机处理,如,可以做分类统计:喜欢红酒的用户有多少?喜欢红酒的人群中,男、女比例是多少?也可以做数据挖掘工作:利用关联规则计算,喜欢红酒的人通常喜欢什么运动品牌?利用聚类算法分析,喜欢红酒的人年龄段分布情况?


大数据处理,离不开计算机的运算,标签提供了一种便捷的方式,使得计算机能够程序化处理与人相关的信息,甚至通过算法、模型能够“理解”人。当计算机具备这样的能力后,无论是搜索引擎、推荐引擎、广告投放等各种应用领域,都将能进一步提升精准度,提高信息获取的效率。


(2)基于用户画像推荐架构图


12.png

文章内容标签化:


内容标签化,根据内容定性制定一系列标签,这些标签可以是描述性标签,即文章相关的内容词语


文章频道(分类)内容

关键词

用户标签化:

这个过程就是需要研究用户对内容的喜好程度,用户喜好的内容即当做用户喜好标签在用户的行为记录中,我们所记录下用户的行为在此时就发挥重要的作用了


用户的浏览(时长/频率)

点击

分享/收藏/关注

其他商业化或关键信息

均不同程度的代表用户对这个内容的喜好程度


业务架构图:


13.png


(3)基于用户画像推荐数据流程图


构建用户画像一数据流程图

14.png


(4)用户画像标签提取过程


构建用户画像-原始数据:

15.png

构建用户画像-统计表:

把用户若干个行为统计在一张表中:

16.png

构建用户画像案例:


(4.1)数据源

Movies:文件里包含了一部电影的id和标题,以及该电影的类别

Ratings:文件里面的内容包含了每一个用户对于每一部电影的评分

Tags:文件里面的内容包含了每一个用户对于每一个电影标签化的评价

17.png



(4.2)用户兴趣标签提取

我们核心拥有的就是用户对电影的打标签数据,以及用户对电影的评分数据。

所以,从上面两个行为数据集中,我们可以尝试提取以下几个维度的用户偏好数据:


用户对电影类目偏好数据,即用户对那些类目偏好。

用户的偏好兴趣标签,即通过用户对电影的偏好标签打标行为,进一步可以提取用户的兴趣标签。

用户的偏好年份,通过打分数据,描述用户偏好哪个年代的电影。

(4.2.1)用户标签【tags】偏好数据

需要对单个用户的所有打标数据进行合并(标签会做预处理),然后如果用户对刚好打标的电影有评分的话,还需要带上评分权重,最终合并这些标签,形成用户带权重(本身的频度、对应电影的评分)的标签集,这就是用户的一些兴趣点。

18.png

19.png20.png

(4.2.2)用户类目【genres】偏好数据

21.png


(4.2.3)用户年份【years】偏好数据

22.png

(4.2.4)属性合并

23.png

(4.3)电影数据处理

电影画像与用户画像的匹配计算

24.png

接下来,我们需要绘制候选集电影的属性(取之前,做一些初筛过滤操作,减少计算量),对应用户的属性,同样是三个,其中年份、类目都是直接存放于电影表中,唯一需要额外处理的就是特征Tag了,由于不同人对不同的电影进行Tag标记,上面进行用户画像绘制的时候,是以人为维度的,现在以电影为维度,进行标签合并,最终同样可以形成电影维度的标签集。


(4.3.1)电影Tags数据

我们进行相似tag合并操作,返回的数据形态是(movielD,tag)集合

25.png


(4.3.2)电影genres数据

26.png


(4.3.3)属性合并27.png

28.png

(4.3.4)电影画像与用户画像的匹配计算

29.png30.png




相关文章
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
255 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
搜索推荐
用户画像活动推荐系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(二)
用户画像活动推荐系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
158 0
|
搜索推荐 前端开发 Java
用户画像活动推荐系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(一)
用户画像活动推荐系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
141 0
|
6月前
|
存储 搜索推荐 关系型数据库
基于阿里云RDS PostgreSQL打造实时用户画像推荐系统(varbitx))
用户画像在市场营销的应用重建中非常常见,已经不是什么新鲜的东西,比较流行的解决方案是给用户贴标签,根据标签的组合,圈出需要的用户。通常画像系统会用到宽表,以及分布式的系统。宽表的作用是存储标签,例如每列代表一个标签。但实际上这种设计不一定是最优或唯一的设计,本文将以PostgreSQL数据库为基础,给大家讲解一下更加另类的设计思路,并且看看效率如何。
395 0
|
分布式计算 算法 搜索推荐
基于用户画像的实时异步化视频推荐系统
这个月做的事情还是蛮多的。上线了一个百台规模的ES集群,还设计开发了一套实时推荐系统。 标题有点长,其实是为了突出该推荐系统的三个亮点,一个是实时,一个是基于用户画像去做的,一个是异步化。
3770 0
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
153 1
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)