在法律尽调场景下,OCR 的核心使命是 “结构化解析(Parsing)”。 我们不仅要让机器把字读出来,还要让机器理解 “什么是许可项目”“什么是禁止项目”“什么是高风险项目”

1. 痛点:为什么通用的 OCR 搞不定“经营范围”?

营业执照上的“经营范围”通常是一个 多行文本块(Multi-line Text Block)。 通用 OCR 往往会犯以下错误:

  1. 行序混乱:把第一行的后半段和第二行的前半段拼错了,导致语义断裂。
  2. 符号丢失:漏掉了关键的 分号(;)括号()。在法律文本中,分号代表业务的分割,括号代表限制条件,丢了就是重大事故。
  3. 截断:因为文本太长,超过了字段限制,导致最后几行没识别出来。

2. 工程方案:从“OCR 原始文本”到“结构化列表”

我们的目标是将非结构化的长文本,转化为 Excel 或数据库里的 List<String>

第一步:高精度长文本 OCR (Long-Text OCR)

  • 模型选型:必须使用支持 CRNN (卷积循环神经网络)SVTR 的模型,它们对长序列文本的连贯性保持得更好。
  • 行合并算法
    • 不要简单地按 \n 换行。
    • 逻辑:如果上一行结尾不是“;”或“。”,且下一行开头不是空格,说明这句话没说完,必须强制合并成一行。

第二步:基于标点的 NLP 切分 (Segmentation) 中国企业的经营范围写法是有 国标(GB/T 4754) 规范的。

  • 核心分隔符中文分号(;)。这是分割不同业务类型的铁律。
  • 切分逻辑
    • 结果:原本 500 字的一段话,被切分成了一个包含 15 个业务项的数组。

3. 风险挖掘:建立“红/黄/绿”灯机制

拿到了数组,我们就可以进行 风险关键词匹配。这比人工看要准得多。

建立风险词库 (Risk Dictionary)

  • 红灯(绝对禁止/高危)危险化学品烟花爆竹易制毒放射性
  • 黄灯(需特许/强监管)互联网金融小额贷款P2P征信医疗器械食品经营
  • 绿灯(一般项目)技术咨询软件开发日用百货

否定词逻辑(Negative Lookahead): 这是最容易误判的地方。

  • 场景:某公司经营范围写着:“投资管理(不含金融、证券、期货业务)”。
  • OCR 逻辑:如果简单匹配“金融”,会误报为黄灯。
  • 修正逻辑
    • 在匹配关键词之前,先检测该短句中是否存在 否定前缀不含不得
    • if ("金融" in item) AND ("不含" not in item) -> Hit Risk

4. 进阶应用:许可项目 vs 一般项目

2020 年后的新版营业执照,明确将经营范围分成了 [许可项目][一般项目] 两大类。 这对尽调非常有价值:[许可项目] 意味着你需要去查它有没有对应的 许可证(License)

结构化解析方案

  1. 正则提取: 利用正则表达式定位 【许可项目】【一般项目】 这两个锚点。
  2. 分块解析
    • 提取 【许可项目】 后面的内容 -> 提示律师:“请核查该公司是否持有《食品经营许可证》或《危化品经营许可证》”。
    • 提取 【一般项目】 后面的内容 -> 提示律师:“无需特殊资质,合规风险较低”。

5. 输出交付物:给律师的“风险透视镜”

最终,系统展示给律师或分析师的,不应该是一张图,也不应该是一段字,而是一个 “体检报告”

  • 原始图片:(支持点击放大,用于核对)
  • OCR 识别原文:(高亮风险词)
  • 结构化风险表

6. 总结

在法律尽职调查中,营业执照 OCR 的价值不在于“识别”,而在于 “理解”

通过 OCR 长文本优化 + NLP 语义分割 + 风险词库逻辑,我们将原本需要资深律师花费 10 分钟逐字阅读的工作,变成了机器 1 秒钟完成的自动化筛查。

这不仅极大提升了尽调效率,更重要的是,机器不会因为眼花而漏掉那个致命的“危险化学品”。