关键信息抽取:UIE模型做图片信息提取全流程

3366370ee4fcffd1a2f0f0499989f437.gif

向AI转型的程序员都关注了这个号👇👇👇

首先上个图镇场子,里面红底的就是做图片信息提取,所需要重点关注的文件

62843ffc90c27432608ba14b901f5d0a.png

UIE理论部分

  • UIE原始论文
    论文阅读笔记

cbfed827546630c51b09ceacca985a60.png

ac40e0fa381900e2445c9c7679f07180.png

UIE(Universal Information Extraction):Yaojie Lu等人在ACL-2022中提出了通用信息抽取统一框架UIE。该框架实现了实体抽取、关系抽取、事件抽取、情感分析等任务的统一建模,并使得不同任务间具备良好的迁移和泛化能力。为了方便大家使用UIE的强大能力,PaddleNLP借鉴该论文的方法,基于ERNIE 3.0知识增强预训练模型,训练并开源了首个中文通用信息抽取模型UIE。该模型可以支持不限定行业领域和抽取目标的关键信息抽取,实现零样本快速冷启动,并具备优秀的小样本微调能力,快速适配特定的抽取目标。

7421f9abfe7f296f3abbba66c120cd72.png

网页直接体验UIEX原始模型:https://huggingface.co/spaces/PaddlePaddle/UIE-X
输入schema,点击submit即可

ab99c52f38cc1dd18fa09e5b42f60e7b.png

本机安装使用

环境安装

基本都是使用一键预测功能:Taskflow API去做使用的,安装包,引入库,然后就三行代码,就可以使用了,封装得很完善

  • python >= 3.7

  • paddlepaddle >= 2.3

pip install --upgrade paddlenlp

快速开始

这里以信息抽取-命名实体识别任务,UIE模型为例,来说明如何快速使用PaddleNLP:

  • text类信息提取
    PaddleNLP提供一键预测功能,无需训练,直接输入数据即可开放域抽取结果:

a3f0f48b26e05af21de1aa600315d6e2.png

  • 图片类信息提取(使用uie-x)

2bb0d1db3422d6ba33ad2cbca9c3706c.png

直接在/root/目录下运行,第一次运行会在根目录生成.paddlenlp和.paddleocr的隐藏文件夹,用于存储自动下载的uie和ocr模型,然后开始推理

b35d9df8b6df73c869280b51ea74a0c6.png

有一些字段没有显示的,应该就是没有找到,下面只显示的是找到的,可是但凡显示出来的准确度都很高,可以说效果真的很牛,就是密码区一直不认
大概可以得出的结论是:只要图像上靠近且有明显键值对的,都可以识别,只有那种键值对不明显,或者只有值没有键的信息,才会难以提取,才会需要微调。

f150f559053562d178971f70ff435adb.png

测试到这里我就觉得这个方案是可行的了,所以打算基于UIEX做小样本学习,实际上除了发票,对于任何图片信息提取场景,根据它的介绍少量学习都能带来大幅提升,经过我的测试确实如此

d320f2ae665255f17a29877e065e59f4.png

step1、UIEX模型微调(小样本学习)

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/information_extraction/document进行模型微调,教程写的挺清楚了,我这里说一些其他的注意点

4316dcf239a81f48ba1205f9e48e0e81.png

数据标注(label_studio)

这是本地启动服务网页使用的,为了方便数据获取,就在win装,因为我的基本环境烂了,会有一些奇怪报错:django.db.utils.OperationalError: no such function: JSON_VALID所以我在anaconda里面新建py39环境,可以正常运行

077fc54a1eb3aabdd5d91c27a83eb813.png

这个地方,一定得是image或者text,不能是ocr什么的,在后面数据处理转换json文件为paddle数据集的时候,只认image/test,如果换成其他的会不识别报错

c42797753cc6a24d884a05da423dc195.png

标注的时候,框要偏大一点,不能恰恰好贴着文字,不然会导致提取信息的时候漏掉前面几个字符

651ca76536ee6c2d176dd80abef9cd64.jpeg

直到后来我label多了我才意识到,原始模型的可视化就是在教我怎么label最完美:都要向前框一点,包括冒号

0baa30bc6cfdd06b950b91841972089a.png

导出数据转换

ext:抽取式任务,实体收取和关系抽取都是抽取

c09cc04c2b9cc501f2cd5f6b4f85023f.png

1cfa381f36a99fa699e298e21a4d9df1.png

定制模型一键预测

我写了一个脚本,来同时执行原始模型和微调模型在同一张图片上的表现,同时可视化和输出识别结果到txt,以便对比:

4bec47f1921a1781092cc48c3303ba8a.png

3bc7bb15ff44a7356e6a86cbb73df211.png

289bb44bf84008ccfd98d6367b74f016.png

推理就是

python testuie_self.py data/testimages/b78.jpg

2e3831b9a02a86f79a131ba19a758410.png

左边一列是微调后的,右边的原始UIE-X-base

db93fa48038fe2a182f189eb30c7cb0e.png

但也有问题:比如会认密码区但不跨行,只有第一行(还不如不要),对于密码区,盖章识别,二维码识别,我就去掉了,不设schema,这些需要额外优化

机器学习算法AI大数据技术

 搜索公众号添加: datanlp

80f707b8f136443759ef7b9ccb30b2ce.jpeg

长按图片,识别二维码


阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

8f5547119988277c5a355d4db748d27d.jpeg

### 关于通用信息抽取模型 PP-UIE #### 模型概述 PP-UIE 是一个强大的统一信息抽取框架,能够处理多种自然语言处理任务。该模型基于 PaddleNLP 平台开发,在多个下游任务上表现出色[^2]。 #### 功能特性 - **多模态支持**:不仅限于纯文本输入,还具备 OCR 和版面分析功能,适用于复杂场景下的文档理解。 - **高性能推理引擎**:兼容 CPU 及 Nvidia GPU 部署环境,并默认集成了 Paddle Inference、ONNX Runtime、OpenVINO 以及 TensorRT 推理后端,确保高效运行性能[^4]。 #### 安装与配置指南 为了使用 PP-UIE 进行模型微调并保存结果到特定位置,可以通过如下 Python 代码片段实现: ```python from paddlenlp import Taskflow # 初始化 UIE 模型实例 schema = ["时间", "地点"] # 自定义实体类别列表 ie = Taskflow("information_extraction", schema=schema, model="paddlenlp/PP-UIE-1.5B") # 微调过程中的超参数设置(此处仅为示意) training_args = { 'output_dir': './results', } # 执行微调操作并将最终版本存储起来 model.save_pretrained(training_args['output_dir']) ``` 上述脚本展示了如何加载预训练权重文件 `paddlenlp/PP-UIE-1.5B` 来初始化一个新的信息提取器对象;接着通过调整某些关键参数完成定制化需求;最后将经过优化后的网络结构及其对应的参数持久化至本地磁盘中以便后续应用或分享给其他开发者继续迭代改进。 #### 获取更多资源 对于希望深入了解 PP-UIE 或者尝试其最新扩展组件如 UIE-X 的研究人员来说,官方 GitHub 页面提供了详尽的技术文档和支持材料,涵盖了从基础概念讲解一直到高级应用场景实践等多个方面的内容[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值