简体中文 | [English](README_en.md)
# 信息抽取应用
**目录**
- [1. 信息抽取应用简介](#1)
- [2. 技术特色](#2)
- [2.1 信息抽取方案全覆盖](#21)
- [2.2 强大的训练基座](#22)
- [2.3 产业级全流程方案](#23)
- [2.4 效果展示](#24)
- [3. 快速开始](#快速开始)
- [3.1 Taskflow开箱即用](#31)
- [3.2 文本信息抽取](#32)
- [3.3 文档信息抽取](#33)
## 1. 信息抽取应用简介
信息抽取应用针对信息抽取一系列高频场景开源了产业级解决方案,**具备多领域、多任务、跨模态的能力**,打通**数据标注-模型训练-模型调优-预测部署全流程**,可快速实现信息抽取产品落地。
信息抽取通俗地说就是从给定的文本/图片等输入数据中抽取出结构化信息的过程。在信息抽取的落地过程中通常面临领域多变、任务多样、数据稀缺等许多挑战。针对信息抽取领域的难点和痛点,PaddleNLP信息抽取应用**基于UIE统一建模的思想**,提供了信息抽取产业级应用方案,**除支持纯文本场景实体、关系、事件、观点等不同任务抽取外,还支持文档/图片/表格的端到端信息抽取**。该应用**不限定行业领域和抽取目标**,可实现从产品原型研发、业务POC阶段到业务落地、迭代阶段的无缝衔接,助力开发者实现特定领域抽取场景的快速适配与落地。
**信息抽取应用亮点:**
- **覆盖场景全面🎓:** 覆盖信息抽取各类主流任务,面向纯文本和文档场景,支持多语言,满足开发者多样信息抽取落地需求。
- **效果领先🏃:** 以在纯文本、多模态上均有突出效果的UIE系列模型作为训练基座,提供多种尺寸的预训练模型满足不同需求,具有广泛成熟的实践应用性。
- **简单易用⚡:** 通过Taskflow实现三行代码可实现无标注数据的情况下进行快速调用,一行命令即可开启信息抽取训练,轻松完成部署上线,降低信息抽取技术落地门槛。
- **高效调优✊:** 开发者无需机器学习背景知识,即可轻松上手数据标注及模型训练流程。
## 2. 技术特色
### 2.1 信息抽取方案全覆盖
多模型选择,满足精度、速度,适配不同信息抽取使用场景。
| 模型名称 | 使用场景 | 支持任务 |
| :----------------------------------------------------------: | :--------------------------------------------------------- | :--------------------------------------------------- |
| `uie-base`
`uie-medium`
`uie-mini`
`uie-micro`
`uie-nano` | 面向**纯文本**场景的**抽取式**模型,支持**中文** | 具备实体、关系、事件、评论观点等通用信息抽取能力 |
| `uie-base-en` | 面向**纯文本**场景的**抽取式**模型,支持**英文** | 具备实体、关系、事件、评论观点等通用信息抽取能力 |
| `uie-m-base`
`uie-m-large` | 面向**纯文本**场景的**抽取式**模型,支持**中英** | 具备实体、关系、事件、评论观点等通用信息抽取能力 |
| `uie-x-base` | 面向**纯文本**和**文档**场景的**抽取式**模型,支持**中英** | 支持纯文本场景的全部功能,还支持文档/图片/表格的端到端信息抽取 |
### 2.2 强大的训练基座
信息抽取应用使用ERNIE 3.0轻量级模型作为预训练模型,同时在大量信息抽取数据上进行了二次预训练,从而让模型适配固定prompt。
- 中文文本数据集实验效果
我们在互联网、医疗、金融三大垂类文本自建测试集上进行了实验:
| 金融 | 医疗 | 互联网
|
|---|
| 0-shot | 5-shot | 0-shot | 5-shot | 0-shot | 5-shot
|
|---|
| uie-base (12L768H) | 46.43 | 70.92 | 71.83 | 85.72 | 78.33 | 81.86
|
| uie-medium (6L768H) | 41.11 | 64.53 | 65.40 | 75.72 | 78.32 | 79.68
|
| uie-mini (6L384H) | 37.04 | 64.65 | 60.50 | 78.36 | 72.09 | 76.38
|
| uie-micro (4L384H) | 37.53 | 62.11 | 57.04 | 75.92 | 66.00 | 70.22
|
| uie-nano (4L312H) | 38.94 | 66.83 | 48.29 | 76.74 | 62.86 | 72.35
|
| uie-m-large (24L1024H) | 49.35 | 74.55 | 70.50 | 92.66 | 78.49 | 83.02
|
| uie-m-base (12L768H) | 38.46 | 74.31 | 63.37 | 87.32 | 76.27 | 80.13
|
| 🧾 🎓uie-x-base (12L768H) | 48.84 | 73.87 | 65.60 | 88.81 | 79.36 | 81.65
|
0-shot表示无训练数据直接通过```paddlenlp.Taskflow```进行预测,5-shot表示每个类别包含5条标注数据进行模型微调。**实验表明UIE在垂类场景可以通过少量数据(few-shot)进一步提升效果**。
- 多模态数据集实验效果
我们在通用、金融、医疗三大场景自建多模态测试集上对UIE-X的零样本效果进行了实验:
| 通用 | 金融 | 医疗
|
|---|
| 🧾 🎓uie-x-base (12L768H) | 65.03 | 73.51 | 84.24
|
通用测试集包含了不同领域的复杂样本,抽取难度最大。
### 2.3 产业级全流程方案
**调研阶段**
- 该阶段目标需求开放且缺少数据积累。我们提供Taskflow三行代码极简调用的方式,无需标注数据即可在业务场景上快速验证效果。
- [文本抽取 Taskflow使用指南](./taskflow_text.md)
- [文档抽取 Taskflow使用指南](./taskflow_doc.md)
**数据准备阶段**
- 我们推荐在实际的业务场景中定制自己的信息抽取模型。我们提供了不同抽取场景的Label Studio标注解决方案,可基于该方案实现从数据标注到训练数据构造的无缝衔接,大大降低了数据标注、模型定制的时间成本。
- [文本抽取标注指南](./label_studio_text.md)
- [文档抽取标注指南](./label_studio_doc.md)。
**模型微调及封闭域蒸馏**
- 基于UIE优秀的小样本微调能力,实现低成本模型定制适配。同时提供封闭域蒸馏的加速方案,解决抽取速度慢的问题。
- [文本信息抽取全流程示例](./text/README.md)
- [文档信息抽取全流程示例](./document/README.md)
**模型部署**
- 提供HTTP部署方案,快速实现定制模型的部署上线。
- [文本抽取HTTP部署指南](./text/deploy/simple_serving/README.md)
- [文档抽取HTTP部署指南](./document/deploy/simple_serving/README.md)
### 2.4 效果展示
- 🧾 通过[Huggingface网页](https://huggingface.co/spaces/PaddlePaddle/UIE-X)体验UIE-X功能:
- UIE-X端到端文档抽取产业应用示例
- 报关单
- Delivery Note(需微调)
- 增值税发票(需微调)
- 表单(需微调)
## 3. 快速开始
### 3.1 Taskflow开箱即用
- 通过Taskflow实现开箱即用
👉 [文本抽取 Taskflow使用指南](./taskflow_text.md)
👉 [文档抽取 Taskflow使用指南](./taskflow_doc.md)
### 3.2 文本信息抽取
- 快速开启文本信息抽取 👉 [文本信息抽取指南](./text/README.md)
### 3.3 文档信息抽取
- 快速开启文档信息抽取 👉 [文档信息抽取指南](./document/README.md)