词云(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$Product:读取模型BestRunJerry的Product数据,存储到变量words里; (3) frequency <- BestRunJerry$QuantitySold:用产品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 Data Warehouse Cloud 中,用户可以轻松地获取和准备数据,然后对其进行建模和分析。本文档将详细介绍如何使用 SAP Data Warehouse Cloud 进行数据获取、准备和建模的步骤。 首先,用户可以使用 SAP Data ...
在SAP CRM系统中,业务数据分析通常涉及到以下几个方面: 1. 客户数据分析:对客户基本信息、交互记录、购买记录等数据进行分析,以了解客户的行为和偏好。 2. 销售数据分析:对销售数据进行分析,以了解销售趋势、...
SAP Cloud Platform Connectivity是SAP云平台的一项关键服务,它使得云中的应用程序能够安全地访问互联网上或企业内部网络上的远程服务。这个服务是SAP云解决方案与外部系统集成的关键工具,尤其对于那些希望扩展其...
标题“17 SAP S4HANA Cloud Integration.pdf”表明这篇白皮书专注于SAP S/4HANA Cloud集成方面,是SAP在云计算集成领域的深度介绍和详解。而描述部分说明了白皮书会详细介绍SAP S/4HANA Cloud集成的景观及其各种选项...
SAP S/4 HANA Cloud是SAP公司推出的一套集成化的企业资源规划云解决方案,它基于S/4 HANA平台,旨在为各种规模的企业提供实时的数据处理和业务分析功能。而SAP Cloud Security & Support Framework则是SAP为了保障其...
SAP业务数据传输指南+黄佳
### SAP业务数据传输指南知识点详解 #### 一、概述与背景 SAP系统在企业信息化管理中占据着举足轻重的地位。随着企业的不断发展和业务需求的变化,常常需要将大量数据从遗留系统或其他外部系统迁移至SAP系统中。...
7. **系统配置**:根据业务蓝图规划SAP SCM的配置,包括物料主数据、BOM(物料清单)、MRP(物料需求计划)设置等。 8. **用户培训**:制定培训计划,确保员工能够熟练操作SAP系统,理解和执行新的业务流程。 在...
在 SAP 开发过程中,数据字典扮演着核心角色,为开发者提供了详细的信息,帮助他们理解、设计和实施业务流程。以下是关于 SAP 数据字典的一些详细知识点: 1. **数据字典的概念**:SAP 数据字典是一个逻辑存储区,...
作为企业数字化转型的有力工具,SAP BTP整合了数据和分析、人工智能、机器学习、物联网等多种先进技术,让企业能够快速部署新的应用程序,并充分利用现有系统,实现业务流程的自动化和智能化。 SAP BTP的操作手册中...
SAP业务数据传输指南
S/4HANA On-Premise版本是一个基于SAP HANA内存数据库的ERP业务套件,允许企业在私有云或公有云上部署,提供全面的功能和高度的定制性。这种部署方式适合大型企业,它们通常有复杂的业务流程和较高的定制需求,同时...
本书专门论述了sap数据传输,不仅详述数据传输的各个环节及所有相关技术,还介绍了多种工具和技术,例如批输入、直接输入、调用事务、lsmw和dxwb工作台等,以帮助项目实施人员进行自动的批量数据传输。掌握了本书,...
给定信息提到的“带测试数据”指的是在SAP ECC6.0 IDES系统中预先填充了大量真实或模拟的业务数据。这些数据对于系统的测试和验证至关重要,可以帮助开发者更好地理解业务流程、发现潜在的问题,并进行必要的调试。...
务套件)实现真正双向集成的云解决方案提供商,SAP Ariba 云解 决方案与 SAP 解决方案之间的集成流程多达 100 余个,超过 5,000 个 SAP Ariba 选项能与 SAP 核心解决方案相集成。 SAP 解决方案与 SAP Ariba(采购云...
在SAP Business Warehouse (BW)系统中,数据源是数据集成和分析的核心组成部分。本文将深入探讨SAP BW数据源的介绍以及增强方法。 首先,SAP R3数据源是BW系统获取数据的主要来源之一。R3是SAP的ERP(企业资源规划...
SAP Cloud Platform还包括了SAP HANA服务(SAPHANA Service),这个服务允许用户在云中使用SAP HANA数据库,SAP HANA是一个高性能的数据库,特别适合于处理大量数据的实时分析。 整体而言,SAP Cloud Platform是一...
SAP Cloud Platform 提供了多种功能和服务,例如人工智能和机器学习、分析、区块链、协作、数据管理、数据隐私与安全、开发人员体验和开发运营等。人工智能和机器学习功能可以帮助企业构建智能应用程序,例如聊天...
在 SAP 系统中,数据字典(Data Dictionary,简称 DDIC)是系统用来管理和控制所有数据存储结构的核心组件。它是 SAP ABAP 开发的重要组成部分,提供了对数据库表、字段和其他数据对象的定义和描述。数据字典不仅...