快捷搜索:  汽车  科技

python的jieba库怎么安装(Jieba库结巴)

python的jieba库怎么安装(Jieba库结巴)2.1 官网:=====1.3 写入和读取txt数据的方法复习。此刻不要jieba=结巴2 准备:

1 说明:

=====

1.1 Jieba库,就是“结巴”中文分词:做最好的 Python 中文分词组件。

1.2 Jieba库的基本介绍,数据可视化wordcloud词云图和pyecharts柱状图。

1.3 写入和读取txt数据的方法复习。

python的jieba库怎么安装(Jieba库结巴)(1)

此刻不要jieba=结巴

2 准备:

=====

2.1 官网:

https://github.com/fxsjy/jieba https://pypi.org/project/jieba/

2.2 安装:

pip install jieba #本机安装 sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple jieba

2.3 环境:

华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。

===举例===

3 关键词提取:

==========

3.1 代码:

import jieba.analyse #张爱玲经典散文欣赏:爱 #注意,复习字符串知识 #如果是一行字符串,那么单引号、双引号、三引号均可以 #如果多行显示,后面需要加\,那么只能双引号和三引号,单引号不行。 #同时,等号后面必须紧跟一个前引号 test_text = '''有个村庄的小康之家的女孩子,生得美,有许多人来做媒,但都没有说成。那年她不过十五六岁吧,\ 是春天的晚上,她立在后门口,手扶着桃树。她记得她穿的是一件月白的衫子。对门住的年轻人同她见过面,\ 可是从来没有打过招呼的,他走了过来。离得不远,站定了,轻轻的说了一声:“噢,你也在这里吗?\ ”她没有说什么,他也没有再说什么,站了一会,各自走开了。就这样就完了。\ 后来这女人被亲眷拐子卖到他乡外县去作妻,又几次三番地被转卖,经过无数的惊险的风波,\ 老了的时候她还记得从前那一回事,常常说起,在那春天的晚上,在后门口的桃树下,那年轻人。\ 于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也没有晚一步,\ 刚巧赶上了,那也没有别的话可说,惟有轻轻地问一声:“噢,你也在这里吗?''' #获取关键词,topK=3代表提取前3个 tags = jieba.analyse.extract_tags(test_text topK=3) #print(u"关键词:") print("关键词:") #python3可以不用加u了 print(" ".join(tags))

3.2 结果:

python的jieba库怎么安装(Jieba库结巴)(2)

4 词性提取:

========

4.1 代码:

import jieba.analyse test_text = '''有个村庄的小康之家的女孩子,生得美,有许多人来做媒,但都没有说成。那年她不过十五六岁吧,\ 是春天的晚上,她立在后门口,手扶着桃树。她记得她穿的是一件月白的衫子。对门住的年轻人同她见过面,\ 可是从来没有打过招呼的,他走了过来。离得不远,站定了,轻轻的说了一声:“噢,你也在这里吗?\ ”她没有说什么,他也没有再说什么,站了一会,各自走开了。就这样就完了。\ 后来这女人被亲眷拐子卖到他乡外县去作妻,又几次三番地被转卖,经过无数的惊险的风波,\ 老了的时候她还记得从前那一回事,常常说起,在那春天的晚上,在后门口的桃树下,那年轻人。\ 于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也没有晚一步,\ 刚巧赶上了,那也没有别的话可说,惟有轻轻地问一声:“噢,你也在这里吗?''' result = " ".join(jieba.analyse.textrank(test_text topK=4 withWeight=False allowPOS=('ns' 'n' 'vn' 'v'))) print("关键词:") print(result)

4.2 图:

python的jieba库怎么安装(Jieba库结巴)(3)

===高级版===

5 提取关键词并生成词云图:

===============

5.1 代码:

import jieba.analyse from wordcloud import WordCloud import matplotlib.pyplot as plt #张爱玲经典散文欣赏:爱 test_text = ''' 有个村庄的小康之家的女孩子,生得美,有许多人来做媒,但都没有说成。那年她不过十五六岁吧,\ 是春天的晚上,她立在后门口,手扶着桃树。她记得她穿的是一件月白的衫子。对门住的年轻人同她见过面,\ 可是从来没有打过招呼的,他走了过来。离得不远,站定了,轻轻的说了一声:“噢,你也在这里吗?\ ”她没有说什么,他也没有再说什么,站了一会,各自走开了。就这样就完了。\ 后来这女人被亲眷拐子卖到他乡外县去作妻,又几次三番地被转卖,经过无数的惊险的风波,\ 老了的时候她还记得从前那一回事,常常说起,在那春天的晚上,在后门口的桃树下,那年轻人。\ 于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也没有晚一步,\ 刚巧赶上了,那也没有别的话可说,惟有轻轻地问一声:“噢,你也在这里吗?" ''' #TextRank关键词提取 #keywords_textrank = jieba.analyse.textrank(test_text topK=10 withWeight=True) #print(keywords_textrank) #TF-IDF关键词提取 #基于 TF-IDF(term frequency–inverse document frequency) 算法的关键词抽取 keywords_tfidf = jieba.analyse.extract_tags(test_text topK=10 withWeight=True) #列表里面有元组 print(keywords_tfidf) #提取关键词及权重 freq = {i[0]: i[1] for i in keywords_tfidf} #转换为字典的形式存入freq #hwfs华文仿宋字体,用来显示中文的,放在根目录下,可自定义 wc = WordCloud( font_path='hwfs.ttf' width=800 height=600 mode='RGBA' background_color='white').generate_from_frequencies(freq) # 显示词云 plt.imshow(wc interpolation='bilinear') plt.axis('off') plt.show()

5.2 图:

python的jieba库怎么安装(Jieba库结巴)(4)

===感觉没什么意思===

再高级一点,实战。

6 金庸的《神雕侠侣》进行分析:

========================

6.1 金庸的《神雕侠侣》TXT版来源于网络上的免费版:

http://www.zzs5.com/txt/3779.html#downlink

6.2 解压发现乱码,因为本机是linux操作系统。

解决办法:将解压的txt改名为:sdxl.txt放在指定文件夹下

终端执行:sdxln.txt为新的txt。

iconv -f gb18030 -t utf8 sdxl.txt -o sdxln.txt

操作方法如下gif图:

python的jieba库怎么安装(Jieba库结巴)(5)

6.3 读取《神雕侠侣》txt并对人物角色提取rwjstq.txt,代码:

import jieba import jieba.posseg as psg #转码后的神雕侠侣sdxln.txt txt = open("/home/xgj/Desktop/jieba/sdxln.txt" "r" encoding="utf-8").read() words = psg.cut(txt) # 使用精确模式对文本进行分词 counts = {} # 通过键值对的形式存储词语及其出现的次数 for word in words: if len(word.word) == 1: # 单个词语不计算在内 continue else: if word.flag == "nr": # 仅统计词性为nr的词语,nr为人名的词性提取 counts[word] = counts.get(word 0) 1# 遍历所有词语,每出现一次其对应的值加 1 items = list(counts.items()) items.sort(key=lambda x: x[1] reverse=True) # 根据词语出现的次数进行从大到小排序 #写入新的txt文件中 #人物角色提取rwjstq.txt fi = open("/home/xgj/Desktop/jieba/rwjstq.txt" "w" encoding="utf-8") for i in range(len(items)): word pos = items[i][0] count = items[i][1] a = word " " str(count) fi.write(a "\n") fi.close()

6.4 pyecharts做可视化柱状图代码:

#如何读取txt,并可视化作图 #第一步:txt数据读取 #定义一个空的列表result,用来存放读取txt资料 result=[] with open('/home/xgj/Desktop/jieba/rwjstq.txt' 'r') as f: for line in f: result.append(list(line.strip('\n').split(' '))) #第二步:数据删减和分类提取 #定义三个空列表 f10list nameList valueList=[] [] [] #f10list nameList valueList=[] #注意这种是不行的 #提取result的前10组数据 for f10list in result[:10]: print(f10list) #提示元组 #读取元组的0,存入name列表中 nameList.append(f10list[0]) #读取元组的数值,存入数值列表中 valueList.append(f10list[1]) #第三步:pyecharts可视化柱状图 #注意是:最新版本的pyecharts from pyecharts.charts import Bar #from pyecharts import options as opts # V1 版本开始支持链式调用 bar = ( Bar() .add_xaxis(nameList) #x坐标轴 .add_yaxis("人名出现次数" valueList) #y坐标轴 #图表的标题名,可以不要,那么上面的模块导入也就可以不要 #.set_global_opts(title_opts=opts.TitleOpts(title="人名词频统计柱状图")) ) #指定位置保存 bar.render('/home/xgj/Desktop/jieba/sdxl_bar.html') #可以加路径,并给命名,也可默认为py文件所在的文件夹

6.5 图

python的jieba库怎么安装(Jieba库结巴)(6)

怎么样?有感觉了么?

===自己整理并分享出来===

喜欢的人,请点赞、关注、评论、转发和收藏。

猜您喜欢: