用户画像的设计、开发与应用

       因为要给团队的小伙伴普及 用户画像的应用、设计、开发经验,所以周末比较系统的梳理了下此前的经验。在此,也分享给各位同道中人。 瑕疵较多,欢迎大家讨论。 

       随着互联网技术的发展,大数据时代的到来,用户画像的概念被频繁的提及到。用户画像不被用于互联网领域,在很多传统行业(汽车、零售)也逐渐被重视。企业可以通过用户画像技术,更加精准的了解每一个用户,并针对每个用户制定不同的推荐策略、营销策略。如今,用户画像已经成为广告、智能推荐、智能营销等大数据应用的基础。

 

1 用户画像的需求背景

用户画像是指根据用户的属性、偏好、生活习惯、行为等信息,抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。

用户标签集合

 

标签分为3类:

    • 属性标签:属性标签是针对用户的基础属性的定义,比如年龄、性别等
    • 统计标签:通过特定维度和度量统计得出的标签,比如最近7日活跃用户、客单价大于1万的用户、消费频次等。
    • 算法标签:需要通过复杂的机器学习算法,进行精准预测后得出。如兴趣偏好、信用评分、用户违约率、用户未来消费能力,用户潜在需求等。

 

2 用户画像的系统设计

用户画像的主要工作就是给用户打上标签。一般分为场景分析、设计标签体系、画像构建三步。接下来,本文将以视频App为例介绍如何实现用户画像。

1. 场景分析

在视频App中,用户画像通常有如下细化使用场景:

  • 个性化栏位运营:根据用户画像,设置每一个用户打开App后能够看到的栏位及栏位的展示顺序。比如,足球爱好者进入App后,首页面的第一个栏位专区可以显示足球专区;电影爱好者,则优先展示电影专区。
  • 个性化内容推荐:为用户推荐喜欢的视频内容。比如,我们可以根据用户喜欢的电影类型、演员等偏好,推荐具体的电影视频。可参考腾讯视频、爱奇艺App上的“猜你喜欢”专区。
  • 智能搜索:根据用户画像,猜用户可能会搜索的关键词。比如2018年世界杯期间,梅西的粉丝,搜索框输入“m”或者什么也不输入,则App提示“梅西射门!球进啦”
  • 精准营销:举一个短信营销的例子。比如电影《叶问4》在App上架后,运营人员可通过短信将上架消息推送给可能喜欢此类电影或者喜欢甄子丹的用户,以便达到通过精品内容拉新促活的目的。

2. 标签体系

经过场景分析后,我们明确了用户画像的业务场景和目标,接下来我们设计适合于视频App的标签体系。

在定义用户标签体系之前,我们通常需要定义用户的标识。看似简单的问题,仍然需要结合业务场景来考虑。视频App用户为分手机号登录用户和游客用户,也存在着一开始使用游客身份浏览视频一段时间后转为登录用户甚至付费用户的情况。

所以,我们使用手机号和设备ID(安卓手机使用 IMEI,苹果手机使用IDFA)来做为用户的标识。在实际识别用户的过程中,优先使用手机号识别;若没有手机号,则再使用设备ID识别用户。

接下来,根据场景分析,我们设计出如下所示的标签体系。每一个标签,需要定义出标签名称、标签值(通常是枚举)、标签所属父标签。

 

需要一提的是,这里的标签并非单纯指技术上的标签数据,而是一种经过业务化的可被相关人员理解的数据。对于标签体系的制定,即需要业务知识也需要大数据知识,因此需要业务领域专家和大数据技术专家共同参与,保证即能体现业务价值,又能具备技术可行性。

实际应用中经常会对一些连续性数据做离散化处理,以满足业务需要。举例:消费金额在这里通常不再是指连续性的数字,而是一种根据业务处理过的离散值:高、中、低。此外,年龄也通常会离散化处理,划分成若干个年龄段。

