飞浆(paddle)实现机器学习

2023-11-15

一:飞浆(paddle)介绍

飞桨是国内唯一功能完备的端到端开源深度学习平台,集深度学习训练和预测框架、模型库、工具组件和服务平台为一体,拥有兼顾灵活性和高性能的开发机制、工业级应用效果的模型、超大规模并行深度学习能力、推理引擎一体化设计以及系统化服务支持的五大优势,致力于让深度学习技术的创新与应用更简单。

飞桨提供的70+ 官方模型,全部经过真实应用场景的有效验证。不仅包含 更懂中文 的NLP 模型,同时开源多个视觉领域国际竞赛冠军算法。

支持python、C ++

PaddleNLP是一款简单易用且功能强大的自然语言处理开发库。聚合业界优质预训练模型并提供开箱即用的开发体验,覆盖NLP多场景的模型库搭配产业实践范例可满足开发者灵活定制的需求。

GPU 测试工具 https://aistudio.baidu.com/ 领取免费算力

二:飞浆(paddle)相关地址

官网:https://www.paddlepaddle.org.cn/paddle/paddlenlp

github:https://github.com/PaddlePaddle/PaddleNLP

文档:https://paddlenlp.readthedocs.io/zh/latest/

三:PaddleNLP安装

环境依赖

python >= 3.7

paddlepaddle >= 2.3

pip install --upgrade paddlenlp
安装成功后使用时提示错误

解决方法:

pip install --upgrade paddlepaddle

如果无法安装可以通过更换国内源的方法来解决

pip install --upgrade paddlepaddle -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

常用的国内镜像源地址:

四:PaddleNLP特性

  • 开箱即用的NLP工具集

  • 丰富完备的中文模型库

  • 产业级端到端系统范例

  • 高性能分布式训练与推理

五:PaddleNLP使用

1:中文分词

  • PaddleNLP提供了多种分词模式,满足快速切分和实体粒度精准切分,训练数据来源 百度自建数据集,包含近2200万句子,覆盖多种场景

>>> from paddlenlp import Taskflow

# 默认模式————实体粒度分词,在精度和速度上的权衡,基于百度LAC
>>> seg = Taskflow("word_segmentation")
>>> seg("近日国家卫健委发布第九版新型冠状病毒肺炎诊疗方案")
['近日', '国家卫健委', '发布', '第九版', '新型', '冠状病毒肺炎', '诊疗', '方案']

# 快速模式————最快:实现文本快速切分,基于jieba中文分词工具
>>> seg_fast = Taskflow("word_segmentation", mode="fast")
>>> seg_fast("近日国家卫健委发布第九版新型冠状病毒肺炎诊疗方案")
['近日', '国家', '卫健委', '发布', '第九版', '新型', '冠状病毒', '肺炎', '诊疗', '方案']

# 精确模式————最准:实体粒度切分准确度最高,基于百度解语
# 精确模式基于预训练模型,更适合实体粒度分词需求,适用于知识图谱构建、企业搜索Query分析等场景中
>>> seg_accurate = Taskflow("word_segmentation", mode="accurate")
>>> seg_accurate("近日国家卫健委发布第九版新型冠状病毒肺炎诊疗方案")
['近日', '国家卫健委', '发布', '第九版', '新型冠状病毒肺炎', '诊疗', '方案']

  • 批量样本输入,平均速度更快

>>> from paddlenlp import Taskflow
>>> seg = Taskflow("word_segmentation")
>>> seg(["第十四届全运会在西安举办", "三亚是一个美丽的城市"])
[['第十四届', '全运会', '在', '西安', '举办'], ['三亚', '是', '一个', '美丽', '的', '城市']]

  • 自定义分词

创建一个user_dict.txt文件,内容如下

平原上的火焰
上 映

>>> from paddlenlp import Taskflow
>>> seg = Taskflow("word_segmentation")
>>> seg("平原上的火焰宣布延期上映")
['平原', '上', '的', '火焰', '宣布', '延期', '上映']
>>> seg = Taskflow("word_segmentation", user_dict="user_dict.txt")
>>> seg("平原上的火焰宣布延期上映")
['平原上的火焰', '宣布', '延期', '上', '映']

2:文本纠错

>>> from paddlenlp import Taskflow
>>> corrector = Taskflow("text_correction")
# 单条输入
>>> corrector('遇到逆竟时,我们必须勇于面对,而且要愈挫愈勇。')
[{'source': '遇到逆竟时,我们必须勇于面对,而且要愈挫愈勇。', 'target': '遇到逆境时,我们必须勇于面对,而且要愈挫愈勇。', 'errors': [{'position': 3, 'correction': {'竟': '境'}}]}]
# 批量预测
>>> corrector(['遇到逆竟时,我们必须勇于面对,而且要愈挫愈勇。', '人生就是如此,经过磨练才能让自己更加拙壮,才能使自己更加乐观。'])
[{'source': '遇到逆竟时,我们必须勇于面对,而且要愈挫愈勇。', 'target': '遇到逆境时,我们必须勇于面对,而且要愈挫愈勇。', 'errors': [{'position': 3, 'correction': {'竟': '境'}}]}, {'source': '人生就是如此,经过磨练才能让自己更加拙壮,才能使自己更加乐观。', 'target': '人生就是如此,经过磨练才能让自己更加茁壮,才能使自己更加乐观。', 'errors': [{'position': 18, 'correction': {'拙': '茁'}}]}]

