1 Paddle模式简介

jieba中的paddle模式是指使用飞桨(PaddlePaddle)深度学习框架加速分词的一种模式。相对于传统的分词算法,paddle模式采用了深度学习模型,可以获得更高的分词准确度和更快的分词速度。

paddle模式是基于卷积神经网络(Convolutional Neural Network, CNN)实现的。在训练过程中,使用了中文Wikipedia语料库和自动标注语料库,对分词任务进行了有监督的训练。在测试过程中,通过卷积操作将文本转化为特征向量,再经过全连接层和softmax层,最终得到每个字符的概率分布,然后根据概率分布确定分词边界。

2 Paddle模式的准备

2.1 paddlepaddle库的安装

使用paddle模式分词需要先安装paddlepaddle库:

pip install paddlepaddle

如果安装过慢,可以考虑使用国内的镜像源:

1.  pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,对安装情况进行检验:

import paddle.fluid
paddle.fluid.install_check.run_check()

paddle.fluid.install_check.run_check()是飞桨(PaddlePaddle)框架提供的一个安装检测函数。运行这个函数可以检查当前环境是否满足使用飞桨进行深度学习开发的要求。

2.2 安装完整性检查

run_check()函数会检查当前环境中是否安装了必要的依赖库、是否支持GPU加速、是否能够连接到飞桨的服务器等。如果检测结果为成功,则会输出相应的检测信息;否则会输出具体的错误信息,帮助用户排查问题并解决。
当输出结果为:
Running Verify Fluid Program …
Your Paddle Fluid works well on SINGLE GPU or CPU.
Your Paddle Fluid works well on MUTIPLE GPU or CPU.
Your Paddle Fluid is installed successfully! Let’s start deep Learning with Paddle Fluid now

即代表我们安装成功了。

这段检查可能会遇到使用者警告:
UserWarning: Standalone executor is not used for data parallel
warnings.warn(
W0326 13:38:53.591773 13228 fuse_all_reduce_op_pass.cc:79] Find all_reduce operators: 2. To make the speed faster, some all_reduce ops are fused during training, after fusion, the number of all_reduce ops is 1.

这个警告信息是由飞桨(PaddlePaddle)框架在使用数据并行训练时发出的。数据并行是指将大型神经网络模型划分为多个部分,然后在多个计算节点上同时训练,最后将结果进行汇总。在进行数据并行训练时,需要将不同计算节点上的梯度信息进行同步,以保证训练的正确性和收敛性。

这个警告信息实际上包含了两个部分:

  1. UserWarning: Standalone executor is not used for data parallel 表示在进行数据并行训练时,不应该使用独立的执行器(Standalone Executor),而应该使用与数据并行训练相兼容的执行器。如果使用了不兼容的执行器,可能会导致训练结果不正确或者出现异常情况。
  2. Find all_reduce operators: 2. To make the speed faster, some all_reduce ops are fused during training, after fusion, the number of all_reduce ops is 1. 表示在数据并行训练过程中,发现了两个all_reduce算子(用于同步不同计算节点上的梯度信息)。为了提高训练速度,这两个算子会被融合为一个算子,从而减少计算量和通信开销。

在实际的数据并行训练过程中,这个警告信息可以忽略,不会影响训练结果的正确性和收敛性。如果需要进一步了解数据并行训练的细节和优化技巧,可以参考飞桨的相关文档和教程。

3 使用Paddle分词的代码示例

jieba.cut的分词中,传入use_paddle=True即可开启paddle模式:

import jieba
import paddle  paddle.enable_static()
jieba.enable_paddle()  text = '动嘴就能写代码,GitHub 将 ChatGPT 引入 IDE,重磅发布 Copilot X'seg_1 = jieba.cut(text, cut_all=False)
seg_2 = jieba.cut(text, use_paddle=True)  print('精 确 模 式:', "/".join(seg_1))
print('paddle模式:', "/".join(seg_2))

其中:paddle.enable_static()用于启用静态图模式,在静态图模式下,程序通过预先构建计算图的方式进行计算,可以提高计算效率。
jieba.enable_paddle()用于启用paddle模式。
这段代码的运行结果为:

可以看到对于一些生僻词,如Copilot X,飞桨的深度学习模型可以将其分割出来,大家也可以自行尝试来判断两种模型的好坏。

