先给结论:报告页数不等于对象数量,通常是因为同一对象被拆成多条记录、被不同分词粒度重复统计,或者分页与去重口径没有对齐。处理时不要先删数据,而是先确认“对象”的定义,再用可复现的归并规则把多条记录合并成一条,最后核对合并前后差异是否落在可解释范围内。
分词工具的输出通常有三层:词条、词条所在文档、以及文档对应的业务对象。报告页数往往按词条或文档行计数,而你想统计的是业务对象,比如一个商品、一个客户或一份合同。三层混在一起,页数自然会大于对象数。
判断方法很简单:随机抽几条重复记录,看它们除了分词结果不同,是否共享同一个稳定标识。如果共享,说明是同一对象被多次展开;如果不共享,可能是对象本身定义过宽,需要先收窄口径。
只有先确定重复发生在哪一层,后面的去重动作才不会误删有效数据。
分词结果本身不稳定:换词典、换切分模式或换停用词表,同一个对象可能得到不同词条集合。如果按分词结果去重,会把本该合并的记录判成不同对象。
更稳妥的做法是选一个与分词无关的稳定键,例如业务系统里的对象编号、合同号或规范化后的名称加日期。归并时保留该键下最早或最完整的一条记录,其余记录作为明细挂靠,而不是直接丢弃。
实际动作示例:假设你有一份报告,显示 1200 行,但业务对象只有 800 个。先按对象编号分组,发现 400 行是同一编号的多条分词记录。把同编号记录合并为一条,并在备注里保留各条的分词差异。合并后如果行数接近 800,说明主要问题是文档级重复;如果仍明显高于 800,再检查是否存在一个对象多个编号的情况。
这个动作的结果会直接决定下一步:如果归并后数量吻合,就可以进入结果校验;如果仍不吻合,说明对象标识本身需要先治理,而不是继续调分词参数。
有些重复不是系统错误,而是同一对象在文本里被写成了不同形式。例如全称与简称、中英文混写、带括号与不带括号。分词工具会把它们切成不同词条,报告里就表现为多个对象。
这时需要建立一张别名映射表,把已知的等价写法指向同一个主键。映射表要人工确认,不能只靠字符串相似度自动合并,否则容易把相似但不同的对象误并。
如果差异主要来自别名,归并后对象数会明显下降,且下降部分都能在映射表中找到对应关系。如果差异无法解释,应暂停去重,先补数据来源说明。
报告页数有时是按分页展示的,每页固定条数,最后一页可能不满。若直接把页数乘以每页条数,会高估对象数。另外,分词工具在长文本上可能截断,导致同一对象的部分内容单独成行。
检查方法是看报告是否带有页码、总条数或导出时间。如果只有页数,没有总条数,就不要用页数推算对象数。应导出完整明细,按稳定键重新计数。
假设例子:某报告共 15 页,每页 50 条,按页数推算为 750 条;但导出后实际只有 680 条,因为最后一页只有 30 条,且部分长文本被拆成两行。此时正确做法是以导出明细为准,按对象编号归并,而不是以页数作为统计口径。
去重不是把多余数据删掉就结束。你需要保留合并前后的对应关系,否则后续发现漏合并或误合并时无法回溯。建议在合并结果中增加两个字段:来源记录数和合并原因。
如果来源记录数大于 1,说明该对象曾有多条记录;合并原因可以写“同编号多文档”“别名映射”或“分页重复”。这样当业务方质疑数量变化时,你能直接指出每一条差异的来源。
最终判断标准不是数量是否归零,而是差异是否可解释。若合并后对象数与业务系统台账一致,或差异都能对应到已知的别名、截断或分页规则,这次去重就可以用于后续决策;若仍有大量无法解释的差异,应先回到对象定义和稳定键选择上重新处理。