推荐系统三十六式
刑无刀
“贝壳找房”资深算法专家,8年推荐系统工程师
立即订阅
11436 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 用知识去对抗技术不平等
免费
第1章 概念篇 (3讲)
【概念篇】你真的需要个性化推荐系统吗?
【概念篇】个性化推荐系统那些绕不开的经典问题
【概念篇】这些你必须应该具备的思维模式
第2章 原理篇 (20讲)
【内容推荐】画鬼容易画人难:用户画像的“能”和“不能”
【内容推荐】从文本到用户画像有多远
【内容推荐】超越标签的内容推荐系统
【近邻推荐】人以群分,你是什么人就看到什么世界
【近邻推荐】解密“看了又看”和“买了又买”
【近邻推荐】协同过滤中的相似度计算方法有哪些
【矩阵分解】那些在Netflix Prize中大放异彩的推荐算法
【矩阵分解】Facebook是怎么为十亿人互相推荐好友的
【矩阵分解】如果关注排序效果,那么这个模型可以帮到你
【模型融合】经典模型融合办法:线性模型和树模型的组合拳
【模型融合】一网打尽协同过滤、矩阵分解和线性模型
【模型融合】深度和宽度兼具的融合模型 Wide and Deep
【MAB问题】简单却有效的Bandit算法
【MAB问题】结合上下文信息的Bandit算法
【MAB问题】如何将Bandit算法与协同过滤结合使用
【深度学习】深度学习在推荐系统中的应用有哪些?
【深度学习】用RNN构建个性化音乐播单
【其他应用算法】构建一个科学的排行榜体系
【其他应用算法】实用的加权采样算法
【其他应用算法】推荐候选池的去重策略
第3章 工程篇 (10讲)
【常见架构】典型的信息流架构是什么样的
【常见架构】Netflix个性化推荐架构
【常见架构】总览推荐架构和搜索、广告的关系
【关键模块】巧妇难为无米之炊:数据采集关键要素
【关键模块】让你的推荐系统反应更快:实时推荐
【关键模块】让数据驱动落地,你需要一个实验平台
【关键模块】 推荐系统服务化、存储选型及API设计
【效果保证】推荐系统的测试方法及常用指标介绍
【效果保证】道高一尺魔高一丈:推荐系统的攻防
【开源工具】和推荐系统有关的开源工具及框架介绍
第4章 产品篇 (3讲)
【产品篇】推荐系统在互联网产品商业链条中的地位
【产品篇】说说信息流的前世今生
【团队篇】组建推荐团队及工程师的学习路径
尾声与参考阅读 (2讲)
推荐系统的参考阅读
【尾声】遇“荐”之后,江湖再见
推荐系统三十六式
登录|注册

【内容推荐】画鬼容易画人难:用户画像的“能”和“不能”

刑无刀 2018-03-12
做好一个推荐系统,总共分三步:
认识每一个用户;
给他推荐他感兴趣的东西;
坐等各项指标上升。
开个玩笑,如果这么简单的话,那么你和我都要失业了;但是话说回来,认识用户是必须的,不过不用担心,认识用户不用请他们吃饭,这就是我们常常听说的“用户画像”这个词。今天,我就来跟你聊一聊:用户画像的那些事儿。
用户画像比较抽象,就像每个人都听说过鬼,但很少有人见过。事实上,它也没有那么神秘,只是大家对它有误解,要么觉得没什么用,要么觉得它是“银弹”,可能相信后者的人略多一些,但实际上这两种看法都不准确。

什么是用户画像

