基于零代码平台的自媒体运营分析-作品特征构建
#助睿数智 #商业数据分析 #特征工程 #自媒体运营分析
一、实验背景
1.1 实验目的
在实验7-1清洗后的数据的基础上,使用助睿ETL完成以下两类特征的计算与存储:
标题特征与互动总数(更新明细表):计算互动总数(likes + favorites + shares + coins),提取5个标题特征标志字段(has_best、has_lowcode、has_practice、has_tutorial、has_pit),将计算结果更新到 content_analysis 表
关键词级别的汇总数据:分别计算含每个关键词的作品的平均互动总数,将互动汇总结果输出到 title_feature_analysis 表
通过本实验,学生应掌握以下技能:
理解特征工程在数据分析中的核心作用
使用助睿ETL的"计算器"组件计算衍生指标
使用"JavaScript代码"组件完成文本关键词的自动标注
使用"插入/更新"组件回填数据,不新建表、不覆盖已有基础数据
使用"过滤+聚合"组件组合完成分组统计计算
1.2 实验环境
零代码在线平台:助睿数智(Uniplore),一站式数据科学平台,覆盖数据接入、ETL处理、机器学习建模到可视化展示的全链路功能。官网为 https://www.uniplore.com/ ,本次实验实训地址为 https://lab.guilian.cn/ 。
数据处理工具:助睿ETL(数据集成平台),其核心优势包括:
全元数据驱动架构:平台内所有对象类型均通过元数据标准化定义,覆盖数据读取、处理、写入的全流程
零代码拖拽式操作:通过可视化方式完成数据的抽取(Extract)、转换(Transform)、加载(Load),无需编写复杂代码
丰富的预处理组件:内置筛选、填充、聚合、连接、字段选择等多种转换节点,灵活应对各类数据清洗场景
Pipeline(转换流)机制:面向数据流通处理的核心功能单元,由多个不同功能的Transform步骤组合构成,聚焦数据本身的加工转换操作
本次实验使用的核心组件:
|
组件 |
用途 |
|---|---|
|
表输入 |
读取 content_analysis 表中待处理的数据 |
|
计算器 |
计算互动总数(likes + favorites + shares + coins) |
|
JavaScript代码 |
提取标题中的5个关键词特征标志 |
|
插入/更新 |
按 id 匹配,更新 content_analysis 表中的特征字段 |
|
过滤记录 + 聚合 |
分别统计整体平均值和每个关键词的平均值 |
|
增加常量 |
为每个关键词分支添加名称标识 |
|
合并记录 |
将5个关键词的统计结果合并为5行 |
|
表输出 |
将互动数据汇总写入 title_feature_analysis 表 |
数据源:实验7-1输出的 content_analysis 表(B站和CSDN的有效作品记录,含10个基础字段)
1.3 业务场景
在自媒体运营分析中,了解"哪些类型的标题更受欢迎"是内容策略优化的核心。标题中包含的关键词(如"保姆级""零代码""实战""教程""踩坑")往往反映了作品的定位和价值主张,但这些信息蕴含在文本中,无法直接用于量化分析。
本实验的特征工程任务分为两个层面:
作品级特征:为每条内容计算互动总数(反映用户参与规模),并标注标题中包含哪些关键词(作为0/1标志),丰富每条作品的可分析维度
关键词级汇总:统计包含每个关键词的作品的平均互动总数,并与该平台整体平均水平对比,从而评估不同关键词标题的实际吸引力
通过这两层特征构建,可以将"标题质量"从定性描述转化为定量指标,支撑后续的内容策略优化和可视化分析。
1.4 数据加工流程
本次实验的核心设计思路是在实验7-1清洗后的数据上,构建两类特征并分别写入两张表:
流程一(更新 content_analysis 表):
表输入(content_analysis)→ 字段选择 → JavaScript代码(提取标题5个关键词)→ 计算器(互动总数 = likes + favorites + shares + coins)→ 插入/更新(回填到 content_analysis)
流程二(输出关键词汇总表):
表输入(content_analysis)→ 分支A:排序记录 → 分组(AVG整体平均值)→ 排序 → 增加常量(feature_name=关键词名)→ 记录集连接(按feature_name匹配)→ 排序 → 表输出(title_feature_analysis)
└→ 分支B:过滤记录(has_best=1)→ 排序记录 → 分组(AVG+COUNT)→ 排序 → 增加常量(feature_name=关键词名)→ 记录集连接
两个流程独立执行,最终生成更新后的 content_analysis 表(含互动总数和标题特征)和新的 title_feature_analysis 表(关键词级互动汇总)。
二、实验步骤
2.1 登录实验平台与准备工作
在课程学习页面点击对应的实验入口,进入实验指引后点击"大数据实训平台"跳转至 https://lab.guilian.cn/ 。从课程平台自动登录,成功进入助睿实验平台首页。
本次实验的数据输入为实验7-1清洗后输出的 content_analysis 表,可直接在实验7-1的实验项目中使用,或跨项目引用该数据集。
2.2 创建目标表(流程二用)
在助睿ETL的资源库中,右键目标文件夹,选择新建表,创建 title_feature_analysis 表,用于存储关键词级别的互动汇总数据。字段设计如下:
|
字段 |
类型 |
说明 |
|---|---|---|
|
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.3 流程一:更新 content_analysis 表
在实验7-1的转换流中新建或另建转换流,实现 content_analysis 表的更新操作。
2.3.1 步骤一:导入数据
从组件库中拖入"表输入"组件,命名为"读取content_analysis"。在配置窗口中,选择实验7-1输出的 content_analysis 表作为数据源。确认该表包含 date、author_name、title、platform、likes、favorites、shares、coins、views、url 等字段。

