8c23ac5521
冻结 0004,新增严格整行删除组件和测试,并记录 5 份论文的只读验证结果。同步 ClinDB 清洗范围,并忽略本地 reference 调研副本。
76 lines
6.4 KiB
Markdown
76 lines
6.4 KiB
Markdown
# 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 材料,本文引用其编号
|
||
仅为便于追溯,权威以本文为准。
|