另外,本例中为了讲解方便,所以对标签体系进行了简化。在实际应用过程中,除了视频类型,还会有以下维度需要考虑:

维度

举例

视频风格

轻松、恐怖、幽默、调侃、烧脑、悬疑、催人泪下、唯美、无厘头、沉重、魔幻、悬疑、血腥、暴力、平铺直叙

情节模式

鬼怪屋、自我认知、绝地反击、英雄主义、绝境脱困、人生变迁、伙伴之情、推理侦探、愚者成功、超级英雄、被制度化、拯救地球,恋爱受阻、同族仇怨、绑劫

时代背景

春秋战国、汉朝、三国两晋、隋唐、宋朝、元朝、明朝、清朝、抗站时期、远古、古代、中世纪、18世纪、19世纪、近代、现代、未来、虚拟时代

冲突类型

人际冲突、人物内心冲突、人与自然冲突、人与社会冲突、人与鬼神冲突

屏幕呈现

简洁、灰白、藻丽、平实、典雅、人文、暴雨、风光、油画、仙境、雷鸣、闪电、炫丽、实景拍摄、梦境

剧本来源

经典文学改编、网红小说改编、戏剧改编、历史故事改编、IP改编、漫画改编、真实事件改编、游戏改编、原创

 

3. 画像构建

画像的构建,首先要考虑低层数据结构。一般而言,画像涉及的标签数据有两种存储形式:纵表 横表。

  1. 纵表,类似K-V表,每行表示对象的一个标签,通常的结构如下。使用纵表,模型稳定、易扩展,但实现起来较为复杂。

标识

标签名

标签值

所属类目

 

  1. 横表:就是普通的二维表,每行表示一个对象,包含对象的多个标签,通常结构如下,使用横表,模型不稳定不易扩展新标签,但实用起来较为方便。

标识

所属类目

标签1

标签2

……

 

在实际应用中,通过使用Hbase进行标签数据的存储,以兼具纵表和横表的优点。为了响应高并发的需求,还会在Redis中进行缓存。

 

最后,需要依据一定的优先顺序来进行构建:先从最基础的属性标签、再到算法标签,最后再进行预测标签的构建。

属性标签

用户画像的属性类标签,如姓名、年龄、性别之类,通常比较稳定,构建一次后通常可以很久不更新,一般有效在一个月以上。一般通过类似ETL的工具即可实现。

 

统计标签:

统计类标签,如消费频率、七日活跃、是否流失等,此类数据通过是基于T-1日离线数据,每日构建。通过使用HiveSQL或者spark SQL进行数据开发后计算得到。

算法标签:

算法标签,比如本例中的兴趣偏好标签,是需要我们重点介绍的。用户的兴趣偏好画像是互联网领域中运用最广泛的画像,互联网广告、个性化推荐、精准营销的核心都是用户的兴趣偏好。

通常在计算此类用户画像数据之前我们需要定义内容画像。本例中,我们需要定义视频的内容标签体系,并为每一部视频打标签,比如视频的类型、导演、演员等。其中视频类型,又是一个树状结构,可为分一级分类、二级分类,甚至还有三级分类、四级分类,具体的分类粗细粒度,需要考虑需要的应用场景。内容画像针对一些上新频率不高的视频,可使用人工标注的方式,如电影电视剧,每个月更新的增量内容,使用人工方式性价比高、效果好;但针对一些上新频率很高的视频,比如新闻、短视频,则需要结合自然语言解析(NLP)、图片识别、视频识别技术进行自动标注。本文就不详细介绍。

    在建构了用户画像后,接下来就会考虑如何构建用户兴趣画像了。

标签分层定义:标签所在分层越大,表示标签的颗粒度越细,也就表示标签更为的精准。所以应该配置更大的权重。

标签行为定义:选择一些关键性的用户行为,用以确认用户偏好哪些内容。最后,这些内容的标签就会转化为用户的兴趣偏好。通常关键性用户行为,会有多种,如视频App中的播放、搜索、订购、收藏、下载等,不同的行为也代表着用户对内容不同的关切程度,因此也需要我们配置不同的权重。

行为清洗:针对一些异常的、或者无意义的行为数据,进行清选。如小于5秒的播放行为可能表示用户误操作。

兴趣衰减:借助牛顿冷却定律,推导出兴趣衰减方程:f =f_init*exp(-d*ratio),其中f为当前兴趣分值;f_init为初始兴趣分值,默认是100份;d为用户行为发生时间即当前时间的天数,ratio为冷却系数。若希望用户的关键行为在间隔60天后衰减到1分,则ratio可设置为:0.077。

剧集权重:这里只要针对连续剧的场景,一部连续剧中会有很多集,不同的集因为剧情的平淡或高潮,也需要设置不同的权重。

标签分值:行为权重*标签层级权重*衰减得分*剧集权重。通常得分最高的就是用户的兴趣偏好标签。当然,在实际应用中,可能存在同一个用户有多种兴趣偏好的情况,比如同一个用户喜欢什么样的电影、什么样的电视剧和什么样的体育赛事。

接下来,不得不提一下实时性问题。用户画像(尤其是用户兴趣偏好画像)又可根据数据的实时性,分为实时用户画像和离线用户画像。

实时用户画像,根据Kafka等消息队列中实时接入的用户最新行为数据,基于Spark streaming或flink等流计算引擎进行实时计算,计算完成存入Hbase或Redis当中。比如用户的兴趣偏好,在个性化推荐场景中,通常需要结合用户在过去几分钟甚至几秒中的行为数据来判断用户的喜好。

离线用户画像,一般基于用户过去较长时间的用数据(如最近3个月),使用较复杂的处理逻辑或者各种离线机器学习模型来保证画像的准确性,并最终将计算结果保存至Hbase中或Redis中。

3 用户画像的系统实现

本例为求简化 ,一方面省略底层源数据的清洗过程,并只针对离线画像进行代码实现;另一方面,假设内容画像维表的数据已经提前准备好,可直接用于训练用户画像。

  1. 系统开发环境

本示例中,考虑到Apache Hadoop版本兼容差、管理难度高,所以准备利用Cloudera Manager快速搭建CDH平台(Cloudera’s Distribution Including Apache Hadoop),提供可扩展、易维护、易管理的Hadoop平台。Cloudera公司本身也是Hadoop开源生态圈最大的代码贡献者之一。

1.1硬件环境

  笔者从阿里云上购买了三台linux虚拟机,做为hadoop集群的硬件环境,相关配置如下所示:

1.2软件环境

 

  1. 数据仓库的实现

数据仓库分为三层:贴源数据层ODS、明细数据层DWD和数据汇聚层DWS。本实例中,省略数据清洗过程(比如忽略播放时长小于5秒的行为,补齐缺失的字段信息、统一来自不同业务系统的数据的单位、枚举定义等),直接从DWD层开始。同时,为简化示例,没有使用分区表。

按照前提假设,先准备好数据表内容画像数据,即内容标签表。在真实应用中,多采用HBase进行存储。本例中为演示方便,采用Hive表代替HBase表。如下所示:

第一步:构建用户兴趣偏好中间表。这里标签分层权重和剧集权重都默认为1。

第二步:构建用户消费统计表,计算用户消费的累计金额和累计次数。

 

第三步:构建用户标签表。这里涉及到将用户的年龄、累计消费金额、累计消费次数进行离散化的操作,即进行分箱操作。比较常见的分箱,包括等宽分箱、等频分箱或者根据业务人员的人工划分进行分箱。本例中,采用人工划分的方式分箱。此外,在实际应用中通常会取标签分值前N名的兴趣偏好标签作为用户的最终标签,本例中仅取分值第一的标签。

 

  1. HBase标签数据库的实现

