(1)、jieba是優秀的中文分詞第三方庫python
(2)、jieba分詞的原理函數
Jieba
分詞依靠中文詞庫佈局
利用一箇中文詞庫,肯定漢字之間的關聯機率
漢字間機率大的組成詞組,造成分詞結果字體
除了分詞,用戶還能夠添加自定義的詞組搜索引擎
(1)、jieba
分詞的三種模式code
精確模式:把文本精確的切分開,不存在冗餘單詞
全模式:把文本中全部可能的詞語都掃描出來,有冗餘對象
搜索引擎模式:在精確模式基礎上,對長詞再次切分索引
wordcloud
是優秀的詞雲展現第三方庫,以詞語爲基本單位,經過圖形可視化的方式,更加直觀和藝術的展現文本。圖片
基本使用ip
wordcloud 庫把詞雲看成一個WordCloud對象
wordcloud.WordCloud()表明一個文本對應的詞雲 能夠根據文本中詞語出現的頻率等參數繪製詞雲 繪製詞雲的形狀、尺寸和顏色都可設定 以WordCloud對象爲基礎,配置參數、加載文本、輸出文件
方法 | 描述 |
---|---|
w.generate ('分割後的分詞') |
向WordCloud 對象中加載文本txt。w.generate('python and WordCloud') |
w.to_file(filename) |
將詞雲輸出爲圖像文件,png或jpg格式 |
import wordcloud c=wordcloud.WordCloud() #1.配置對象參數 c.generate("wordcloud by python") #2.加載詞雲文本 c.to_file("pywordcloud.png") #3.輸出詞雲文件
w= wordcloud.WordCloud(<參數>)
參數 | 描述 |
---|---|
width | 指定詞雲對象生成圖片的寬度,默認400像素w=wordcloud.WordCloud(width=600) |
height | 指定詞雲對象生成圖片的高度,默認200像素w=wordcloud.WordCloud(height=400) |
min_font_size | 指定詞雲中字體的最小字號,默認4號w=wordcloud.WordCloud(min_font_size=10) |
max_font_size | 指定詞雲中字體的最大字號,根據高度自動調節w=wordcloud.WordCloud(max_font_size=20) |
font_step | 指定詞雲中字體字號的步進間隔,默認爲1w=wordcloud.WordCloud(font_step=2) |
font_path | 指定文體文件的路徑,默認Nonew=wordcloud.WordCloud(font_path="msyh.ttc") |
max_words | 指定詞雲顯示的最大單詞數量,默認200w=wordcloud.WordCloud(max_words=20) |
stop_words | 指定詞雲的排除詞列表,即不顯示的單詞列表w=wordcloud.WordCloud(stop_words="Python") |
mask | 指定詞雲形狀,默認爲長方形,須要引用imread()函數from scipy.msc import imread mk=imread("pic.png") w=wordcloud.WordCloud(mask=mk) |
background_color | 指定詞雲圖片的背景顏色,默認爲黑色w=wordcloud.WordCloud(background_color="white") |
實例
from wordcloud import WordCloud import matplotlib.pyplot as plt # from scipy.misc import imread from imageio import imread import jieba f = open('火影忍者.txt','r',encoding='utf-8') data = f.read() res = jieba.lcut(data) result = ''.join(res) color_mask = imread('鳴人.jpg') wc = WordCloud( mask = color_mask, font_path=r'search-ms:displayname=「本地磁盤%20(C%3A)」中的搜索結果&crumb=location:C%3A%5C\Fonts\ygyxsziti2.0.ttf', background_color='yellow', height=1300, width=2600, max_font_size=50, min_font_size=1, ) wc.generate(result) wc.to_file('火影忍者.png') plt.imshow(wc) plt.show()