互联网中如何基于智能标签精准管理数据
这篇文章给大家分享的是有关互联网中如何基于智能标签精准管理数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、场景分析
1、场景案例
互联网行业的朋友一定了解或者听说过下列几个场景:
阿里:千人千面,意思不同用户使用阿里相关的产品感觉是不一样的,例如支付宝首页的推荐内容,和其他相关推荐流信息是完全不同的。
腾讯:社交广告,不同用户的朋友圈或者其他媒体场景下的广告信息是不同的,会基于用户特征推荐。
头条:信息价值,根据用户浏览信息,分析用户相关喜好,针对分析结果推荐相关的信息流,越关注某类内容,获取相关的信息越多。
如上几种场景的逻辑就是:基于不断分析用户的行为,生成用户的特征画像,然后再基于用户标签,定制化的推荐相关内容。
2、基本概念
通过上面的场景,衍生出来两个概念:
用户画像
用户画像,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,把该用户相关联的数据的可视化的展现,就形成了用户画像。用户画像在各领域得到了广泛的应用,最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。
标签数据
标签在生活中非常常见,比如商品标签,个人标签,行业标签,例如提到996就想到程序员,提到程序员就想到格子衫。
标签是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,进行结构化存储和更新管理,让业务线可以把这些细分结果推向现有的互动营销环境里的平台,产生价值,这些数据称为标签数据,也就是常说的标签库。数据标签的概念也是在最近几年大数据的发展中不断火热起来的。
标签价值
精细运营的基础,有效提高流量精准和效率。
帮助产品快速定位需求人群,进行精准营销;
能帮助客户更快切入到市场周期中;
深入的预测分析客户并作出及时反应;
基于标签的开发智能推荐系统;
基于某类用户的分析,洞察行业特征;
标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。
二、数据标签
1、标签划分
属性标签
属性标签是变化最小的,例如用户实名认证之后,基于身份信息获取相关:性别,生日,出生年月,年龄,等相关标签。变动频率小,且最具有精准性。
行为标签
行为标签就是用户通过在产品上的一系列操作,基于行为日志分析得出:例如购买能力、消费爱好、季节性消费标签等。在信息流的APP上,通过相关浏览行为,不断推荐用户感兴趣的内容就是基于该逻辑。
规则标签
根据业务场景需求,配置指定规则,基于规则生成分析结果,例如:
近7天活跃用户:近7天,每天都登录的用户作为规则生成;
丢失用户:六个月内没有任何操作,可以发放高额优惠劵;
潜在用户:使用或产生浏览数据,但是未发生任何交易行为;
这类标签可以基于动态的规则配置,经过计算和分析,生成描述结果,也就是规则标签。
拟合标签
拟合类的标签最具有复杂性,通过用户上述几种标签,智能组合分析,给的预测值,例如:未婚、浏览相关婚礼内容,通过分析预测用户将要举办婚礼,得到一个拟合结果:预测将要结婚。这个预测逻辑也可以反向执行,用户购买婴儿用品:预测已婚已育。
这就是数据时代常说的一句话:用户在某个应用上一通操作之后,算法分析的结果可能比用户对自己的描述还要真实。
2、标签加工流程
数据采集
数据采集的渠道相对较多,比如同一APP内的各种业务线:购物、支付、理财、外卖、信息浏览等等。通过数据通道传输到统一的数据聚合平台。有了这些海量日志数据的支撑,才具有数据分析的基础条件。不管是数据智能,深度学习,算法等都是建立在海量数据的基础条件上,这样才能获取具有价值的分析结果。
数据加工
结合如上业务,通过对海量数据的加工,分析和提取,获取相对精准的用户标签,这里还有关键的一步,就是对已有的用户标签进行不断的验证和修复,尤其是规则类和拟合类的相关标签。
标签库
通过标签库,管理复杂的标签结果,除了复杂的标签,和基于时间线的标签变,标签数据到这里,已经具有相当大的价值,可以围绕标签库开放一些收费服务,例如常见的,用户在某电商APP浏览某些商品,可以在某信息流平台看到商品推荐。大数据时代就是这么令人感觉智能和窒息。
标签业务
数据走了一大圈转换成标签,自然还是要回归到业务层面,通过对标签数据的用户的分析,可以进行精准营销,和智能推荐等相关操作,电商应用中可以提高成交量,信息流中可以更好的吸引用户。
应用层
把上述业务开发成服务,集成到具有的应用层面,不断提升应用服务的质量,不断的吸引用户,提供服务。当然用户的数据不断在应用层面产生,在转到数据采集服务中,最终形成完整的闭环流程。
3、应用案例
从流程和业务层面描述都是简单的,到开发层面都会变得复杂和不好处理,这可能就是产品和开发之间的隔阂。
标签的数据类型
不同标签的分析结果需要用不同的数据类型描述,在标签体系中,常用描述标签的数据类型如下:枚举、数值、日期、布尔、文本类型。不同的类型需要不一样的分析流程。
商品和标签
这里提供一个基础案例,用商品的标签来分析商品,例如通过商品产地,价格,状态等条件,来查询产品库有多少符合条件的商品。
数据表设计
主要分四张表:标签分类,标签库,标签值,标签数据。
CREATE TABLE `tc_tag_catalog` ( `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `catalog_name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT '名称', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `state` INT (1) DEFAULT '1' COMMENT '状态1启用,2禁用', PRIMARY KEY (`id`)) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '标签层级目录';CREATE TABLE `tc_tag_cloud` ( `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `catalog_id` INT (11) NOT NULL COMMENT '目录ID', `tag_name` VARCHAR (100) DEFAULT '' COMMENT '标签名称', `tag_code` INT (11) DEFAULT NULL COMMENT '标签编码', `bind_column` VARCHAR (100) DEFAULT '' COMMENT '绑定数据列', `data_type` INT (2) NOT NULL COMMENT '1枚举,2数值,3日期,4布尔,5值类型', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `remark` VARCHAR (150) DEFAULT NULL COMMENT '备注', `state` INT (1) DEFAULT '1' COMMENT '状态1启用,2禁用', PRIMARY KEY (`id`)) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '标签云';CREATE TABLE `tc_tag_data_enum` ( `tag_code` INT (11) NOT NULL COMMENT '标签编码', `data_value` VARCHAR (150) NOT NULL COMMENT '枚举值', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', KEY `tag_code_index` (`tag_code`) USING BTREE) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '标签枚举值';CREATE TABLE `tc_tag_data_set` ( `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `product_name` VARCHAR (100) DEFAULT '' COMMENT '商品名称', `unit_price` DECIMAL (10, 2) DEFAULT '0.00' COMMENT '单价', `is_shelves` INT (1) DEFAULT '1' COMMENT '是否上架:1否,2是', `origin_place` VARCHAR (100) DEFAULT '' COMMENT '产地', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`)) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '标签数据集';
模拟入参接口
这里的参数应该是基于需求,动态选取,进行组织到一起:
例如图片中这里给定的标签值列表,称为枚举值。
@RestControllerpublic class AnalyzeController { @Resource private TagDataSetService tagDataSetService ; @GetMapping("/analyze") public String analyze (){ ListtagParamList = new ArrayList<>() ; TagParam tagParam1 = new TagParam(1,"产地","origin_place") ; List valueList1 = new ArrayList<>() ; valueList1.add("深圳"); valueList1.add("广东"); tagParam1.setValueList(valueList1); tagParamList.add(tagParam1) ; TagParam tagParam2 = new TagParam(2,"价格","unit_price") ; List valueList2 = new ArrayList<>() ; valueList2.add("1999"); tagParam2.setValueList(valueList2); tagParamList.add(tagParam2) ; TagParam tagParam3 = new TagParam(3,"生产日期","create_time") ; List valueList3 = new ArrayList<>() ; valueList3.add("2020-05-01 13:43:54"); tagParam3.setValueList(valueList3); tagParamList.add(tagParam3) ; TagParam tagParam4 = new TagParam(4,"是否上架","is_shelves") ; List valueList4 = new ArrayList<>() ; valueList4.add("1"); tagParam4.setValueList(valueList4); tagParamList.add(tagParam4) ; TagParam tagParam5 = new TagParam(5,"产品名称","product_name") ; List valueList5 = new ArrayList<>() ; valueList5.add("智能"); tagParam5.setValueList(valueList5); tagParamList.add(tagParam5) ; Integer count = tagDataSetService.analyze(tagParamList) ; return "Result:" + count ; }}
参数解析查询
通过对参数的解析,最终形成查询的SQL语句,获取精准的结果数据。
@Servicepublic class TagDataSetServiceImpl extends ServiceImplimplements TagDataSetService { @Resource private TagDataSetMapper tagDataSetMapper ; @Override public Integer analyze(List tagParamList) { StringBuffer querySQL = new StringBuffer() ; for (TagParam tagParam:tagParamList){ querySQL.append(" AND ") ; querySQL.append(tagParam.getBindColumn()) ; // 1枚举,2数值,3日期,4布尔,5值类型 List valueList = tagParam.getValueList(); switch (tagParam.getDataType()){ case 1: querySQL.append(" IN (") ; for (int i = 0 ; i < valueList.size() ;i++){ if (i != valueList.size()-1){ querySQL.append("'").append(valueList.get(i)).append("',"); } else { querySQL.append("'").append(valueList.get(i)).append("'"); } } querySQL.append(" )") ; break; case 2: querySQL.append("=").append(tagParam.getValueList().get(0)) ; break; case 3: querySQL.append(">='").append(tagParam.getValueList().get(0)).append("'") ; break; case 4: querySQL.append("=").append(tagParam.getValueList().get(0)) ; break; case 5: querySQL.append(" LIKE '%").append(tagParam.getValueList().get(0)).append("%'") ; break; default: break; } } /* 最终执行的 SQL SELECT COUNT(*) FROM tc_tag_data_set WHERE 1 = 1 AND origin_place IN ('深圳', '广东') AND unit_price = 1999 AND create_time >= '2020-05-01 13:43:54' AND is_shelves = 1 AND product_name LIKE '%智能%' */ String whereCondition = String.valueOf(querySQL); return tagDataSetMapper.analyze(whereCondition); }}
可能有人会说这不就是个查询流程吗?如果有这样的疑问,把上述案例换成用户查询,标签数据的价值会更直观。
三、智能画像
1、基本概念
用户画像
作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。
行业画像
通过行业属性标签,行业下用户标签的综合分析,生成行业分析报告,提供极有价值的导向,这是最近两年极其热门的应用。
画像补全
通过不断分析用户数据,丰富标签库,使用户的画像更加丰富立体。
2、画像报告
通过标签数据的分析,生成一份分析报告,报告内容包含丰富的用户标签统计数据。
例如:90后画像报告
这个报告,互联网用户一定或多或少都看到过。主要是一些标签统计,共性标签展示,或者哪些群体对90后三观影响最大,收入来源,学历等各种分析解读。
感谢各位的阅读!关于"互联网中如何基于智能标签精准管理数据"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!