首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >百度飞桨:ERNIE 3.0 、通用信息抽取 UIE、paddleNLP的安装使用[一]

百度飞桨:ERNIE 3.0 、通用信息抽取 UIE、paddleNLP的安装使用[一]

作者头像
汀丶人工智能
发布于 2022-12-21 08:30:24
发布于 2022-12-21 08:30:24
2.5K03
代码可运行
举报
文章被收录于专栏:NLP/KGNLP/KG
运行总次数:3
代码可运行

 相关文章:

基础知识介绍:

【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?_汀、的博客-CSDN博客_ernie模型

百度飞桨:ERNIE 3.0 、通用信息抽取 UIE、paddleNLP的安装使用[一]_汀、的博客-CSDN博客_paddlenlp 安装

 项目实战:

PaddleHub--飞桨预训练模型应用工具{风格迁移模型、词法分析情感分析、Fine-tune API微调}【一】_汀、的博客-CSDN博客

PaddleHub--{超参优化AutoDL Finetuner}【二】_汀、的博客-CSDN博客

PaddleHub实战篇{词法分析模型LAC、情感分类ERNIE Tiny}训练、部署【三】_汀、的博客-CSDN博客

PaddleHub实战篇{ERNIE实现文新闻本分类、ERNIE3.0 实现序列标注}【四】_汀、的博客-CSDN博客

https://github.com/PaddlePaddle/PaddleNLP

https://github.com/PaddlePaddle/PaddleNLP

1.安装paddle

参考官网:开始使用_飞桨-源于产业实践的开源深度学习平台

首先在anaconda下创建虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda create -n test  python=3.8 #test为创建的虚拟环境名称

在安装paddle

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python -m pip install paddlepaddle==2.3.0 -i https://mirror.baidu.com/pypi/simple

验证安装

安装完成后您可以使用 python 进入python解释器,输入import paddle ,再输入 paddle.utils.run_check() 如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

  • 环境主要安装Python和Paddle对应版本要求的环境,中间建议使用pip安装方式进行安装。
  • Python3版本要求:python3.7及以上版本,参考Welcome to Python.org
  • PaddlePaddle版本要求:paddlepaddle2.0+版本,参考MacOS下的PIP安装-使用文档-PaddlePaddle深度学习平台
  • Paddle环境的安装,需要确认Python和pip是64bit,并且处理器架构是x86_64(或称作x64、Intel 64、AMD64)架构,目前PaddlePaddle不支持arm64架构(mac M1除外,paddle 已支持Mac M1 芯片)。下面的第一行输出的是”64bit”,第二行输出的是”x86_64”、”x64”或”AMD64”即可:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python -c "import platform;print(platform.architecture()[0]);print(platform.machine())"

2.通用信息抽取 UIE

paddlenlp安装

环境依赖

  • python >= 3.6
  • paddlepaddle >= 2.2
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install --upgrade paddlenlp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show paddlenlp

2.1 PaddleNLP一键预测功能:Taskflow API

环境依赖

  • python >= 3.6
  • paddlepaddle >= 2.2.0
  • paddlenlp >= 2.2.5

任务名称

调用方式

一键预测

单条输入

多条输入

文档级输入

定制化训练

其它特性

中文分词

Taskflow("word_segmentation")

多种分词模式,满足快速切分和实体粒度精准切分

词性标注

Taskflow("pos_tagging")

基于百度前沿词法分析工具LAC

命名实体识别

Taskflow("ner")

覆盖最全中文实体标签

依存句法分析

Taskflow("dependency_parsing")

基于最大规模中文依存句法树库研发的DDParser

信息抽取

Taskflow("information_extraction")

适配多场景的开放域通用信息抽取工具

『解语』-知识标注

Taskflow("knowledge_mining")

覆盖所有中文词汇的知识标注工具

文本纠错

Taskflow("text_correction")

融合拼音特征的端到端文本纠错模型ERNIE-CSC

