當(dāng)前位置:
首頁 >
文本词频分析_Python初学
發(fā)布時間:2024/3/26
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
文本词频分析_Python初学
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目的是將文本的詞頻進(jìn)行統(tǒng)計分析,并做成詞云
import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud,ImageColorGenerator from imageio import imread# 引入相應(yīng)的庫,jieba是中文分詞庫,pyplot是作圖,wordcloud是做詞云,imageio是圖像分析# 首先打開要統(tǒng)計的文本 with open('test.txt','r',encoding='UTF-8') as novelFile:novel = novelFile.read() # 其次將一些視作分隔的標(biāo)點(diǎn)符號,一些詞語導(dǎo)入為list stopwords = [line.strip() for line in open('stop.txt','r',encoding='UTF-8').readlines()]# 利用jieba庫 進(jìn)行一個精準(zhǔn)分詞操作 novelList = list(jieba.lcut(novel)) novelDict = {}# 進(jìn)行文本詞語統(tǒng)計 for word in novelList:if word not in stopwords:# 不統(tǒng)計字?jǐn)?shù)為1 的詞if len(word) == 1:continueelse:novelDict[word] = novelDict.get(word,0) + 1# 對詞頻進(jìn)行排序 novelListSorted = list(novelDict.items()) novelListSorted.sort(key= lambda e : e[1],reverse = True)# 打印前10詞頻 topWordNum = 0 for topWordNum in novelListSorted[:10]:print(topWordNum)# 作一個對應(yīng)的條形圖 x = [c for c,v in novelListSorted] y = [v for c,v in novelListSorted] plt.plot(x[:10],y[:10],color = 'r') plt.show()# 背景圖片 bg_pic = imread('圖1.png')# 使用自定義字體msyh.ttc wordcloud = WordCloud(mask=bg_pic,background_color='white',\scale = 1.5,font_path='msyh.ttc').generate(' '.join(novelDict.keys())) plt.imshow(wordcloud) plt.axis('off') plt.show()wordcloud.to_file('父親.jpg')總結(jié)
以上是生活随笔為你收集整理的文本词频分析_Python初学的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 惠普笔记本linux系统启动不了怎么办,
- 下一篇: 用 Python 批量提取 PDF 的图