# ClinDB-ReviewBench 清洗目标(第一版) > 性质:reference——本项目清洗范围的权威查询事实。 > 权威关系:本文只定义 ClinDB-ReviewBench 第一批自动清洗"洗什么、不洗什么";清洗语义的方案比较与批准记录 > 属于 `research-wiki/design/`,实现后的运行方式属于 `explanation/` 与 `guides/`。未来只读检查不属于当前批次。 > 依据:`research-wiki/scratch/data-5papers-cleaning-audit-2026-08-21.md`(问题编号 A–H 沿用该审计)。 ## 1. 项目定位 ClinDB-ReviewBench 是师姐的论文清洗项目。`data/` 下当前 5 份 DOI 命名的论文 Markdown (JAMA、EJHF、Statistics in Medicine/arXiv、Springer/arXiv、Disaster Med Public Health Preparedness) 是它的首批输入,未来会继续扩充同源转换产物。 本仓库(mdpolish)为该项目的数据提供清洗能力。当前由仓库内 first-batch 实验脚本显式组合论文规则, 尚未建立 Profile 对象或配置格式;论文专属规则仍不写进通用核心。 ## 2. 第一版清洗目标 第一版只做"全自动、规则确定、可安全执行"的问题(审计第一档中的 8 类自动修改)。 判定标准是三条同时满足:模式可用确定规则描述;不依赖对正文语义的理解;改错可以从 diff 直接看出。 | # | 问题(审计编号) | 规则要点 | 触发范围(本轮实测) | |---|---|---|---| | 1 | HTML 实体双重转义(D2) | 只在严格 HTML 表格单元格文本中把 `&gt;`→`>`、`&lt;`→`<`、`&amp;`→`&`,解除源码的一层转义;幂等 | dmp 23 处、ejhf 8 处,共 31 处 | | 2 | arXiv 边栏戳(H1) | 只有整行满足 `design/0004-arxiv-submission-stamp-component.md` 第 4 节的严格格式才删除;编号条目内的 "arXiv preprint arXiv:…" 不受影响 | sim L1、springer L18;springer L143/L152 是合法参考文献,必须不误删 | | 3 | Word 审阅批注(B2) | 删除严格单行 `Commented [xx]: ...` 及其后第一个空行;不猜测多行批注正文 | jama 2 处 | | 4 | 手稿行号(B1) | 只处理唯一 `## Abstract` 后至少 20 个、严格递增且含至少 2 个标题证据的完整序列;剥离普通行和标题中的数字前缀 | jama 75 处,其中普通行 69、标题 6;Abstract 前 59 个作者单位编号必须保留 | | 5 | 跑动页眉(C4) | 同一文本行原样重复 ≥2 次(且非正文引用对象)判为页眉,删除并把被切断的上下文段落接回 | dmp L73/L191("MSOFA Score for Critical Care Triage"),L71→L75 句子被切断 | | 6 | 单行 HTML 表格展开(D1) | 严格完整的单行表格保留 HTML、属性和单元格内容,只按 `` 换行缩进;当前不转 GFM | 全部 9 个表:dmp 7、ejhf 1、springer 1;每张都有非 `1` 的 `colspan` | | 7 | 跨页断词(E2) | 只按项目批准的左右片段和结果词映射合并相邻行或只隔一个空行的片段;不使用英文词表猜测 | dmp 2 处、jama 2 处、sim 2 处,共 6 处 | | 8 | 参考文献分隔统一(G3) | 只在准确 References 章节内,对从 1 开始连续递增的编号条目统一一个空行 | dmp 13 处、springer 15 处,共 28 处 | 本表只包含当前自动清洗核心能够承载的修改。原审计中的图片断链校验修复不了 Markdown,已移到第 3 节等待 未来独立 Inspector 设计,不计入这 8 类自动清洗目标。 ## 3. 明确不洗(第一版非目标) 以下问题已确认存在但**不在**第一版范围内,避免实施时范围蔓延: - **内容级缺失(A1–A4)**:截断、表格整体缺失、图转表格、句子丢失。清洗无法恢复内容, 处置方式(重新转换 / 标记 / 人工补录)由项目负责人决定,不由清洗管线代劳。 - **修订语义(B3)**:"defined identified by as" 等修订残留词对,哪个词是定稿词需对照定稿版判断。 - **占位符与坏日期(B4/B5)**:等待定稿填充,清洗只可检测。 - **乱码修复(C3/E1)**:泰文标题 `## ่วง`、`ينDS Hospital`,需要人工对照 PDF 替换。 - **表格结构修复(D3–D5)**:空单元格、错误合并行、OCR 表头错字,需人工对照原文。 - **空行断句合并(E3)**、**层级重建(C1)**、**标题合并(C2)**、**孤行公式编号(F1)**、 **公式空格与纠错(F2–F4)**、**上标风格统一(G1)**、**数字格式(G2)**:属于第二档 "自动检测+人工确认",等第一档验证后再立项。 - **封面页(H2)**:ejhf L1–11 的仓库封面区第一版不删——它是整块连续的正文区,删除逻辑 与页眉类噪声不同,归入后续批次。 - **图片断链校验(H3)**:全部 8 处图片引用是否存在属于未来只读检查;当前核心不读取图片资产、不输出断链 报告,也不移动、复制或改写图片。需要该结果时先新增平行 Inspector 设计。 - **一切内容改写**:原文写作瑕疵、欧式千分位、拼写(含 "Conounder")不属于转换噪声,永不由清洗工具修改。 ## 4. 输入输出边界 - 当前本地输入是 `data/md/` 中按论文缩写命名的 5 份 Markdown 副本,原文件只读; - 核心仍只接收内存 Markdown 字符串;本地实验层按 `design/0005` 将成功输出、JSON 审计和 diff 保存到 `artifacts//runs//`,不回写、不覆盖输入; - 当前批次不读取或复制图片资产;未来 Inspector、资产打包和路径改写分别设计; - 每处实际修改记录组件、理由、原文、改后内容和批次哈希,完整落盘字段以代码和 `design/0005` 为准。 ## 5. 验收口径(第一版) - 上述 8 类问题在本轮 5 份文件上的触发处全部按规则处理,共产生 155 条 `Change`; - 5 份文件中未被任何规则命中的正文零变更——除表中列出的触发处外不得有任何其他 diff; - 幂等性:同一输入清洗两次,第二次产出与第一次完全一致; - 规则 2(arXiv 戳)在 springer 上的验收必须包含反向用例:L143/L152 参考文献原文保留; - 规则 4(行号)验收必须包含反向用例:正文中的 "35 pediatric experts"、"10 sites"、"4 continents" 等数字开头/含数字短语不受影响。 2026-08-22 的保存型验收中,5 份文档全部为 `success`,各组件计数为:批注 2、行号 75、arXiv 2、页眉 2、 断词 6、HTML 实体 31、表格布局 9、参考文献空行 28。第二次运行 5 份合计 0 条修改,输入运行前后不变。 ## 6. 与审计报告的编号对应 本文的 8 类自动清洗规则对应 `scratch/data-5papers-cleaning-audit-2026-08-21.md` 的决策清单行: D2、H1、B2、B1、C4、D1、E2、G3。H3 保留为未来只读检查候选。该审计是 scratch 材料,本文引用其编号 仅为便于追溯,权威以本文为准。