欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

生成詞云的十種方式

吉茹定2年前46瀏覽0評論

生成詞云的十種方式?

生成詞云之在線工具

搜索詞云在線生成工具,會得到很多結(jié)果,包括國內(nèi)外的網(wǎng)站平臺都有。對比了搜索較為靠前的幾款在線工具,但或多或少都存在一些使用上瑕疵,有的是網(wǎng)頁加載慢,有的是要注冊后方可使用,有的是字體支持較差,還有的是要付費(fèi)使用。

當(dāng)然,畢竟是要使用方便快捷有效的,而且最好還是免費(fèi)的就完美了。對比之后,感覺這兩個(gè)平臺還算相對好用:

WordArt

優(yōu)點(diǎn):無需注冊即可使用;對熱詞數(shù)量無限制;支持個(gè)性化配置,包括熱詞、字體、形狀等;在線詞云支持交互查看

缺點(diǎn):英文操作界面,部分用戶使用不便,加載較慢;字體支持差,中文僅有一種支持字體,且因權(quán)限問題可能無法添加本地字體

默認(rèn)字體庫僅有一種字體支持中文

微詞云

優(yōu)點(diǎn):支持自動文本分析;有大量形狀模板,也支持自定義模板;圖片色彩多樣,包括漸變色;支持大量字體;操作簡單

缺點(diǎn):需注冊后方可使用;免費(fèi)使用下載圖片有水印;對熱詞數(shù)量有限制

支持大量個(gè)性化配置

2個(gè)在線平臺生成的詞云結(jié)果:

WordArt在線生成(個(gè)別中文仍有亂碼)

微詞云在線生成(中間實(shí)際有水印)

02 生成詞云之軟件工具

網(wǎng)頁在線工具和桌面軟件在生成詞云這項(xiàng)任務(wù)上,本無實(shí)質(zhì)差別,甚至很多平臺是既支持在線生成也有桌面客戶端軟件。

為了區(qū)別于網(wǎng)頁在線生成詞云的方式,這里選用了商業(yè)智能分析工具Tableau作為桌面軟件的代表來制作詞云。雖然,可能詞云不算的上是Tableau的主業(yè)。

用Tableau生成可視化圖表一向比較簡單,制作詞云也不例外。將數(shù)據(jù)源加載進(jìn)Tableau界面后,簡單的點(diǎn)擊設(shè)置即可。

"熱詞"是所有詞源,"次數(shù)"是頻度

實(shí)際上,用Tableau制作詞云的輸入數(shù)據(jù)不是文本,而是經(jīng)處理后的兩列結(jié)果數(shù)據(jù)。從這個(gè)角度來說,Tableau生成詞云的方式甚至有些低級,嚴(yán)格講只能稱的上是對篩選和統(tǒng)計(jì)完畢后的文本進(jìn)行可視化顯示而已。

不過也容易想到其非常方便的應(yīng)用場景,例如提供了若干個(gè)商品名稱及其銷售額的數(shù)據(jù),則可通過詞云中商品名的大小直觀顯現(xiàn)各自收益占比。

Tableau制作詞云的優(yōu)缺點(diǎn):

優(yōu)點(diǎn):操作極其簡單;詞云界面可交互,便于二次篩選

缺點(diǎn):輸入源要求完成詞頻統(tǒng)計(jì);個(gè)性化設(shè)置程度較低;熱詞大小對比度較差

提供統(tǒng)計(jì)完畢后的熱詞數(shù)據(jù),利用Tableau生成詞云結(jié)果:

Tableau生成的詞云算不上出眾

03 生成詞云之編程工具

很多編程工具均可生成詞云,Python自然也不例外。

wordcloud

wordcloud是Python專門用于制作詞云的第三方庫,使用前需安裝,而且這個(gè)安裝過程往往會隱藏一些坎坷。利用wordcloud生成詞云非常簡單,可以通過大量的參數(shù)設(shè)置來個(gè)性化定制詞云效果。

雖然wordcloud自帶切分詞處理能力,但鑒于其切分效果一般,所以往往還是會配套使用jieba庫來進(jìn)行切分,而后再用空格連接(wordcloud在處理切分時(shí)優(yōu)先使用空格作為分隔符)。

示例源碼:

import jieba

import wordcloud

import matplotlib.pyplot as plt

