赞
踩
GitHub: wordcloud
直接在Anaconda Prompt输入:conda install -c conda-forge wordcloud
方式一:
直接在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.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”)添加停用词
#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) ['朴素', '贝叶', '贝叶斯', '法是', '基于', '贝叶', '贝叶斯', '定理', '与', '特征', '条件', '独立', '假设', '的', '分类', '方法']
添加自定义词、删除自定义词
>>> 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)
['朴素', '贝叶', '贝叶斯', '法', '是', '基于', '贝叶', '贝叶斯', '斯定理', '定理', '与', '特征', '条件', '条件独立假设', '独立', '假设', '的', '分类', '方法']
如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能反映了这篇文章的特性,正是所谓的关键词。
词
频
(
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
TF−IDF=词频TF×逆文档词频IDF
>>> import jieba.analyse
>>> tags = jieba.analyse.extract_tags("朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法", topK=10)
>>> print(",".join(tags))
贝叶斯,法是,朴素,定理,假设,基于,分类,特征,独立,方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。