jieba分词库的安装与使用

Anaconda安装wordcloud

GitHub: wordcloud
直接在Anaconda Prompt输入:conda install -c conda-forge wordcloud

Anaconda安装jieba

GitHub: jieba

方式一:
直接在Anaconda Prompt输入:conda install -c conda-forge jieba
方式二:
1.下载jieba压缩包:jieba
2. 将压缩包解压到anaconda下的pkgs目录下,
3. 进入pkgs目录下的jieba-0.39(或其他版本),打开命令行窗口(shift+右键),输入python setup.py install即可完成安装。
其他:
添加下载渠道,Anaconda 安装jieba 库报错

使用jieba分词库

jieba分词的原理

Jieba分词依靠中文词库

  • 利用一个中文词库,确定汉字之间的关联概率
  • 汉字间概率大的组成词组,形成分词结果
  • 除了分词,用户还可以添加自定义的词组

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
  • jieba.load_userdict(“userdict.txt”)添加自定义词典来包含结巴词库中没有的词
  • jieba.analyse.extract_tags(“sentence”, topK=k),其中topK默认值是20。提取"sentence"中topK个关键词
  • jieba.analyse.set_stop_words(“stop_words.txt”)添加停用词
1. 分词
#jieba.cut
>>> seg_list1=jieba.cut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法")
>>> print(" ".join(seg_list1))
朴素 贝叶斯 法是 基于 贝叶斯 定理 与 特征 条件 独立 假设 的 分类 方法
>>> seg_list2=jieba.cut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法",cut_all=True)
>>> print(" ".join(seg_list2))
朴素 贝叶 贝叶斯 法 是 基于 贝叶 贝叶斯 斯定理 定理 与 特征 条件 独立 假设 的 分类 方法
>>> seg_list3=jieba.cut_for_search("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法")
>>> print(" ".join(seg_list3))
朴素 贝叶 贝叶斯 法是 基于 贝叶 贝叶斯 定理 与 特征 条件 独立 假设 的 分类 方法
#jieba.lcut
>>> seg_list1=jieba.lcut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法")
>>> print(seg_list1)
['朴素', '贝叶斯', '法是', '基于', '贝叶斯', '定理', '与', '特征', '条件', '独立', '假设', '的', '分类', '方法']
>>> seg_list2=jieba.lcut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法",cut_all=True)
>>> print(seg_list2)
['朴素', '贝叶', '贝叶斯', '法', '是', '基于', '贝叶', '贝叶斯', '斯定理', '定理', '与', '特征', '条件', '独立', '假设', '的', '分类', '方法']
>>> seg_list3=jieba.lcut_for_search("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法")
>>> print(seg_list3)
['朴素', '贝叶', '贝叶斯', '法是', '基于', '贝叶', '贝叶斯', '定理', '与', '特征', '条件', '独立', '假设', '的', '分类', '方法']
2. 添加自定义词典

添加自定义词、删除自定义词

>>> jieba.add_word("条件独立假设")
>>> list=jieba.lcut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法",cut_all=True)
>>> print(list)
['朴素', '贝叶', '贝叶斯', '法', '是', '基于', '贝叶', '贝叶斯', '斯定理', '定理', '与', '特征', '条件', '条件独立假设', '独立', '假设', '的', '分类', '方法']
>>> jieba.del_word("条件独立假设")
>>> seg_list=jieba.lcut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法",cut_all=True)
>>> print(seg_list)
['朴素', '贝叶', '贝叶斯', '法', '是', '基于', '贝叶', '贝叶斯', '斯定理', '定理', '与', '特征', '条件', '独立', '假设', '的', '分类', '方法']

添加自定义的词典来包含结巴词库中没有的词
在文件userdict.txt中添加内容:条件独立假设 5

>>> jieba.load_userdict("userdict.txt")  
>>> list=jieba.lcut("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法",cut_all=True)
>>> print(list)
['朴素', '贝叶', '贝叶斯', '法', '是', '基于', '贝叶', '贝叶斯', '斯定理', '定理', '与', '特征', '条件', '条件独立假设', '独立', '假设', '的', '分类', '方法']  
3. TF-IDF提取关键词

  如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能反映了这篇文章的特性,正是所谓的关键词。
词 频 ( T F ) = 某 个 词 在 文 章 中 出 现 的 总 次 数 词 汇 总 数 词频(TF)=\frac{某个词在文章中出现的总次数}{词汇总数} TF=
逆 文 档 词 频 ( I D F ) = log ⁡ ( 语 料 库 的 文 档 总 数 包 含 改 词 的 文 档 数 + 1 ) 逆文档词频(IDF)=\log(\frac{语料库的文档总数}{包含改词的文档数+1}) IDF=log(+1)
T F − I D F = 词 频 T F × 逆 文 档 词 频 I D F TF-IDF=词频TF\times 逆文档词频IDF TFIDF=TF×IDF

>>> import jieba.analyse  
>>> tags = jieba.analyse.extract_tags("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法", topK=10)  
>>> print(",".join(tags))
贝叶斯,法是,朴素,定理,假设,基于,分类,特征,独立,方法

参考:
Anaconda安装jieba、wordcloud等第三方库
结巴分词安装与使用

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值