基于PaddleOCR + NLP实现证件识别
PaddleOCR识别
Paddle-Github -飞桨社区
PP`飞桨 AI Studio 社区
paddleOCR安装
官网也给出了快速部署的案例可以参考下
PaddleOCR 快速开始
我本地采用的是anaconda 虚拟环境
安装 anconda虚拟环境(可参考yolov5的安装教程)
anconda 环境搭建
paddleOCR识别
PaddleNLP模型信息抽取
from paddleocr import PaddleOCR
from paddlenlp import Taskflow
假设传入的是身份证,经过解析后的allStr就会变成类似如下的字符串(标点符号,空格等特殊符号需要你自行处理):
姓名侯小珂性别女民族汉出生1999年x月x日住址xx市xx区xx路1号2栋3号公民身份号码110129xxxxxxxxxxxx中华人民共和国居民身份证签发机关xx市公安局有效期限2018071120280711
接下来你要做的就是把这个字符串交给NLP模型进行信息抽取。当然,你说用正则匹配也行,确实没毛病,例如身份证号码,直接用正则匹配就可以了。但是,假如你需要获取住址这种没有明显特征的,你如何正则匹配呢?
NLP模型就能解决这个问题。
使用如下代码,告诉模型我需要在这段文本中抽取什么信息即可:
data = {}
schema = ["姓名", "民族", "性别", "出生", "住址", "签发机关", "有效期限", "公民身份号码"]
ie = Taskflow('information_extraction', schema=schema)
res = ie(allStr)
for key in schema:
data[key] = res[0][key][0]['text']
paddle打包exe 进行ocr识别
可参考:paddle 打包exe 可运行文件
需要代码工程的同学移步下。谢谢支持!!!!
回复 “paddle-demo”