翻译验收

长文档怎样抽检:别只看开头三页

检查一份长译稿,只看前几页通常不够。封面和目录可能很整齐,后面的表格、扫描附件和公式页却是另一种问题。抽检的目的不是给人一种“看过了”的安心感,而是让不同风险类型都有机会被看到。

阅读文本 / Reading text
本文使用合成样本演示处理方法。代码已通过隔离环境中的示例检查;这不代表对所有真实文件或产品效果的保证。处理重要文件前,请保留原件,并按文中的边界与验收项复核。 检查一份长译稿,只看前几页通常不够。封面和目录可能很整齐,后面的表格、扫描附件和公式页却是另一种问题。抽检的目的不是给人一种“看过了”的安心感,而是让不同风险类型都有机会被看到。 先分类,再抽样 先按页面内容划分样本池,例如正文、表格、扫描页。分类可以人工建立,也可以来自预检结果,但必须承认它可能有误。某一类数量很少,并不表示它不重要;只有一页签字或关键参数表时,反而可能值得直接全检。 下面给每类最多抽两页,固定随机种子以便复现。这只是合成例子采用的抽样数量,不是行业标准,更不意味着未抽中的页面没有问题。 可重现的分层抽样例子 import random def choose_pages(groups, per_group=2, seed=17): if per_group < 0: raise ValueError("negative sample size") rng = random.Random(seed) picked = {} for name in sorted(groups): pages = sorted(set(groups[name])) picked[name] = sorted(rng.sample(pages, min(per_group, len(pages)))) return picked groups = {"body": [1, 2, 3, 4, 5], "table": [6, 7], "scan": [8]} sample = choose_pages(groups) assert sample == choose_pages(groups) assert sample["scan"] == [8] assert sample["table"] == [6, 7] assert len(sample["body"]) == 2 assert choose_pages({"empty": []}) == {"empty": []} try: choose_pages(groups, -1) except ValueError: pass else: raise AssertionError("negative size must fail") 输入页码采用面向读者的从一开始编号。把它接到从零开始的 PDF 索引时,需要显式转换。还应记录输入列表:只有种子而没有同一批页面和同一排序规则,未必能复现原样本。跨运行环境要求严格重复时,直接保存最终页码清单更稳妥。 抽到页面之后检查什么 页面类型 重点检查 发现问题后的动作 正文 段落连续、否定与指代 扩展到相邻段落和同类页面 表格 行列对应、单位、数字 检查同一表格的全部相关页 扫描页 漏字、方向、识别噪声 回到原图判断输入质量 关键内容 名称、金额、参数或重要说明 按业务风险决定全检 不要只记录“通过/不通过”,还要记录缺陷类型。漏译和排版溢出可能需要完全不同的修复路线。如果发现某类系统性错误,继续随机抽几个样本通常不够,应回到该类型的处理规则。 抽样不自动产生准确率承诺 想用样本估计整体错误率,需要明确抽样设计、统计单位与误差假设。本文只是检查任务的编排方法,没有计算置信区间,也没有给出任何服务的真实质量数字。不能把“抽到的几页看起来没问题”改写成“整份文档完全没有错误”。 还应留一部分用于回归的固定难例。它们未必具有统计代表性,却能在规则更新后提醒你:以前修过的跨页表格或公式错误是否又出现了。 把验收清单带到产品评估里 使用 OmniDoc(产品入口) 的文档翻译入口时,可以准备一份包含不同页面类型的脱敏文件,并保留同一套抽检清单。这样比较的是你的真实交付要求,而不是只挑几张漂亮页面。抽检发现的疑点应回到原文核对,不能只凭译文流畅程度放行。 参考: Python random 。 - 1 -
更新于 2026-10-08