03 数据加工层 如何精准匹配用户画像与物品画像?

我们讲解了个性化流量分发体系搭建流程中的数据加工阶段,不过在前面我们主要讲解了如何构建结构化标签,并未提及用户画像和物品画像的构建,以及如何将用户画像与物品画像进行匹配。本节课我们探讨下如何通过深加工帮助用户快速获取有效信息。

对于大部分互联网公司而言,它们提供的服务主要以信息发布和交易撮合为主,因此在搭建个性化流量分发体系时,我们最大的困难是如何基于流量场景实现用户与物品的快速匹配,从而实现用户利益与平台利益最大化。

为了实现这个目标,首先我们需要将用户标签和物品标签进行解构,然后通过某种媒介形式(也就是 02 讲介绍的结构化标签体系)把这两者进行快速匹配。

比方说你正在请女朋友吃饭,拿到菜单时到底该点什么菜呢?如果你们之前一起吃过好几次饭,你就已经知道她喜欢吃什么不喜欢吃什么(用户动态行为),她是不是有忌口(用户数据),再看一眼饭店菜单(物品静态数据),就立马知道点什么菜了。

通过以上这个例子,我们大致理解了这个场景。那如何解构用户标签和物品标签呢?这就涉及用户画像和物品画像的构建。

下面我们先一起来看看用户画像的构建过程。

构建用户画像

什么是用户画像?用户画像说白了就是一个人的标签集合。关于用户标签是什么以及怎么划分,02 讲中我们已经介绍过了,这里就不过多赘述了

那如何构建用户画像呢?构建用户画像前,我们首先需要从用户基础信息和动机信息出发,再从不同类型用户中抽取出一个典型特征来还原一个用户的特征,而这个特征抽取的过程就是用户画像构建的过程。

为了便于你理解,我们也举一个简单例子说明下。以58 同城本地服务为例,为了尽可能全面地描述用户信息,首先我们需要挖掘用户的人口属性、地理位置、上网习惯、兴趣偏好、业务行为偏好、业务属性等数据,然后将这些数据不断优化更新,再抽象出具体的信息标签,最后通过组合的方式搭建出一个立体虚拟模型。

1.用户动机与特征

学到这,我们有必要普及下用户动机、特征这两个概念。

1)用户动机

在选择和使用媒体时,用户往往具备很强的主动权和目的性,因此用户动机其实指的就是用户使用互联网的目的,它通常分为社交、消磨时间、查找信息、分享、表达、娱乐……这几种。

2)特征

用户画像由大量的特征组成,比如基本特征、统计特征、偏好特征等,而特征的特点分为以下三点,也可参考下图进行理解。

  • 特征最直观的一个属性是有特征值,而这个特征值可以是单值,也可以是多值,它具有具体数据类型、数据分布,比如枚举范围、日期类、真实值等。

  • 同时,特征还有生成逻辑,它主要通过规则或者算法模型产生,且在不同条件下它还会产生新的特征。

  • 除此之外,特征还能区分类目城市。

如果我们想要根据用户画像来进行针对性的业务提升,就需要对画像中的大量特征及特征值进行维护和管理,接下来我们一起看下特征管理的实现过程及注意要点。

2.特征管理的实现过程

在实际业务中存在着具体特征、管理特征与特征值时,首先我们通过维度将具体特征进行归类,并对特征值进行管理;接着,针对不同条件我们使用限定词来扩充特征;最后,我们把特征和特征值属性归类到特征和特征值字典中进行维护。

下图所示是我们的实际业务场景——58 同城到家精选保洁业务。

在特征管理过程中,有几个注意要点我需要说明下。

在生成特征后,如果重新导入特征,特征依赖就会出现环状结构,引起特征血缘错乱。

因此,业务方申请特征时,我们需要检测是否有环状结构。如果该特征在使用时又产生了新数据,那么这些新数据就会通过数仓写入画像系统,此时我们同样需要对其进行检测。

以下图为例,业务 1 使用特征 1 会产出特征 2,业务 2 使用特征 2 会产出特征 3,如果业务 3 使用特征 1 和特征 3 会产出特征 2,根据之前的内容介绍我们推导特征 2 会产出特征 3,也就是说这种情况下会出现环状结构。

那遇到这种情况怎么解决呢?我们发现此问题的出现是因为特征 1 使用了特征 3,因此我们不能使用特征 3 ,而应当把特征 1 和特征 2 整合计算后新生成特征 4,这样才不会出现依赖环。

由于维度匮乏、信息缺失、信息不准确等原因,很多时候我们仅依靠用户个人填写的基础信息很难对真实系统进行全方位的刻画,因此我们还需要借助算法模型进行预测。

比如一些看似抽象的职业标签,通过海量的数据分析后我们就能推测出一部分用户的职业类型,且经过模型预测后该值的概率较高,比如那些经常定位在政府机关的用户,其为公务员的可能性比较大。

再比如用户的下单行为,我们也能通过海量的数据分析推测出一部分人正处于哪个人生阶段,且经过模型预测后该值的概率较高,比如最近经常浏览“房屋装修”服务的用户,有可能正处于装修期。再比如在服务评价里经常称呼男朋友、女朋友的用户有可能正处在恋爱期。

当然,这些蛛丝马迹的可能仅仅是相对应算法的输入特征,至于结果究竟如何还需要通过更完善的模型来判别。

那么用户画像构建好后,它可以用来做什么呢?

3.用户画像的应用用途

有了用户画像后,我们就可以使用它进行业务分析、精准运营、算法应用、广告投放、用户变现等。如下图所示,通过分析画像当中用户的基本属性、消费信息、行为数据,我们就可以对其进行个性化推荐、精准广告投放。

其实,用户画像还可以对外提供三大能力:

1) IDMapping “能唯一定位一个人”

2) 受众定向 “能找到这批人”

3) 人群扩选 “能找到和这批人相似的人”

比如 58 集团拥有 58 同城、赶集网、安居客、中华英才网等多个互联网业务,彼此之间的用户体系需要打通。在 58 同城内部,我们就是通过用户 ID 打通了 58 同城、赶集网、安居客等平台的核心数据源,各使用方使用一个账号或手机号就能获取到该用户在各个业务线的全部行为。

这里,我们主要提一下 IDMapping、受众定向、人群扩选这三个概念。

  1. IDMapping

是指针对单个用户 ID,我们基于用户历史行为,比如登录记录、下单记录、评价记录等多维信息为其呈现对应的特征画像。

  1. 受众定向

是指通过对用户包人群进行计算,利用多标签间交集、并集(去重)、差集等操作进行人群的筛选和生成。俗话说“物以类聚,人以群分”,相比 ID Mapping 而言,受众定向针对的不是某个单个用户,而是分析呈现一群用户的特征。

以 58 同城本地服务为例,找“月嫂”的用户通常不是找“婚庆服务”的用户,卖家可以把最近 30 天在店铺有成交记录的用户的身份和偏好进行分析,然后相应调整营销策略、定向投放广告。

  1. 人群扩选

是将已知的一部分用户作为种子,产出特征相似更广的用户集,人群扩选常见的流量应用场景如广告精准投放、拉新促活等,它的实现思路主要分为以下三大步骤。

  • 特征汇总 :发现用户的共有特征,便于寻找其相似用户。

  • 特征处理 :一般来说,不同特征之间可能存在不同数据类型,且连续型特征之间的量级往往差异很大。以 58 同城本地服务的客单价特征为例,房屋装修的客单价从几万到几十万不等,而管道疏通的客单价一般是几十到上百不等,为此特征处理就显得尤为重要。

  • 特征差异化分析 :在对特征进行差异化分析时,我们先对输入人群和全网用户特征向量上的比例进行对比,然后分析两者之间差异,再提取一部分显著性差异,最后利用显著性特征对输入人群进行放大。

以 58 同城本地服务为例,经过特征汇总和处理后,我们发现找“租房”的用户与找“搬家”、“保洁”的用户存在一定重合,从而快速找到了这三个品类的潜在用户群体。

构建物品画像

物品画像同用户画像一样,我们可以把物品画像构建简单地理解为物品信息标签化的过程。

在这个过程中,我们首先需要挖掘物品结构化标签,再通过各个维度把结构化标签进行有序组织,最终形成物品画像。

物品画像主要分为基本信息、供给侧信息、存储侧信息、消费侧信息这 4 个层面,下面我们以 58 同城到家精选服务画像为例,

  • 基本信息包括类目属性、价格信息、店铺信息、商家信息等;

  • 供给侧信息包括商家供给数、商家服务能力分等;

  • 存储侧信息包括库存数、库存金额等;

  • 消费侧信息包括订单数、下单用户数、销量信息、优惠券金额、实付金额等,这些信息经过不同维度提取后,最终构成了完整的物品画像。

用户画像与物品画像匹配

用户画像与物品画像都构建好之后,我们就可以通过个性化流量分发体系实现快速匹配了,如搜索、推荐、精准推送等。

为方便你更容易理解这部分内容,我们简单举个例子说明下。

比如 58 同城到家精选用户标签中有价格段偏好,物品画像标签中也有价格段偏好,如果用户经常下单 100~200 元的保洁服务,用户画像中就会产生一个 100~200 元保洁服务的标签。而如果物品画像中保洁服务的 SKU 正好是 100~200 元,我们就可以利用个性化流量分发体系将用户标签与物品标签对齐,最终实现个性化、精准化匹配。

