数据分析

数据分析

数据剖析 | 基于智能标签,精准管理数据

采集交流优采云 发表了文章 • 0 个评论 • 312 次浏览 • 2020-08-03 19:03 • 来自相关话题

  腾讯:社交广告,不同用户的朋友圈或则其他媒体场景下的广告信息是不同的,会基于用户特点推荐。
  头条:信息价值,根据用户浏览信息,分析用户相关喜好,针对剖析结果推荐相关的信息流,越关注某类内容,获取相关的信息越多。
  如上几种场景的逻辑就是:基于不断剖析用户的行为,生成用户的特点画像,然后再基于用户标签,定制化的推荐相关内容。
  2、基本概念
  通过前面的场景,衍生下来两个概念:
  用户画像
  用户画像,作为一种描绘目标用户、联系用户诉求与设计方向的有效工具,把该用户相关联的数据的可视化的诠释,就产生了用户画像。用户画像在各领域得到了广泛的应用,最初是在电商领域得到应用的,在大数据时代背景下,用户信息参杂在网路中,将用户的每位具体信息具象成标签,利用这种标签将用户形象具体化,从而为用户提供有针对性的服务。
  标签数据
  标签在生活中十分常见,比如商品标签,个人标签,行业标签,例如提及996就想到程序员,提到程序员就想到格子衫。
  标签是把分散的多方数据进行整合划入统一的技术平台,并对那些数据进行标准化和细分,进行结构化储存和更新管理,让业务线可以把这种细分结果推向现有的互动营销环境里的平台,产生价值,这些数据称为标签数据,也就是常说的标签库。数据标签的概念也是在近来几年大数据的发展中不断火爆上去的。
  标签价值
  标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。
  二、数据标签1、标签界定
  属性标签
  属性标签是变化最小的,例如用户实名认证以后,基于身分信息获取相关:性别,生日,出生年月,年龄,等相关标签。变动频度小,且最具有精准性。
  行为标签
  行为标签就是用户通过在产品上的一系列操作,基于行为日志剖析得出:例如订购能力、消费爱好、季节性消费标签等。在信息流的APP上,通过相关浏览行为,不断推荐用户感兴趣的内容就是基于该逻辑。
  规则标签
  根据业务场景需求,配置指定规则,基于规则生成剖析结果,例如:
  这类标签可以基于动态的规则配置,经过估算和剖析,生成描述结果,也就是规则标签。
  拟合标签
  拟合类的标签最具有复杂性,通过用户上述几种标签,智能组合剖析,给的预测值,例如:未婚、浏览相关婚宴内容,通过剖析预测用户即将举行婚宴,得到一个拟合结果:预测即将订婚。这个预测逻辑也可以反向执行,用户订购小孩用具:预测未婚已育。
  这就是数据时代常说的一句话:用户在某个应用上一通操作过后,算法剖析的结果可能比用户对自己的描述还要真实。
  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 = '标签数据集';
  
  模拟入参插口
  这里的参数应当是基于需求,动态选定,进行组织到一起:
  
  例如图片中这儿给定的标签值列表,称为枚举值。
  @RestController
