詞雲分析


“詞雲”這個概念由美國西北大學新聞學副教授、新媒體專業主任里奇·戈登(Rich Gordon)提出。戈登做過編輯、記者,曾擔任邁阿密先驅報(Miami Herald)新媒體版的主任。他一直很關注網絡內容發布的最新形式——即那些只有互聯網可以采用而報紙、廣播、電視等其它媒體都望塵莫及的傳播方式。通常,這些最新的、最適合網絡的傳播方式,也是最好的傳播方式。詞雲圖,也叫文字雲,是對文本中出現頻率較高的“關鍵詞”予以視覺化的展現,詞雲圖過濾掉大量的低頻低質的文本信息,使得瀏覽者只要一眼掃過文本就可領略文本的主旨。

在互聯網時代,人們獲取信息的途徑多種多樣,大量的信息涌入到人們的視線中。如何從浩如煙海的信息中提煉出關鍵信息,濾除垃圾信息,一直是現代人關注的問題。在這個信息爆炸的時代,我們每時每刻都要更新自己的知識儲備,而網絡是最好的學習平台。對信息過濾和處理能力強,學習效率就會得到提高。“詞雲”就是為此而誕生的。“詞雲”是對網絡文本中出現頻率較高的“關鍵詞”予以視覺上的突出,形成“關鍵詞雲層”或“關鍵詞渲染”,從而過濾掉大量的無意義信息,使瀏覽者只要一眼掃過詞雲圖片就可以領略文章或者網頁內容的主旨。不僅如此,一幅制作精美的詞雲圖片,可以起到一圖勝千言的效果,在報告或者PPT中適當的使用詞雲,會使表達更清晰充分,為演講者表達的意義加分。

嗯。。。就是一堆廢話。。。

感覺就是使用視覺刺激的辦法,讓你一眼就看見我想要表達的信息,而這個信息是突出一段話中出現次數最高的詞語。因為一般而言,在一段文字中出現頻率最高的那個詞總歸和你表達意思相關。

from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import numpy
from PIL import Image

txt = open("../文本/十九大報告.txt",'r',encoding="GBK").read()
image = numpy.array(Image.open('../圖片/黨徽.jpg'))
wc = WordCloud(
    background_color="black",
    font_path="C:/Windows/Fonts/STKAITI.TTF",
    max_font_size=60,
    max_words=3000,
    mask = image,
).generate(txt)
plt.figure(figsize=(10,10))
#重定向顏色
image_color = ImageColorGenerator(image)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis('off')
plt.show()
#保存圖片
wc.to_file("../圖片/result_19.jpg")

結果為:

 

 這種方法的分詞是根據wordcloud內部自主實現的,我們也可以自主分詞完,然后將得到的分詞字典和詞雲結合起來。

from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import numpy
from PIL import Image
import jieba

txt = open("../文本/十九大報告.txt",'r',encoding="GBK").read()
image = numpy.array(Image.open('../圖片/黨徽.jpg'))
words = jieba.lcut(txt)
counts ={}
excludes = {"",'','','','','','','','','\n','','',''}
for word in words:
    if word in excludes:
        continue
    else:
        counts[word] = counts.get(word, 0) +1

wc = WordCloud(
    background_color="black",
    font_path="C:/Windows/Fonts/STKAITI.TTF",
    max_font_size=60,
    max_words=3000,
    mask = image,
).generate_from_frequencies(counts)
plt.figure(figsize=(10,10))
#重定向顏色
image_color = ImageColorGenerator(image)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis('off')
plt.show()
#保存圖片
wc.to_file("../圖片/result_19_2.jpg")

結果是:

 

 對比兩個結果,還是不一樣的。想要啥效果,自己選吶

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM