在 Analytics Cloud 里根據業務數據繪制詞云(Word Cloud)

      網友投稿 753 2025-03-31

      詞云(WordCloud)的概念,據網絡上搜索到的資料,最早由美國一位新聞學專業的副教授提出,對文本中出現頻率較高的關鍵詞予以視覺上的突出,一般采取“出現頻次越高,關鍵詞渲染尺寸越大”的規則。由這些尺寸不一的關鍵詞形成類似云狀的彩色圖形,能幫助瀏覽者一眼掃過圖形,就能領略該詞云背后文本的主旨。

      比如周杰倫《雙截棍》歌詞的詞云如下:

      其中出現頻率排前三位的詞高亮如下:

      詞云除了廣泛應用在互聯網前端外,在SAP領域也能發揮其優勢。比如Jerry在文章 SAP Analytics Cloud和SAP Cloud for Customer的集成 里提到,最近我們做的一個項目,通過微信小程序收集用戶和SAP Conversation AI的聊天記錄,然后使用詞云顯示出這些聊天記錄里的關鍵詞。

      起初Jerry在Github找了一些生成詞云的開源工具,有javaScript也有Python實現:

      https://www.npmjs.com/package/tag-cloud

      https://github.com/amueller/word_cloud

      后來了解到SAP Analytics Cloud自身就支持使用R的開發包wordclound生成詞云:

      https://www.sapanalytics.cloud/resources-r-packages/

      所以我就想嘗試著用SAP Analytics Cloud來實現。

      要使用SAP Analytics Cloud上的wordcloud的開發包,需要通過配置將其連接到一個可用的R運行環境。R語言是一種編程語言,在統計分析和各種圖表展示領域里特別具有優勢。

      在System配置里,可以選擇使用SAP Analytics Cloud集成的R運行環境或者遠程連接到一個部署在第三方的R運行環境。

      繪制詞云的數據源由下面這個csv文件提供:某地區每個超市每個月不同產品的銷售數量。我設定的詞云繪制規則比較簡單,銷售量越大(字段QuantitySold)的產品,其產品名稱出現在詞云中的尺寸越大。

      上述Excel文件可以從SAP官網下載:

      https://www.sapanalytics.cloud/wp-content/uploads/2018/02/BestRun.xlsx

      我對其作了大幅簡化,上傳到SAP Analytics Cloud之后基于該文件創建一個新的Model取名BestRunJerry, 將QuantitySold列設置成Measure.

      將Product的Description設置為ProductName,這樣稍后用R繪制出的詞云,顯示的是可讀性更好的Product Name,而不是產品ID.

      基于建好的Model創建一個新的Story,插入一個新的R Visualization,這是一個UI控件,負責顯示渲染的詞云:

      將Product設置為Rows的一個成員:

      而QuantitySold設置成Columns的一員,這樣接下來的R編輯器里,可以通過訪問Product和QuantitySold兩個變量,獲取模型里存儲的對應數據。

      現在開始添加R腳本:

      四行腳本搞定:

      點擊Execute,看到執行效果:

      最后生成的效果圖:

      4行R腳本的含義:

      (1) library(wordcloud):加載SAP Analytics Cloud的R開發包wordcloud;

      (2) words <- BestRunJerry

      P

      r

      o

      d

      u

      c

      t

      :讀取模型

      B

      e

      s

      t

      R

      u

      n

      J

      e

      r

      r

      y

      P

      r

      o

      d

      u

      c

      t

      數據,存儲到變量

      w

      o

      r

      d

      s

      里;

      (

      3

      )

      f

      在 Analytics Cloud 里根據業務數據繪制詞云(Word Cloud)

      r

      e

      q

      u

      e

      n

      c

      y

      <

      ?

      B

      e

      s

      t

      R

      u

      n

      J

      e

      r

      r

      y

      Product:讀取模型BestRunJerry的Product數據,存儲到變量words里; (3) frequency <- BestRunJerry

      Product:讀取模型BestRunJerry的Product數據,存儲到變量words里;(3)frequency

      (4) wordcloud(words, frequency, scale = c(3, 1), rot.per=0.2, colors=brewer.pal(8, “Dark2”))

      調用wordcloud開發包,生成詞云。輸入參數的含義參考該開發包的文檔:

      https://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf

      每當我們在SAP Analytics Cloud的R編輯器里點擊Execute按鈕時,可以在Chrome開發者工具里觀測到編輯器發送了一個HTTP請求給R運行環境,該請求包含了當前我們編輯的R腳本和之前插入的R Visualization控件的長和寬。

      根據這些輸入,SAP Analytics Cloud的R運行環境進行服務器端的詞云渲染,再將渲染好的詞云內容以png圖片文件的base64格式返回給瀏覽器:

      下一步Jerry會研究如何將文本格式的聊天記錄里的關鍵詞提取出來,以詞云的方式顯示在SAP Analytics Cloud里,這也是我目前做的項目需要實現的需求,敬請期待。

      javaScript Node.js 大數據

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:兩個文件的信息如何匹配(二個文件怎么匹配不一樣的地方)
      下一篇:excel內容合并:同一部門員工合并到同一單元格
      相關文章
      国产亚洲精品美女久久久久| 国产成人亚洲精品无码AV大片| 亚洲人成色77777在线观看大 | 亚洲AV无码专区电影在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 日韩精品电影一区亚洲| 色偷偷亚洲男人天堂| 一级毛片直播亚洲| mm1313亚洲精品无码又大又粗 | 噜噜噜亚洲色成人网站∨| 亚洲天堂一区二区| 久久精品国产亚洲AV无码麻豆| 亚洲AV电影院在线观看| 亚洲国产成人久久综合碰碰动漫3d| 亚洲VA中文字幕无码一二三区 | 久久久亚洲欧洲日产国码农村| 久久伊人久久亚洲综合| 色婷婷六月亚洲婷婷丁香| 久久久久亚洲Av无码专| 亚洲第一二三四区| 亚洲中文久久精品无码1| 激情综合亚洲色婷婷五月| 国产午夜亚洲精品国产| 亚洲国产精品精华液| 激情婷婷成人亚洲综合| 亚洲成年人啊啊aa在线观看| 亚洲精品无码成人片在线观看 | 中文字幕无码精品亚洲资源网| 亚洲午夜久久久久久噜噜噜| 日本亚洲成高清一区二区三区| 亚洲国产精久久久久久久| 亚洲另类视频在线观看| 在线精品亚洲一区二区| 朝桐光亚洲专区在线中文字幕 | 久久久青草青青国产亚洲免观 | 亚洲第一综合天堂另类专| 亚洲av区一区二区三| 亚洲色精品88色婷婷七月丁香| 亚洲AV日韩AV永久无码绿巨人| 亚洲精品午夜久久久伊人| 亚洲色偷偷综合亚洲AV伊人蜜桃 |