需要注意的是,启用paddle模式需要满足一定的硬件和软件条件支持,例如需要支持AVX指令集的CPU和安装了CUDNN库的GPU。如果启用paddle模式失败,可以尝试使用其他分词模式。同时,在使用paddle模式时,由于需要加载深度学习模型,可能会增加程序的内存占用量。

Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)相关推荐

  1. 飞桨深度学习零基础入门(一)——使用飞桨(Paddle)单层神经网络预测波士顿房价

    系列文章往期回顾 飞桨深度学习零基础入门(序)--Python实现梯度下降 使用飞桨(Paddle)构建单层神经网络 系列文章往期回顾 一.导入相关依赖包 二.构建单层神经网络回归类 三.设置参数 四 ...

  2. 飞桨深度学习开源框架2.0抢先看:成熟完备的动态图开发模式

    百度飞桨于近期宣布,深度学习开源框架2.0抢先版本正式发布,进入2.0时代.其中一项重大升级,就是推出更加成熟完备的命令式编程模式,即通常说的动态图模式.同时在该版本中将默认的开发模式定为动态图模式, ...

  3. 137% YOLOv3加速、10倍搜索性能提升!百度飞桨推出模型压缩神器

    深度学习模型压缩,又有利器问世. 最新消息,历经一年四个版本打磨之后,百度推出最新深度学习模型压缩工具PaddleSlim1.0. 不仅囊括了深度学习模型压缩中常用的量化.剪裁.蒸馏.模型结构搜索.模 ...

  4. 使用lucce分词怎么_深度学习时代,分词真的有必要吗

    前言 中文数据集是我一直尽量避免的问题,但生活所迫,毕竟咱还是要在国内混江湖的,于是,最近开始研究研究深度学习模型在中文数据集上的各种表现, 但随之而来的一个问题是: 我真的需要分词吗? 香侬科技在 ...

  5. 提升深度学习模型的表现,你需要这20个技巧

    选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一 ...

  6. 提升深度学习模型泛化性的方法

    一个好的深度学习模型的目标是将训练数据很好地推广到问题领域的任何数据.这使我们可以对模型从未见过的数据进行将来的预测. 首先,当模型泛化性差的时候,我们需要找到其原因,当训练集能够很好地拟合,但是测试 ...

  7. 2021全国人工智能师资培训正式“开课”,百度飞桨助力高校教师提升AI“超能力”...

    点击左上方蓝字关注我们 随着人工智能在各行各业的加速渗透和落地,AI人才缺口问题亟待解决.与此同时,高校教学仍面临着与工业实践脱节.资源差异大等困难,AI师资培训成为人才培养不可忽视的重要一环. 为积 ...

  8. 2021全国人工智能师资培训走进北理工,百度飞桨助力高校教师提升AI能力

    点击左上方蓝字关注我们 7月17日,近百位来自全国各高校的教师齐聚在北京理工大学,以学生的身份开启了为期两天的AI学习之旅. 人工智能快速发展的同时,我国百万量级AI人才缺口愈加明显,为加速培养AI人 ...

  9. 提升深度学习模型性能及网络调参

    提升深度学习模型性能及网络调参 https://www.toutiao.com/a6637086018950398472/ 图像处理与机器视觉 2018-12-25 10:42:00 深度学习有很多的 ...

最新文章

  1. [luogu3760 TJOI2017] 异或和(树状数组)
  2. 使用nginx进行负载均衡
  3. 【Python】直接赋值、浅拷贝和深度拷贝解析
  4. ceph与hdfs的比较_分布式存储中HDFS与Ceph两者的区别是什么,各有什么优势?
  5. java中string的方法_java中String类中的常用方法
  6. 安装和配置Hadoop
  7. go定时器 每天重复_Go 简单性的价值:来自对 Go 倍加青睐的谷歌软件工程师的自述...
  8. python中返回上一步操作_通过实例解析Python文件操作实现步骤
  9. 4188元起!华为P40系列国行版发布:买它?
  10. IIS下发布关于Excel导入导出时遇到的问题集锦(转)
  11. Kotlin 一种以服务为基础的APP架构及源码示例
  12. 助力优秀人才选拔培养,为AI发展贡献力量
  13. React 性能分析神器 React Profiler 介绍
  14. 「模拟8.19 A嚎叫..(set) B主仆..(DFS) C征程..(DP+堆优化)」
  15. 使用 yarn 安装 marked
  16. oracle 自增数,ORACLE自增函数,一般函数
  17. 中英文免安装版IE6、IE7、IE8浏览器下载
  18. c# 微信公众号开发之token验证第三方服务器
  19. mysql数据库服务器的超级用户名是,MYSQL数据库的用户帐号管理基础知识 (2)
  20. python 从姐脱吧下载妹子图片

热门文章

  1. [转] ThreeJS中,那些会让阴影失效的操作
  2. 【已恢复】苹果再堵开发者账号注册漏洞,黑市账号价格有价无市!
  3. Week Day总结
  4. 基于HSV颜色空间的辅助车牌定位
  5. 赖世雄老师---不完全及物动词
  6. 显示当前时间(C语言)
  7. 西安邮电大学第五届ACM-ICPC校赛(同步赛)
  8. 解决光驱不能读盘问题
  9. SEO与SEM是什么?有何区别?
  10. HDU4598 Difference(差分约束)