← 返回
未分类 Key

Regulation Extractor

从建筑工程规范PDF中结构化提取条文并同步到飞书多维表格。支持PDF双文字层(原文+OCR)去重、纯图片PDF的RapidOCR识别、条文编号切分(含带空格编号如6. 1. 2. 3)、带圈数字转换(如6.4.④→6.4.4)、OCR错误检测、质量标记、文本清洗(去换行/页眉/符号表/中英文粘连/过长切分)。输出...
从建筑工程规范PDF中结构化提取条文并同步到飞书多维表格。支持PDF双文字层(原文+OCR)去重、纯图片PDF的RapidOCR识别、条文编号切分(含带空格编号如6. 1. 2. 3)、带圈数字转换(如6.4.④→6.4.4)、OCR错误检测、质量标记、文本清洗(去换行/页眉/符号表/中英文粘连/过长切分)。输出...
youfeijun123 youfeijun123 来源
未分类 clawhub v3.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 307
下载
💾 0
安装
1
版本
#latest

概述

Regulation Extractor v3.0

从建筑工程规范PDF中提取条文,支持文字层提取和纯图片PDF的OCR识别,经过多轮清洗后输出高质量结构化数据。

工作流(完整Pipeline)

Step 1: 提取条文(文字层)

python scripts/extract_regulation.py <pdf_path> -o <output.json>

支持 --chapters 自定义章节映射。

支持编号格式:3.1.23. 1. 2、4级编号 6.1.2.4,自动去除空格。

Step 2: OCR处理(纯图片PDF)

# 批量:自动检测0条文的JSON,仅OCR这些PDF
python scripts/ocr_batch.py <pdf_dir> <output_dir>

# 单文件
python scripts/ocr_batch.py <pdf_path> -o <output.json>

Step 3: 深度清洗(必做)

python scripts/deep_clean.py <output_dir>

一次性完成:

  • ❌ 过滤符号表(2.2.x 类编号)
  • ❌ 删除过短(<5字)和无中文条文
  • ✅ 修复中英文粘连(自动插入空格)
  • ✅ 切除末尾混入的章节标题
  • ✅ 切分过长条文(>300字,按句号/分号智能切分,子条目编号如 3.1.2.a, 3.1.2.b)

Step 4: 清洗文本(向量化前必做)

python scripts/clean_json.py <output_dir>

去除 \n 换行符、页眉页脚垃圾(如 www.bzfxw.com、规范名称重复)。每条条文变成一段连续纯文本。

Step 5: 修复残留尾部垃圾

python scripts/fix_tails.py <output_dir>

更彻底地修复:

  • 页码残留(—83— 等各种变体)
  • 图表标题残留(图N xxx示意图
  • 规范名称重复
  • 章节标题拼接

Step 6: 质量检查

python scripts/quality_check.py <output_dir>

输出每个PDF的质量报告:中英文粘连、符号表、末尾章节标题、过长、过短、OCR错误、无中文。

Step 7: 同步到飞书

python scripts/sync_to_bitable.py <output.json> \
  --app_token <APP_TOKEN> --table_id <TABLE_ID> \
  --app_id <APP_ID> --app_secret <APP_SECRET> \
  --delete_dupes

Step 8: 人工校验

重点检查:

  • quality: ocr_error 的条文(OCR识别不准)
  • 过长条文的切分点是否合理
  • 术语定义中的中英文分隔

输出JSON结构

{
  "articles": {
    "3.0.1": {"id": "3.0.1", "chapter": "基本规定", "page": 11, "text": "...", "quality": "clean"},
    "5.3.2.a": {"id": "5.3.2.a", "chapter": "施工", "page": 45, "text": "(切分后的第一段)", "quality": "clean"},
    "5.3.2.b": {"id": "5.3.2.b", "chapter": "施工", "page": 45, "text": "(切分后的第二段)", "quality": "clean"}
  },
  "report": {"total": N, "clean": N, "ocr_error": N, "by_chapter": {...}, "missing": [...], "warnings": [...]}
}

脚本清单

脚本功能阶段
------------------
extract_regulation.py核心提取:文字层条文Step 1
ocr_batch.pyOCR批处理:纯图片PDFStep 2
deep_clean.py深度清洗:符号表/粘连/过长切分Step 3
clean_json.py文本清洗:去换行/页眉垃圾Step 4
fix_tails.py尾部修复:页码/图号/章节标题Step 5
quality_check.py质量检查:输出问题报告Step 6
sync_to_bitable.py同步飞书多维表格Step 7

技术要点

  • 双图层处理:PDF有原文层和OCR层,优先保留原文层,过滤OCR乱码层
  • OCR引擎:RapidOCR (ONNX),离线运行,无需GPU,支持中英文
  • 编号格式:支持 3.1.23. 1. 2、4级编号,自动去除空格
  • 过长切分:按句号→分号逐级切分,子条目加后缀 .a .b .c
  • 清洗Pipeline:5步递进式清洗,每步解决一类问题
  • 数据质量:实测21个PDF,5865条条文,96.8%干净率

依赖

pip install PyMuPDF rapidocr-onnxruntime
  • Python 3.10+

已知限制

  • 部分PDF只有封面(如JGJ 162-2008仅3页),无法提取条文
  • 条文编号非X.X.X格式的文件(如纯文本式实施细则)可能匹配不到
  • OCR准确率依赖PDF图片质量,建议对 quality: ocr_error 的条文人审
  • 约2%条文残留页码/章节标题噪声,对向量化检索影响极小

实测数据

指标数值
------------
PDF总数21个
成功提取19个(90%)
总条文数5,865条
干净率96.8%
OCR待校验185条(3.2%)

历史版本

版本日期变更
------------------
v1.02026-03-28初始版本:文字层提取
v2.02026-03-28新增OCR批处理、带空格编号格式、4级编号
v3.02026-03-28新增深度清洗Pipeline(5步)、过长切分、符号表过滤、尾部修复、质量检查

版本历史

共 1 个版本

  • v3.0.0 当前
    2026-05-07 15:25 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

office-efficiency

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 476 📥 158,135
office-efficiency

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 400 📥 150,276
office-efficiency

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 937 📥 188,064