为方便对外提供查询服务,通常标签数据会最终存在HBase或Redis中。本文以HBase方式进行举例。

HBase 表结构:

rowkey

basic

intserest

payment

用户唯一标识

(优先级: phone_num>dev_id)

 

基础属性列簇

兴趣偏好列簇

消费特征列簇

接下来要做的事,是将Hive中计算出的数据导出HBase中。在数据量不大的情况,可直接用Hive表映射HBase表的方式来实现。

建立映射关系后,往Hive表dws_user_tag表写入数据,即是往HBase表:hbase_user_tag表中写入数据。

  1. 标签服务的实现

完成用户画像的计算和存储后,需要将用户标签数据,以Rest API的方式向外开放。

  1. 输入参数

名称

类型

是否必须

描述

长度

最大最小值

userId

String

用户标识

0-32

 

  1. 返回结果

名称

类型

描述

支持排序

  group

string

列簇名

 

key

String

列名(标签名)

 

value

String

列值(标签值)

 

返回样例:

接下来,就是通过Java或Python访问HBase并提供Rest API。这里,本文就不再详细介绍了。

 

4用户画像的效果评估

如果把未经验证的用户画像直接上线,风险是非常大的。所以我们需要通过一些手段对用户画像的效果进行验证,分为离线测试阶段的指标评估和灰度发布阶段的A/B Test。

指标评估

用户画像的评估指标主要是指准确率、覆盖率、时效性等指标。

标签的准确率指的是被打上正确标签的用户比例,准确率是用户画像最核心的指标,一个准确率非常低的标签是没有应用价值的。准确率的评估一般有两种方法:一种是在标注数据集里留一部分测试数据用于计算模型的准确率;另一种是在全量用户中抽一批用户,进行人工标注,评估准确率。

标签的覆盖率指的是被打上标签的用户占全量用户的比例,我们希望标签的覆盖率尽可能的高。但实际应用过程中,针对很长时间不活跃的“僵尸用户”是很难计算其用户画像的,所以为了提高覆盖率需要定期清除“僵尸用户”。

标签的时效性指用户的兴趣偏好随时都在发生变化,需要及时更新用户标签。测试阶段针对离线用户画像需要验证兴趣衰减规则是否生效,针对实时用户画像需要验证用户过去几分钟甚至几秒中的行为是否被更新到用户画像中。

 

A/B 测试

A/B测试(也称为分割测试桶测试)是一种将应用程序的两个版本相互比较以确定哪个版本更好的方法,是一种常用的在线评测算法的实验方法。具体原理就是将线上用户进行分流(比如按地域或者渠道抽样成两份小流量进行分流实验),先将少部分用户分流到新版本用户画像上,根据给定的指标验证实验结果。具体操作步骤如下所示:

确定目标:假设用户画像用于视频App的个性化推荐,我们通常关注内容的点击率指标(即内容被点击效率/曝光次数),通过点击率评估测试验证是否通过。

设置分流规则:我们通常选取同一地域的两个相似渠道进行分流,渠道A仍然使用老版本的用户画像,渠道B使用新版本的用户画像。

运行实验:根据分流规则实施原流,并采集计算点击率相关的数据。

分析结果:个性化推荐收集运行实验后1天左右的数据,计算渠道AB的点击率并进行比较,若渠道A的点击率<渠道B的点击率,则表示本次实验通过。

 

