如何构建基于知识图谱的用户画像

这篇文章是瓜子内部Tech Talk的笔记,主要介绍如何构建基于知识图谱的用户画像,感谢家帅分享。

一、什么是知识图谱

知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。

这个定义太抽象,来看一个具体的例子。下图描述了关于“姚明” 的简单的用户画像,其中描述了“叶莉”是姚明的妻子

通过搜索引擎检索“姚明的妻子”就能检索出叶莉的先关信息,这就是用户画像在起作用

另外我们检索“姚明”,右边区域能够列出若干相关人物,这也是基于用户画像的推荐功能。

二、应用场景

瓜子二手车的业务主要设计两个实体(角色),“用户”和“车”,主要应用场景包括以下内容

人图谱:

内部:车源匹配客户,推荐和个性化排序,客户分级,售车线索/带看工单分级,客

户维护/召回,投放,风险模型……

外部:(卖家) 推荐新车/二手车以及金融、保险服务, (买家) 金融,保险

车图谱:

内部:检测标准化,车价/残值预估,延保定价,金融风险,保险定价(UBI),市场投

放参考,精准投放

外部:检测标准化(数据/技术输出),评估检测报告,车价/残值预估,金融风险,延

保定价……

三、系统设计

1、技术选型

易拓展

数据来源多,需要解决数据规模和多样性问题。采用HBase + MySql + Hive/Presto模式进行存储。mysql存储元数据;HBase做数据存储,HBase方便将数据整合到一起;Hive/Presto分析知识图谱。

准实时

数据流:Canal + Flume + Kafka

Cannal+Flume 准实时感知各种各种数据变化;Tracking数据通过Kafka实时获取

计算框架:Spark + Spark Streaming

Spark Streaming做实时计算(Storm在初始接入处理批量数据能力较弱);Spark做离线计算

可定制

数据接入可配置

基因(属性标签)可配置

2、系统架构

左边是数据源,通过各种工具进入大数据存储系统(HBase,HDFS,Kafka),Kafka做实时数据流处理,HBase、HDFS做数据备份。计算节点(Spark)清洗,提取属性、标签(复杂属性需要通过一些规则运算,模型实现)。基因放到Hbase,每天向Hive写一遍数据。 可以通过Presto查询。对外提供API服务(检索HBase),加上“调度、匹配、评价、分级”等算法模型,对外提供更丰富的服务

四、具体实现

1、数据模型

数据结构

object VS relation ,采用对象存储(HBase),不采用关系型存储,知识图谱用对象存储方便将实体属性聚合在一起,方便计算

数据格式

复杂行为采用json,方便进行拓展。初期json内容人可以看懂(二进制序列化节省空间,但人看不懂)

基本类型采用bytes,节省存储空间

数据关联

flatten and join ,权衡,平衡存储大小和性能。

身份关联

人车没有统一身份标识,通过各种可能的属性,专门的映射表存储身份标识,进行关联识别。

2、数据清洗

线上Tracking数据不一致。

PC,App,wap 三端数据格式不一致。主要包括数据内容、数据格式、数据单位、数据字典等方面

解决办法

统一埋点规范 推动业务线统一埋点

字典映射 解决不了的历史原因,通过字典映射

异常处理

3、定制化

数据接入可配置

支持线上tracking数据,线下业务数据,第三方数据等

基因可配置

包括逻辑表达式,数据影响力,时间限制,Web UI (通过界面设置),模型自动学习(机器学习)

4、身份识别

没有完善的用户体系,识别用户非常困难,主要通过一下方式进行身份识别

通过guid和设备号统一(保存在浏览器的localStorage)

根据页面预留手机号识别,

根据注册信息识别

线上线下行为识别

此外,还需要进行性能调优,服务质量控制方面的工作,本文不进行详细描述。

最后,贴一张图直观感受一下基因库(用户画像)

本文分享自微信公众号 - 普通程序员(farmerbrag)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏光城(guangcity)

亿级数据从 MySQL 到 Hbase 的三种同步方案与实践

1.导语2.工欲善其事,必先利其器 2.1 环境需知 2.2 伪分布式环境部署 2.2.1.准备工作 2.2.2 伪分布式3.亿级MyS...

21140
来自专栏实时计算

Hbase入门(四)——表结构设计-RowKey

Hbase的表结构设计与关系型数据库有很多不同,主要是Hbase有Rowkey和列族、timestamp这几个全新的概念,如何设计表结构就非常的重要。

13420
来自专栏实时计算

Hbase入门(三)——数据模型

Hbase最核心但也是最难理解的就是数据模型,由于与传统的关系型数据库不同,虽然Hbase也有表(Table),也有行(Row)和列(Column),但是与关系...

14420
来自专栏实时计算

Hbase入门(五)——客户端(Java,Shell,Thrift,Rest,MR,WebUI)

Hbase的客户端有原生java客户端,Hbase Shell,Thrift,Rest,Mapreduce,WebUI等等。

15120
来自专栏实时计算

Hbase入门(一)——初识Hbase

本文将介绍大数据的知识和Hbase的基本概念,作为大数据体系中重要的一员,Hbase弥补了Hadoop只能离线批处理的不足,支持存储小文件,随机检索。而这种特性...

11430
来自专栏IT大咖说

Zookeeper技术:分布式架构详解、分布式技术详解、分布式事务

特点:App、DB、FileServer分别部署在独立服务器上。并且访问请求量较少

9430
来自专栏原创

HBase2.0新特性详解 顶

个推作为专业的数据智能服务商,在业务开展过程中存在海量的数据存储与查询的需求,为此个推选用了高可靠、高性能、面向列、可伸缩的分布式数据存储系统——HBase。

9110
来自专栏实时计算

Hbase入门(二)——安装与配置

本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作。

11320
来自专栏服务端技术杂谈

一个打车应用早期架构发展史

快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,看下打车架构演变过程遇到的...

12020
来自专栏Hadoop实操

0712-6.2.0-HBase快照异常

这个问题是由于CDH6.2.0上在进行HBase Snapshot Restore的过程中,会先进行is_enabled的操作。但假如这个表是已经被drop掉的...

11120

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励