当输入对象从纯文本变成带结构字段的表格、从单页变成整站导出文件,或者从关键词清单变成含标题与正文的页面资料时,输入规范必须跟着对象格式走,而不是继续沿用旧模板。核心判断是:先确认工具读取的是“字段”还是“整段文本”,再决定是拆分映射、保留原样,还是先做一轮归一化。
格式变化通常分三层:字段层(列名、分隔符、编码)、内容层(一格里塞了标题加正文,还是一行一个词)、范围层(单页、单目录、整站导出)。三层里只要有一层变了,输入规范就要重写,而不是只改一个分隔符。
一个可操作的判断方法:取三条样本记录,手工走一遍“工具会怎么读”的路径。如果三条里有一条读出来的字段错位,说明问题在字段层;如果字段对但内容被截断,问题在内容层;如果都读对但结果覆盖范围不对,问题在范围层。
面对结构化程度变高的对象,常见两种做法:
选择条件很明确:如果你的对象里“目标词”和“正文用词”需要分开评估,就必须拆分映射;如果只是拿整段文本做词频或共现观察,保留整段反而更接近原始材料。判断依据是你下一步要拿结果做什么,而不是哪种格式看起来更规整。
假设你手里有一份导出资料,每行包含页面地址、标题、正文、备注四列,而旧规范只接受“一行一个关键词”。
这个动作的结果会直接影响下一步:如果试跑发现字段错位,说明要先改分隔符或改用固定列宽;如果内容被截断,说明要检查单元格长度限制或换行符处理;如果范围不对,说明要重新界定导出的页面集合。
格式变化后,很多人第一反应是“先统一成最简单格式”。但归一化本身有代价:
因此,归一化只应处理读取层的问题(编码、分隔符、换行),不应顺手改动内容层的语义。内容层要不要改,取决于你的分析目标,而不是取决于工具能不能读进去。
如果对象格式变化后,字段之间已经无法建立稳定映射——例如正文里混着目标词、备注里又混着另一套标签——继续改输入规范的成本会高于重新导出。此时更合理的动作是回到数据源,按工具需要的字段重新导出一份,而不是在已有文件上反复清洗。
判断信号:当你发现为了适配输入规范,已经改了超过三处与内容语义有关的字段,就该停下来重新界定对象,而不是继续打补丁。这个取舍没有统一答案,取决于你的资料是否还能重新获取,以及重新导出的时间成本是否低于持续清洗的成本。