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

1 Paddle模式简介

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

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

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
image.png
即代表我们安装成功了。

这段检查可能会遇到使用者警告:
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.
image.png
这个警告信息是由飞桨(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模式。
这段代码的运行结果为:
image.png
可以看到对于一些生僻词,如Copilot X,飞桨的深度学习模型可以将其分割出来,大家也可以自行尝试来判断两种模型的好坏。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据分析之Pandas(2)

3.Pandas 文章目录3.Pandas3.3 Pandas进阶3.3.1 数据重塑和轴向旋转(1)层次化索引Series的层次化索引DataFrame的层次化索引层次化——电影数据示列(2)数据旋转3.3.2 数据分组、分组运算3.3.3 离散化处理3.3.4 合并数据集&#xf…

使用langchain打造自己的大型语言模型(LLMs)

我们知道Openai的聊天机器人可以回答用户提出的绝大多数问题,它几乎无所不知,无所不能,但是由于有机器人所学习到的是截止到2021年9月以前的知识,所以当用户询问机器人关于2021年9月以后发送的事情时,它无法给出正确的答案&#x…

【Java 21 新特性 】顺序集合(Sequenced Collections)

Java 21 中增加了一种新的集合类型:顺序集合(Sequenced Collections)。要介绍顺序集合,就首先要说明一下出现顺序(encounter order)。出现顺序指的是在遍历一个集合时,集合中元素的出现顺序。有…

Redis高频40问

Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的&#xf…

Python:每日一题之《全排列的价值》真题练习

问题描述 对于一个排列 A(a1​,a2​,⋯,an​), 定义价值 ci​ 为 a1​ 至 ai−1​ 中小于 ai​ 的数 的个数, 即 。 ci​∣{aj​∣j<i,aj​<ai​}∣。 ​ 定义 A 的价值为 ∑i1n​ci​ 。 给定 n, 求 1 至 n 的全排列中所有排列的价值之和。 输入格式 输入一行包含…

SpringBoot(五) Docker

一、简介 Docker是一个开源的应用容器引擎&#xff1b; Docker支持将软件编译成一个镜像&#xff1b;然后在镜像中各种软件做好配置&#xff0c;将镜像发布出去&#xff0c;其他使用者可以直接使用这个镜像。 运行中的这个镜像称为容器&#xff0c;容器启动是非常快速的。类似…

HTB-soccer

信息收集 22 ssh80 http9091 对80进行检查。 搜索得知存在默认登陆密码admin:admin123 和 user:12345。 右上角有一个upload&#xff0c;试试能不能本地上传。 能够获取上传的路径&#xff0c;但是此文件没有写入权限。 切换到tiny文件夹再次上传。 在/tiny/uploads能够…

文心一言,被网友玩坏了哈哈哈哈哈哈哈

现在人工智能正火&#xff0c;百度“文心一言”出来&#xff0c;虽然只是小范围测试&#xff0c;但已经被玩坏了&#xff01;这应该算是卖全羊送狗肉娃娃…菜…也没毛病哈看来对美女还有些误解虎头虎脑的胖大胖小子哈哈哈哈哈鸳鸯和锅都有&#xff0c;还不满意吗什么奇行种似乎…

数据结构和算法(3):递归

目录概述单路递归 Single Recursion多路递归 Multi Recursion递归优化-记忆法递归时间复杂度-Master theorem递归时间复杂度-展开求解概述 定义 计算机科学中&#xff0c;递归是一种解决计算问题的方法&#xff0c;其中解决方案取决于同一类问题的更小子集 In computer scien…

情感语音转换学习

情感语音转换&#xff08;Emotional Voice conversion&#xff09; 言语不仅仅是词汇&#xff0c;它承载着说话者的情感。之前的研究(Mehrabian和Wiener, 1967)表明&#xff0c;在交流情感和态度时&#xff0c;口头语言只传达了7%的信息&#xff0c;非语言的声音属性(38%)和面…

简单研究一下 OpenAI 的官方文档

文档地址&#xff1a;https://platform.openai.com/docs/ 接口说明&#xff1a;https://platform.openai.com/docs/api-reference 一、概览 OpenAI API 可直接调用模型接口&#xff0c;也可在线微调&#xff08;不过只能微调GPT-3系列模型&#xff09;。 本小节主要介绍 toke…

定长内存池的实现

文章目录 什么是内存池 池化技术内存池内存池主要解决的问题malloc定长内存池的实现前言 当前项目是实现一个高并发的内存池&#xff0c;他的原型是Google的一个开源项目tcmalloc&#xff0c;tcmalloc全称Thread-Caching Malloc&#xff0c;即线程缓存的malloc&#xff0c;实现…

python用户价值分析

数据获取&#xff1a; 表格数据 数据清洗后数据&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1D7qOZqKmF3YR3meQPsp3sQ 提取码&#xff1a;1234 数据下载下来后&#xff0c;先进行数据清洗。数据清洗在进行用户价值分析,也可以直接下载我清洗后的数据。 RFM模型&a…

springcloud微服务架构搭建过程

项目地址&#xff1a;源代码 仅作为学习用例使用&#xff0c;是我开发过程中的总结、实际的一部分使用方式 开发环境&#xff1a; jdk11 springboot2.7.6 springcloud2021.0.5 alibabacloud 2021.0.4.0 redis6.0 mysql8.0 一、项目搭建 wdz-api&#xff1a;存放远程服务调用相关…

如何选电脑

1、CPU&#xff08;中央处理器&#xff09; 怎么看CPU型号&#xff1a;CPU:系列-代数等级核心显卡型号电压后缀 例如CPU:i7-10750H &#xff1a; 1、系列&#xff1a;Intel的酷睿i3、i5、i7、i9这四个系列的CPU&#xff0c;数字越大就代表越高端。 2、代数&#xff1a;代表…

自主HttpServer实现(C++实战项目)

文章目录项目介绍CGI技术概念原理设计框架日志文件TCPServer任务类初始化与启动HttpServerHTTP请求结构HTTP响应结构线程回调EndPoint类EndPoint主体框架读取HTTP请求处理HTTP请求CGI处理非CGI处理构建HTTP响应发送HTTP响应接入线程池简单测试项目扩展项目介绍 该项目是一个基…

大厂光环下的功能测试,出去面试自动化一问三不知

在一家公司待久了技术能力反而变弱了&#xff0c;原来的许多知识都会慢慢遗忘&#xff0c;这种情况并不少见。 一个京东员工发帖吐槽&#xff1a;感觉在大厂快待废了&#xff0c;出去面试问自己接口环境搭建、pytest测试框架&#xff0c;自己做点工太久都忘记了。平时用的时候…

无公网IP,SSH远程连接Linux CentOS服务器【内网穿透】

文章目录视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程本次教程我们来实现如何在外公网环境下&#xff0c;SSH远程连接家里/公司的Linux CentOS服务器&#xff0c;无需公网IP&#xff0c;也不需要设置路…

地表最强,接口调试神器Postman ,写得太好了

postman是一款支持http协议的接口调试与测试工具&#xff0c;其主要特点就是功能强大&#xff0c;使用简单且易用性好 。 无论是开发人员进行接口调试&#xff0c;还是测试人员做接口测试&#xff0c;postman都是我们的首选工具之一 。 那么接下来就介绍下postman到底有哪些功…

吉林省互联网医院资质申请条件|牌照申请

吉林省互联网医院资质申请条件|牌照申请|长春市|四平市|辽源市|通化市|白山市|松原市|白城市|延边朝鲜族自治州 吉林省互联网医院资质申请条件   一、《医疗机构管理条例》第十六条申请医疗机构执业登记&#xff0c;应具备下列条件&#xff1a;   1.有设置医疗机构批准书&a…