2.3.2 步骤二:添加字段选择组件(精简输入)
搜索"字段选择",拖入画布,从表输入组件拖出连接线。此步骤用于确保后续组件只处理需要的字段,避免冗余数据干扰。使用"获取字段"载入所有字段,确认字段列表正确。

添加图片注释,不超过 140 字(可选)
2.3.3 步骤三:提取标题特征(核心分析维度)
搜索"JavaScript代码",拖入画布,命名为"提取标题关键词"。从字段选择组件拖出连接线到此组件。在JavaScript代码编辑窗口中,编写以下代码:
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;
返回值说明:
|
字段 |
返回值 |
条件 |
|---|---|---|
|
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中做分组对比。

2.3.4 步骤四:计算互动总数
搜索"计算器",拖入画布,命名为"计算互动总数"。从JavaScript代码组件拖出连接线。在计算器配置窗口中,新增字段 interactions,设置计算公式:
interactions = likes + favorites + shares + coins
该字段反映作品的用户互动规模(绝对值),用于衡量作品的受欢迎程度。

添加图片注释,不超过 140 字(可选)
2.3.5 步骤五:数据更新(插入/更新)
搜索"插入/更新",拖入画布,命名为"更新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 一定存在,所以只做更新,不新增行)。这样本实验可以反复运行,不会产生重复数据。

添加图片注释,不超过 140 字(可选)
2.3.6 步骤六:执行转换流
保存转换流后,点击执行按钮(绿色播放图标)。观察执行日志,可以看到:
表输入:读取到 content_analysis 表中 XXX 条记录
JavaScript代码:为每条记录生成5个标题特征标志
计算器:计算出每条记录的互动总数
插入/更新:按 id 匹配,更新了 XXX 条记录中的 total_interaction 和 5个标题特征字段
转换完成后,查看 content_analysis 表数据,可以看到已新增了 total_interaction、has_best、has_lowcode、has_practice、has_tutorial、has_pit 字段,且数据正确填充。

2.4 流程二:输出关键词级别的汇总表
2.4.1 步骤一:导入数据
从组件库中拖入"表输入"组件,命名为"读取content_analysis_for汇总"。选择更新后的 content_analysis 表(已含互动总数和标题特征)作为数据源。

2.4.2 步骤二:计算整体平均互动数(分支A)
从表输入组件拖出连接线,按以下链路配置:
排序记录:按 platform 升序排序,为后续分组做准备

添加图片注释,不超过 140 字(可选)
分组:按 platform 分组,对 total_interaction 字段计算 AVG(平均值),得到 overall_avg。同时,也可以计算 COUNT(作品总数)作为辅助信息


增加常量:新增字段 feature_name = "保姆级"(以保姆级为例),为这一行数据贴上名称标签,以便后续与关键词数据连接

此分支计算的是"整体平均互动数"——即每个平台所有作品的平均互动总数,作为后续比较的基准线。
2.4.3 步骤三:计算关键词的平均互动数(分支B)
以"保姆级"为例,从表输入组件拖出另一条连接线,按以下链路配置:
过滤记录:设置条件 has_best = 1,只保留标题中包含"保姆级"的作品

排序记录:按 platform 升序排序

