Translation QA

How to sample long documents: Don’t just look at the first three pages

reviewing a lengthy translation draft—looking only at the first few pages is usually insufficient. The cover page and table of contents may be neatly formatted,

阅读文本 / Reading text
This paper uses synthetic samples to demonstrate the processing method. The code has been verified using examples in an isolated environment; this does not guarantee effectiveness for all real files or products. Before processing important files, please retain the original copies and verify them against the boundaries and acceptance criteria specified in the text. reviewing a lengthy translation draft—looking only at the first few pages is usually insufficient. The cover page and table of contents may be neatly formatted, but the subsequent tables, scanned appendices, and pages containing formulas present entirely different challenges. The purpose of spot-checking is not to provide a sense of reassurance that “everything has been reviewed,” but rather to ensure that all risk categories have a chance to be identified. is first classified, then sampled first partitions the sample pool according to page content, such as body text, tables, and scanned pages. The categories can be established manually or derived from pre-inspection results, but it must be acknowledged that they may contain errors. A small number of samples in a particular category does not imply that the category is unimportant; on the contrary, when only a single page contains signatures or critical parameter tables, it may even warrant direct full inspection. Below, we sample at most two pages per category, using a fixed random seed for reproducibility. This is merely the sampling quantity employed in the synthetic examples; it does not represent an industry standard, nor does it imply that pages not sampled are free of issues. Reproducible stratified sampling example 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") The input page numbers use reader-oriented numbering starting from one. When linking this to a zero-based PDF index, an explicit conversion is required. The input list should also be documented: having only seeds without the same set of pages and the same sorting rules may not reproduce the original sample. When strict reproducibility across runtime environments is required, it is more reliable to directly save the final page-number list. What to check after drawing the page page type primarily checks actions after detecting a problem main text paragraph continuity, negation, and reference extends to adjacent paragraphs and pages of the same type table row-column correspondence, unit, number checks all relevant pages of the same table scan page missing characters, orientation, recognition noise returns to the original image to assess input quality Key content name, amount, parameters, or important notes determines full inspection based on business risk should not merely record “pass/fail”; it must also document the defect type. Omissions and typesetting overflows may require entirely different remediation paths. If a systematic error of a particular kind is identified, randomly sampling a few more instances is usually insufficient; one should revert to the handling rules for that specific type. sampling does not automatically yield an accuracy guarantee seeks to estimate the overall error rate using a sample, which requires specifying the sampling design, statistical unit, and error assumptions. This paper merely examines the task’s scheduling method; it does not compute confidence intervals nor provide any figures for the actual quality of the service. One cannot rephrase “the few pages sampled appear to be fine” as “the entire document is completely free of errors.” should also reserve a portion for fixed hard cases used in regression. These cases may not be statistically representative, but they can alert you after rule updates whether previously corrected cross-page tables or formula errors have reappeared. brings the acceptance checklist into the product evaluation uses OmniDoc (product entry point) When translating the document entry point, you can prepare a de-identified file that includes different page types and maintain the same sampling checklist. This way, you’re comparing against your actual delivery requirements rather than selecting only a few visually appealing pages. Any discrepancies identified during sampling should be verified against the original text; do not approve the translation solely based on its fluency. Reference: Python random 。 - 1 -
Updated 2026-10-08