Prompt 范式产业实践分享!基于飞桨 UIE-X 和 Intel OpenVINO 实现跨模态文档信息抽取

news2024/11/28 20:58:23

近期 Prompt 范式备受关注,实际上,其思想在产业界已经有了一些成功的应用案例。中科院软件所和百度共同提出了大一统诸多任务的通用信息抽取技术 UIE(Universal Information Extraction)。截至目前,UIE 系列模型已发布 UIE、UIE-X、UIE-senta 三大模型。基于 Prompt 思想,UIE 系列模型凭借其强大的零样本与小样本能力、多任务统一建模能力,成为业界在信息抽取、情感分析等任务上的首选方案。

 
UIE系列模型(UIE、UIE-X、UIE-senta)基本信息表

本次产业实践范例基于 UIE-X 和 OpenVINO 实现医疗文档信息抽取,提供了 UIE-X 模型在 Intel x86 平台上优化部署的完整方案,降低了产业落地门槛,可迁移至金融等行业的信息抽取应用场景。

项目链接

https://aistudio.baidu.com/aistudio/projectdetail/6335929?contributionType=1

场景难点

  • 文档种类繁多、版式多样,如何有效结合文本、图片、布局信息进行建模是一大难题;
  • 传统基于序列标注的抽取方案依赖大量领域标注数据,成本极高;
  • 同一个业务中往往存在实体、关系等多种信息抽取需求,单独建模训练成本高。

模型选型

除了纯文本内容外,企业中还存在大量需要从跨模态文档中抽取信息并进行处理的业务场景,例如目前医疗领域有大量的医学检查报告单、病历、发票以及 CT 影像等医疗图片数据。为了满足跨模态文档信息抽取需求, PaddleNLP 基于文心 ERNIE-Layout 跨模态布局增强预训练模型,集成 PaddleOCR的PP-OCR、PP-Structure 版面分析等领先能力,基于大量信息抽取标注集,训练并开源了 UIE-X——首个兼具文本及文档抽取能力、多语言、开放域的信息抽取模型。

本案例为 UIE-X 在医疗领域的实战,通过少量标注+模型微调即可具备定制场景的端到端文档信息提取能力。为实现智能文档信息抽取,我们采取“定义 schema”、“Taskflow 定义”、“指定进行信息抽取的文档”的方案:

  • 第一步,基于 Prompt 范式,定义信息抽取的任务及所需抽取的信息;
  • 第二步,定义 Taskflow,包括装载定制模型。通过 task_path 指定模型权重文件的路径,路径下需要包含训练好的模型权重文件 model_state.pdparams;
  • 第三步,指定进行信息抽取的文档所在路径 doc_path,进行信息抽取。

飞桨通过庞大、精选的模型库,能够显著降低用户在模型选择方面的难度,降低时间成本,实现快速迭代。在落地阶段使用 Intel OpenVINO™ 工具套件进行模型部署,充分发挥通用x86平台上的网络执行效能,优化方案整体成本,提升方案推理性能。

调优策略

  • 基于 OpenVINO 的 auto-device 中提供的多种 performance hint 策略,根据使用场景需求的不同,进行多线程配置,提升推理吞吐量或降低延迟。
  • 支持 Intel CPU 以及 GPU 上的 Dynamic Input Shape 以提升方案在进行信息抽取时的推理性能,在保证推理时延的同时,优化方案整体成本。

模型部署

本项目的最终部署环境为 Intel x86 硬件平台设备。考虑开发便捷性,本次示例使用 Python 部署开发环境。通过输入医疗文档图片以及定义抽取信息的 schema,利用 Taskflow 框架完成基于 UIE-X 的智能信息抽取。

该方案可以支持中文及英文的 Prompt/schema 以及跨语言抽取,同时也支持定制 OCR 结果。通过配置 layout 参数传入 OCR Bounding Box 信息,优化抽取效果。飞桨 AI Studio 也提供了完整的使用示例与开发说明,可参考该教程快速学习,并针对实际项目进行开发和集成。


医疗文档信息抽取部署demo方案

为了让小伙伴们更便捷地应用范例教程,OpenVINO 布道师武卓博士将于6月14日(周三)19:00为大家深度解析从数据准备、方案设计到模型优化部署的开发全流程,手把手教大家进行代码实践。

飞桨PaddlePaddle

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646527.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE】网络原理——传输层协议:UDP和TCP

