商业数据分析实验7-2:自媒体运营分析-作品特征构建实战 实验7-2自媒体运营分析-作品特征构建一、实验目的本次实验旨在实验7-1数据清洗的基础上使用助睿ETL平台进行特征工程完成两类核心特征的计算与存储为后续的深度分析提供数据支持。具体目标包括更新作品明细表 (content_analysis)计算互动总数 (total_interaction)综合反映作品的用户互动规模。从作品标题中提取5个关键特征标志has_best, has_lowcode, has_practice, has_tutorial, has_pit将文本信息量化为可分析的结构化数据。生成关键词级别汇总表 (title_feature_analysis)分别计算包含每个关键词的作品在B站和CSDN平台上的平均互动总数。将汇总结果输出到新表用于分析不同标题特征对作品互动效果的影响。通过本实验应掌握以下技能理解特征工程在数据分析中的核心作用。使用助睿ETL的“计算器”组件计算衍生指标。使用“JavaScript代码”组件完成文本关键词的自动标注。使用“插入/更新”组件回填数据避免数据重复。使用“过滤聚合”组件组合完成分组统计计算。二、实验环境实验平台助睿在线实验平台 (https://lab.guilian.cn/)数据处理工具助睿ETL数据集成平台三、实验背景在实验7-1中我们已经完成了对原始自媒体作品数据的清洗并得到了高质量的 content_analysis 表。然而要深入分析作品标题与互动量之间的关系现有字段尚不足以支撑。因此本实验将进入特征工程阶段。我们将基于 content_analysis 表通过计算和文本挖掘构建两类新的特征一是量化的“互动总数”用于衡量作品的整体热度二是从标题中提取的“关键词特征”用于探究特定类型的标题如“保姆级”、“实战”是否更能吸引用户互动。这些新特征将直接服务于后续的可视化分析帮助我们发现数据背后更深层次的规律。四、数据加工流程本次实验包含两个并行的数据处理任务任务一更新 content_analysis 明细表目的为每一篇作品增加互动总数和标题特征字段。处理从 content_analysis 表读取数据。使用“JavaScript代码”组件通过关键词匹配为每篇作品生成5个0/1标志字段。使用“计算器”组件将点赞、收藏、分享、投币数相加得到 total_interaction。使用“插入/更新”组件根据 id 字段将新生成的特征回填到原表中实现数据更新而非新增。任务二生成 title_feature_analysis 汇总表目的统计不同标题特征对作品互动量的影响。处理计算整体基准计算B站和CSDN平台所有作品的平均互动总数 (overall_avg)。计算关键词数据为每个关键词如“保姆级”创建一个处理分支。首先“过滤”出包含该关键词的作品然后“分组”计算其平均互动总数 (avg_interaction) 和作品数量 (sample_count)。合并数据将每个关键词的统计结果与其对应平台的整体平均值进行合并。输出将所有关键词的汇总数据统一输出到新的 title_feature_analysis 表中。实验步骤新建转换流命名“更新content_analysis表”拖入以下组件表输入、字段选择、JavaScrip代码、计算器、插入/更新。创建各组件之间的连接配置表输入配置字段选择配置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;点击获取变量调整类型如下计算器配置注意计算器配置部分计算AB这里重新重新进入装换流时需要重新配置插入更新更新字段对应如下执行结果输出关键词级别的汇总表执行步骤新建转换流命名“关键词的数据汇总加工”拖入组件表输入、排序记录、分组、排序记录1、过滤记录、排序记录2、分组3、排序纪录3、记录集连接、增加常量、表输出参考下图连接各组件补充空操作组件具体配置表输入排序记录分组排序记录1过滤记录排序记录2分组1这里注意类型一定要选对不然后面数据不对排序记录3记录集连接增加常量表输出执行转换流到助睿BI检查表title_feature_name 表是否更新修改过滤记录字段依次选择以下五个字段, 并修改增加常量依次对应关系如下依次修改完成并执行后可以看到title_feature_analysis 表更新如下六、实验结果与分析成功执行转换流后生成了预期的数据结果content_analysis 表已更新该表在原有基础上成功增加了 total_interaction、has_best 等6个新字段。通过检查total_interaction 的计算准确无误标题特征字段也正确地根据标题内容标记为1或0。这为后续基于作品的明细分析如筛选出所有“实战”类作品提供了便利。title_feature_analysis 表新建该表清晰地展示了每个关键词在B站和CSDN平台上的表现。通过对比 avg_interaction 和 overall_avg可以直观地判断出带有特定关键词的作品其互动效果是高于还是低于平台平均水平。例如我们可以分析出在CSDN上“零代码”类作品的平均互动量是否显著高于其他类型。七、核心组件说明JavaScript代码 (JavaScript Code)本实验的核心文本处理组件。通过编写简单的JavaScript脚本利用 indexOf 方法判断标题字段中是否包含特定关键词并返回1或0从而将非结构化的文本信息转化为结构化的特征标志。计算器 (Calculator)用于执行数学运算的便捷组件。本实验中通过配置 likes favorites shares coins 公式快速生成了新的衍生指标 total_interaction。插入/更新 (Insert/Update)用于更新目标表中已有记录的关键组件。它根据指定的关键字本例中为 id在目标表中查找匹配行如果找到则更新指定字段否则插入新行。这确保了我们可以反复运行实验而不会产生重复数据。增加常量 (Add Constant)一个简单但非常有用的组件。用于为数据流中的所有行添加一个具有固定值的新字段。本实验中用它来为每个关键词的统计结果打上标签如 feature_name 保姆级以便在合并后能区分数据来源。记录集连接 (Join Rows)用于将两个数据流根据一个或多个共同字段进行合并。本实验中将“关键词平均值”数据流与“整体平均值”数据流通过 feature_name 字段连接形成最终的汇总结果。八、问题与解决问题1数据重复现象初次尝试使用“表输出”组件更新 content_analysis 表时每次运行都会追加新行导致数据大量重复。解决改用“插入/更新”组件并正确配置查询关键字为 id。这样ETL流程会根据 id 匹配并更新现有记录而不是插入新记录保证了数据的唯一性。问题2合并后数据无法区分现象在计算完5个关键词的平均互动数后直接将5个分支的数据流合并得到的结果只有数值无法分辨哪一行对应哪个关键词。解决在每个关键词的处理分支中于“分组”组件后增加一个“增加常量”组件添加一个名为 feature_name 的字段并赋予对应的关键词名称如“实战”。这样合并后的数据就带有了明确的标签。问题3JavaScript代码字段映射错误现象在“JavaScript代码”组件中编写完脚本后输出流中没有生成新的特征字段。解决除了在脚本中定义变量还需要在组件的“字段”配置表中手动添加对应的输出字段名如 has_best及其数据类型Integer完成脚本变量与输出字段的映射。九、实验总结本次实验是数据预处理流程中至关重要的一环——特征工程。通过在助睿ETL平台上的实践我深刻体会到原始数据往往需要经过加工和转换才能释放出其真正的分析价值。实验成功构建了“互动总数”和“标题关键词特征”两类新特征。前者将多个分散的互动指标合而为一简化了分析维度后者则巧妙地将非结构化的文本信息转化为可供量化分析的结构化数据。特别是“插入/更新”组件的使用让我理解了在数据仓库或数据集市场景下如何安全、高效地更新现有数据。最终生成的 title_feature_analysis 表为后续分析“什么样的标题更受欢迎”这一业务问题提供了直接的数据支撑让我对ETL在数据分析全流程中的作用有了更具体、更深刻的认识。