public class AnalyzeController {
@Resource
private TagDataSetService tagDataSetService ;
@GetMapping("/analyze")
public String analyze (){
List tagParamList = 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句子,获取精准的结果数据。
  @Service
public class TagDataSetServiceImpl extends ServiceImpl implements 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后画像报告
  这个报告,互联网用户一定或多或少都听到过。主要是一些标签统计,共性标签展示,或者什么群体对80后三观影响最大,收入来源,学历等各类剖析评析。
  四、源代码地址
  GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent 查看全部

  腾讯:社交广告,不同用户的朋友圈或则其他媒体场景下的广告信息是不同的,会基于用户特点推荐。
  头条:信息价值,根据用户浏览信息,分析用户相关喜好,针对剖析结果推荐相关的信息流,越关注某类内容,获取相关的信息越多。
  如上几种场景的逻辑就是:基于不断剖析用户的行为,生成用户的特点画像,然后再基于用户标签,定制化的推荐相关内容。
  2、基本概念
  通过前面的场景,衍生下来两个概念:
  用户画像
  用户画像,作为一种描绘目标用户、联系用户诉求与设计方向的有效工具,把该用户相关联的数据的可视化的诠释,就产生了用户画像。用户画像在各领域得到了广泛的应用,最初是在电商领域得到应用的,在大数据时代背景下,用户信息参杂在网路中,将用户的每位具体信息具象成标签,利用这种标签将用户形象具体化,从而为用户提供有针对性的服务。
  标签数据
  标签在生活中十分常见,比如商品标签,个人标签,行业标签,例如提及996就想到程序员,提到程序员就想到格子衫。
  标签是把分散的多方数据进行整合划入统一的技术平台,并对那些数据进行标准化和细分,进行结构化储存和更新管理,让业务线可以把这种细分结果推向现有的互动营销环境里的平台,产生价值,这些数据称为标签数据,也就是常说的标签库。数据标签的概念也是在近来几年大数据的发展中不断火爆上去的。
  标签价值
  标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。
  二、数据标签1、标签界定
  属性标签
  属性标签是变化最小的,例如用户实名认证以后,基于身分信息获取相关:性别,生日,出生年月,年龄,等相关标签。变动频度小,且最具有精准性。
  行为标签
  行为标签就是用户通过在产品上的一系列操作,基于行为日志剖析得出:例如订购能力、消费爱好、季节性消费标签等。在信息流的APP上,通过相关浏览行为,不断推荐用户感兴趣的内容就是基于该逻辑。
  规则标签
  根据业务场景需求,配置指定规则,基于规则生成剖析结果,例如:
  这类标签可以基于动态的规则配置,经过估算和剖析,生成描述结果,也就是规则标签。
  拟合标签
  拟合类的标签最具有复杂性,通过用户上述几种标签,智能组合剖析,给的预测值,例如:未婚、浏览相关婚宴内容,通过剖析预测用户即将举行婚宴,得到一个拟合结果:预测即将订婚。这个预测逻辑也可以反向执行,用户订购小孩用具:预测未婚已育。
  这就是数据时代常说的一句话:用户在某个应用上一通操作过后,算法剖析的结果可能比用户对自己的描述还要真实。
  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 = '标签数据集';
  
  模拟入参插口
  这里的参数应当是基于需求,动态选定,进行组织到一起:
  
  例如图片中这儿给定的标签值列表,称为枚举值。
  @RestController
public class AnalyzeController {
@Resource
private TagDataSetService tagDataSetService ;
@GetMapping("/analyze")
public String analyze (){
List tagParamList = 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句子,获取精准的结果数据。
  @Service
public class TagDataSetServiceImpl extends ServiceImpl implements 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后画像报告
  这个报告,互联网用户一定或多或少都听到过。主要是一些标签统计,共性标签展示,或者什么群体对80后三观影响最大,收入来源,学历等各类剖析评析。
  四、源代码地址
  GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent

【虾哥SEO】常见SEO数据剖析的重要性以及方法!

采集交流优采云 发表了文章 • 0 个评论 • 391 次浏览 • 2020-07-07 08:02 • 来自相关话题

  5、外链数目
  6、核心关键词排名
  7、内页长尾关键词排行数目
  。。。。。。。
  
  我们先来点评一下seo快速排名软件 虾哥,为什么往年的SEO数据剖析,不能做到从数据驱动SEO。我们逐字剖析一下往年做条目。
  1、在其他诱因不变的情况下,PR或则百度权重高,流量一定高吗?很显然不是,而且还只是首页的PR值或则百度权重,对于任意一个网站来说,首页的流量仅仅是一小部份,对于超级大站来说,首页的流量所占比列小到可以忽视。(由于基数大,小比列的数据也比好多网站可观了)。首页PR(百度权重)数据完全没必要剖析。
  2、Alexa的数据还有一定的参考性,但是对国外网站来说,几乎可以无视,除了搞IT的,基本没人会装。Alexa统计的流量是所有流量,并非单纯的SEO流量,所以对SEO没很大关系,不过Alexa的数据获取比较容易,就作为一个参考吧。
  3、site收录准不准先不说,问题是site下来的数据有哪些意义呢?如果一个网站有1个亿的页面,site下来100万,是好还是坏?一个网站有1万个页面,site下来是1万,是好还是坏?因此,除了site的数据,你起码得晓得这个网站有多少页面量,否则site的数据毫无意义;一切收录量还是以百度站长工具当中的索引量为准。
  4、首页快照,网页有更新了,爬虫可能拍个照,快照时间更新一下。更多时侯你页面动都没动。你指望快照变化对你SEO有哪些影响呢?而且和首页PR(百度权重)同理,首页只是一个页面而已,没这么特殊。
  5、外链数目,外链为王,外链数目肯定是重要的。外链真的是越多越好吗?有的查询网站很明显排行第1的比排行第10的外链少得多的多。其实外链的整体质量很难评判,反正你也统计不全,何必要用这个数目作为一个结果,如果相关外链多,则排行都会提升,这不是我说的,是Google、百度说的。所以我们统计排行这个直接诱因就好了,而且百度和微软对于外链的过滤机制成熟,低质量的外链发太多反倒影响网站排名。
  6、说到排行,要谈谈核心关键词的排行与网站整体排行的问题。相信诸位SEO站长手头都有自己的网站,看看流量报告吧,那些核心关键词能带来的流量占所有流量的比列是多少?但是通常做SEO优化的时侯,大家都习惯于把资源集中在几个核心词上,而大量的关键词流量,都属于没人要的,随便分配一些资源过去,流量就上来了。只看核心词的排行做SEO,属于“捡了芝麻,丢了西瓜”。“两手都要抓,两手都要硬”,平均分配资源,才能利润最大化。
  从以上几个数据可以看出,过往的SEO数据剖析,分析的数据大都是不靠谱、不确切的。自然对SEO没哪些影响,而且从那些数据中,也很难发觉核心问题。SEO数据剖析seo快速排名软件 虾哥,往往就成了一个“噱头”,花了大量时间精力,却连一点疗效和指导也没有。
  那么怎么做SEO的数据剖析?先推荐一些前人的智慧(曾庆平SEO:大家可以在百度搜索一下以下文章)
  1、前阿里巴巴SEO国平:
  详解光年SEO日志剖析系统2.0
  网页加载速率是怎样影响SEO疗效的
  2、天极网SEO废魅族:
  百度收录抽检
  任重而道远--IT垂直类门户搜索引擎关键词排行对比
  虽然有些文章很老,但是到现今也太有指导性作用。先不借用谁的理论,我们从事实出发,好好回想一下用户是怎样通过搜索引擎来到我们网站的。
  1、用户在搜索框中输入一个关键词。
  2、用户在搜索结果页面中阅读大量结果。
  3、用户点击步入某个他满意的结果。
  虾姐SEOSEO数据剖析
  ---------&gt; 查看全部

  5、外链数目
  6、核心关键词排名
  7、内页长尾关键词排行数目
  。。。。。。。
  
  我们先来点评一下seo快速排名软件 虾哥,为什么往年的SEO数据剖析,不能做到从数据驱动SEO。我们逐字剖析一下往年做条目。
  1、在其他诱因不变的情况下,PR或则百度权重高,流量一定高吗?很显然不是,而且还只是首页的PR值或则百度权重,对于任意一个网站来说,首页的流量仅仅是一小部份,对于超级大站来说,首页的流量所占比列小到可以忽视。(由于基数大,小比列的数据也比好多网站可观了)。首页PR(百度权重)数据完全没必要剖析。
  2、Alexa的数据还有一定的参考性,但是对国外网站来说,几乎可以无视,除了搞IT的,基本没人会装。Alexa统计的流量是所有流量,并非单纯的SEO流量,所以对SEO没很大关系,不过Alexa的数据获取比较容易,就作为一个参考吧。
  3、site收录准不准先不说,问题是site下来的数据有哪些意义呢?如果一个网站有1个亿的页面,site下来100万,是好还是坏?一个网站有1万个页面,site下来是1万,是好还是坏?因此,除了site的数据,你起码得晓得这个网站有多少页面量,否则site的数据毫无意义;一切收录量还是以百度站长工具当中的索引量为准。
  4、首页快照,网页有更新了,爬虫可能拍个照,快照时间更新一下。更多时侯你页面动都没动。你指望快照变化对你SEO有哪些影响呢?而且和首页PR(百度权重)同理,首页只是一个页面而已,没这么特殊。
  5、外链数目,外链为王,外链数目肯定是重要的。外链真的是越多越好吗?有的查询网站很明显排行第1的比排行第10的外链少得多的多。其实外链的整体质量很难评判,反正你也统计不全,何必要用这个数目作为一个结果,如果相关外链多,则排行都会提升,这不是我说的,是Google、百度说的。所以我们统计排行这个直接诱因就好了,而且百度和微软对于外链的过滤机制成熟,低质量的外链发太多反倒影响网站排名。
  6、说到排行,要谈谈核心关键词的排行与网站整体排行的问题。相信诸位SEO站长手头都有自己的网站,看看流量报告吧,那些核心关键词能带来的流量占所有流量的比列是多少?但是通常做SEO优化的时侯,大家都习惯于把资源集中在几个核心词上,而大量的关键词流量,都属于没人要的,随便分配一些资源过去,流量就上来了。只看核心词的排行做SEO,属于“捡了芝麻,丢了西瓜”。“两手都要抓,两手都要硬”,平均分配资源,才能利润最大化。
  从以上几个数据可以看出,过往的SEO数据剖析,分析的数据大都是不靠谱、不确切的。自然对SEO没哪些影响,而且从那些数据中,也很难发觉核心问题。SEO数据剖析seo快速排名软件 虾哥,往往就成了一个“噱头”,花了大量时间精力,却连一点疗效和指导也没有。
  那么怎么做SEO的数据剖析?先推荐一些前人的智慧(曾庆平SEO:大家可以在百度搜索一下以下文章)
  1、前阿里巴巴SEO国平:
  详解光年SEO日志剖析系统2.0
  网页加载速率是怎样影响SEO疗效的
  2、天极网SEO废魅族:
  百度收录抽检
  任重而道远--IT垂直类门户搜索引擎关键词排行对比
  虽然有些文章很老,但是到现今也太有指导性作用。先不借用谁的理论,我们从事实出发,好好回想一下用户是怎样通过搜索引擎来到我们网站的。
  1、用户在搜索框中输入一个关键词。
  2、用户在搜索结果页面中阅读大量结果。
  3、用户点击步入某个他满意的结果。
  虾姐SEOSEO数据剖析
  ---------&gt;

数据剖析 | 基于智能标签,精准管理数据

采集交流优采云 发表了文章 • 0 个评论 • 312 次浏览 • 2020-08-03 19:03 • 来自相关话题

  腾讯:社交广告,不同用户的朋友圈或则其他媒体场景下的广告信息是不同的,会基于用户特点推荐。
  头条:信息价值,根据用户浏览信息,分析用户相关喜好,针对剖析结果推荐相关的信息流,越关注某类内容,获取相关的信息越多。
  如上几种场景的逻辑就是:基于不断剖析用户的行为,生成用户的特点画像,然后再基于用户标签,定制化的推荐相关内容。
  2、基本概念
  通过前面的场景,衍生下来两个概念:
  用户画像
  用户画像,作为一种描绘目标用户、联系用户诉求与设计方向的有效工具,把该用户相关联的数据的可视化的诠释,就产生了用户画像。用户画像在各领域得到了广泛的应用,最初是在电商领域得到应用的,在大数据时代背景下,用户信息参杂在网路中,将用户的每位具体信息具象成标签,利用这种标签将用户形象具体化,从而为用户提供有针对性的服务。
  标签数据
  标签在生活中十分常见,比如商品标签,个人标签,行业标签,例如提及996就想到程序员,提到程序员就想到格子衫。
  标签是把分散的多方数据进行整合划入统一的技术平台,并对那些数据进行标准化和细分,进行结构化储存和更新管理,让业务线可以把这种细分结果推向现有的互动营销环境里的平台,产生价值,这些数据称为标签数据,也就是常说的标签库。数据标签的概念也是在近来几年大数据的发展中不断火爆上去的。
  标签价值
  标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。
  二、数据标签1、标签界定
  属性标签
  属性标签是变化最小的,例如用户实名认证以后,基于身分信息获取相关:性别,生日,出生年月,年龄,等相关标签。变动频度小,且最具有精准性。
  行为标签
  行为标签就是用户通过在产品上的一系列操作,基于行为日志剖析得出:例如订购能力、消费爱好、季节性消费标签等。在信息流的APP上,通过相关浏览行为,不断推荐用户感兴趣的内容就是基于该逻辑。
  规则标签
  根据业务场景需求,配置指定规则,基于规则生成剖析结果,例如:
  这类标签可以基于动态的规则配置,经过估算和剖析,生成描述结果,也就是规则标签。
  拟合标签
  拟合类的标签最具有复杂性,通过用户上述几种标签,智能组合剖析,给的预测值,例如:未婚、浏览相关婚宴内容,通过剖析预测用户即将举行婚宴,得到一个拟合结果:预测即将订婚。这个预测逻辑也可以反向执行,用户订购小孩用具:预测未婚已育。
  这就是数据时代常说的一句话:用户在某个应用上一通操作过后,算法剖析的结果可能比用户对自己的描述还要真实。
  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 = '标签数据集';
  
  模拟入参插口
  这里的参数应当是基于需求,动态选定,进行组织到一起:
  
  例如图片中这儿给定的标签值列表,称为枚举值。
  @RestController
public class AnalyzeController {
@Resource
private TagDataSetService tagDataSetService ;
@GetMapping("/analyze")
public String analyze (){
List tagParamList = 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句子,获取精准的结果数据。
  @Service
public class TagDataSetServiceImpl extends ServiceImpl implements 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后画像报告
  这个报告,互联网用户一定或多或少都听到过。主要是一些标签统计,共性标签展示,或者什么群体对80后三观影响最大,收入来源,学历等各类剖析评析。
  四、源代码地址
  GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent 查看全部

  腾讯:社交广告,不同用户的朋友圈或则其他媒体场景下的广告信息是不同的,会基于用户特点推荐。
  头条:信息价值,根据用户浏览信息,分析用户相关喜好,针对剖析结果推荐相关的信息流,越关注某类内容,获取相关的信息越多。
  如上几种场景的逻辑就是:基于不断剖析用户的行为,生成用户的特点画像,然后再基于用户标签,定制化的推荐相关内容。
  2、基本概念
  通过前面的场景,衍生下来两个概念:
  用户画像
  用户画像,作为一种描绘目标用户、联系用户诉求与设计方向的有效工具,把该用户相关联的数据的可视化的诠释,就产生了用户画像。用户画像在各领域得到了广泛的应用,最初是在电商领域得到应用的,在大数据时代背景下,用户信息参杂在网路中,将用户的每位具体信息具象成标签,利用这种标签将用户形象具体化,从而为用户提供有针对性的服务。
  标签数据
  标签在生活中十分常见,比如商品标签,个人标签,行业标签,例如提及996就想到程序员,提到程序员就想到格子衫。
  标签是把分散的多方数据进行整合划入统一的技术平台,并对那些数据进行标准化和细分,进行结构化储存和更新管理,让业务线可以把这种细分结果推向现有的互动营销环境里的平台,产生价值,这些数据称为标签数据,也就是常说的标签库。数据标签的概念也是在近来几年大数据的发展中不断火爆上去的。
  标签价值
  标签的核心价值,或者说最常用的场景:实时智能推荐,精准化数字营销。
  二、数据标签1、标签界定
  属性标签
  属性标签是变化最小的,例如用户实名认证以后,基于身分信息获取相关:性别,生日,出生年月,年龄,等相关标签。变动频度小,且最具有精准性。
  行为标签
  行为标签就是用户通过在产品上的一系列操作,基于行为日志剖析得出:例如订购能力、消费爱好、季节性消费标签等。在信息流的APP上,通过相关浏览行为,不断推荐用户感兴趣的内容就是基于该逻辑。
  规则标签
  根据业务场景需求,配置指定规则,基于规则生成剖析结果,例如:
  这类标签可以基于动态的规则配置,经过估算和剖析,生成描述结果,也就是规则标签。
  拟合标签
  拟合类的标签最具有复杂性,通过用户上述几种标签,智能组合剖析,给的预测值,例如:未婚、浏览相关婚宴内容,通过剖析预测用户即将举行婚宴,得到一个拟合结果:预测即将订婚。这个预测逻辑也可以反向执行,用户订购小孩用具:预测未婚已育。
  这就是数据时代常说的一句话:用户在某个应用上一通操作过后,算法剖析的结果可能比用户对自己的描述还要真实。
  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 = '标签数据集';
  
  模拟入参插口
  这里的参数应当是基于需求,动态选定,进行组织到一起:
  
  例如图片中这儿给定的标签值列表,称为枚举值。
  @RestController
public class AnalyzeController {
@Resource
private TagDataSetService tagDataSetService ;
@GetMapping("/analyze")
public String analyze (){
List tagParamList = 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句子,获取精准的结果数据。
  @Service
public class TagDataSetServiceImpl extends ServiceImpl implements 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后画像报告
  这个报告,互联网用户一定或多或少都听到过。主要是一些标签统计,共性标签展示,或者什么群体对80后三观影响最大,收入来源,学历等各类剖析评析。
  四、源代码地址
  GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent

【虾哥SEO】常见SEO数据剖析的重要性以及方法!

采集交流优采云 发表了文章 • 0 个评论 • 391 次浏览 • 2020-07-07 08:02 • 来自相关话题

  5、外链数目
  6、核心关键词排名
  7、内页长尾关键词排行数目
  。。。。。。。
  
  我们先来点评一下seo快速排名软件 虾哥,为什么往年的SEO数据剖析,不能做到从数据驱动SEO。我们逐字剖析一下往年做条目。
  1、在其他诱因不变的情况下,PR或则百度权重高,流量一定高吗?很显然不是,而且还只是首页的PR值或则百度权重,对于任意一个网站来说,首页的流量仅仅是一小部份,对于超级大站来说,首页的流量所占比列小到可以忽视。(由于基数大,小比列的数据也比好多网站可观了)。首页PR(百度权重)数据完全没必要剖析。
  2、Alexa的数据还有一定的参考性,但是对国外网站来说,几乎可以无视,除了搞IT的,基本没人会装。Alexa统计的流量是所有流量,并非单纯的SEO流量,所以对SEO没很大关系,不过Alexa的数据获取比较容易,就作为一个参考吧。
  3、site收录准不准先不说,问题是site下来的数据有哪些意义呢?如果一个网站有1个亿的页面,site下来100万,是好还是坏?一个网站有1万个页面,site下来是1万,是好还是坏?因此,除了site的数据,你起码得晓得这个网站有多少页面量,否则site的数据毫无意义;一切收录量还是以百度站长工具当中的索引量为准。
  4、首页快照,网页有更新了,爬虫可能拍个照,快照时间更新一下。更多时侯你页面动都没动。你指望快照变化对你SEO有哪些影响呢?而且和首页PR(百度权重)同理,首页只是一个页面而已,没这么特殊。
  5、外链数目,外链为王,外链数目肯定是重要的。外链真的是越多越好吗?有的查询网站很明显排行第1的比排行第10的外链少得多的多。其实外链的整体质量很难评判,反正你也统计不全,何必要用这个数目作为一个结果,如果相关外链多,则排行都会提升,这不是我说的,是Google、百度说的。所以我们统计排行这个直接诱因就好了,而且百度和微软对于外链的过滤机制成熟,低质量的外链发太多反倒影响网站排名。
  6、说到排行,要谈谈核心关键词的排行与网站整体排行的问题。相信诸位SEO站长手头都有自己的网站,看看流量报告吧,那些核心关键词能带来的流量占所有流量的比列是多少?但是通常做SEO优化的时侯,大家都习惯于把资源集中在几个核心词上,而大量的关键词流量,都属于没人要的,随便分配一些资源过去,流量就上来了。只看核心词的排行做SEO,属于“捡了芝麻,丢了西瓜”。“两手都要抓,两手都要硬”,平均分配资源,才能利润最大化。
  从以上几个数据可以看出,过往的SEO数据剖析,分析的数据大都是不靠谱、不确切的。自然对SEO没哪些影响,而且从那些数据中,也很难发觉核心问题。SEO数据剖析seo快速排名软件 虾哥,往往就成了一个“噱头”,花了大量时间精力,却连一点疗效和指导也没有。
  那么怎么做SEO的数据剖析?先推荐一些前人的智慧(曾庆平SEO:大家可以在百度搜索一下以下文章)
  1、前阿里巴巴SEO国平:
  详解光年SEO日志剖析系统2.0
  网页加载速率是怎样影响SEO疗效的
  2、天极网SEO废魅族:
  百度收录抽检
  任重而道远--IT垂直类门户搜索引擎关键词排行对比
  虽然有些文章很老,但是到现今也太有指导性作用。先不借用谁的理论,我们从事实出发,好好回想一下用户是怎样通过搜索引擎来到我们网站的。
  1、用户在搜索框中输入一个关键词。
  2、用户在搜索结果页面中阅读大量结果。
  3、用户点击步入某个他满意的结果。
  虾姐SEOSEO数据剖析
  ---------&gt; 查看全部

  5、外链数目
  6、核心关键词排名
  7、内页长尾关键词排行数目
  。。。。。。。
  
  我们先来点评一下seo快速排名软件 虾哥,为什么往年的SEO数据剖析,不能做到从数据驱动SEO。我们逐字剖析一下往年做条目。
  1、在其他诱因不变的情况下,PR或则百度权重高,流量一定高吗?很显然不是,而且还只是首页的PR值或则百度权重,对于任意一个网站来说,首页的流量仅仅是一小部份,对于超级大站来说,首页的流量所占比列小到可以忽视。(由于基数大,小比列的数据也比好多网站可观了)。首页PR(百度权重)数据完全没必要剖析。
  2、Alexa的数据还有一定的参考性,但是对国外网站来说,几乎可以无视,除了搞IT的,基本没人会装。Alexa统计的流量是所有流量,并非单纯的SEO流量,所以对SEO没很大关系,不过Alexa的数据获取比较容易,就作为一个参考吧。
  3、site收录准不准先不说,问题是site下来的数据有哪些意义呢?如果一个网站有1个亿的页面,site下来100万,是好还是坏?一个网站有1万个页面,site下来是1万,是好还是坏?因此,除了site的数据,你起码得晓得这个网站有多少页面量,否则site的数据毫无意义;一切收录量还是以百度站长工具当中的索引量为准。
  4、首页快照,网页有更新了,爬虫可能拍个照,快照时间更新一下。更多时侯你页面动都没动。你指望快照变化对你SEO有哪些影响呢?而且和首页PR(百度权重)同理,首页只是一个页面而已,没这么特殊。
  5、外链数目,外链为王,外链数目肯定是重要的。外链真的是越多越好吗?有的查询网站很明显排行第1的比排行第10的外链少得多的多。其实外链的整体质量很难评判,反正你也统计不全,何必要用这个数目作为一个结果,如果相关外链多,则排行都会提升,这不是我说的,是Google、百度说的。所以我们统计排行这个直接诱因就好了,而且百度和微软对于外链的过滤机制成熟,低质量的外链发太多反倒影响网站排名。
  6、说到排行,要谈谈核心关键词的排行与网站整体排行的问题。相信诸位SEO站长手头都有自己的网站,看看流量报告吧,那些核心关键词能带来的流量占所有流量的比列是多少?但是通常做SEO优化的时侯,大家都习惯于把资源集中在几个核心词上,而大量的关键词流量,都属于没人要的,随便分配一些资源过去,流量就上来了。只看核心词的排行做SEO,属于“捡了芝麻,丢了西瓜”。“两手都要抓,两手都要硬”,平均分配资源,才能利润最大化。
  从以上几个数据可以看出,过往的SEO数据剖析,分析的数据大都是不靠谱、不确切的。自然对SEO没哪些影响,而且从那些数据中,也很难发觉核心问题。SEO数据剖析seo快速排名软件 虾哥,往往就成了一个“噱头”,花了大量时间精力,却连一点疗效和指导也没有。
  那么怎么做SEO的数据剖析?先推荐一些前人的智慧(曾庆平SEO:大家可以在百度搜索一下以下文章)
  1、前阿里巴巴SEO国平:
  详解光年SEO日志剖析系统2.0
  网页加载速率是怎样影响SEO疗效的
  2、天极网SEO废魅族:
  百度收录抽检
  任重而道远--IT垂直类门户搜索引擎关键词排行对比
  虽然有些文章很老,但是到现今也太有指导性作用。先不借用谁的理论,我们从事实出发,好好回想一下用户是怎样通过搜索引擎来到我们网站的。
  1、用户在搜索框中输入一个关键词。
  2、用户在搜索结果页面中阅读大量结果。
  3、用户点击步入某个他满意的结果。
  虾姐SEOSEO数据剖析
  ---------&gt;

官方客服QQ群

微信人工客服

QQ人工客服


线