首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >文本分词和去停止词的一次优化

文本分词和去停止词的一次优化

作者头像
故事尾音
发布于 2019-12-18 08:49:26
发布于 2019-12-18 08:49:26
81300
代码可运行
举报
运行总次数:0
代码可运行

之前在处理QA语料库的时候,在分词和去停止词的时候消耗时间很长,所以专门搜了一些资料针对这个问题进行了一次优化,总结如下。

文本分词

使用jieba自带的并行分词

在分词前添加jieba.enable_parallel(4)就行了。但是我这里并没有这么做,主要是怕分词顺序出错了。

使用jieba_fast

这是一个cpython的库,使用方法和jieba一致,Github官网。官网的描述如下:

使用cpython重写了jieba分词库中计算DAG和HMM中的vitrebi函数,速度得到大幅提升。

去停止词

构建字典加速

我最开始使用的是把停止词读成列表,然后去列表里面查找,速度很慢。原先的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def get_stopwords(self,stopwords_path):
    stop_f = open(stopwords_path, "r", encoding='utf-8')
    stop_words = list()
    for line in stop_f.readlines():
        line = line.strip()
        if not len(line):
            continue
        stop_words.append(line)
    stop_f.close()
    # print('哈工大停止词表长度为:' + str(len(stop_words)))
    return stop_words

改进之后,构建了停止词字典,速度提高了一倍左右。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def get_stopwords(self,stopwords_path):
    stop_f = open(stopwords_path, "r", encoding='utf-8')
    stop_words = {}
    for line in stop_f.readlines():
        line = line.strip()
        if not len(line):
            continue
        stop_words[line] = line
    stop_f.close()
    # print('哈工大停止词表长度为:' + str(len(stop_words)))
    return stop_words

总结

经过以上改进,代码加速了4倍左右,提升还是很明显的。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何使用 psql 列出 PostgreSQL 数据库和表
在管理PostgreSQL数据库服务器时,您可能要执行的最常见任务之一就是列出数据库及其表。
星哥玩云
2022/08/18
4.8K0
【docker-compose】一键安装PostgreSQL数据库
【docker-compose】一键安装PostgreSQL数据库 1、创建空目录 [root@docker ~]# mkdir PostgreSQL [root@docker ~]# cd PostgreSQL/ 2、创建docker-compose.yml文件 postgres Tags | Docker Hub 直接下来docker-compose.yml wget https://raw.githubusercontent.com/colovu/docker-postgres/master/d
宝耶需努力
2022/12/13
4.5K0
【docker-compose】一键安装PostgreSQL数据库
[实时数仓]玩转PostgreSQL主从流复制
PostgreSQL 在 9.0 以后引入了流复制(Streaming Replication)。流复制提供了将 WAL 记录连续发送并应用到从服务器以使其保持最新状态的功能。通过流复制,从服务器不断从主服务器同步相应的数据,同时,从服务器作为主服务器的一个备份。
宇宙无敌暴龙战士之心悦大王
2023/03/21
1.6K0
使用docker封装古董web.py+postgresql应用
title: 使用docker封装古董python web.py + postgresql应用 author: fanzhh category: - 技术笔记 tag: - docker - web.py - python - postgresql date: 2019-07-24 15:50
fanzhh
2019/08/20
1.8K0
使用docker封装古董web.py+postgresql应用
Linux系统之安装PostgreSQL数据库
江湖有缘
2023/09/28
1.3K0
Linux系统之安装PostgreSQL数据库
PostgreSQL数据库体系架构
PostgreSQL数据库的进程可以分为三类:后台进程、后端进程或叫服务器进程、客户端进程或用户进程。
用户8006012
2022/06/10
4.5K1
【DB宝69】在docker中快速使用各个版本的PostgreSQL数据库
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2021/08/25
1.9K0
【赵渝强老师】使用PostgreSQL客户端工具
在PostgreSQL数据库服务器端安装配置完成以后,便可以使用客户端工具连接到服务器端进行数据库操作了。PostgreSQL支持多种客户端的连接,这里重点介绍psql和pgAdmin这两款PostgreSQL客户端工具的使用方法。
赵渝强老师
2025/03/09
4800
【赵渝强老师】使用PostgreSQL客户端工具
PostgreSQL数据库GB级备份与还原方法
ODOO数据库的备份和还原有两种方法,一种是利用ODOO自带的自动化备份工具Database auto-backup 进行备份,并在WEB页面进行数据库还原,另一种是GB级别以上的备份方法,本文先描述第二种备份方法,然后下篇发布第一种利用ODOO自带自动化工具进行备份方法。
好派笔记
2021/09/14
1.2K0
【PostgreSQL】基于CentOS系统安装PostgreSQL数据库
postgresql镜像-postgresql下载地址-postgresql安装教程-阿里巴巴开源镜像站
宝耶需努力
2022/12/13
2.8K0
【PostgreSQL】基于CentOS系统安装PostgreSQL数据库
PostgreSQL数据库安装部署
[root@web1 ~]# cd /package/ [root@web1 package]# ls apache-tomcat-8.5.39.tar.gz  jdk-8u131-linux-x64.tar.gz  postgresql-10.5.tar.gz  redis-3.2.0.tar.gz [root@web1 package]#
星哥玩云
2022/08/18
3.6K0
linux操作系统下PostgreSQL 选择数据库方式
pgAdmin 工具更简单了,直接点击数据库选择就好了,还可以查看一些数据库额外的信息:
用户5005176
2021/08/11
1.1K0
PostgreSQL数据库笔记
PostgreSQL(简称Postgres或PG)是一个功能强大、可靠性高、可扩展性好的开源对象-关系数据库服务器(ORDBMS),它以加州大学伯克利分校计算机系开发的POSTGRES版本4.2为基础。 发展历程
张哥编程
2024/12/07
5940
PostgreSQL数据库笔记
Hortonworks中修改Hive使用postgresql数据库
在Hive -> Configs -> Advanced中,将数据库改为使用已存在的postgresql数据库,然后修改数据库用户,密码和数据库名称。
kongxx
2018/10/11
1.2K0
【DB宝70】在Windows中绿色安装PostgreSQL 13.3数据库
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2021/09/17
1.9K0
【DB宝67】使用yum来安装PostgreSQL13.3数据库
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2021/08/25
1K0
【赵渝强老师】PostgreSQL的数据库
PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。下图展示了PostgreSQL数据库的逻辑存储结构。
赵渝强老师
2024/11/28
1750
【赵渝强老师】PostgreSQL的数据库
PostgreSQL数据库迁移案例
PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。
熬夜的花斑狗
2022/01/10
4.2K0
在docker中快速使用各个版本的PostgreSQL数据库(9.4、9.6、10、11、12、13、14、15等)
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2023/09/08
5.3K0
在docker中快速使用各个版本的PostgreSQL数据库(9.4、9.6、10、11、12、13、14、15等)
【DB宝68】使用源码编译来安装PostgreSQL13.3数据库
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。如:RPM包安装(在线、离线)、源码编译安装、系统自带、二进制、NDB安装等。
AiDBA宝典
2021/08/25
9540
推荐阅读
相关推荐
如何使用 psql 列出 PostgreSQL 数据库和表
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档