R包之wordcloud2

詞云

做過(guò)數(shù)據(jù)分析的應(yīng)該對(duì)詞云這個(gè)概念不會(huì)陌生,詞云以云圖的方式將詞(一般指tag)的頻率信息很好的呈現(xiàn)出來(lái)。下面是來(lái)自百度百科的定義。

“詞云”這個(gè)概念由美國(guó)西北大學(xué)新聞學(xué)副教授、新媒體專業(yè)主任里奇·戈登(Rich Gordon)于近日提出。戈登做過(guò)編輯、記者,曾擔(dān)任邁阿密先驅(qū)報(bào)(Miami Herald)新媒體版的主任。他一直很關(guān)注網(wǎng)絡(luò)內(nèi)容發(fā)布的最新形式——即那些只有互聯(lián)網(wǎng)可以采用而報(bào)紙、廣播、電視等其它媒體都望塵莫及的傳播方式。通常,這些最新的、最適合網(wǎng)絡(luò)的傳播方式,也是最好的傳播方式。 因此,“詞云”就是對(duì)網(wǎng)絡(luò)文本中出現(xiàn)頻率較高的“關(guān)鍵詞”予以視覺(jué)上的突出,形成“關(guān)鍵詞云層”或“關(guān)鍵詞渲染”,從而過(guò)濾掉大量的文本信息,使瀏覽網(wǎng)頁(yè)者只要一眼掃過(guò)文本就可以領(lǐng)略文本的主旨。

今天瀏覽網(wǎng)頁(yè)的時(shí)候看到一個(gè)基于R語(yǔ)言的詞云包,學(xué)些了一番,下面以阿里旅行的全局搜sug數(shù)據(jù)演示其使用過(guò)程。

數(shù)據(jù)準(zhǔn)備

阿里旅行的全局搜索框如下,當(dāng)用戶輸入query的時(shí)候,搜索框會(huì)實(shí)時(shí)提示相關(guān)的信息,這些信息被稱為sug。例如,當(dāng)輸入“北京”這個(gè)query時(shí),下面提示的列表就是北京相關(guān)的sug。

1_pic

這些數(shù)據(jù)在云梯上以日志的形式存在的,所以首先出需要將sug信息從日志中抽取日志。下面是抽取sug數(shù)據(jù)的sql代碼,為了方便演示,將出現(xiàn)頻率頻率小于10且sug長(zhǎng)度大于40的數(shù)據(jù)過(guò)濾掉了。

SELECT tb.sug as sug, tb.ct as ct
FROM (
SELECT ta.sug AS sug
, COUNT(1) AS ct
FROM (
SELECT url_decode(KEYVALUE(args, ',', '=', 'sug')) AS sug
FROM sometable
WHERE ds = '20160702'
AND is_active = '1'
AND arg1 = 'Page_GlobalSearch_Index_Button-Sug'
AND event_id = '2101'
AND app_type = 'trip'
) ta
GROUP BY ta.sug
HAVING COUNT(1) > 10
) tb
where length(tb.sug) <= 40

wordcloud2使用

wordcloud2是基于wordcloud2.js封裝的一個(gè)R包,使用HTML5的canvas繪制。瀏覽器的可視化具有動(dòng)態(tài)和交互效果,相對(duì)于曾經(jīng)的R包worldcoud,最牛逼的是wordcloud2還支持任意形狀的詞云繪制。
安裝過(guò)程非常簡(jiǎn)單,只需要本地有R環(huán)境即可,

install.packages("devtools")
devtools:install_github("lchiffon/wordcloud2")
library(wordcloud2)

將上面的sug數(shù)據(jù)導(dǎo)入到R中,第一列是sug,第二列是sug出現(xiàn)的次數(shù)。然后在R環(huán)境中運(yùn)行下面的代碼即可。效果如圖。

library(wordcloud2)
wordcloud2(df_sug) -- df_sug即為導(dǎo)入到R中的sug數(shù)據(jù)
screenshot

比較有意思的這個(gè)包支持任意形狀的詞云,這樣很容易適應(yīng)自己的品牌和業(yè)務(wù)場(chǎng)景,下面的是以大象的輪廓為圖片展示的效果圖。更多內(nèi)容情參考wordcloud2的github。

screenshot

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //我所經(jīng)歷的大數(shù)據(jù)平臺(tái)發(fā)展史(三):互聯(lián)網(wǎng)時(shí)代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語(yǔ)閱讀 51,715評(píng)論 10 199
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評(píng)論 25 708
  • 五月的天,沒(méi)有想象中的那般明媚清爽,時(shí)冷時(shí)熱地天氣成了隨機(jī)播放的形式。剛才還萬(wàn)里無(wú)云,轉(zhuǎn)眼就傾盆大雨,眼看交班時(shí)間...
    靜華2016閱讀 603評(píng)論 2 4
  • 今天中午,芳草在海燕家給我們煮飯吃,送別淘金。飯后格子來(lái)接我去正果,到老王的農(nóng)莊歡度教師節(jié)。林師父也來(lái)了,幫我們看...
    超級(jí)傻妞閱讀 190評(píng)論 0 0

友情鏈接更多精彩內(nèi)容