先说说“用户画像”这个词,它对应的英文有两个:Personas 和 User Profile。Personas 属于交互设计领域的概念,不在本文讨论范围内,请出门右转去找交互设计师们聊,留下来的人,我们聊聊 User Profile 这种用户画像。
User Profile 原本用于营销领域。营销人员需要对营销的客户有更精准的认识,从而能够更有针对性地对客户和市场制定营销方案。
这个理念本身没有错,但是有一个问题:传统营销领域,是以市场销售人员为第一人称视角去看待客户的,也就是用户画像为营销人员服务。
在这种用途下谈论的用户画像,和我们即将在推荐系统领域谈论的相差有点大;但是很遗憾,今天在媒体上看到的大多数“用户画像”案例分享,都停留在这个意思上。
比如最常见的用户画像出现在高大上的 PPT 上:用标签云的方式绘制一个人的形状,或者在一个人物形象旁边列出若干人口统计学属性,以此来表达“用户画像”这个概念。
看上去非常酷炫,但是我得悄悄告诉你一个赤裸裸的真相:越酷炫的用户画像越没什么用。
为什么会这样?根本原因是:用户画像应该给机器看,而不是给人看。
既然是给机器看的,那么画像是不是酷炫、是不是像、维度是不是人类可读,都不重要。那它到底是个什么样子呢?先别急,听我慢慢讲。
一个推荐系统来到这个世界上,它只有一个使命,就是要在用户(User)和物品(Item)之间建立连接。
一般方式就是,对用户和物品之间的匹配评分,也就是预测用户评分或者偏好。推荐系统在对匹配评分前,则首先就要将用户和物品都向量化,这样才能进行计算。
而根据推荐算法不同,向量化的方式也不同,最终对匹配评分的做法也不同,在后面讲到具体推荐算法时你会看到这一点。
用户向量化后的结果,就是 User Profile,俗称“用户画像”。所以,用户画像不是推荐系统的目的,而是在构建推荐系统的过程中产生的一个关键环节的副产品。
另外,通常大型推荐系统一般都分为召回和排序两个阶段,这个在后面我会专门讲到。
因为全量物品通常数量非常大,无法为一个用户(User)逐一计算每一个物品(Item)的评分,这时候就需要一个召回阶段,其实就是预先筛选一部分物品(Item),从而降低计算量,用户画像除了用于最终匹配评分,还要用在召回。所以,构建用户画像就要以这两个阶段为目的。

用户画像的关键因素

举个例子,我想去吃点夜宵,楼下有五家大排档,那么从推荐系统的思路来看,我怎么选择呢?
首先就是将五家大排档向量化,我暂定向量的维度有:
价格,1~5 分,最贵的 1 分,最便宜的 5 分;
种类,1~5 分,只烤馒头片的是 1 分,天上飞的、海里游的、地上跑的、地里种的都有就是 5 分;
味道,1~5 分,根据以前吃的,最难吃的是 1 分,最好吃的是 5 分。
现在每一个大排档都有一个向量,我自己也要有一个对应的向量,就是你有多看中这三个元素:
价格: 1~5 分,土豪不差钱就是 1 分,囊中羞涩就是 5 分。
种类: 1~5 分,早就想好吃什么了不在乎选择多不多 1 分,看看再说就是 5 分
味道: 1~5 分,只是果腹就是 1 分,资深吃货就是 5 分
这样一来就可以对五家大排档做匹配打分了,你很容易得出哪家大排档最适合。
假如我的向量是:
价格: 3
种类: 5
味道: 5
这就是一个大排档推荐系统的简单用户画像了,是不是很简单!
这里可以简单计算一下:每一个因素相乘后再相加,就得到每一个大排档的评分了。
接下来我来围绕这个大排档推荐系统的用户画像,看看建立用户画像的关键因素:第一个是维度,第二个是量化。

首先我先来说说“维度”。

看前面这个例子,我定下来的几个维度:价格、种类、味道。这几个维度有三个特点:
1 每个维度的名称都是可理解的。
当我们去给每一个大排档计算评分时,想象你是一台计算机,你读取了用户画像的“价格”取值为 3,再去取出一个大排档的“价格”评分,两者相乘,用户画像的维度“价格”和大排档的“价格”天然匹配上了。
因为是同一个名字;但是计算机很傻,你把大排档的这个维度换成“价钱”,它就不知道该如何是好了。
另一方面,对这三个维度,把两边同时换成 1、 2、3 或者 a、b、c 都是可以的,也不影响计算结果,计算机依然能够匹配上;所以用户画像的维度不一定需要人类能够理解,只要计算机能把两边对应上就可以了。
2 维度的数量是我拍脑袋定的。
假如是根据用户的阅读历史挖掘阅读兴趣标签,那么我们无法提前知道用户有哪些标签,也就不能确定用户画像有哪些维度,所以第二点也不是必须的。
3 有哪些维度也是我拍脑袋确定的。
因为这一点也不是必须的,用户画像的维度个数可以不用确定。理论上来说维度越多,画像越精细,但带来的计算代价也是很大的,需要权衡。
虽然这里以标签作为例子,但是你要注意,用户画像是向量化结果,而不是标签化。标签化只是向量化的一种,因为向量的维度不一定需要人理解。

