用户画像那些事儿

什么是用户画像

先说说“⽤户画像”这个词,它对应的英⽂文有两个:Personas和 UserProfile。


Personas属于交互设计领域的概念,不在本文讨论范围内,请出⻔右转去找交互设计师们聊,我们聊聊 UserProfile这种用户画像。


UserProfile原本用于营销领域。营销⼈员需要对营销的客户有更更精准的认识,从而能够更有针对性地对客户和市场制定营销方案。这个理理念本身没有错,但是有⼀个问题:传统营销领域,是以市场销售⼈人员为第⼀⼈称视角去看待客户的,也就是⽤户画像为营销⼈员服务。在这种用途下谈论的用户画像,和我们即将在推荐系统领域谈论的相差有点大;


但是很遗憾,今天在媒体上看到的⼤大多数“用户画像”案例分享,都停留留在这个意思上。比如最常见的用户画像出现在高大上的 PPT上:用标签云的方式绘制一个人的形状,或者在一个人物形象旁边列出若干⼈口统计学属性,以此来表达“用户画像”这个概念。、


看上去⾮常酷炫,但是我得悄悄告诉你⼀一个⾚赤裸裸的真相:越酷炫的⽤户画像越没什么用。


为什什会这样?根本原因是:⽤户画像应该给机器看,⽽不是给⼈看。既然是给机器看的,那么画像是不是酷炫、是不是像、维度是不是⼈类可读,都不重要。那它到底是个什么样⼦子呢?先别急,听我慢慢讲。


一个推荐系统来到这个世界上,它只有一个使命,就是要在用户(User)和物品(Item)之间建⽴连接。


一般方式就是,对⽤户和物品之间的匹配评分,也就是预测⽤户评分或者偏好。推荐系统在对匹配评分前,则⾸先就要将用户和物品都向量化,这样才能进行计算。


而根据推荐算法不同,向量化的⽅式也不同,最终对匹配评分的做法也不同,在后面讲到具体推荐算法时你会看到这一点。⽤户向量化后的结果,就是 UserProfile,俗称“用户画像”。所以,用户画像不是推荐系统的目的,而是在构建推荐系统的过程中产生的一个关键环节的副产品。


另外,通常大型推荐系统⼀般都分为召回和排序两个阶段,这个在后⾯面我会专门讲到。


因为全量物品通常数量非常大,无法为一个用户(User)逐⼀计算每一个物品(Item)的评分,这时候就需要⼀个召回阶段,其实就是预先筛选⼀部分物品(Item),从而降低计算量,⽤户画像除了用于最终匹配⽤户评分,还要⽤在召回。所以,构建⽤户画像就要以这两个阶段为⽬的。


用户画像的关键因素


举个例子,我想去吃点夜宵,楼下有五家⼤排档,那么从推荐系统的思路来看,我怎么选择呢


⾸首先就是将五家⼤大排档向量量化,我暂定向量的维度有:

1.价格,1~5分,最贵的 1分,最便宜的5分;

2.种类,1~5分,只烤馒头⽚的是 1分,天上⻜的、海里游的、地上跑的、地里种的都有就是5分;

3.味道,1~5分,根据以前吃的,最难吃的是 1分,最好吃的是5分。


现在每一个大排档都有一个向量,我自己也要有一个对应的向量,就是你有多看中这三个元素:

1.价格:1~5分,⼟豪不差钱就是 1分,囊中羞涩就是5分。

2.种类:1~5分,早就想好吃什么了,不在乎选择多不多 1分,看看再说就是5分

3.味道:1~5分,只是果腹就是 1分,资深吃货就是5分

这样⼀来就可以对五家大排档做匹配打分了了,你很容易易得出哪家大排档最适合。假如我的向量是:

价格:3

种类:5

味道:5

这就是⼀个⼤排档推荐系统的简单⽤户画像了,是不是很简单!


这⾥可以简单计算⼀下:每⼀个因素相乘后再相加,就得到每⼀个⼤排档的评分了。