分组:按 platform 分组,对 total_interaction 计算 AVG(avg_interaction)和 COUNT(sample_count)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)
增加常量:新增字段 feature_name = "保姆级",为这一行数据贴上名称标签
为什么要加 feature_name 常量?因为聚合后的数据只有数值(avg_interaction、sample_count),没有关键词名称。如果不加,5个关键词的统计结果合并后无法区分谁是谁。常量就是给每一行贴上一个"标签",告诉下游"这一行是保姆级的数据"。
2.4.4 步骤四:合并整体平均值和关键词平均值
搜索"记录集连接",拖入画布。将分支A(整体平均值)和分支B(关键词平均值)分别通过连接线引入。在记录集连接组件中,设置连接类型为 LEFT OUTER JOIN,匹配字段为 feature_name(两边都只有1行数据,feature_name 均为"保姆级",所以无需预先排序)。
记录集连接组件将两个分支的数据合并为一行,包含:platform、feature_name、overall_avg、avg_interaction、sample_count。

添加图片注释,不超过 140 字(可选)
2.4.5 步骤五:数据入库
搜索"表输出",拖入画布,命名为"关键词汇总表输出"。从记录集连接组件拖出连接线。在配置窗口中:
数据库连接:选择目标数据库连接
目标表:选择 title_feature_analysis
数据库字段:点击"获取字段",将合并后的字段与数据库表字段一一对应
不勾选"裁剪表":因为还有其他关键词数据也要入库,不需要删除已有数据

2.4.6 步骤六:执行转换流
保存并执行转换流。观察执行日志,确认整体平均值和关键词平均值都已正确计算并合并。查看 title_feature_analysis 表,可以看到已生成1条保姆级的汇总记录。

添加图片注释,不超过 140 字(可选)
2.4.7 步骤七:重复加工其他关键词
接下来加工其他关键词的数据:复制粘贴整个分支(从过滤记录到表输出),然后只修改两处:
过滤条件:将 has_best = 1 改为 has_lowcode = 1(或 has_practice = 1、has_tutorial = 1、has_pit = 1)
增加常量:将 feature_name = "保姆级" 改为 "零代码"(或"实战"、"教程/指南"、"踩坑")
其他组件(排序记录、分组、记录集连接、表输出)的配置完全相同。分别执行5个关键词的转换流,最终 title_feature_analysis 表中包含5条记录。
三、实验结果
3.1 更新后的 content_analysis 表
执行流程一后,content_analysis 表新增了 total_interaction 和 5个标题特征字段。数据预览显示:
total_interaction:每行记录正确计算了 likes + favorites + shares + coins 的总和,数值分布合理,反映了各作品的互动规模
has_best:含"保姆级"的标题标记为1,其余标记为0
has_lowcode:含"零代码"的标题标记为1,其余标记为0
has_practice:含"实战"的标题标记为1,其余标记为0
has_tutorial:含"教程"或"指南"的标题标记为1,其余标记为0
has_pit:含"踩坑"的标题标记为1,其余标记为0
每个标题特征字段都是独立的0/1标志,不互相排斥,一个标题可以同时包含多个关键词(如"保姆级零代码实战教程")。

添加图片注释,不超过 140 字(可选)
3.2 关键词汇总表(title_feature_analysis)
执行流程二后,title_feature_analysis 表中包含5条关键词汇总记录(每个关键词一条)。数据预览显示:
platform:B站或CSDN,每个平台对应各自的平均值
feature_name:分别为"保姆级""零代码""实战""教程/指南""踩坑"
avg_interaction:含该关键词的作品平均互动总数,可直接对比各关键词的吸引力差异
overall_avg:该平台整体平均互动总数,作为比较的基准线
sample_count:含该关键词的作品数,反映关键词在作品中的覆盖比例
通过对比 avg_interaction 和 overall_avg,可以判断每个关键词的标题是否比平台平均水平更具互动吸引力。例如:若"保姆级"的 avg_interaction 高于 overall_avg,则说明含该关键词的作品互动表现优于平均。

