Anaconda安装wordcloud
GitHub: wordcloud
直接在Anaconda Prompt输入:conda install -c conda-forge wordcloud
Anaconda安装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提取关键词
如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能反映了这篇文章的特性,正是所谓的关键词。
>>> import jieba.analyse
>>> tags = jieba.analyse.extract_tags("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法", topK=10)
>>> print(",".join(tags))
贝叶斯,法是,朴素,定理,假设,基于,分类,特征,独立,方法
来源:CSDN
作者:Hanx09
链接:https://blog.csdn.net/Hanx09/article/details/104891580