日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在SAP分析云里根据业务数据绘制词云(Word Cloud)

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在SAP分析云里根据业务数据绘制词云(Word Cloud) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

詞云(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 <- BestRunJerryProduct:讀取模型BestRunJerry的Product數據,存儲到變量words里;(3)frequency<?BestRunJerryProduct:讀取模型BestRunJerry的Product數據,存儲到變量words里; (3) frequency <- BestRunJerryProductBestRunJerryProductwords(3)frequency<?BestRunJerryQuantitySold:用產品QuantitySold字段的值模擬關鍵詞出現的頻率,存儲到變量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里,這也是我目前做的項目需要實現的需求,敬請期待。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的在SAP分析云里根据业务数据绘制词云(Word Cloud)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。