Files
mdpolish/research-wiki/reference/GOVDOC_SAAS_CLEANING_SCOPE.md
T
Bepr4 977bfb832b 建立实验室共用库定位并完成论文/GovDoc 两批数据的问题审计
- README 更新项目定位为实验室共用清洗库,明确 data/ 职责与 profile 复用原则;
- 新增 ClinDB-ReviewBench(论文清洗)5 份 Markdown 问题审计(scratch),
  并确定第一版清洗范围:9 类确定性规则(reference/CLINDB_REVIEWBENCH_CLEANING_SCOPE.md);
- 45 份政务文档审计重命名为 GOVDOC_SAAS_CLEANING_SCOPE.md,截去第 6 节起的
  实施建议,只保留问题报告(396 行);
- 收录 2026-08-20 生态调研草稿(scratch)。
2026-08-21 17:44:23 +08:00

397 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 7 组对比测试文档 Markdown 清洗审计与实施规范
- 审计日期:2026-08-20
- 审计目录:`/home/lihaoze/gov_test_data/compare`
- 清洗对象:7 个测试用例中 `uploads/` 下的 45 份 Markdown
- 背景资料:`compare/readme.md` 与各用例 `README.md`
- 本次操作:只读审计;没有修改任何原始测试文档
## 1. 结论摘要
这批 Markdown 目前不适合直接作为“语义可靠”的清洗后基准。问题并不只是在空格、换行和标题层级,而是同时存在以下几类高风险污染:
1. **内容级污染**:至少 32/45 份文件命中了保守的模型幻觉特征词,合计 1,703 次;典型内容包括 `The quick brown fox...`、勾股定理说明、`The image contains...``The steps are:` 等与投标文件无关的文本。
2. **图像内容丢失**:45/45 份文件都有图片引用,共 8,471 个,但目录中没有任何图片资产;其中 4,012 个引用只是字面量 `data:image/...;base64...`,并不包含可解码数据。
3. **表格结构损坏**:41 份文件含原始 HTML 表格,共 7,550 个 `<table>`35/41 份存在 `<table>/<tr>/<td>` 数量不平衡。另有 4 份 007 用例文档使用 GFM 表格,其中 203 个表格块里至少 60 个行列数不一致。
4. **重复和超长噪声**:出现 261,838 字符的单行点线、数万字符的重复英语句子、LaTeX 箭头/颜色命令和重复汉字。001 两份文件的非空行重复比例分别达到 81.8% 和 84.1%。
5. **结构扁平化**:全库 29,358 个 Markdown 标题中有 28,736 个是一级标题,占 97.9%;至少 378 个标题缺少空格、只有 `#` 或存在其他明显语法问题。
6. **字符与格式污染**:有 10 个替换字符 ``、20 个私用区字符、11 个 NBSP、5 个零宽字符、1,474 个多余的 `\-` 转义,以及 151,616 行尾部双空格。
7. **真实数据合规风险**:README 明确说明数据来自已上线旧项目中的律所真实上传文件。粗略正则扫描得到身份证号候选 1,976 处、手机号候选 477 处、邮箱 103 处、统一社会信用代码候选 3,259 处。这些数字是候选匹配,不等于已校验的唯一实体数,但足以说明必须把脱敏策略纳入项目设计。
最重要的实施建议是:**不要只产出一份“清洗 Markdown”**。应同时产出:
- `clean_fidelity.md`:忠实版,保留有法律/业务意义的全部内容,所有修复必须能追溯到源文件。
- `clean_compare.md`:对比版,从忠实版派生,移除页眉页脚、失效目录页码、转换器噪声和确定的重复版式块,用于文档相似度计算。
- `audit.json`:记录每一次删除、替换、合并、回源重提取和人工确认。
这样可以避免为了提升对比效果而不可逆地破坏原文,也能避免把幻觉文本、通用图片占位符和重复页眉当成“相同内容”。
## 2. 审计范围与统计口径
### 2.1 纳入和排除
纳入:
- `compare/001-2/uploads/*.md`2 份
- `compare/002-21/uploads/*.md`21 份
- `compare/003-10/uploads/*.md`10 份
- `compare/004-2/uploads/*.md`2 份
- `compare/005-3/uploads/*.md`3 份
- `compare/006-3/uploads/*.md`3 份
- `compare/007-4/uploads/*.md`4 份
排除:
- 8 份 README:它们是测试说明,不是待清洗输入。
- `review.json``blocks_*.json``match_index.json``summary.json`:它们是旧输入产生的下游结果,只用于理解测试背景,不能作为清洗真值。
- `file_*_reviewed.docx`:本次未把它们当作 Markdown 清洗对象;后续可作为辅助核对材料,但是否能作为权威源需单独确认。
### 2.2 基础规模
45 份输入合计约 36.39 MiB、388,482 个物理行。所有文件都能按 UTF-8 读取,但“能解码”不代表内容无损,文件中仍有 `` 和私用区字符。
下表中的“幻觉特征”使用一组偏保守的固定模板进行计数,包括 `The quick brown fox...`、勾股定理模板、`The image contains...``The concept of a concept...``The steps are:` 等;因此它只是明确下限,不包含全部乱码和中文重复污染。
| 用例 | 文档数 | 大小 MiB | 行数 | HTML 表格 | GFM 表格行 | 图片引用 | 空 Base64 占位 | 幻觉特征 | 最大单行字符数 | 总体判断 |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| 001-2 | 2 | 6.41 | 48,450 | 2,596 | 0 | 109 | 0 | 0 | 4,482 | 高风险:表格未闭合、重复率极高、图片定位不可用 |
| 002-21 | 21 | 15.23 | 158,462 | 2,593 | 592 | 2,000 | 0 | 1,530 | 28,624 | 严重:模型幻觉和重复文本最集中 |
| 003-10 | 10 | 9.20 | 116,358 | 1,646 | 2 | 1,793 | 0 | 137 | 261,838 | 严重:存在灾难性长行、乱码、幻觉和 LaTeX 污染 |
| 004-2 | 2 | 0.41 | 5,726 | 109 | 0 | 36 | 0 | 7 | 8,001 | 高风险:OCR 语义错误、缺图、幻觉 |
| 005-3 | 3 | 2.67 | 31,537 | 476 | 0 | 359 | 0 | 7 | 11,599 | 高风险:重复、缺图、表格和少量幻觉 |
| 006-3 | 3 | 1.12 | 14,701 | 130 | 0 | 162 | 0 | 22 | 9,151 | 高风险:含 OCR 文档,仍有明显幻觉和缺图 |
| 007-4 | 4 | 1.35 | 13,248 | 0 | 2,792 | 4,012 | 4,012 | 0 | 5,916 | 严重:图片内容全部为无效占位,表格和 Word 目录损坏 |
## 3. 对下游“文件对比”功能的直接影响
这些污染会系统性扭曲相似度,不只是影响阅读体验:
- `The quick brown fox...` 等同一幻觉模板出现在多个本来无关的投标文件里,会制造跨文档假阳性匹配。
- 007 中 4,012 个完全相同的空图片占位符会被当成大量相同行。
- 001 中同一“综合单价分析表”说明被重复约 900 次;这与 README 中 001、003 的“近似匹配占 99% 以上”和超大 `review.json` 有明显关联。这里只能判断为高度可疑的影响因素,不能在没有重新跑对比的情况下断言它是唯一原因。
- 平铺成一级标题、把表格压成一行、把页眉页脚混入正文,会改变分块边界,并使段落/句子/近似三档匹配分布失真。
- 如果把不同手机号、身份证号、图片都统一替换成同一个 `[PHONE]``[ID]``[IMAGE]`,又会制造新的假相同内容。因此占位符必须保留“不同原值不同 token”的性质。
清洗后必须重新生成 `blocks_*.json``match_index.json``review.json``summary.json`。旧匹配数量不能作为清洗后的等值验收条件,应保留为“脏输入性能基线”,另建“干净输入语义基线”。`fileIndex` 和测试用例映射必须保持不变。
## 4. 问题清单与清洗要求
### 4.1 C001:固定模板型模型幻觉
优先级:P0,阻断语义版交付。
已确认的例子包括:
- `The quick brown fox jumps over the lazy dog.`:全库 1,071 次。
- `The equation $x^2 + y^2 = z^2$ represents a Pythagorean triple...`:全库 62 次。
- `The image contains a single character...`
- `The concept of a concept is fundamental in physics...`
- `- The steps are:`
- `Agree to be`
- `汽车法规和商业期刊的出版`
典型证据:
- `002-21/file_14` 第 1,164 行:一行内重复 `quick brown fox` 约 411 次。
- `002-21/file_3` 第 3,804 行:同类重复约 428 次。
- `002-21/file_5` 第 2,915 行:`The image contains...` 及数字说明被重复扩展。
- `002-21/file_8` 第 5,379 行:28,624 字符的英语概念重复行。
- `003-10/file_2` 开头即出现无关英文、勾股定理和中文乱码。
清洗要求:
1. 固定模板命中后先标记其所在段、表格单元格和推定页面,不应只删除匹配到的几个单词。
2. 有源 PDF 时,按页或按区域重新提取;没有源文件时,将该段放入 `quarantine`,不能把删除后的残缺上下文冒充完整正文。
3. 黑名单适合做拦截器,不适合做唯一清洗器。应再检测异常语言切换、低词汇多样性、同短语高频循环和超长单行。
4. 清洗结果中这些已知模板必须为 0;审计文件须记录被移除的原始范围和回源依据。
### 4.2 C002:超长重复串和退化输出
优先级:P0/P1,视能否回源而定。
典型问题:
- `003-10/file_2` 第 91 行长 261,838 字符,主体是目录点线重复。
- 同文件第 8,924 行长 19,089 字符,主体是重复的 LaTeX `\rightarrow`
- `002-21/file_15` 第 4,898 行长 11,267 字符,主体是重复 `\textcolor{red}{\blacksquare}`
- `003-10/file_7` 第 24,211 行含嵌套、重复的 `\textcolor{red}`
- 多处出现成千上万次的 `园``\cdots``...` 或错误短语,例如“建设工程执行”。
检测规则建议:
- 普通文本单行超过 2,000 字符告警,超过 10,000 字符阻断;结构化表格在解析后按单元格重新执行该规则。
- 同一字符连续 20 次以上、同一 2—20 字符片段连续 10 次以上告警。
- 单行压缩率异常高、唯一 token 比例过低、相邻重复 n-gram 比例过高时进入隔离。
- 目录点线只保留为结构化 TOC 信息,不保留数十万字符的视觉填充。
不允许简单按固定长度截断,因为长 HTML 表格可能包含真实内容。必须先判断是表格、目录点线、Base64、SVG 还是普通文本。
### 4.3 I001:图片引用全部失效
优先级:P0。
全库有 8,471 个图片引用,本地图片资产为 0:
- 0074,012 个 `![](data:image/jpeg;base64...)` 或 PNG 变体。这里的 `...` 是文本,不是被终端隐藏的真实数据,无法解码恢复。
- 001109 个目标形如 `page=9,bbox=[...]`,不是标准图片路径,也没有对应裁剪图。
- 其余:4,350 个 `images/<hash>.jpg` 等相对引用,但仓库中不存在相应文件。
- 7,073/8,471 个图片没有 alt 文本。
清洗要求:
1. 从原始 PDF/DOCX 回源导出图片,使用内容哈希命名,并生成 `assets/manifest.json`
2. 对印章、签名、证书、身份证件、扫描表格等“有语义图片”执行 OCR/版面识别,但仍要保留原图引用,不能只留推测文本。
3. 001 的 `page+bbox` 必须转换为结构化来源坐标,再从对应 PDF 裁剪;不能直接当 Markdown URL。
4. 如果确实采用纯文本模式,图片位置应写成唯一、可追踪的标记,例如 `[IMAGE_MISSING:007-4:file_1:0001]`,不能用所有文件共享的 `[IMAGE]`,否则会制造假匹配。
5. 生产级“完整清洗”验收要求 broken reference 为 0。无法回源的图片必须明确标为未解决,不能计作完整通过。
### 4.4 T001HTML 表格损坏和超长单行
优先级:P0/P1。
41 份文件中共有 7,550 个 HTML 表格。静态标签计数如下:
- `<table>` 7,550`</table>` 7,155。
- `<tr>` 101,760`</tr>` 101,019。
- `<td>` 657,263`</td>` 656,575。
- 35/41 份含 HTML 表格的文件至少有一类标签不平衡;7 份连 table 层级都不平衡。
001 最严重:
- `file_0``table=1315/1124`
- `file_1``table=1281/1080`
清洗要求:
1. 使用容错 HTML 解析器构建 DOM,记录解析器自动补齐了哪些标签;禁止用正则直接替换所有表格标签。
2. 对每个表格校验 `rowspan/colspan` 展开后的网格是否矩形、行列数是否与表头一致、单元格顺序是否可追溯。
3. 简单矩形表格可转为 GFM;包含合并单元格、斜线表头、嵌套结构的表格应保留规范化 HTML,或另存为结构化 JSON。强行转 GFM 会丢失语义。
4. 一行一个完整 HTML 表格应格式化为多行结构,避免长行拖垮分块器和 diff,但换行必须发生在 DOM 节点之间。
5. 类似 `004-2/file_0` 第 613 行中“国家、职位、导演、客户”等明显不符合资格审查表语境的表头,应回源确认,不能只修标签。
### 4.5 T002GFM 表格行列数不一致
优先级:P1。
007 四份文件共有 203 个连续 GFM 表格块、2,792 个表格行,至少 60 个表格块出现不同行拥有不同列数:
- `file_0`36 个块,21 个不一致。
- `file_1`55 个块,20 个不一致。
- `file_2`42 个块,7 个不一致。
- `file_3`:70 个块,12 个不一致,另有 2 个块缺分隔行。
此外,`002-21/file_7` 有一个 584 行的大型 GFM 表格,同时出现 3 列和 5 列;`002-21/file_3` 也有不一致的孤立表格块。
这通常是把 Word/PDF 合并单元格硬投影到 GFM 的结果。清洗器应先恢复二维网格;无法无损表达的表格应改用规范 HTML/JSON,而不是补若干空 `|` 来“通过语法检查”。
### 4.6 H001:标题层级扁平、标题断裂和错误标题
优先级:P1。
问题表现:
- 001—006 几乎把所有章节都输出为 `#`,没有文档层级。
- 存在 `#零星维修...``#(正本)` 等缺少空格的标题。
- 存在只有 `#` 的空标题。
- 同一个标题被版面换行切成多个连续一级标题,例如项目名称被拆成 2—3 行。
- 普通正文、图片识别结果和幻觉句子也被错误标成标题。
清洗要求:
1. 每个逻辑文档保留一个主标题 H1;主要章为 H2,节为 H3,依次递进,不跳级。
2. 使用编号模式(“第一章”“一、”“(一)”“1.”)、目录结构、相邻上下文和重复页眉信息共同推断层级。
3. 连续短标题行在确认属于同一版面标题后合并;不能只根据行长合并。
4. 修复 `#标题``# 标题`,删除空标题;被判为正文的行去掉标题标记。
5. 标题文本中的项目编号、公司名、年份不得因规范化而改变。
### 4.7 P001:段落、硬换行和词内断裂
优先级:P1。
151,616 行以两个空格结尾,主要来自 002—006 的转换器。这会把几乎每个物理行强制为 Markdown `<br>`,使原本同一段的文字被切碎。还存在:
- `物 业``项 目``服\n务项目` 等版面换行造成的词内空格或断行。
- 页码、目录页码和正文混在同一行。
- 句子被错误拼接成超长段,或每句话都被拆成独立段。
- 项目编号中的连字符被转义成 `440442\-2025\-00435`,同一标识在不同文件中形式不一致。
清洗要求:
1. 先识别标题、列表、表格、地址、编号、签名区,再做段落重组。
2. 普通段落内部把版面软换行合并为空或一个空格;中文字符之间通常直接合并,中英/数字边界按规则保留空格。
3. 列表项、诗行、地址、落款、表格单元格内的有意义换行不得统一删除。
4. `\-` 仅在确认是转换器多余转义时还原;项目编号和负号的字符本身必须保留。
5. Unicode 采用 NFC,不建议全局 NFKC;NFKC 可能改变罗马数字、圈号、单位和兼容字符的法律原貌。
### 4.8 D001:页眉、页脚、目录页码和文档边界
优先级:P1。
已检测到至少 1,166 个“独立页码样式候选”,但其中也会混入 `0/1000` 等评分或限制值,所以不能仅凭正则删除。明确例子包括 `1 / 390``368 / 390``4 / 6`
清洗要求:
- 只有在同一文本出现在多页相近顶部/底部位置,或页码形成合理序列时,才判定为页眉页脚。
- `clean_fidelity.md` 可通过元数据保留页码映射;`clean_compare.md` 删除纯版式页码和重复运行标题。
- 002 中 `file_16``file_19` 开头分别表现为符合性审查、综合文件、商务部分、技术部分,可能是同一投标人的分卷/分册。清洗器必须保存原始 `fileIndex` 和卷册边界,不能自行拼接。
- 目录文本可转换为结构化章节导航;目录点线和页码不应参与正文相似度。
### 4.9 D002:重复内容与模板内容
优先级:P1,但严禁盲删。
重复既可能是转换器错误,也可能是投标文件真实模板。典型统计:
- 001 两份文件非空行重复比例分别为 81.8% 和 84.1%。同一“综合单价分析表”及说明出现约 900 次。
- `002-21/file_3` 非空行重复比例 44.8%,含“装约买箱箱装”等乱码高频重复。
- `002-21/file_15``Agree to be` 重复 813 次。
- `002-21/file_5``- The steps are:` 重复 818 次。
- `002-21/file_20` 中目录式条目“施工等级 282”“工期保证措施 282”分别重复 165、164 次。
处理原则:
1. 明确的幻觉/转换器退化重复应回源替换或隔离。
2. 重复页眉、页脚、页码在对比版删除。
3. 合法合同条款、报价表说明和表头在忠实版保留。对比版可把同一文档内重复模板块标为同一 `template_block_id`,在相似度计算时降权,而不是直接删除。
4. 跨文档共同出现的合法招标模板本来就是对比目标的一部分,不应因“重复”而全部抹除。项目需要明确是检测抄袭、检测共同模板,还是两者分别评分。
### 4.10 L001Word/PDF 转换遗留语法
优先级:P1/P2。
包括:
- 007 `file_1` 有 171 个 `(#_Toc...)` Word 目录链接,但全库没有对应显式锚点。
- 001 有 2,594 个 `<div align="center">`,用 HTML 仅表达居中版式。
- 575 个行内数学片段中有不少重复的 `\textcolor``\rightarrow``\cdots` 和勾股定理幻觉。
- 20 个私用区字符主要是 U+F0B7、U+F070、U+F0D8,常见于 Wingdings/项目符号映射。
- 10 个 `` 出现在 7 份文件中,已经无法靠 Unicode 规范化恢复原字符。
处理要求:
- Word TOC 链接要么根据清洗后标题生成真实 slug,要么移除链接只保留目录文字;不得保留悬空锚点。
- 纯版式 `<div align>` 转成语义标题/段落;居中信息可进样式元数据。
- 私用区字符按原字体映射或源文件回查,不能一律删除。
- `` 必须逐处回源,无法回源时产生显式未解决项。
- LaTeX 只有在源文件确实包含公式/符号时保留;重复生成的视觉符号应由原图或文本含义替代。
### 4.11 S001:真实个人和企业敏感信息
优先级:如果测试数据会离开受控环境,则为 P0;仅限封闭授权环境时也必须有访问控制。
候选扫描结果:
| 类型 | 候选次数 | 涉及文件数 |
|---|---:|---:|
| 身份证号 | 1,976 | 37 |
| 手机号 | 477 | 41 |
| 邮箱 | 103 | 33 |
| 统一社会信用代码 | 3,259 | 43 |
| “身份证号/联系电话/银行账号/法定代表人”等敏感字段标签 | 2,276 | 44 |
建议提供独立的 `privacy_profile`,而不是把脱敏与文本纠错写死在一起:
- `closed_authorized`:保留原值,仅限受控测试;日志不得打印原始敏感值。
- `masked_compare`:使用确定性、按实体区分的伪名,例如不同手机号映射成不同的 `<PHONE_0001>``<PHONE_0002>`;相同原值是否跨文档保持相同 token,由对比目标决定。
- `public_sample`:除文本脱敏外,还要处理身份证图片、签名、印章、照片、二维码和图片元数据。
不要把所有值都替换成同一个通用 token,否则会造成大规模假相似。
## 5. 分用例处置建议
### 5.1 001-2:建筑工程投标文件
主要问题:
- 两份文档共有 2,596 个 HTML 表格,table 层级分别缺少约 191 和 201 个闭合标签。
- 非空行重复率超过 80%,大量综合单价分析表说明重复。
- 109 个图片引用都是 `page+bbox`,没有图片资产。
- 标题几乎全部为 H1,另有大量居中 `<div>`
建议:两份原始 PDF 都在 `source/`,应优先重新执行带页码、坐标和图片导出的版面解析。001 不适合靠修补现有 HTML 完成最终清洗。现有 Markdown可保留为“旧解析器回归样本”。
### 5.2 002-2121 份江门市中心医院投标文件
这是内容污染最集中的用例。21 份中 19 份命中明确幻觉模板,保守特征合计 1,530 次;全部含失效图片和 HTML 表格。
重点文件:
| fileIndex | 重点问题 | 建议 |
|---:|---|---|
| 0 | 28 次保守幻觉特征;多处 quick/equation150 个 HTML 表格 | 回源重提取污染页 |
| 1 | 12 次特征;重复率 22.5%;表格长行 | 回源并做重复块检查 |
| 2 | 5 次特征;含 ``;表格长行 | `` 逐处回源 |
| 3 | 454 次特征;quick 约 428 次;重复率 44.8%;乱码高频;GFM 表格不一致;含 `` | 灾难性污染,整文档重新提取 |
| 4 | 少量明确幻觉;表格长行 | 按命中页重提取 |
| 5 | 475 次特征;`The steps are:` 约 818 次;含 U+F0D8 | 灾难性污染,整文档重新提取 |
| 6 | 13 次特征 | 按命中页重提取 |
| 7 | 12 次特征;584 行 GFM 表格列数不一致;重复率 25.4% | 表格回源重建,核查文本污染 |
| 8 | 19 次特征;28,624 字符英语重复行 | 至少该页重提取,建议整文档重跑 |
| 9 | 9 次特征 | 按命中页重提取 |
| 10 | 11 次特征;HTML 表格层级也有缺口 | 回源重提取污染页并修表 |
| 11 | 9 次特征 | 按命中页重提取 |
| 12 | 20 次特征;10,937 字符 `The image contains...` 行 | 回源重提取污染页 |
| 13 | 16 次特征 | 按命中页重提取 |
| 14 | 422 次特征;单行 quick 重复约 411 次;还有中文短语退化重复 | 灾难性污染,整文档重新提取 |
| 15 | `Agree to be` 约 813 次;超长 `\textcolor` 行;重复率 20.4% | 灾难性污染,整文档重新提取 |
| 16 | 少量幻觉;内容像单独卷册;重复率 26.3% | 保留卷册边界,按页核查 |
| 17 | 7 次特征;含 ``;可能为分册 | 回源并保留边界 |
| 18 | 未命中当前固定模板,但仍有缺图、H1 扁平和 HTML 表格 | 不能视为干净;做结构清洗和抽检 |
| 19 | 未命中当前固定模板,但仍有 53 个缺失图片及表格 | 做结构清洗和抽检 |
| 20 | 少量特征;目录条目成百次重复 | 识别目录/正文边界并去版式重复 |
本用例没有保存原始 PDF,只有 Markdown 和 reviewed DOCX。清洗项目开始前应确认能否从旧存储追回原上传文件;如果不能,不能宣称已完成内容级无损修复。
### 5.3 003-1010 份物业投标文件
该用例有原始 PDF,可建立最可靠的回源修复和质量评测。
| fileIndex | 重点问题 | 建议 |
|---:|---|---|
| 0 | 缺图、H1 扁平、HTML 表格 | 结构清洗,按页抽检 |
| 1 | 至少 1 次明确模板污染;缺图和表格 | 命中页重提取 |
| 2 | 开头即乱码/幻觉;63 次保守特征;261,838 字符点线;19,089 字符箭头行 | 最高优先级,整份从 PDF 重提取 |
| 3 | 37 次特征;505 个缺图;HTML 表格 | 整份重提取或至少覆盖全部命中页 |
| 4 | 模板污染;含 ``;表格长行 | 回源修复字符和污染页 |
| 5 | 5 次特征;含 `` | 回源修复 |
| 6 | 未命中固定模板,但有缺图和表格 | 结构清洗,抽检 |
| 7 | 29 次特征;重复 `\textcolor`3 个 U+F0D8;392 个缺图 | 整份重提取优先 |
| 8 | 少量模板污染;运行标题重复明显 | 修污染页,移除对比版页眉 |
| 9 | 4 个 ``;超长/重复汉字;大表格 | 回源重提取异常页并修表 |
### 5.4 004-2:采购文件
- `file_0`:图片缺失、H1 断裂、HTML 表格;第 613 行表头语义明显异常。
- `file_1`:7 次保守幻觉特征、重复率 27.0%、34 个缺图,并有长重复汉字。
该目录没有原始 PDF。应优先追回源文件;reviewed DOCX 只能在确认其来源和人工修改范围后作为替代依据。
### 5.5 005-3:响应文件
- 三份文档都命中少量明确幻觉特征,分别约 3、1、3 次。
- 非空行重复率约 30.4%、20.9%、31.9%。重复中既可能有劳动合同模板等真实内容,也可能有转换器重复,必须区分。
- `file_2```,且有 11,599 字符的单行 HTML 表格。
- 三份共有 359 个失效图片和 476 个 HTML 表格。
建议先按异常页回源;若源文件不可得,则至少将不确定片段隔离并生成未解决清单。
### 5.6 006-3:含 OCR 的投标文件
- README 标注 `file_1``file_2` 为 OCR 版;三份文档段落规模差异很大。
- `file_0` 命中 21 次保守幻觉特征,说明非 README 标注的 OCR 文件也不能默认安全。
- `file_2` 命中 1 次明确特征;`file_1` 未命中当前固定模板,但仍有缺图和结构问题。
- 三份共有 162 个失效图片、130 个 HTML 表格。
建议把 006 作为 OCR A/B 测试集:逐页记录“文本层提取、传统 OCR、视觉模型”三个结果的字符错误率、结构恢复率和幻觉率,不应只比较最终段落数。
### 5.7 007-4:纯文字投标文件
README 称其为“纯文字(无表格)”,但 Markdown 实际有 2,792 个 GFM 表格行,说明转换器很可能用表格表达页面布局,而非文档真的包含大量语义表格。
- `file_0`1,159 个空 Base64 图片占位;21 个行列不一致表格块;8 个 U+F0B7。
- `file_1`:1,113 个空占位;20 个不一致表格块;171 个悬空 Word TOC 链接。
- `file_2`:1,048 个空占位;7 个不一致表格块;U+F070 7 个、U+F0D8 1 个。
- `file_3`:692 个空占位;12 个不一致表格块;2 个表格块缺分隔行;4 个空/异常标题。
这四份文档即使文本看起来较整齐,也因图片数据已丢失而不能算完整。应从原上传文件重新导出图片和表格;没有源文件时只能产出明确标注“不完整”的文本版。