1 实验目的

在实验7-1 清洗后的数据的基础上,使用助睿ETL完成以下两类特征的计算与存储:

(1)标题特征与互动总数(更新明细表)

  • 计算互动总数(total_interaction = likes + favorites + shares + coins
  • 提取5个标题特征标志字段(has_besthas_lowcodehas_practicehas_tutorialhas_pit
  • 将计算结果更新到 content_analysis

(2)关键词级别的汇总数据

  • 分别计算含每个关键词的作品的平均互动总数
  • 将互动汇总结果输出到 title_feature_analysis

通过本实验,学生应掌握:

  • 理解特征工程在数据分析中的核心作用
  • 使用助睿ETL的“计算器”组件计算衍生指标
  • 使用“JavaScript代码”组件完成文本关键词的自动标注
  • 使用“插入/更新”组件回填数据,不新建表、不覆盖已有基础数据
  • 使用“过滤+聚合”组件组合完成分组统计计算

2 实验环境

本次实验使用助睿数智(Uniplore) 作为一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能,适用于数据分析教学与企业数据加工场景。

助睿数智官网为 https://www.uniplore.com//

  • 数据处理工具:助睿ETL(数据集成平台)

助睿ETL核心优势:

  • 全元数据驱动架构:平台内所有对象类型均通过元数据标准化定义,覆盖数据读取、处理、写入的全流程
  • 零代码拖拽式操作:通过可视化方式完成数据的抽取(Extract)、转换(Transform)、加载(Load),无需编写复杂代码
  • 丰富的预处理组件:内置筛选、填充、聚合、连接、字段选择等多种转换节点,灵活应对各类数据清洗场景
  • Pipeline(转换)机制:面向数据流通处理的核心功能单元,由多个不同功能的Transform步骤组合构成,聚焦数据本身的加工转换操作
  • 开源内核高可用引擎:基于开源内核的高可用引擎架构,通过标准化插件体系可灵活扩展引擎能力

本次实验使用的核心组件:

组件 用途
表输入 读取 content_analysis 表中待处理的数据
计算器 计算互动总数(likes + favorites + shares + coins
JavaScript代码 提取标题中的5个关键词特征标志
插入/更新 id 匹配,更新 content_analysis 表中的特征字段
过滤记录 + 聚合 分别统计整体平均值和每个关键词的平均值
增加常量 为每个关键词分支添加名称标识
合并记录 将5个关键词的统计结果合并为5行
表输出 将互动数据汇总写入 title_feature_analysis

3 核心设计思路

本次实验构建两类特征,并将数据更新到实验7-1 的content_analysis 表中:

  • 互动总数:likes + favorites + shares + coins,反映作品的用户互动规模(绝对值)
  • 标题特征:把标题中是否包含特定关键词提取为0/1标志字段,后续量化对比这些词的实际效果

数据处理流程:

img

4 实验步骤

4.1 更新 content_analysis 表(标题特征+互动总数)

步骤1:导入数据

将实验7-1输出的 content_analysis表作为输入,拖入助睿ETL工作区。助睿ETL支持跨项目引用数据集,可直接选择实验一输出的结果表。

步骤2:提取标题特征(核心分析维度)

在"JavaScript代码"组件中,可以直接使用JJavaScript代码对 title 字段进行关键词匹配,生成5个标题特征标志字段。

var title = title;  // 字段名直接作为变量使用

// 判断关键词
var has_best = title.indexOf("保姆级") !== -1 ? 1 : 0;
var has_lowcode = title.indexOf("零代码") !== -1 ? 1 : 0;
var has_practice = title.indexOf("实战") !== -1 ? 1 : 0;
var has_tutorial = (title.indexOf("教程") !== -1 || title.indexOf("指南") !== -1) ? 1 : 0;
var has_pit = title.indexOf("踩坑") !== -1 ? 1 : 0;

// 将结果赋值给新字段(输出字段需在字段表中提前定义)
has_best = has_best;
has_lowcode = has_lowcode;
has_practice = has_practice;
has_tutorial = has_tutorial;
has_pit = has_pit;

img

返回值说明:

字段 返回值 条件
has_best 1 / 0 title中含"保姆级"为1,否则为0
has_lowcode 1 / 0 title中含"零代码"为1,否则为0
has_practice 1 / 0 title中含"实战"为1,否则为0
has_tutorial 1 / 0 title中含"教程"或"指南"为1,否则为0
has_pit 1 / 0 title中含"踩坑"为1,否则为0

设计思路:这五个关键词在数据中高频出现,且与“教学价值”“实操性”强相关,是分析标题影响力的理想切入点。每个特征独立提取,便于在BI中做分组对比。

步骤3:计算互动总数

接入“计算器”组件,新增 interactions 字段:interactions = likes + favorites + shares + coins

步骤4:数据更新

使用“插入/更新”组件,将计算好的特征数据回填到 content_analysis

关键配置:

配置项 设置
目标表 content_analysis
查询关键字 id(匹配依据)
更新字段 total_interaction, has_best, has_lowcode, has_practice, has_tutorial, has_pit

字段映射::

流字段 表字段
id id
interactions total_interaction
has_best has_best
has_lowcode has_lowcode
has_practice has_practice
has_tutorial has_tutorial
has_pit has_pit

“插入/更新” vs “表输出”的区别:如果使用“表输出”,每次运行都会新增行,导致数据重复。“插入/更新”按 id 匹配,如果 id 已存在则更新指定字段,如果不存在才插入新行(本例中 id 一定存在,所以只做更新,不新增行)。这样本实验可以反复运行,不会产生重复数据。

步骤5:执行转换流

完整转换流如下,点击运行

img

数据结果:

img

4.2 输出关键词级别的汇总

步骤1:创建目标表

在助睿ETL中创建以下目标表用来存储本节最后输出的数据:

字段 类型 说明
id INT 自增主键
platform VARCHAR(20) 平台(B站/CSDN)
feature_name VARCHAR(50) 关键词名称
avg_interaction DECIMAL(10,2) 含该关键词的平均互动总数
overall_avg DECIMAL(10,2) 该平台整体平均互动总数
sample_count INT 含该关键词的作品数
步骤2:计算整体平均互动数

接入“排序记录”、“分组”组件,按id升序排序,不设分组条件,直接计算 AVG(total_interaction),得到 overall_avg

聚合完成后,接入“增加常量”组件,新增字段 feature_name = '保姆级',为这一行数据贴上名称标签,以便用于后续与关键词数据连接。

步骤3:计算关键词的平均互动数

以“保姆级”为例,表输入组件复制分发另一条分支,先接“过滤记录”组件,设置 has_best = 1,只保留含“保姆级”的作品。

然后接入“排序记录”、“分组”组件,按id升序排序,计算 AVG(total_interaction) 得到 avg_interactionCOUNT(id) 得到 sample_count

聚合完成后,接入“增加常量”组件,新增字段 feature_name = '保姆级',为这一行数据贴上名称标签。

为什么要加这个常量?因为聚合后的数据只有数值,没有关键词名称。如果不加,5个分支的数据合并后无法区分谁是谁。常量就是给每一行贴上一个“标签”,告诉下游“这一行是保姆级的数据”。

步骤4:合并整体平均值和关键词平均值

接下来将整体平均值和关键词平均值进行合并,使用“记录集连接”组件,匹配字段为feature_name,由于2个分支都只有1行数据,所以无需排序。

步骤5:数据入库

用”表输出”组件将合并后的数据入库,这里需要注意:不勾选“裁剪表”,因为还有其他关键词数据也要入库,不用删除已有数据。

步骤6:执行转换流

一个关键词的互动汇总数据加工转换流如下,点击运行:

img

查看数据:

img

接下来加工其他关键词的数据:

复制粘贴整个分支,然后只修改两处:过滤条件(如 has_lowcode = 1)和常量值(如 零代码)。其他组件配置完全相同。

最后的完整数据情况如下:

img

5 实验输出

输出表 数据粒度 用途
content_analysis(更新) 作品级 排名、趋势、概况等明细分析
title_feature_analysis(新建) 关键词级 标题特征互动分析

6 实验总结和收获

6.1 实验总结

本次实验在实验7-1数据清洗的基础上,围绕自媒体作品特征构建这一核心目标,完成了两项主要工作:一是在作品明细层面计算了互动总数(total_interaction)并提取了5个标题关键词特征标志字段,通过"插入/更新"组件将结果回填至 content_analysis 表;二是在关键词汇总层面,针对每个关键词分别统计了含该关键词作品的平均互动总数、整体平均互动总数和样本数量,将汇总结果写入 title_feature_analysis 表。整个实验流程涵盖了从数据读取、特征计算、数据回填到分组聚合、多分支合并的完整ETL链路,最终得到了可用于后续BI分析的结构化特征数据。

6.2 收获与体会

本实验承接上一阶段的清洗数据,基于助睿ETL平台完成了内容分析的特征工程构建。实验核心围绕两个维度展开:一是在作品明细层(content_analysis表)通过计算器和JavaScript代码组件,构建了综合互动指标(total_interaction)及5个标题关键词特征标志位;二是通过多分支聚合与合并逻辑,输出了关键词粒度的互动效果汇总表(title_feature_analysis)。最终实现了从原始行为数据到可分析特征的闭环流转,为后续的量化对比与BI可视化奠定了坚实的数据基础。

Logo

一站式 AI 云服务平台

更多推荐