3:文本相似度

基于百万量级Dureader Retrieval数据集训练RocketQA并达到前沿文本相似效果

数据集来源 收集百度知道2200万对相似句组

有多模型选择,默认选择词库最大的模型,其他模型对精度、速度做出平衡,无自定义训练

>>> from paddlenlp import Taskflow
>>> similarity = Taskflow("text_similarity")
>>> arr =[["XXX", "XXX"]]
>>> res = similarity(arr)
[{'text1': 'XXX', 'text2': 'XXX', 'similarity': 0.8714959621429443}]
>>> similarity = Taskflow("text_similarity", model='rocketqa-base-cross-encoder')
>>> res = similarity(arr)
[{'text1': 'XXX', 'text2': 'XXX', 'similarity': 0.5669652819633484}]

4:情感分析

集成BiLSTM、SKEP、UIE等模型,支持评论维度、观点抽取、情感极性分类等情感分析任务

训练数据来源 百度自建数据集

>>> from paddlenlp import Taskflow
>>> similarity = Taskflow("text_similarity")
>>> schema = ['情感倾向[正向,负向]']
>>> senta = Taskflow("sentiment_analysis", model="uie-senta-base", schema=schema)
senta("这家店服务热情,价格也便宜")
[{'情感倾向[正向,负向]': [{'text': '正向', 'probability': 0.9953493324753282}]}]
>>> senta("这家店感觉不太干净")
[{'情感倾向[正向,负向]': [{'text': '负向', 'probability': 0.9996670165660646}]}]

5:生成式问答

使用最大中文开源CPM模型完成问答,包 9.6G

>>> from paddlenlp import Taskflow
>>> qa = Taskflow("question_answering")
# 单条输入
>>> qa("中国的国土面积有多大?")
[{'text': '中国的国土面积有多大?', 'answer': '960万平方公里。'}]
# 多条输入
>>> qa(["中国国土面积有多大?", "中国的首都在哪里?"])
[{'text': '中国国土面积有多大?', 'answer': '960万平方公里。'}, {'text': '中国的首都在哪里?', 'answer': '北京。'}]

6:文本摘要

>>> from paddlenlp import Taskflow
>>> summarizer = Taskflow("text_summarization")
# 单条输入
>>> summarizer('XXX')
# 输出:['XXX']
summarizer("XXX")
# 输出:['XXX']

7:文档智能

以多语言跨模态布局增强文档预训练模型ERNIE-Layout为核心底座

同时依赖飞桨OCR功能

例如识别发票中的信息

>>> from paddlenlp import Taskflow
>>> docprompt = Taskflow("document_intelligence")
>>> pprint(docprompt([{"doc": "invoice.jpg", "prompt": ["发票号码是多少?", "校验码是多少?","开票日期是什么时候?","合计是多少?","开票人是谁?"]}]))
#输出
[{'prompt': '发票号码是多少?',
  'result': [{'end': 16, 'prob': 1.0, 'start': 16, 'value': 'No05152193'},
             {'end': 23, 'prob': 0.79, 'start': 23, 'value': '05152193'}]},
 {'prompt': '校验码是多少?',
  'result': [{'end': 253,
              'prob': 1.0,
              'start': 249,
              'value': '10534 7935109182 86662'}]},
 {'prompt': '开票日期是什么时候?',
  'result': [{'end': 35, 'prob': 1.0, 'start': 30, 'value': '2023年02月19日'}]},
 {'prompt': '合计是多少?',
  'result': [{'end': 170, 'prob': 0.62, 'start': 168, 'value': '339.62'}]},
 {'prompt': '开票人是谁?',
  'result': [{'end': 285, 'prob': 1.0, 'start': 283, 'value': '凌钦剑'}]}]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

飞浆(paddle)实现机器学习 的相关文章