接下来我来围绕这个⼤排档推荐系统的⽤户画像,看看建⽴⽤户画像的关键因素:第⼀个是维度,第⼆个是量化。


⾸先我先来说说“维度”。看前⾯这个例⼦,我定下来的⼏个维度:价格、种类、味道。这⼏个维度有三个特点:

1.每个维度的名称都是可理解的


当我们去给每⼀个⼤排档计算评分时,想象你是⼀台计算机,你读取了⽤户画像的“价格”取值为3,再去取出⼀个⼤排档的“价格”评分,两者相乘,⽤户画像的维度“价格”和⼤排档的“价格”天然匹配上了。


因为是同⼀个名字;但是计算机很傻,你把⼤排档的这个维度换成“价钱”,它就不知道该如何是好了。


另⼀⽅⾯,对这三个维度,把两边同时换成1、2、3或者a、b、c都是可以的,也不影响计算结果,计算机依然能够匹配上;所以⽤户画像的维度不⼀定需要⼈类能够理解,只要计算机能把两边对应上就可以了。


2.维度的数量是我拍脑袋定的


假如是根据⽤户的阅读历史挖掘阅读兴趣标签,那么我们⽆法提前知道⽤户有哪些标签,也就不能确定⽤户画像有哪些维度,所以第⼆点也不是必须的。


3.有哪些维度也是我拍脑袋确定的


因为这⼀点也不是必须的,⽤户画像的维度个数可以不⽤确定。理论上来说维度越多,画像越精细,但带来的计算代价也是很⼤的,需要权衡。虽然这⾥以标签作为例⼦,但是你要注意,⽤户画像是向量化结果,⽽不是标签化。标签化只是向量化的⼀种,因为向量的维度不⼀定需要⼈理解。


其次,我来说说量化


我们这⾥的量化都是主观的,⽽在实际⽣产系统上,⽤户画像每个维度的量化,应该交给机器,⽽且以⽬标为导向,以推荐效果好坏来反向优化出⽤户画像才有意义,像这⾥这个简单的例⼦,没有去管推荐效果⽽先⾏主观量化了每⼀个维度,是⼤忌。


所以⽤户画像的量化是和第三个关键元素“效果”息息相关的。前⾯已经说过,不要为了⽤户画像⽽⽤户画像,它只是推荐系统的⼀个副产品,所以要根据使⽤效果(排序好坏、召回覆盖等指标)来指导⽤户画像的量化。


⽤户画像的构建⽅法

再来整体说说怎么构建⽤户画像,按照对⽤户向量化的⼿段来分,⽤户画像构建⽅法分成三类:

1.第⼀类就是查户⼝。直接使⽤原始数据作为⽤户画像的内容,如注册资料等⼈⼝统计学信息,或者购买历史,阅读历史等,除了数据清洗等⼯作,数据本身并没有做任何抽象和归纳。这就跟查户⼝⼀样,没什么技术含量,但通常对于⽤户冷启动等场景⾮常有⽤。


2.第⼆类就是堆数据。⽅法就是堆积历史数据,做统计⼯作,这是最常⻅的⽤户画像数据,常⻅的兴趣标签,就是这⼀类,就是从历史⾏为数据中去挖掘出标签,然后在标签维度上做数据统计,⽤统计结果作为量化结果。这⼀类数据贡献了常⻅的酷炫⽤户画像。


3.第三类就是⿊盒⼦。就是⽤机器学习⽅法,学习出⼈类⽆法直观理解的稠密向量,也最不被⾮技术⼈员重视,但实际上在推荐系统中承担的作⽤⾮常⼤。⽐如使⽤潜语义模型构建⽤户阅读兴趣,或者使⽤矩阵分解得到的隐因⼦,或者使⽤深度学习模型学习⽤户的Embedding向量。这⼀类⽤户画像数据因为通常是不可解释,不能直接被⼈看懂。

上一篇:第二期学习报告(Yasso_C)


下一篇:内容推荐系统