在利用画像将用户和物品进行打通时,用户画像和物品画像之间往往存在着很多交集和联动,这就要求我们通过大数据对画像系统进行查询组合处理。比如我们需要通过画像找到物品的目标用户,再将物品推荐或推送给用户,这个过程两者之间就存在着很多交集与联动。

而查询组合的过程其实就是一个树形结构(如下图所示),其中叶子节点是具体查询条件,它用来记录查询条件,如查询字段、条件符、值等。根节点是条件符;在该条件基础之上根节点又会与新查询条件聚合,并创建出一个新的叶子节点,后续并以此类推。而关系节点连接叶子节点,用来记录左查询条件、交集并集操作符及右查询条件。

你可以看到,在查询组合时是多状态的,为了简化查询业务流程,就需要我们对查询条件进行一定的封装,那我们又该如何对查询条件进行封装呢?查询条件封装过程分为 4 个步骤,具体如下图所示:

  • 查询条件创建叶子节点;

  • 与其他节点取交集/并集运算;

  • 创建新节点(当前节点为左节点,设置运算符,其他节点为右节点);

  • 返回新节点。

总的来说,在用户画像与物品画像匹配的过程中,精细化、个性化才是根本。

体系评估

在使用用户画像和物品画像时,首先我们需要对画像体系进行有效性判断,即体系评估,以期达成使用目标。

在对用户画像和物品画像评估时,我们可以基于画像标签的指标分别从准确率、覆盖率、平均标签数、时效性、其他指标等维度进行评定。在这里,我们把用户和物品统称为项目,以下举例皆是以用户画像为主,物品画像为辅。

1.准确率

准确率是画像标签中最核心的指标,对于体系匹配效果具有决定性意义,比如说我们想找到 58 同城到家精选偏好是 100-200 元的保洁服务的用户,如果标记为 100-200 元的这个用户的标签是错的,那我们找到的用户也肯定是错的。

标签的准确率为被打对标签的项目数除以打上这个标签的项目数,关于准确率的计算方法如下所示:

2.覆盖率

覆盖率是画像标签的重要指标之一,是体系匹配效能达成的保证,比如我们还是想找 58 同城到家精选偏好是 100-200元 的保洁服务的用户,如果“100-200 元”这个标签标记的用户只有 3 人,那么这个标签也没有意义,因此标签需要覆盖总体项目的一定比例。

关于覆盖率的计算方法是打上该标签的项目数与总项目数之比,其具体计算公式如下所示:

3.平均标签数

标签是项目单个维度的反映,因此我们需要给每个项目打上多种标签,只有这样我们才能更全面地理解这个项目,那项目的平均标签数如何定义呢?

关于平均标签数的计算方法是项目的标签总数与被打上标签的项目数之比,其具体计算公式如下所示:

4.其他指标

标签具有唯一性、可读性等其他指标,因这些指标无法给出量化标准,所以在评估时只是用来作为辅助参考,如在 58 同城本地服务中,“货车搬家”“厢货搬家”属于同义标签,因此需要进行统一归一化处理。

最后,特别声明一下:在对画像体系进行评估时,我们需要优先保证画像标签的准确率和覆盖率。

本节总结

学到这里,恭喜你已经了解了用户画像和物品画像搭建的全过程,04 讲我们将开始了解推荐系统的评价标准。

对于用户画像和物品画像构建的内容,如果你还有不同的见解,欢迎在留言区与我分享个人观点。另外,如果本节课内容对你有启发和帮助,欢迎分享给更多的朋友哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/789667.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

漏洞挖掘思路分享 | 首次尝试cnvd捡洞

因为那天项目刚忙完闲来无事,尝试捡个cnvd洞,cnvd录取要五千万资产,自己又懒得找毕竟捡洞嘛,索性去cnvd上进行搜集 直接开搜弱口令,因为我比较喜欢有登录框的站,这样搜索出来的资产可能就更容易进行挖掘 随…

Paimon下载使用和基础操作说明

简介 Apache Paimon 是一种湖格式,支持使用 Flink 和 Spark 构建实时湖仓一体架构 用于流式处理和批处理操作。Paimon创新性地将湖格式与LSM(Log-structured merge-tree)相结合 结构,将实时流式更新引入 Lake 架构。 Paimon提供以…

IoC源码分析——singleton bean创建与循环依赖