word_list = jieba.lcut(words) # 結(jié)巴詞庫切分詞

word_list = [word for word in word_list if len(word.strip())>1]#清洗一個(gè)字的詞

word_clean=" ".join(word_list)

import imageio

mask=imageio.imread(r'kobe.jpg')

wc = wordcloud.WordCloud(font_path = "simkai.ttf",#指定字體類型

background_color = "white",#指定背景顏色

max_words = 200, # 詞云顯示的最大詞數(shù)

max_font_size = 255,#指定最大字號

mask = mask) #指定模板

wc = wc.generate(word_clean)##生成詞云

plt.imshow(wc)

plt.axis("off")

plt.show()

"""Wordcloud詳細(xì)參數(shù)設(shè)置

def __init__(self, font_path=None, width=400, height=200, margin=2,

ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,

color_func=None, max_words=200, min_font_size=4,

stopwords=None, random_state=None, background_color='black',

max_font_size=None, font_step=1, mode="RGB",

relative_scaling='auto', regexp=None, collocations=True,

colormap=None, normalize_plurals=True, contour_width=0,

contour_color='black', repeat=False,

include_numbers=False, min_word_length=0):

"""

查閱wordcloud的官方文檔可以發(fā)現(xiàn),其自帶參數(shù)設(shè)置非常管飯,比如以下幾個(gè)有用功能:

font_path:設(shè)置字體

mask:設(shè)置詞云模板

stopwords:停用詞列表

給出wordcloud3種不同方式生成詞云結(jié)果:

利用文本直接生成詞云

利用jieba分詞后生成詞云

設(shè)置詞云模板mask后效果

PyEcharts

除了wordcloud專門用于生成詞云的第三方庫外,python的另一個(gè)可視化庫Pyecharts也支持生成詞云,即pyecharts庫下的wordcloud子類。

不過,與Tableau生成詞云的方式類似,pyecharts也要求輸入的數(shù)據(jù)是經(jīng)過篩選和統(tǒng)計(jì)好的數(shù)據(jù),例如經(jīng)過jieba分詞+counter統(tǒng)計(jì)后得到的結(jié)果,即可非常方便的應(yīng)用pyecharts制作詞云。而且,pyecharts的所有圖表均可交互,詞云圖也不例外,這也算是它的一項(xiàng)優(yōu)勢。

示例源碼:

import jieba

from collections import Counter

from pyecharts.charts import WordCloud

word_list = jieba.lcut(words) # 切分詞

word_list = [word.strip() for word in word_list if len(word.strip())>1]

wordCount = Counter(word_list)

wc = WordCloud()

wc.add("", wordCount.items(), word_size_range=[20, 100])

wc.render(r'kobe.html')

"""

def add(

self,

series_name: str,

data_pair: types.Sequence,

*,

shape: str = "circle",

word_gap: types.Numeric = 20,

word_size_range: types.Optional[types.Sequence] = None,

rotate_step: types.Numeric = 45,

tooltip_opts: types.Tooltip = None,

itemstyle_opts: types.ItemStyle = None,

):"""

查閱其add方法,可以了解生成詞云的一些設(shè)置參數(shù),不過相比wordcloud庫來說,pyecharts的wordcloud設(shè)置參數(shù)實(shí)在是太有限了。

提供統(tǒng)計(jì)后的數(shù)組,利用pyecharts生成的詞云結(jié)果:

pyecharts生成的詞云圖片看上去有些過于"規(guī)矩",字體旋轉(zhuǎn)角度單一(通過rotate_step參數(shù)設(shè)置),字號大小對比也不夠明顯。

04 結(jié)論

詞云作為數(shù)據(jù)可視化的一種常用手段,視覺沖擊力較強(qiáng),制作方法也比較靈活多樣

普通的詞云制作需求依托在線工具即可有效滿足,國內(nèi)外均有相關(guān)工具

Tableau作為商業(yè)智能分析軟件,在制作詞云上表現(xiàn)較為,但極為快捷方便

Python編程實(shí)現(xiàn)詞云可進(jìn)行大量的個(gè)性化定制,包括分詞、過濾、圖片模板和文字設(shè)置,都有大量參數(shù)可供調(diào)節(jié)

除wordcloud用于專門生成詞云外,pyecharts的wordcloud子庫也有著不錯(cuò)的效果,且支持交互