冻结 0004,新增严格整行删除组件和测试,并记录 5 份论文的只读验证结果。同步 ClinDB 清洗范围,并忽略本地 reference 调研副本。
6.4 KiB
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)为该项目的数据提供清洗能力;ClinDB-ReviewBench 通过 profile 表达论文场景的规则组合,不把论文专属规则写进通用核心。
2. 第一版清洗目标
第一版只做"全自动、规则确定、可安全执行"的问题(审计第一档中的 8 类自动修改)。 判定标准是三条同时满足:模式可用确定规则描述;不依赖对正文语义的理解;改错可以从 diff 直接看出。
| # | 问题(审计编号) | 规则要点 | 触发范围(本轮实测) |
|---|---|---|---|
| 1 | HTML 实体双重转义(D2) | &gt;→>、&lt;→<、&amp;→&,还原一层;幂等 |
dmp L27/L33 共 23 处、ejhf L143 共 8 处,全部在 <table> 行内 |
| 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 L155–157 共 2 处 |
| 4 | 手稿行号(B1) | 仅剥离单调递增序列的行首 ^\d{1,3} 与标题内 ^#{1,6} \d{1,3} ;序列中断即停止提出后续修改,防止误伤正文数字(如 "35 pediatric experts") |
jama 128 行正文 + 6 个标题(L127/149/151/165/193/195) |
| 5 | 跑动页眉(C4) | 同一文本行原样重复 ≥2 次(且非正文引用对象)判为页眉,删除并把被切断的上下文段落接回 | dmp L73/L191("MSOFA Score for Critical Care Triage"),L71→L75 句子被切断 |
| 6 | 单行 HTML 表格展开(D1) | 无 rowspan/colspan 的表转多行 GFM;含合并属性的表保留 HTML 但按 <tr> 换行缩进;内容一字不改 |
全部 9 个表:dmp 7、ejhf 1、springer 1 |
| 7 | 跨页断词(E2) | 行尾连字符 + 下一行首小写字母 → 合并;仅在拼出的词能通过英文词表校验时执行,否则保留原样且不提出修改 | dmp L125/127(thresh-olds)、sim L87/89(possi-bly)、L217/219(cre-ated) |
| 8 | 参考文献分隔统一(G3) | ^\d+\. 条目之间统一一个空行 |
dmp refs 19–33、springer refs 9–19(连续堆叠段) |
本表只包含当前自动清洗核心能够承载的修改。原审计中的图片断链校验修复不了 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/<转换结果目录>/markdowns/*.md,原文件只读; - 当前核心只接收内存 Markdown 字符串并返回内存结果;文件输出位置和保存流程尚未设计,不回写、不覆盖原文件;
- 当前批次不读取图片资产;未来 Inspector 和路径改写分别设计;
- 每处实际修改必须在内存结果中记录组件、理由、原文、改后内容和批次哈希,保证可追踪。
5. 验收口径(第一版)
- 上述 8 类问题在本轮 5 份文件上的触发处全部按规则处理,处理数与审计报告的实测数字一致;
- 5 份文件中未被任何规则命中的正文零变更——除表中列出的触发处外不得有任何其他 diff;
- 幂等性:同一输入清洗两次,第二次产出与第一次完全一致;
- 规则 2(arXiv 戳)在 springer 上的验收必须包含反向用例:L143/L152 参考文献原文保留;
- 规则 4(行号)验收必须包含反向用例:正文中的 "35 pediatric experts"、"10 sites"、"4 continents" 等数字开头/含数字短语不受影响。
6. 与审计报告的编号对应
本文的 8 类自动清洗规则对应 scratch/data-5papers-cleaning-audit-2026-08-21.md 的决策清单行:
D2、H1、B2、B1、C4、D1、E2、G3。H3 保留为未来只读检查候选。该审计是 scratch 材料,本文引用其编号
仅为便于追溯,权威以本文为准。