当前位置: 首页 > article >正文

【精华】OCR关键信息提取之SER和RE

【精华】OCR关键信息提取之SER和RE

1. 项目背景及意义

关键信息抽取在文档场景中被广泛使用,如身份证中的姓名、住址信息抽取,快递单中的姓名、联系方式等关键字段内容的抽取。传统基于模板匹配的方案需要针对不同的场景制定模板并进行适配,较为繁琐,不够鲁棒。基于该问题,我们借助飞桨提供的PaddleOCR套件中的关键信息抽取方案,实现对增值税发票场景的关键信息抽取。

2. 项目内容

本项目基于PaddleOCR开源套件,以VI-LayoutXLM多模态关键信息抽取模型为基础,针对增值税发票场景进行适配,提取该场景的关键信息。

3. 安装环境

import os
os.chdir("/home/aistudio/")
# 首先git官方的PaddleOCR项目,安装需要的依赖
# 第一次运行打开该注释
!git clone https://gitee.com/PaddlePaddle/PaddleOCR.git
os.chdir("/home/aistudio/PaddleOCR/")
!pip uninstall opencv-python -y
# 安装PaddleOCR的依赖
!pip install -r requirements.txt
# 安装关键信息抽取任务的依赖
!pip install -r ./ppstructure/kie/requirements.txt

4. 关键信息抽取

基于文档图像的关键信息抽取包含3个部分:(1)文本检测(2)文本识别(3)关键信息抽取方法,包括语义实体识别或者关系抽取,下面分别进行介绍。

4.1 文本检测

本文重点关注发票的关键信息抽取模型训练与预测过程,因此在关键信息抽取过程中,直接使用标注的文本检测与识别标注信息进行测试,如果你希望自定义该场景的文本检测模型,完成端到端的关键信息抽取部分,请参考文本检测模型训练教程,按照训练数据格式准备数据,并完成该场景下垂类文本检测模型的微调过程。

4.2 文本识别

本文重点关注发票的关键信息抽取模型训练与预测过程,因此在关键信息抽取过程中,直接使用提供的文本检测与识别标注信息进行测试,如果你希望自定义该场景的文本检测模型,完成端到端的关键信息抽取部分,请参考文本识别模型训练教程,按照训练数据格式准备数据,并完成该场景下垂类文本识别模型的微调过程。

4.3 语义实体识别 (Semantic Entity Recognition)

语义实体识别指的是给定一段文本行,确定其类别(如姓名住址等类别)。PaddleOCR中提供了基于VI-LayoutXLM的多模态语义实体识别方法,融合文本、位置与版面信息,相比LayoutXLM多模态模型,去除了其中的视觉骨干网络特征提取部分,引入符合阅读顺序的文本行排序方法,同时使用UDML联合互蒸馏方法进行训练,最终在精度与速度方面均超越LayoutXLM。更多关于VI-LayoutXLM的算法介绍与精度指标,请参考:VI-LayoutXLM算法介绍。

参考:OCR发票关键信息抽取 - 飞桨AI Studio


http://www.kler.cn/a/10190.html

相关文章:

  • C++:lambda表达式
  • 论文阅读:基于语义分割的非结构化田间道路场景识别
  • cmake中execute_process详解
  • c语言学习10循环结构
  • PHP API的路由设计思路
  • 制造行业实践|悠进电装基于超融合完成信息化改造, 保障业务系统 7/24 长跑
  • MyBatis基础增删改查
  • 类ChatGPT代码级解读:如何从零起步实现Transformer、llama/ChatGLM
  • 如何压缩照片到30kb以下?三个方法
  • MySQL之数据类型
  • 一个评测模型+10个问题,摸清盘古、通义千问、文心一言、ChatGPT的“家底”!...
  • 基于Spring Boot和Vue3打造一个属于自己的博客平台CodeInsight
  • 【AIGC】7、CLIP | OpenAI 出品使用 4 亿样本训练的图文匹配模型
  • 高可用同时数千人在线的微服务架构需要做些什么工作
  • 2023年的深度学习入门指南(3) - 动手写第一个语言模型
  • [NOIP2017 提高组] 逛公园 (题解)
  • macosBrew
  • 华纳云:php怎么判断域名跳转
  • SpringSecurity中用户表单登录验证源码分析
  • jQuery位置方法
  • 【Cesium 编程第一篇】概述、环境搭建、界面介绍
  • 总结815
  • Android Textview Button 等基础组件学习
  • Java-红黑树的实现
  • Python 小型项目大全 76~81
  • 【数据结构】二叉树的概念及结构