Files
hermes-skills/skills/legal/contract-portfolio-analysis/references/ocr-vision-cross-verify.md
T

62 lines
2.0 KiB
Markdown

# OCR + Vision 双引擎校对流程 (跃龙路经验 0703)
## 问题背景
扫描件PDF用ocrmypdf提取的文字有大量识别错误:
- 数字被乱码覆盖(如金额行变成 `SH CAL bi` 等)
- 合同条款编号错位
- 签章区域干扰正文识别
- "扫描全能王"水印被当正文
## 推荐流程
### Step 1: OCR提取(作为初始底稿)
```bash
ocrmypdf --force-ocr -l chi_sim+eng --sidecar /tmp/XXX-ocr.txt input.pdf output.pdf
```
### Step 2: PDF转图片(逐页)
```python
import fitz
doc = fitz.open('input.pdf')
for i in range(len(doc)):
page = doc[i]
pix = page.get_pixmap(dpi=200)
pix.save(f'/tmp/XXX-p{i+1}.png')
```
### Step 3: Vision逐页核实(关键数据页)
- 优先核实:金额页(租金标准/各年租金/押金/物业费)
- 明确问题:指定需要逐字抄写的数据类型
- 每页一个vision_analyze调用,问题要具体
### Step 4: 数学交叉验证
验算所有可推导的数字关系:
- 年递增:base × (1+rate)^(n-1) = 第n年租金
- 免租分摊:总额 ÷ 年数 = 每年减免
- 减免后 = 合同租金 - 年减免额
- 单价反推:年总额 ÷ 365 ÷ 面积 = 元/㎡/天
- 物业费:单价 × 面积 × 12 = 年总额
### Step 5: 整理md全文
- 以vision核实的数据为准(非OCR原始文本)
- 保留合同结构(条款编号+标题)
- 签章信息如实记录(印章文字、编号)
- 空白/未填写项标注"(未填写)"
- 文件存放:同一文件夹,命名格式 `XXX合同_全文.md`
## OCR常见错误类型(跃龙路实例)
| 原文 | OCR错误 |
|------|---------|
| 崇川区 | 贮川区 |
| 范存益 | 无法识别 |
| 6230520420020988877 | 6930520420020988877 |
| 361017.12 | 3610417.142 |
| 平方米 | FAK |
| 乙方 | EM |
| 续租 | SA |
## 效率提示
- 6页以内的合同:全部逐页vision(最可靠)
- 6页以上:OCR为底稿 + 关键数据页vision + 数学验算
- 所有金额/日期/面积/费率必须经vision确认,不能只信OCR