jieba分词的三种模式

  • 精确模式:把文本精确的切分开,不存在冗余单词。
  • 全模式:把文本中所有可能的词语都扫描出来,有冗余。
  • 搜索引擎模式:在精确模式基础上,对长词再次切分。

jieba库的解析

  • jieba.cut(s):精确模式,返回一个可迭代的数据类型,生成迭代器。
  • jieba.cut(s,cut_all=True):全模式,输出文本s中所有可能的单词,生成迭代器。
  • jieba.cut_for_search(s):搜索引擎模式,适合搜索,生成迭代器。

  • jieba.lcut(s):精确模式,返回一个列表类型,建议使用。
  • jieba.lcut(s,cut_all=True):全模式,返回一个列表类型,建议使用。
  • jieba.lcut_for_search(s):搜索引擎模式,返回一个列表类型,建议使用。

  • jieba.add_word(w):向分词词典中增加新词w。
  • jieba.del_word(w):从分词词典中删除词w。

下面来试一下

import jieba
s='今天天气好冷,快出太阳'
jieba.lcut(s)

[‘今天天气’, ‘好’, ‘冷’, ‘,’, ‘快出’, ‘太阳’]

#有冗余
jieba.lcut(s,cut_all=True)

[‘今天’, ‘今天天气’, ‘天天’, ‘天气’, ‘好’, ‘冷’, ‘’, ‘’, ‘快’, ‘出’, ‘太阳’]

#介于以上两者之间
jieba.lcut_for_search(s)

[‘今天’, ‘天天’, ‘天气’, ‘今天天气’, ‘好’, ‘冷’, ‘,’, ‘快出’, ‘太阳’]

使用自定义词典

jieba.lcut('牛气哄哄大法师在种菜')

[‘牛气’, ‘哄哄’, ‘大法师’, ‘在’, ‘种菜’]

手动添加词
#把牛气哄哄定义为一个词
jieba.add_word("牛气哄哄")
jieba.lcut('牛气哄哄大法师在种菜')

[‘牛气哄哄’, ‘大法师’, ‘在’, ‘种菜’]

导入文件分词

jieba.lcut('菠萝菠萝蜜芝麻开门嘛咪嘛咪轰')

[‘菠萝’, ‘菠萝蜜’, ‘芝麻开门’, ‘嘛’, ‘咪’, ‘嘛’, ‘咪’, ‘轰’]

加载文件
jieba.load_userdict('C:\\Users\Dell\Desktop\\aaa.txt')

在文件里把词组列出来

jieba.lcut('菠萝菠萝蜜芝麻开门嘛咪嘛咪轰')

[‘菠萝菠萝蜜’, ‘芝麻开门’, ‘嘛咪嘛咪轰’]

使用搜索细胞词库

http://pinyin.sogou.com/dict/

  • 按照词库分类或者关键词搜索方式,查找并下载所需词库
  • 使用转换工具,将其转换为txt格式——深蓝词库转换、奥创词库转换,在程序中导入相应词库

去除停用词

  1. 分词后去停用词(很笨)。
  2. 用extract_tags函数去除停用词。

1.分词后去除停用词

基本步骤:

  1. 读入停用词表文件
  2. 正常分词
  3. 在分词结果中取出停用词
newlist = [word for word in list if word not in stopwords]

方法的问题:停用词必须要被分词过程正确拆分出来才行

ss='菠萝菠萝蜜芝麻开门的嘛咪嘛咪轰烦大哒'
jieba.lcut(ss)

[‘菠萝菠萝蜜’, ‘芝麻开门’, ‘的’, ‘嘛咪嘛咪轰’, ‘烦’]

wordlist=jieba.lcut(ss)
newlist=[word for word in wordlist if word not in ['烦','的']]
newlist

[‘菠萝菠萝蜜’, ‘芝麻开门’, ‘嘛咪嘛咪轰’]

导入停用词表
import pandas as pd
stopwords=pd.read_table('F:\\HMM\\stopwords.txt',names=['words'],encoding='utf-8')
stopwords.head()
去除句子中停用词表中的词
newlist = [word for word in jieba.cut(ss) if word not in list(stopwords['words'])]
print(newlist)

[‘菠萝菠萝蜜’, ‘芝麻开门’, ‘嘛咪嘛咪轰’, ‘烦’]

也可以直接获取停用词list,效率更高
open('stopwords.txt').readlines()

2. 用extract_tags函数去除停用词

方法特点:根据TF-IDF算法将特征词提取出来,在提取之前去掉停用词可以人工置顶停用词字典。

jieba.analyse.set_stop_words()

括号里是想要去掉的停用词

import jieba.analyse as ana
ana.set_stop_words('F:\\HMM\\stopwords.txt')
sentence='大数据专业的同学棒棒哒!'
ana.extract_tags(sentence)

[‘棒棒’, ‘同学’, ‘专业’, ‘数据’]

词性标注

  • posseg.cut():给出附加词性的分词结果
  • 词性标注采用和ICTCLAS兼容的标记法
import jieba.posseg as psg
sentence='大数据专业的同学棒棒哒!'
psg.lcut(sentence)