随机推荐

  • snort 源码分析之模式匹配引擎

    snort是一款著名的开源IPS 其主页地址 snort 官网 更详细的介绍网上很多 可自行搜索了解 本博客主要介绍snort 2 9 5版本的模式匹配引擎的加载和匹配 模式匹配引擎主要使用多模式匹配算法和单模式匹配算法 先由多模式匹配算法
  • Javaweb网站用户注册登录实现小记

    用户注册登录过程主要分为几个步骤 1 前端页面设计 2 数据访问模型包 3 Servlet容器数据接收处理 4 跳转至页面 下面分步骤小记一下 供以后参考 整个实现环境 Eclipse Version 2018 09 4 9 0 Eclip
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】叠积木

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 叠积木 知识点哈希表 时间限制 1秒 内存限制 262144K 语言限制 不限 题目描述 有一堆长方体积木 它们的宽度和高度都相同 但长度不一 小橙想把这堆积木叠成一面墙 墙的每层可以
  • 1033 旧键盘打字 Python实现

    1033 旧键盘打字 20 20 分 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在2行中分别给出坏掉的那些键 以及应该输入的文字 其
  • PC微信逆向:破解聊天记录文件!

    作者 newx 链接 https bbs pediy com thread 251303 htm 在电子取证过程中 也会遇到提取PC版微信数据的情况 看雪 52破解和CSDN等网上的PC版微信数据库破解文章实在是太简略了 大多数只有结果没有
  • MySQL中通过一条语句来统计符合不同条件的COUNT

    现在有两个表record 和 info 其中表record存放每次通话记录的主动呼出号码与被动呼入号码 表Info存放人名和对应号码 如下 现在的目的是统计每个人的手机号码主动呼出次数与被动呼入次数 就用到下列语句即可 SELECT nam
  • Openlayers 坐标系全面解析

    目录 EPSG 4326 EPSG 3857 EPSG 4326 与 EPSG 3857 的坐标转换 EPSG 4490 Openlayers 自定义坐标系 EPSG 4490 和 EPSG 4525 EPSG 4326 EPSG 3857
  • CTFshow-pwn入门-前置基础pwn23-pwn25

    pwn23 25的题目会涉及到ret2shellcode ret2libc等内容 本篇文章只会侧重研究这几道题目的wp 不会过多涉及到ret2shellcode ret2libc的基本原理 等有时间再来写关于ret2libc ret2she
  • 移动游戏平台的新趋势分享—91-mgas大会

    移动游戏平台的新趋势分享 91 mgas大会 随着智能手机与平板电脑等设备的普及 移动游戏以惊人的速度深入到人们生活当中 玩家的选择范围进一步扩大 包括角色扮演 策略游戏 棋牌游戏 休闲益智 动作冒险 但耐心在降低 而角色扮演和策略游戏的混
  • 【单片机毕业设计】【mcuclub-dz-047】基于单片机的消毒器设计

    最近设计了一个项目基于单片机的消毒器设计 与大家分享一下 一 基本介绍 项目名 基于单片机的消毒器的设计 项目编号 mcuclub dz 047 单片机 STM32F103C8T6 功能简介 1 通过液位传感器检测液位 当液位较低 通过GS
  • java毕业设计——基于JSP+J2EE+sqlserver的超市综合信息管理系统设计与实现(毕业论文+程序源码)——超市综合信息管理系统

    基于JSP J2EE sqlserver的超市综合信息管理系统设计与实现 毕业论文 程序源码 大家好 今天给大家介绍基于JSP J2EE sqlserver的超市综合信息管理系统设计与实现 文章末尾附有本毕业设计的论文和源码下载地址哦 需要
  • 如何在python pyqt窗口中,嵌入notepad、word、计算器

    import sys from PyQt5 QtWidgets import QApplication QWidget from ctypes import 成功了 class App QWidget def init self super
  • GIS状态检测新技术——振动分析法

    提示 唐老师好 我之前因为 阳 了 所以就没有参与汇报 给老师带来不便 请老师见谅 以此篇文章代替课堂汇报 文章目录 前言 一 不同故障对应的振动频谱和故障特征量 二 GIS设备振动特征估计 1 GIS设备状态空间 2 粒子滤波 三 GIS
  • vue+element-ui 项目实战示例详解【目录】

    vue 和 element是两个流行的前端即时 通常用于管理后台 PC等页面 能够快速构建美观的界面 1 vue2 介绍 Vue js是一个流行的JavaScript框架 用于构建用户界面 它的版本分为Vue 2和Vue 3 而Elemen
  • bootstrap 和 ant design css样式 冲突 导致图标移位

    bootstrap 和 ant design 冲突 导致图标移位 body anticon transform translate 0 5px 3px
  • 命令模式代码示例

    package com example mingling 执行命令的接口 author Administrator public interface Command void execute package com example ming
  • 【马士兵】Python基础--08(字典)

    Python基础 08 文章目录 Python基础 08 基础知识 字典的组成及原理 字典的创建方式 字典元素的获取 字典元素的增删改操作 获取字典视图 字典元素的遍历 字典生成式 基础知识 可变序列 目前包括字典 列表 不可变序列 目前包
  • 数电学习笔记

    数电学习笔记 背景 笔记正文 背景 在刚开学那段时间把清华大学阎石老师的 数字电子技术基础 第五版又看了一遍 记了点笔记 刚好实验室的打印机有扫描功能 于是把笔记分享一下 笔记正文 以上
  • jni中如何查看函数签名

    操作步骤 第一步 找到 build 文件夹 第二步 找到 javac 文件夹 第三步 找到自己写的 xxx class文件 第四步 右键 xxx class 文件 在 Terminal 中打开 第五步 执行 javap s xxx clas
  • 飞浆(paddle)实现机器学习

    一 飞浆 paddle 介绍 飞桨是国内唯一功能完备的端到端开源深度学习平台 集深度学习训练和预测框架 模型库 工具组件和服务平台为一体 拥有兼顾灵活性和高性能的开发机制 工业级应用效果的模型 超大规模并行深度学习能力 推理引擎一体化设计以