Regulation Extractor
by @youfeijun123
从建筑工程规范PDF中结构化提取条文并同步到飞书多维表格。支持PDF双文字层(原文+OCR)去重、纯图片PDF的RapidOCR识别、条文编号切分(含带空格编号如6. 1. 2. 3)、带圈数字转换(如6.4.④→6.4.4)、OCR错误检测、质量标记、文本清洗(去换行/页眉/符号表/中英文粘连/过长切分)。输出...
clawhub install regulation-extractor📖 About This Skill
name: regulation-extractor description: 从建筑工程规范PDF中结构化提取条文并同步到飞书多维表格。支持PDF双文字层(原文+OCR)去重、纯图片PDF的RapidOCR识别、条文编号切分(含带空格编号如6. 1. 2. 3)、带圈数字转换(如6.4.④→6.4.4)、OCR错误检测、质量标记、文本清洗(去换行/页眉/符号表/中英文粘连/过长切分)。输出JSON供人工校验或直接写入飞书表格。适用场景:老板提供规范PDF → 提取条文 → 清洗 → 写入飞书多维表格 → 人工校验。触发词:提取规范、法规提取、条文提取、PDF提取规范、批量处理PDF法规。
Regulation Extractor v3.0
从建筑工程规范PDF中提取条文,支持文字层提取和纯图片PDF的OCR识别,经过多轮清洗后输出高质量结构化数据。
工作流(完整Pipeline)
Step 1: 提取条文(文字层)
python scripts/extract_regulation.py -o
支持 --chapters 自定义章节映射。
支持编号格式:3.1.2、3. 1. 2、4级编号 6.1.2.4,自动去除空格。
Step 2: OCR处理(纯图片PDF)
# 批量:自动检测0条文的JSON,仅OCR这些PDF
python scripts/ocr_batch.py 单文件
python scripts/ocr_batch.py -o
Step 3: 深度清洗(必做)
python scripts/deep_clean.py
一次性完成:
Step 4: 清洗文本(向量化前必做)
python scripts/clean_json.py
去除 \n 换行符、页眉页脚垃圾(如 www.bzfxw.com、规范名称重复)。每条条文变成一段连续纯文本。
Step 5: 修复残留尾部垃圾
python scripts/fix_tails.py
更彻底地修复:
—83— 等各种变体)图N xxx示意图)Step 6: 质量检查
python scripts/quality_check.py
输出每个PDF的质量报告:中英文粘连、符号表、末尾章节标题、过长、过短、OCR错误、无中文。
Step 7: 同步到飞书
python scripts/sync_to_bitable.py \
--app_token --table_id \
--app_id --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.py | OCR批处理:纯图片PDF | Step 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 |
技术要点
3.1.2、3. 1. 2、4级编号,自动去除空格.a .b .c依赖
pip install PyMuPDF rapidocr-onnxruntime
已知限制
quality: ocr_error 的条文人审实测数据
| 指标 | 数值 | |------|------| | PDF总数 | 21个 | | 成功提取 | 19个(90%) | | 总条文数 | 5,865条 | | 干净率 | 96.8% | | OCR待校验 | 185条(3.2%) |
历史版本
| 版本 | 日期 | 变更 | |------|------|------| | v1.0 | 2026-03-28 | 初始版本:文字层提取 | | v2.0 | 2026-03-28 | 新增OCR批处理、带空格编号格式、4级编号 | | v3.0 | 2026-03-28 | 新增深度清洗Pipeline(5步)、过长切分、符号表过滤、尾部修复、质量检查 |