[pair(‘大’, ‘a’),
pair(‘数据’, ‘n’),
pair(‘专业’, ‘n’),
pair(‘的’, ‘uj’),
pair(‘同学’, ‘n’),
pair(‘棒棒’, ‘n’),
pair(‘哒’, ‘zg’),
pair(’!’, ‘x’)]

中文分词与去除停用词相关推荐

  1. 中文分词后去除停用词

     中文分词后去除停用词  当我们利用jieba进行中文分词时,主要是句子中出现的词语都会被划分,而有些词语是没有实际意思的,对于后续的关键词提取就会加大工作量,并且可能提取的关键词是无效的.所以在分词 ...

  2. Python 中文分词并去除停用词

    import jieba# 创建停用词list def stopwordslist(filepath):stopwords = [line.strip() for line in open(filep ...

  3. 中文文本处理总结(读取文本、文本预处理、分词、去除停用词)

    中文文本处理总结(读取文本.文本预处理.分词.去除停用词)  针对前面学习的 Python读取文本内容.中文文本预处理.利用jieba对中文进行分词.中文分词后去除停用词.调整jieba分词结果,我们 ...

  4. 实践:jieba分词和pkuseg分词、去除停用词、加载预训练词向量

    一:jieba分词和pkuseg分词 原代码文件 链接:https://pan.baidu.com/s/1J8kmTFk8lec5ubfwBaSnLg 提取码:e4nv 目录: 1:分词介绍: 目标: ...

  5. java 对英文句子进行 分词、去除停用词、提取词干

    下面 词干提取算法 用到的jar包 lucene-analyzers-smartcn-7.6.0.jar (包含 中英 词干提取) 百度网盘链接:https://pan.baidu.com/s/15D ...

  6. python文本分词及去除停用词

    对于文本分词,此处使用的是python自带的jieba包进行,首先我们要先读取我们所需要分词的文章,然后使用jieba.cut进行分词,注意分词时要将这些段落归并成同一个字符串,然后输出的是一个列表. ...

  7. IKAnalyzer进行中文分词和去停用词

    最近学习主题模型pLSA.LDA,就想拿来试试中文.首先就是找文本进行切词.去停用词等预处理,这里我找了开源工具IKAnalyzer2012,下载地址:(:(注意:这里尽量下载最新版本,我这里用的IK ...

  8. (3.2)将分词和去停用词后的评论文本基于“环境、卫生、价格、服务”分类...

    酒店评论情感分析系统(三)-- 将分词和去停用词后的评论文本基于"环境.卫生.价格.服务"分类 思想: 将进行了中文分词和去停用词之后得到的词或短语按序存在一个数组(iniArra ...

  9. 文本挖掘(超详细:数据获取 - 数据清洗 - 中文分词 - 去除停用词 - 词频统计 - 词云图 - 情感分析)

    文本挖掘(超详细) 朋友们好,文本挖掘这篇文章写了也有一段时间了,承蒙朋友们的厚爱,作者后面有做过一个升级版的文本挖掘,但苦于没有时间一直没有更新,现在在抽时间把后面写的这个也发布出来,两篇文章的步骤 ...

最新文章

  1. gridview里找到控件
  2. 4.API的调用过程(系统服务表)
  3. Codeup墓地-问题 A: 最长上升子序列
  4. vue2.0项目引入element-ui
  5. Codeforces Round #740 (Div. 2) F. Top-Notch Insertions 线段树 / 平衡树 + 组合数学
  6. Java中使用Socket实现服务器端和客户端通讯
  7. 三层架构dao service 表示层 115721935
  8. 程序员详解iOS的原生和第三方虚拟内存机制
  9. 在登陆AD的机器上测试模拟经过验证的用户
  10. Centos5.5几种提高工作效率的方法
  11. bs架构多用户访问_Spark架构
  12. PHP字符串相关函数
  13. 《卫星通信》课程大作业——基于MATLAB的无线通信链路级仿真
  14. vs2010 破解版,试用版变正式版
  15. 微信云控源码帮您快速复制营销
  16. oppo X907刷机包 COLOROS 1.0 正式版发布 安卓4.2.2
  17. matlab 计算逆时针夹角,计算两个向量的逆时针夹角
  18. Android 快速集成阿里云OSS服务2020
  19. Exiv2 With XMP for Android
  20. 英语点读笔市场太内卷 飞扫翻译笔靠实力“超车”

热门文章

  1. OSChina 周一乱弹 —— 怎么搭讪学医的女孩,说你有病!
  2. 中美程序员不完全对比
  3. 安防IT化如何把握其中的共性与个性
  4. 理论+实操 :华为NAT地址转换
  5. 值得推荐的MAC软件下载软件的网站
  6. linux服务器定时关机重启,Ubuntu Server 10.10 每天定时开关机
  7. cocos2dx-9.键盘事件-实现精灵的连续移动
  8. 推荐的接口管理平台-yapi
  9. 网页分享功能 支持 微信二维码 qq空间 qq好友 新浪微博 百度贴吧 豆瓣 人人...
  10. 搭建一个简单的SDN网络环境