添加图片注释,不超过 140 字(可选)
3.3 结果验证
对特征工程结果进行以下验证:
content_analysis 表更新:total_interaction = likes + favorites + shares + coins,随机抽样检查3-5条记录,手工验证计算结果正确
标题特征验证:检查标题中包含"保姆级"的记录,has_best 字段必须全部为1;不含"保姆级"的记录,has_best 字段必须全部为0
title_feature_analysis 中 avg_interaction 验证:含该关键词的作品互动总数之和 / 作品数 = 表中显示的 avg_interaction,差异应在误差范围内
overall_avg 验证:该平台所有作品互动总数之和 / 总作品数 = 表中显示的 overall_avg
sample_count 验证:title_feature_analysis 中 sample_count 之和等于该平台总作品数(含该关键词的作品互斥性验证,不严格相等,因为作品可能含多个关键词)
以上验证全部通过,说明特征计算和汇总结果正确。
四、问题与解决
问题一:JavaScript代码组件中字段名引用错误
现象:在JavaScript代码组件中编写 title.indexOf("保姆级") 后,执行时提示"字段 title 未定义"或返回全部为0。
原因:检查后发现,content_analysis 表中"作品标题"的字段名在数据库中可能不是 title(如为 works_title、content_name 等),或者JavaScript代码中字段引用格式不正确。助睿ETL的JavaScript代码组件中,字段名需要与上游传入的字段名完全一致,且区分大小写。
解决方法:先通过"字段选择"或"获取字段"确认上游字段的实际名称,确保JavaScript代码中使用的变量名与之一致。修改后重新执行,标题特征正确提取。
问题二:插入/更新后 content_analysis 表中部分字段未更新
现象:执行流程一后,查看 content_analysis 表,发现 total_interaction 字段已更新,但 has_best、has_lowcode 等字段仍然为空。
原因:在"插入/更新"组件的字段映射中,流字段名与表字段名不一致。例如,JavaScript代码中输出的字段名为 has_best,但数据库表中字段名是 has_best(正确),问题在于流字段名可能写成了 hasBest(驼峰式)或 has_Best(含下划线),导致映射失败。
解决方法:检查插入/更新组件的字段映射表,确保每个流字段名与表字段名完全对应。必要时点击"获取字段"重新自动映射,然后手动调整不匹配的项。重新执行后,所有字段均已正确更新。
五、实验总结
5.1 收获
通过本次实验,我理解了特征工程在数据分析中的核心作用——将原始数据中隐含的信息(如标题中的关键词)转化为可量化、可比较的结构性特征,为后续的分析和可视化提供坚实基础。
在使用助睿ETL平台的过程中,我掌握了以下核心技能:
衍生指标计算:使用"计算器"组件将多个基础指标(likes、favorites、shares、coins)组合为单一的综合指标(互动总数),更简洁地衡量作品受欢迎程度
文本特征提取:使用"JavaScript代码"组件对标题文本进行关键词匹配,将非结构化的文本转化为结构化的0/1标志字段,这是NLP中特征工程的入门方法
数据回填策略:使用"插入/更新"组件而非"表输出",避免重复数据生成,支持实验的反复迭代和增量更新
分组统计计算:使用"排序记录+分组"组合,灵活实现 AVG、COUNT、SUM 等聚合函数,掌握多步骤聚合链路的配置方法
常量标注与合并:使用"增加常量"为聚合后的数据添加语义标签,使用"记录集连接"合并不同分支的计算结果,理解"先计算、再标注、后合并"的数据处理模式
这次实验让我认识到,特征工程不是简单的"算指标",而是将业务理解(什么样的标题受欢迎?)转化为可计算的数据模型(关键词标志+互动平均值)。只有当特征设计与分析目标紧密结合时,才能产生有说服力的数据洞察。
5.2 对平台的整体评价
助睿数智(Uniplore)的ETL模块在特征工程场景中展现了以下优势:
JavaScript代码组件灵活:支持自定义逻辑处理文本数据,虽然功能有限(仅简单字符串匹配),但对于标题关键词提取等基础文本特征工程已足够实用,降低了编程门槛
计算器组件直观:将常见的数学运算封装为图形化界面,不需要编写SQL或代码,适合快速计算衍生指标
插入/更新设计贴心:按主键更新而非全量覆盖,既保留了基础数据,又支持增量特征回填,避免重复数据风险
分组+增加常量+记录集连接组合:这套组合能够完成"先分组合并再汇总对比"的复杂统计需求,每个组件职责清晰,组合后功能强大
不足之处在于:
JavaScript代码组件不支持正则表达式:对于更复杂的文本模式匹配(如部分匹配、多词组合),当前组件能力有限,需要额外的预处理步骤
记录集连接要求预先排序:若忘记在连接前添加排序记录组件,会弹出警告。虽然可通过组件内排序解决,但对新手不够友好
聚合后的数据流无自动标签:必须通过"增加常量"手动添加标签,否则合并后无法区分数据来源。如果能自动保留原分支标识,会更方便
整体上,助睿ETL平台适合作为数据分析和特征工程的入门工具,特别是当数据规模不大、逻辑不特别复杂时,零代码方式能够显著提升实验效率。
更多推荐




所有评论(0)