目录 1、简单了解应用层协议 2、传输层UDP协议 3、传输层TCP协议 3.1、TCP报文介绍 3.2、TCP实现可靠传输的核心机制 3.2.1、确认应答 3.2.2、超时重传 3.3、连接管理 (三次挥手,四次握手) 3.3.1、建立连接(三次握手&a…

Java-API简析_java.lang.Enum<E extends Enum<E>>类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131212897 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

接口自动化测试丨如何实现多套环境的自动化测试?

在敏捷迭代的项目中,通常会将后台服务部署到多套测试环境。那么在进行接口自动化测试时,则需要将服务器的域名进行配置。使用一套接口测试脚本,通过切换域名地址配置,实现多套环境的自动化测试。 实战练习 分别准备两套测试环境…

Redis的单线程模型和标准Reactor线程模型的关系

文章目录 Redis到底是不是单线程?标准Reactor线程模型单reactor单线程单reactor多线程多reactor多线程 redis6.0 之前的单线程模型redis6.0 之后的单线程模型为什么redis最初选择的单线程网络模型?为什么redis6.0 io读写要用多线程? Redis 6.…

索尼RSV视频修复方法论视频文件修复时样本文件的三同

索尼RSV类的文件修复案例有很多,程序操作也很简单没什么可说的,这次这个索尼ILCE-7SM3的案例就是为了让大家更好的认识视频修复中我称之为“三同“的重要性,想要恢复的效果好必须要把准备工作做到位。 故障文件:45.1G RSV文件 故障现象: 索…

软件渗透测试是什么?软件产品哪种情况下需要做渗透测试?

随着互联网的普及,软件的开发方越来越多,但是随之而来的也是信息安全方面的问题。在软件开发过程中,安全问题一定要被重视,因为漏洞和安全问题一旦被黑客利用,会给公司和用户带来巨大的损失。为了避免这种情况的发生&a…

语音工牌在运营商智慧装维场景,有何应用价值?

客户精细化运营时代,如何做好客户服务体验,提升品牌美誉度和好感度,是众多企业开始思考的问题。 在运营商行业,上门装维和营业厅服务场景是企业与客户直接互动最多的地方。这个过程的服务质量直接影响到客户成交率、客户投诉率和…

软件测试金融银行项目如何测?从业务到测试实战,超细总结整理...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 金融行业的业务特…

chatgpt赋能python:Python怎么打备注?让你的代码更加清晰易懂

Python怎么打备注?让你的代码更加清晰易懂 Python是一种流行的编程语言,可以用来构建不同类型的应用程序,从网站到数据分析。无论您是初学者还是经验丰富的开发人员,写清晰,易于理解的代码都是非常重要的,…

Linux之ACL权限

目录 Linux之ACL权限 场景 设定ACL权限 ACL权限管理命令 参数及作用 给用户和用户组添加ACL权限 案例 创建 目录 /project 的所有者和所属组其他人权限设定为 770 创建旁听用户pt,并赋予ACL权限rx 查看目录/project的ACL权限 验证pt 用户对于 /project 目录没有写权…

el-element-admin实现双路由菜单

需求: 1、输入用户名登录企业级菜单 2、点击企业级菜单中的首页,右边显示项目列表,点击某一行跳转到项目级菜单 注意: 企业级菜单和项目级菜单,后端分别给接口 具体实施: 1、点击面包靴首页的时候设置标记…

第14届蓝桥杯国赛真题剖析-2023年5月28日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第149讲。 第14届蓝桥杯Scratch国赛真题,这是2023年5月28日上午举办的全国总决赛,比赛仍然采取…

基于java springboot的图书管理系统设计和实现

基于java springboot的图书管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录…

load_dataset加载huggingface数据集失败

1. 一般的加载方式 from datasets import load_dataset dataset_dict load_dataset(cmrc2018)这种加载方式可能会显示因为连接问题导致失败,此时可以在hugging face里面找到对应的页面下载下来 然后改一下代码: from datasets import load_dataset d…

关于TFTP传输协议

TFTP(Trivial File Transfer Protocol,简单文件传输协议):实现客户端与服务器之间简单文件传输。小文件传输,端口:69。协议简单,易于实现。 缺点: 传输效率低对于超时机制没有明确说明每包长度…

华为OD机试真题B卷 JavaScript 实现【数组拼接】,附详细解题思路

一、题目描述 现在有多组整数数组,需要将它们合并成一个新的数组。 合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内…

第18章:逻辑架构

一、逻辑架构剖析 1.1服务器处理客户端请求 ①MySQL是典形的C/S架构,服务器端使用mysqld ②客户端进程向服务器进程发送SQL语句,服务器进程在向客户端进程发送处理结果。 查询请求演示图 查询请求详细图 1.2第1层:连接层 ①客户端访问My…

如何使用 NGINX Service Mesh 进行速率限制

原文作者:NGINX 原文链接:如何使用 NGINX Service Mesh 进行速率限制 转载来源:NGINX 官方网站 ​ NGINX 唯一中文官方社区 ,尽在 nginx.org.cn 无论 HTTP 请求是恶意的(暴力破解密码或 DDoS 攻击)还是正常…

day07--java高级编程:JDK8的新特性,JDK9的新特性,JDK10的新特性,JDK11的新特性,JDK15的新特性

1 JDK8的其它新特性 说明:一些8中的新特性在,java高级部分学习的同时顺便讲过了。 1.1 JDK8新特性的总体结构 1.2 Java 8新特性简介 1.3 Lambda表达式 1.3.1 出现背景 1.3.2 Lambda表达式的使用举例 package com.atguigu.java1;import org.junit.Tes…

2023年软件测试简历没有邀约?为什么?8类细节通通告诉你(附赠高薪简历)

求职不顺,没有邀约,大概率是你的简历出现了问题。 本篇文章列出高薪简历应该注意的细节,合计36处,涉及简历的八大组成部分。 现在就讲: 一、简历样式要求(3点要求) 1、简历格式,…