jieba分詞
import jieba
seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精確模式
seg_list = jieba.cut_for_search("小明碩士畢業(yè)于中國科學(xué)院計算所窘哈,后在日本京都大學(xué)深造") # 搜索引擎模式
print(", ".join(seg_list))
輸出:
Full Mode: 我/ 來到/ 北京/ 清華/ 清華大學(xué)/ 華大/ 大學(xué)
Default Mode: 我/ 來到/ 北京/ 清華大學(xué)
,小明, 碩士, 畢業(yè), 于, 中國, 科學(xué), 學(xué)院, 科學(xué)院, 中國科學(xué)院, 計算, 計算所, 后, 在, 日本, 京都, 大學(xué), 日本京都大學(xué), 深造
一般用默認(rèn)的精確模式就可以倦沧。
使用add_word(word, freq=None, tag=None)
和del_word(word)
調(diào)整詞頻。
wordcloud云圖
正常生成云圖
from wordcloud import WordCloud
wc = WordCloud(font_path='simsun.ttc',
background_color="white", max_words=800, max_font_size=800,
random_state=200, collocations=False).generate(text)
根據(jù)指定背景圖生成云圖
image = Image.open(r'2.jpg')
graph = np.array(image)
wc = WordCloud(font_path='simsun.ttc',
background_color="white", max_words=200, mask=graph,
max_font_size=1000, random_state=200, collocations=False).generate(text)
進(jìn)行顯示
import matplotlib.pyplot as plt
plt.imshow(wc)
plt.axis('off')
plt.show()
保存云圖兩種方式
plt.savefig("H:/temp/temp.jpg",dpi=200) #默認(rèn)尺寸是和終端中顯示差不多的縮略版的圖(大小432×288)奖恰,可以通過dpi調(diào)節(jié)精度改善清晰度,
wc.to_file('pic.jpg') #輸出的是每個字都精確顯示的完整云詞圖,非常清晰
所有參數(shù)及方法
font_path : string //字體路徑三痰,需要展現(xiàn)什么字體就把該字體路徑+后綴名寫上,如:font_path = '黑體.ttf'
width : int (default=400) //輸出的畫布寬度窜管,默認(rèn)為400像素
height : int (default=200) //輸出的畫布高度散劫,默認(rèn)為200像素
prefer_horizontal : float (default=0.90) //詞語水平方向排版出現(xiàn)的頻率,默認(rèn) 0.9 (所以詞語垂直方向排版出現(xiàn)頻率為 0.1 )
mask : nd-array or None (default=None) //如果參數(shù)為空幕帆,則使用二維遮罩繪制詞云获搏。如果 mask 非空,設(shè)置的寬高值將被忽略失乾,遮罩形狀被 mask 取代常熙。除全白(#FFFFFF)的部分將不會繪制纬乍,其余部分會用于繪制詞云。
scale : float (default=1) //按照比例進(jìn)行放大畫布裸卫,如設(shè)置為1.5仿贬,則長和寬都是原來畫布的1.5倍。
min_font_size : int (default=4) //顯示的最小的字體大小
font_step : int (default=1) //字體步長墓贿,如果步長大于1茧泪,會加快運(yùn)算但是可能導(dǎo)致結(jié)果出現(xiàn)較大的誤差。
max_words : number (default=200) //要顯示的詞的最大個數(shù)
stopwords : set of strings or None //設(shè)置需要屏蔽的詞聋袋,如果為空队伟,則使用內(nèi)置的STOPWORDS
background_color : color value (default=”black”) //背景顏色,如background_color='white',背景顏色為白色幽勒。
max_font_size : int or None (default=None) //顯示的最大的字體大小
mode : string (default=”RGB”) //當(dāng)參數(shù)為“RGBA”并且background_color不為空時嗜侮,背景為透明。
relative_scaling : float (default=.5) //詞頻和字體大小的關(guān)聯(lián)性
color_func : callable, default=None //生成新顏色的函數(shù)代嗤,如果為空棘钞,則使用 self.color_func
regexp : string or None (optional) //使用正則表達(dá)式分隔輸入的文本
collocations : bool, default=True //是否包括兩個詞的搭配
colormap : string or matplotlib colormap, default=”viridis” //給每個單詞隨機(jī)分配顏色,若指定color_func干毅,則忽略該方法宜猜。
fit_words(frequencies) //根據(jù)詞頻生成詞云
generate(text) //根據(jù)文本生成詞云
generate_from_frequencies(frequencies[, ...]) //根據(jù)詞頻生成詞云
generate_from_text(text) //根據(jù)文本生成詞云
process_text(text) //將長文本分詞并去除屏蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現(xiàn)硝逢,使用上面的 fit_words(frequencies) )
recolor([random_state, color_func, colormap]) //對現(xiàn)有輸出重新著色姨拥。重新上色會比重新生成整個詞云快很多。
to_array() //轉(zhuǎn)化為 numpy array
to_file(filename) //輸出到文件