其次,我来说说量化。

我们这里的量化都是主观的,而在实际生产系统上,用户画像每个维度的量化,应该交给机器,而且以目标为导向,以推荐效果好坏来反向优化出用户画像才有意义,像这里这个简单的例子,没有去管推荐效果而先行主观量化了每一个维度,是大忌。
所以用户画像的量化是和第三个关键元素“效果”息息相关的。前面已经说过,不要为了用户画像而用户画像,它只是推荐系统的一个副产品,所以要根据使用效果(排序好坏、召回覆盖等指标)来指导用户画像的量化。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《推荐系统三十六式》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(44)

  • 你这个狗东东
    写的真好。我们有时候在做用户画像就跟做BP一样,纯粹是为了彰显我们的用户净值多高,我们的市场定位多么明确。其实推荐系统里的用户画像,是根据目标来定,比如你需要提高内容的点击率,需要了解的维度可能是用户以往阅读内容的维度,用户订阅的分类维度……而其他无关紧要的标签其实不重要

    作者回复: 是这样的。

    2018-03-12
    15
  • yxj🚩
    刑老师,我理解的第三类方法用户行为画像机器学习也要通过前两种方法堆积数据或者人为去选择定义输入的特征(feature),然后再通过机器学习或者深度学习的算法黑箱学习匹配以求得一个准确率很高的算法,但我们学到的是算法,要对用户画像还是要这些数据做为这个学得的算法输入该用户的feature向量才能准确画出。

    作者回复: 比如用户点击物品组成的时序数据,是你说的feature ,经过word2vec(学习算法)之后得到物品的向量,进一步变成用户的向量。就是用户画像的一部分了。

    2018-03-12
    11
  • Mars
    目前我们画像的策略是将用户画像分为四类:基础类,行为类,衍生类和模型类,首末分别对应到老师讲的查户口和黑箱,中间两个一起是统计类。这里行为类的直接统计的结果,衍生类的通过行为类二次计算的行为结果。主要目的是支撑运营和推荐,看了这节,确实要多想想,不能为了用户画像而画像,要用推荐的结果去反推优化画像。
    顺便请教下老师,画像除了我上面提到的两个目的,还有其他目的或者还是其他什么的副产品嘛?
    2018-05-26
    8
  • 谢烟客
    1. 查户口做记录一个无奈之处是:总要给公司领导一个交代。

    2. 先不抱怨领导不理解推荐系统,反转位置,非技术体系领导如何考核管理推荐系统团队?

    作者回复: 是个大话题,三两句无法表达我那些心里话。

    2018-03-12
    7
  • 章光辉
    画像是画像,特征是特征,老师你把这两个概念给强行绑定成一个,我觉得是不太妥当的。

    由各种各样的数据,经过清洗、统计、预处理、特征工程等方式,得到了用户的特征。在这个基础上,分出两条路,一条路是对特征的归纳和总结,得到用户画像,这个是给人看的,用于运营和产品了解用户和获取新客户;另一条路是通过建模的手段,得到用户对某类物品的偏好预测,这个是给机器看的,用于精细化地推荐。

    两者本身相辅相成。
    2019-07-19
    6
  • XzAmrzs
    您好,讲的很专业,但是这里“每个因素相乘后再相加,就得到每一个大排挡的评分了”有点没看懂,比如(3,5,4)是大排档,“我”的向量是(2,3,5),那么相乘后的匹配评分是2×3+5×3+5×4=41吗?那么是怎么个匹配标准?这里是分数越高越匹配还是越低越匹配?照我的想法应该是当两向量平行的时候最匹配才对

    作者回复: 一般是按照分数排序后,矮子中选高的。

    2018-03-12
    5
  • holysky
    已买,赶紧更新啊,我要从0开始推荐体统了

    作者回复: 骚年,不要急,慢慢来。

    2018-03-13
    4
  • 叶晓锋
    我们现在就有一个用户画像系统,而且还有一个后台进行管理和维护,画像系统其实是一个标签系统,分成九大类数百个标签,提供给产品,运营,管理人员查看。我们的模型有时也会部分标签数据,但基本还会在此基础上做演算,例如归一化,独热编码等。

    作者回复: 给人看和给机器看的用户画像不一样。

    2018-03-12
    4
  • 小鑫
    能讲讲如何从历史行为数据中挖掘(产生)标签么?标签是事先拍脑袋定的,还是通过算法自动产生的?有监督学习不都是事先定义好标签么?
    2018-03-26
    3
  • 185
    酷炫画像也很好,能让土豪老板或小白领导作出马上签合同的决定,现在我想到了echart 😂

    作者回复: 哪怕是一张卫生纸,一条底裤,都有它的作用。

    2018-03-15
    3
  • jt120
    之前看过推荐系统实战
    对这里的大排档例子有疑问,如果是UC,那么是找相似用户,如果是IC,是找相似物品,这里的例子,为什么是直接找用户和物品的相似,这两个实体,是不是没可比性

    作者回复: 两个向量的维度一致:数量一致,每个维度意义一致,就可以去衡量他们的距离远近。

    2018-03-14
    1
    3
  • Lotna
    计算大排档评分的地方有问题,推荐大排档应该是计算用户向量和大排档向量的相似度,而不是元素相乘再相加
    2019-08-21
    1
    2
  • 吴峰
    这里用户画像的范畴,除了user的向量化,是否也包含item的向量化。毕竟item有哪些维度、如何量化,也存在拍脑袋的空间。

    作者回复: 用户画像就是user profile
    item profile 则被叫做物品画像。

    用户画像被计算出来的部分,通常和item的维度一致,而自然属性部分则各有各的。

    2018-07-19
    2
  • 惜心(伟祺)
    用户画像是对用户特征的向量化 这个定义很好
    把用户画像的定义泛化了 不一定非得人懂的标签才是用户画像 具体的维度跟目的走 在这个目的下描述用户的特征都是用户的画像标签
    2018-03-24
    2
  • auroroa
    用户画像两个目的:
    1、向量化后让机器读懂每个用户
    2、召回阶段减少计算量

    可以这么理解吗???

    作者回复: 减少计算量不是目的。应该是这样理解:
    1. 计算机只能处理结构化信息,所以必须结构化才能让计算机去计算。
    2. 用结构化的方式让用户表示得越细腻越好。

    2018-03-23
    2
  • 技术猿
    邢老师,用户画像向量做好啦,如何去跟物品做匹配,对应的应该是一个区间还是一个固定的物品?
    还有就是用户画像维度的定义主要依据是什么
    2018-08-13
    1
  • 会飞的书2008
    「查户口」里的分析购买历史、阅读历史的操作,和「堆数据」中分析历史数据挖掘兴趣标签,这两个是不是有交叉重叠的?
    2018-05-12
    1
  • 余妮娜
    那问题来了,运营到底要怎么跟推荐系统的大数据/机器学习演算法工程师合作呢?他们一句这用户画像不是给人看的,运营就没辄了吗?
    2018-03-24
    1
  • 黄鸿强
    邢老师,我们产品是款唱歌类app,现在在做画像时年龄这个维度非常难收集到,从用户演唱歌曲来看没有很明显的界限,有没有什么好的建议?

    作者回复: 还是得先收集标注数据。

    2018-03-20
    1
  • 隐语义模型和矩阵分解有什么区别?我的理解是,它们是同一个东西的两个不同名称而已。

    作者回复: 方法不同。

    2018-03-17
    1
收起评论
44
返回
顶部