文章目录 概要主流程bean的创建循环依赖 概要 容器初始化时,会创建单例bean,本文主要关注单例bean是如何创建的,并说明源码中是如何解决循环依赖的 代码入口 Testpublic void testIoC() {// ApplicationContext是容器的高级接口&#xff0c…

中霖教育怎么样?税务专业可以考哪些证书?

在税务专业领域,专业技能的认证对职业发展至关重要。以下为税务专业相关可以考的证书: 1. 注册税务师资格证书:该证书是税务专业人士的关键资质,使持证者可以从事税务相关工作。 2. 会计职称证书:会计系列证书分为初…

即时通讯平台项目测试(主页面)

http://8.130.98.211:8080/login.html项目访问地址:即时通讯平台http://8.130.98.211:8080/login.html 本篇文章进行项目主页面的测试。 在测试前需要先对待测内容进行分类,按照功能进行分类可以分为:个人信息设置、发送/接收消息、添加好友…

python-25-零基础自学python-处理异常三兄弟try-except-else

学习内容:《python编程:从入门到实践》第二版第十章 知识点: 程序异常如何处理?try-except-else try-尝试可能引起错误的步骤 except-错误步骤发生,打印一些需要用户知道的信息,没有就pass else-错误不…

【密码学】公钥密码的基本概念

在先前我写的密码学体制文章中谈到,现代密码学分为两大体制,介绍了一些有关对称密码体制诸如流密码和分组密码的内容。本文的主要内容则切换到公钥密码体制(又称非对称密码体制),简述了公钥密码体制的基本思想和应用方…

MFC常见问题解决

文章目录 1. 单文档程序初始化显示设置问题解决方案 2. MFC中控件响应出错 1. 单文档程序初始化显示设置 问题 在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序…

传神论文中心|第16期人工智能领域论文推荐

在人工智能领域的快速发展中,我们不断看到令人振奋的技术进步和创新。近期,开放传神(OpenCSG)社区发现了一些值得关注的成就。传神社区本周也为对AI和大模型感兴趣的读者们提供了一些值得一读的研究工作的简要概述以及它们各自的论…

MiniGPT-Med 通用医学视觉大模型:生成医学报告 + 视觉问答 + 医学疾病识别

MiniGPT-Med 通用医学视觉大模型:生成医学报告 视觉问答 医学疾病识别 提出背景解法拆解 论文:https://arxiv.org/pdf/2407.04106 代码:https://github.com/Vision-CAIR/MiniGPT-Med 提出背景 近年来,人工智能(AI…

Mybatis的学习

什么是MyBatis? MyBatis 是一款优秀的持久层框架,用于简化JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github 官网:https://mybatis…

Python的语言特性

1,python是动态语言 在编译期间就确定变量类型的语言是静态语言 在运行期间才知道变量类型的是动态语言 2,python是强类型语言 不同类型的变量是否允许隐式转换

简过网:哪些证书适合上班族考?这些证书挂着就能挣钱!

考证不一定暴富,但找工作时一定吃香 今天给大家整理几个比较吃香的证书! 不仅含金量高还可以领补贴 建议大家有时间都考一考 普通人就冲一冲:教资、二建、一建、一造、监理!! ​ ★ 教师资格证书 报名时间&#x…

STM32G4 DMA的使用(寄存器开发)

下面以STM32G474为例,使用DMA来存储USART1的接收数据。 1. 查看硬件支持 首先查看要使用的DMA支持的通道数,在手册中有如下说明。 根据上图可以看到,对于不同的设备类型有不同的DMA通道数量。设备类型分类如下图所示。 我使用的是STM32G474…

获取天气数据

获取天气数据其实是一个简单的HTTP接口,根据用户输入的adcode,查询目标区域当前/未来的天气数据,数据来源是中国气象局。 第一步,申请”web服务 API”密钥(Key); 链接: 首页 | 高德控制台 (am…

Redis基础教程(二十):Java使用Redis

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

架构师机器学习操作 (MLOps) 指南

MLOps 是机器学习操作的缩写,是一组实践和工具,旨在满足工程师构建模型并将其投入生产的特定需求。一些组织从一些自主开发的工具开始,这些工具在每次实验后对数据集进行版本控制,并在每个训练周期后对检查点模型进行版本控制。另…

Mybatis的优缺点及适用场景?

目录 一、什么是Mybatis? 二、Mybatis框架的特点 三、Mybatis框架的优点? 四、MyBatis 框架的缺点? 五、MyBatis 框架适用场合? 六、代码示例 1. 配置文件 mybatis-config.xml 2. 映射文件 UserMapper.xml 3. Java 代码…

了解劳动准备差距:人力资源专业人员的战略

劳动准备差距是一个紧迫的问题,在全球人事部门回应,谈论未开发的潜力和错过的机会。想象一下,人才和需求之间的悬崖之间有一座桥,这促使雇主思考:我们是否为员工提供了足够的设备来应对未来的考验? 这种不…

kali安装vulhub遇到的问题及解决方法(docker及docker镜像源更换)

kali安装vulhub: 提示:项目地址 https://github.com/vulhub/vulhub 项目安装: git clone https://github.com/vulhub/vulhub.git 安装docker 提示:普通用户请使用sudo: 首先安装 https 协议、CA 证书 apt-get in…