文本相似度

Taskflow("text_similarity")

基于百度知道2200万对相似句组训练

情感倾向分析

Taskflow("sentiment_analysis")

基于情感知识增强预训练模型SKEP达到业界SOTA

生成式问答

Taskflow("question_answering")

使用最大中文开源CPM模型完成问答

智能写诗

Taskflow("poetry_generation")

使用最大中文开源CPM模型完成写诗

开放域对话

Taskflow("dialogue")

十亿级语料训练最强中文闲聊模型PLATO-Mini,支持多轮对话

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pprint import pprint

from paddlenlp import Taskflow

schema = ['时间', '选手', '赛事名称'] # Define the schema for entity extraction

ie = Taskflow('information_extraction', schema=schema) #花费时间会安装文件

pprint(ie("2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!"))
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[{'时间': [{'end': 6,
          'probability': 0.9857379716035553,
          'start': 0,
          'text': '2月8日上午'}],
  '赛事名称': [{'end': 23,
            'probability': 0.8503087823987343,
            'start': 6,
            'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],
  '选手': [{'end': 31,
          'probability': 0.8981548639781138,
          'start': 28,
          'text': '谷爱凌'}]}]

 当然定义实体提取的模式有一定灵活性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ie = Taskflow('information_extraction', schema=schema)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[{'分数': [{'end': 39,
          'probability': 0.9873907344274926,
          'start': 32,
          'text': '188.25分'}],
  '时间': [{'end': 6,
          'probability': 0.9857379716035553,
          'start': 0,
          'text': '2月8日上午'}],
  '赛事名称': [{'end': 23,
            'probability': 0.8503087823987343,
            'start': 6,
            'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],
  '选手': [{'end': 31,
          'probability': 0.8981548639781138,
          'start': 28,
          'text': '谷爱凌'}]}]

 这里如果增加“”“奖牌、名次”等实体则无法实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
schema = ['时间', '选手', '赛事名称',"城市","分数"] # Define the schema for entity extraction
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[{'分数': [{'end': 39,
          'probability': 0.9873907344274926,
          'start': 32,
          'text': '188.25分'}],
  '城市': [{'end': 8,
          'probability': 0.8775704061407907,
          'start': 6,
          'text': '北京'}],
  '时间': [{'end': 6,
          'probability': 0.9857379716035553,
          'start': 0,
          'text': '2月8日上午'}],
  '赛事名称': [{'end': 23,
            'probability': 0.8503087823987343,
            'start': 6,
            'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],
  '选手': [{'end': 31,
          'probability': 0.8981548639781138,
          'start': 28,
          'text': '谷爱凌'}]}]

2.2 小样本调参----轻定制功能

如果对一键预测效果不满意,也可以使用少量数据进行模型精调,进一步提升特定场景的效果,详见UIE小样本定制训练。

PaddleNLP/model_zoo/uie at develop · PaddlePaddle/PaddleNLP · GitHubEasy-to-use and powerful NLP library with Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including Neural Search, Question Answering, Information Extraction and Sentiment Analysis end-to-end system. - PaddleNLP/model_zoo/uie at develop · PaddlePaddle/PaddleNLP

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie我们推荐使用数据标注平台doccano 进行数据标注

对于简单的抽取目标可以直接使用paddlenlp.Taskflow实现零样本(zero-shot)抽取,对于细分场景我们推荐使用轻定制功能(标注少量数据进行模型微调)以进一步提升效果。下面通过报销工单信息抽取的例子展示如何通过5条训练数据进行UIE模型微调。

代码结构: ├── utils.py          # 数据处理工具 ├── model.py          # 模型组网脚本 ├── doccano.py        # 数据标注脚本 ├── doccano.md        # 数据标注文档 ├── finetune.py       # 模型微调脚本 ├── evaluate.py       # 模型评估脚本 └── README.md

标注安装和标注指南:

https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/uie/doccano.md

最终效果展示:

Few-Shot实验

我们在互联网、医疗、金融三大垂类自建测试集上进行了实验:

金融

医疗

互联网

0-shot

5-shot

0-shot

5-shot

0-shot

5-shot

uie-tiny

41.11

64.53

65.40

75.72

78.32

79.68

uie-base

46.43

70.92

71.83

85.72

78.33

81.86

0-shot表示无训练数据直接通过paddlenlp.Taskflow进行预测,5-shot表示基于5条标注数据进行模型微调。实验表明UIE在垂类场景可以通过少量数据(few-shot)进一步提升效果。

3.PaddleNLP Transformer预训练模型

PaddleNLP Transformer预训练模型 — PaddleNLP 文档

PaddleNLP的Transformer预训练模型包含从 huggingface.co 直接转换的模型权重和百度自研模型权重,方便社区用户直接迁移使用。 目前共包含了40多个主流预训练模型,500多个模型权重。

Transformer预训练模型适用任务汇总

Model

Sequence Classification

Token Classification

Question Answering

Text Generation

Multiple Choice

ALBERT

BART

BERT

BigBird

Blenderbot

Blenderbot-Small

ChineseBert

ConvBert

CTRL

DistilBert

ELECTRA

ERNIE

ERNIE-CTM

ERNIE-DOC

ERNIE-GEN

ERNIE-GRAM

ERNIE-M

FNet

Funnel

GPT

LayoutLM

LayoutLMV2

LayoutXLM

Luke

MBart

MegatronBert

MobileBert

MPNet

NeZha

PPMiniLM

ProphetNet

Reformer

RemBert

RoBERTa

RoFormer

SKEP

SqueezeBert

T5

TinyBert

UnifiedTransformer

XLNet

使用预训练模型Fine-tune完成中文文本分类任务

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_classification/pretrained_models/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PaddleNLP通用信息抽取有点强2022.5.18
https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/ernie-3.0/deploy/python/README.md
用户7138673
2022/09/22
3800
PaddleNLP通用信息抽取有点强2022.5.18
首创基于Prompt的产业级信息抽取能力,这个开源工具用心了!
PaddleNLP v2.3带来两大重磅能力: 通用信息抽取统一建模技术UIE开源! 文心大模型ENRIE轻量级模型及一系列产业范例实践开源! 01 通用信息抽取 在金融、政务、法律、医疗等众多行业中,大量文档信息需要进行数字化及结构化处理,而人工处理方式往往费时费力,且容易产生错误。信息抽取技术能很好地解决这个问题。信息抽取(Information Extraction,IE)指的是从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。 图:信息抽取应用场景示例
zenRRan
2022/05/16
2.3K0
首创基于Prompt的产业级信息抽取能力,这个开源工具用心了!
PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
本项目链接: https://aistudio.baidu.com/aistudio/projectdetail/4160689?contributionType=1 项目主页: https://
汀丶人工智能
2022/12/21
1.1K0
PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
PaddleNLP通用信息抽取技术产业应用实例
每天给你送来NLP技术干货! ---- 写在前面 我们在《大一统信息抽取技术,PaddleNLP绝了》中介绍了 PaddleNLP安装及安装过程中的问题解决,也小试了一把 PaddleNLP,当时就惊叹了 PaddleNLP 的能力。今天我们就一起来通过这篇更详尽的文章继续了解强大的 PaddleNLP 。 0. PaddleNLP 一键预测能力 Taskflow API之三大特性 功能全面 全场景支持:覆盖NLU和NLG领域十一大经典任务。 文档级输入:支持文档级输入,解决预训练模型对输入文本的长度限
zenRRan
2022/09/20
1.3K0
PaddleNLP通用信息抽取技术产业应用实例
医疗领域实体抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
本项目为UIE框架升级版本实体关系抽取,详细讲解了数据标注,以及医疗领域NER微调,同时完成基于SimpleServing的快速服务化部署,并考虑了在一些工业应用场景中对性能的要求较高,若不能有效压缩则无法实际应用。因此,将UIE模型的知识迁移到封闭域信息抽取小模型,同时使用FasterTokenizer进行文本预处理加速,整体提速7.6x倍。
汀丶人工智能
2023/05/30
3K0
医疗领域实体抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
人工智能知识图谱之信息抽取:基于Labelstudio的UIE半监督深度学习的智能标注方案(云端版),提效。
总之,智能标注相对于人工标注有着更高的效率、更高的精度、更强的灵活性和更好的适用性,可以更好地满足用户的需求。
汀丶人工智能
2023/03/29
1.7K0
快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务
2.快递单信息抽取【二】基于ERNIE1.0至ErnieGram + CRF预训练模型
汀丶人工智能
2022/11/09
8150
聊聊从大模型来看NLP解决方案之UIE
自然语言处理NLP任务的实现,相比较以前基于传统机器学习算法实现方法,现在越来越集中使用大模型来实现。 通过——数据标注-模型训练-模型调优/微调-模型压缩-预测部署的大模型流程,覆盖NLP多场景满足开发者落地实现与灵活定制的需求。 PaddleNLP是其中典型的NLP解决方案库,通过聚合业界优质预训练模型并提供开箱即用的开发体验,覆盖NLP多场景的模型库搭配产业实践范例可满足开发者灵活定制的需求。
Ryan_OVO
2024/04/23
1.1K0
Paddlenlp之UIE模型实战实体抽取任务【打车数据、快递单】
本项目将演示如何通过小样本样本进行模型微调,快速且准确抽取快递单中的目的地、出发地、时间、打车费用等内容,形成结构化信息。辅助物流行业从业者进行有效信息的提取,从而降低客户填单的成本。
汀丶人工智能
2022/11/04
7920
军事领域关系抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
本项目为UIE框架升级版本实体关系抽取,详细讲解了数据标注,以及医疗领域NER微调,同时完成基于SimpleServing的快速服务化部署,并考虑了在一些工业应用场景中对性能的要求较高,若不能有效压缩则无法实际应用。因此,将UIE模型的知识迁移到封闭域信息抽取小模型,同时使用FasterTokenizer进行文本预处理加速,整体提速7.6x倍。
汀丶人工智能
2023/05/31
3.1K0
军事领域关系抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
项目连接:百度AIstudio直接fork我的项目就可以复现 Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
汀丶人工智能
2022/12/21
9300
Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
一文速学-知识图谱从零开始构建实战:知识图谱搭建构架实践-信息抽取
根据系列上篇文章,我们已经了解了知识图谱的基本概念,以及现在知识图谱发展状况,与前沿AI结合方向。现在就差真正实践构建知识图谱这临门一脚,基本上就会对知识图谱这一产品有更加清晰的认识。
fanstuck
2024/10/18
2.4K0
一文速学-知识图谱从零开始构建实战:知识图谱搭建构架实践-信息抽取
UIE_Slim满足工业应用场景,解决推理部署耗时问题,提升效能。
在UIE强大的抽取能力背后,同样需要较大的算力支持计算。在一些工业应用场景中对性能的要求较高,若不能有效压缩则无法实际应用。因此,基于数据蒸馏技术构建了UIE Slim数据蒸馏系统。其原理是通过数据作为桥梁,将UIE模型的知识迁移到封闭域信息抽取小模型,以达到精度损失较小的情况下却能达到大幅度预测速度提升的效果。
汀丶人工智能
2022/11/07
4970
关键信息抽取:UIE模型做图片信息提取全流程
UIE(Universal Information Extraction):Yaojie Lu等人在ACL-2022中提出了通用信息抽取统一框架UIE。该框架实现了实体抽取、关系抽取、事件抽取、情感分析等任务的统一建模,并使得不同任务间具备良好的迁移和泛化能力。为了方便大家使用UIE的强大能力,PaddleNLP借鉴该论文的方法,基于ERNIE 3.0知识增强预训练模型,训练并开源了首个中文通用信息抽取模型UIE。该模型可以支持不限定行业领域和抽取目标的关键信息抽取,实现零样本快速冷启动,并具备优秀的小样本微调能力,快速适配特定的抽取目标。
机器学习AI算法工程
2024/02/26
2K0
关键信息抽取:UIE模型做图片信息提取全流程
标注工具doccano导出数据为空的解决办法
地址:https://github.com/taishan1994/doccano_export
西西嘛呦
2022/05/23
1.4K0
解锁数据潜力:信息抽取、数据增强与UIE的完美融合
信息抽取是 NLP 任务中非常常见的一种任务,其目的在于从一段自然文本中提取出我们想要的关键信息结构。
汀丶人工智能
2023/10/11
7410
解锁数据潜力:信息抽取、数据增强与UIE的完美融合
基于Labelst基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来udio的UIE半监督智能标注方案(本地版),赶快用起来
在使用label-studio后端之前,要先定义好自己的训练模型,模型的定义需要继承自label-studio指定的类,具体可参考第四节。
汀丶人工智能
2023/04/03
1.6K0
基于ERNIELayout&pdfplumber-UIE的多方案学术论文信息抽取
本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5196032?contributionType=1 基于ERNIELayout&pdf
汀丶人工智能
2023/01/05
1.3K0
NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
汀丶人工智能
2023/04/07
5790
关于飞桨UIE等模型预测推理时间很久的问题分析以及解决,蒸馏剪枝部署问题解决
用uie做实体识别,Taskflow预测的时间与schema内的实体类别数量成正比,schema里面有多少个实体类别
汀丶人工智能
2022/12/21
9070
关于飞桨UIE等模型预测推理时间很久的问题分析以及解决,蒸馏剪枝部署问题解决
推荐阅读
PaddleNLP通用信息抽取有点强2022.5.18
3800
首创基于Prompt的产业级信息抽取能力,这个开源工具用心了!
2.3K0
PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
1.1K0
PaddleNLP通用信息抽取技术产业应用实例
1.3K0
医疗领域实体抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
3K0
人工智能知识图谱之信息抽取:基于Labelstudio的UIE半监督深度学习的智能标注方案(云端版),提效。
1.7K0
快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务
8150
聊聊从大模型来看NLP解决方案之UIE
1.1K0
Paddlenlp之UIE模型实战实体抽取任务【打车数据、快递单】
7920
军事领域关系抽取:UIE Slim最新升级版含数据标注、serving部署、模型蒸馏等教学,助力工业应用场景快速落地
3.1K0
Paddlenlp之UIE分类模型【以情感倾向分析新闻分类为例】含智能标注方案)
9300
一文速学-知识图谱从零开始构建实战:知识图谱搭建构架实践-信息抽取
2.4K0
UIE_Slim满足工业应用场景,解决推理部署耗时问题,提升效能。
4970
关键信息抽取:UIE模型做图片信息提取全流程
2K0
标注工具doccano导出数据为空的解决办法
1.4K0
解锁数据潜力:信息抽取、数据增强与UIE的完美融合
7410
基于Labelst基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来udio的UIE半监督智能标注方案(本地版),赶快用起来
1.6K0
基于ERNIELayout&pdfplumber-UIE的多方案学术论文信息抽取
1.3K0
NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等
5790
关于飞桨UIE等模型预测推理时间很久的问题分析以及解决,蒸馏剪枝部署问题解决
9070
相关推荐
PaddleNLP通用信息抽取有点强2022.5.18
更多 >
交个朋友
加入数据技术工作实战群
获取实战干货 交流技术经验
加入[架构及运维] 腾讯云技术交流站
云架构设计 云运维最佳实践
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档