随着大数据时代的到来,能够牢牢的抓住老客户、吸引新客户、读懂用户的偏好兴趣以及挖掘用户的潜在价值,这些对于运营商的的发展至关重要。而达成这一目标需要对用户市场进行细分实现精细化营销,应用数据挖掘技术对用户进行画像,实现用户细分,其研究和发展在实现运营商精确营销、提高工作效率、减少经营成本方面具有重要的指导意义和实用价值。本文以移动互联网用户行为作为研究对象,以用户画像理论作为理论依据,提出了用户画像系统的建设思路,采用标签化方法对用户行为以及用户偏好特征进行描述。本文首先对用户画像系统进行整体的阐述,分别从具象的语义化以及抽象的数学模型来对用户画像系统进行概述,再者从动态性以及时空局限性对用户画像的特性进行描述,最后从建模的角度,将用户画像系统分为静态信息画像以及动态信息画像,对其中的用到的建模方法以及所使用的数据挖掘算法进行了详细的介绍。其次对用户画像的整体架构上进行了描述。分别从系统的总体设计和功能架构,以及业务架构方面将用户画像系统设计思路进行详细的描述。再者文中结合运营商的经营特点以及业务经验,将用户画像系统分别从基础属性、业务属性、产品属性、渠道属性详细的阐述了用户静态信息标签构建的方法以及具体的分类。然后通过数据挖掘方法的方法实现中文分词,利用LDA聚类模型获得分词向量化从而获得用户文本的特征向量,接着利用改进的TF-IDF分类方法实现对用户不同维度信息的预测,从而构建了用户的互联网基础属性特征。其次通过对用户上网日志的解析和网络爬虫数据的匹配,构建内容的评分模型,实现对移动客户的特征、偏好等信息进行高度总结,从而生成用户移动互联网偏好特征标签,全面丰富了用户动态信息标签的构建。在此基础上,提出了用户画像系统运用列数据库对画像数据进行存储,标签元数据管理以及标签生命周期管理、查询机制和更新机制一系列完整的规范化的用户画像系统管理流程,从而构建一个完整闭环的用户画像系统。最后以营销过程中流量提升以及手机阅读软件用户量提升为例描述了用户画像系统在移动营销业务中的应用
近几年中国在淘宝、京东、天猫等巨头电商公司带动下迅猛发展,电商在中国显示出了强大的生命力,每家电商公司的商品更是以指数级的数量增长,可是在商品增长的同时,也无形中增加了用户寻找商品的困难程度。这个问题在小型智能移动终端尤其明显,用户在小型智能移动终端浏览大量的商品不仅会占用客户的时间还会消耗大量的流量,这种欠佳的浏览体验是导致用户转移购物平台的一个主要因素。本文设计并实现基于“用户画像”的商品推送系统正是在上述问题的基础之上立项的,将用户画像主动推送相结合,避免了用户在海量商品中苦苦寻求自己感兴趣的商品,不仅解决了商品过载的问题而且实现了对用户的精准营销。主要研究内容如下:首先介绍了基于“用户画像”的商品推送系统的立题意义以及相关的理论基础,对国内外推送系统的发展状况进行了深入调研,详细的阐述了所需要使用的技术。其次对基于“用户画像”的商品推送系统从需求、设计和实现的三个方面进行详细的说明,本系统主要构成为以下两个部分:(1)用户画像系统,首先以用户的个人历史行为为基础,通过评分矩阵模型构建用户兴趣模型,然后基于标签规则将用户兴趣模型转换为用户标签模型,用户画像系统则是以用户标签模型为基础生成的,并通过Echarts图表将用户画像进行展示。传统推送系统相比,本系统用户置于最重要的部分,对每个用户都实现精准营销。(2)商品个性化推送平台,调用本接口可以返回商品列表,返回的商品列表是在用户兴趣模型的基础上混合多种规则并加以过滤得到的最符合用户偏好的推送商品集合,以接口的形式给不同类型的小型智能移动终端提供数据。本接口应用Thrift框架编写,通过该框架进行系统之间的交互具有高性能、低延迟、支持同步和异步通信等优点。最后,为推送效果提供测试方案,商品推送系统的参数调优通过NDCG算法,NDCG表示归一化折损累积增益,该算法是当下比较流行的推荐系统评测指标之一,通过用户对推送商品的操作行为量化出用户对商品列表的满意程度,根据用户满意度进而对系统参数进行调整
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值