创建一个基于 R 的应用程序来度量两个不同实体在 Twitter 上的流行度,并对这些推文进行情绪分析。了解确定流行度的技术,掌握如何在 IBM Bluemix 上创建使用 R 的新应用程序。
““在 Bluemix 上利用 R 分析的强大功能来对比 Twitter 标签的流行度。使用 Bluemix 上的 R 自定义 buildpack,很容易实现这个目的!”
该应用程序使用 Shiny 服务器框架创建一种可视化结果的交互式、基于 Web 的方法。它使用一个自定义 buildpack 在 Bluemix 上运行 R。R 的流行度最近得到了显著提高(在 IEEE Spectrum 的编程语言排名中名列第 9)。学习如何在 Bluemix 上利用它的强大功能。
构建您的应用程序需要做的准备工作
- 一个 Bluemix 帐户
- 一个与您的 IBM ID 链接的 DevOps Services 帐户
- 一个 GitHub 帐户
- 访问 Twitter API 的能力
- 熟悉 R
- 具有 Git 和 SVN 版本控制功能的 RStudio
第 1 步. 从 IBM DevOps Services 分解该应用程序
单击 获取代码 从 IBM DevOps Services 导出源代码:
- 登录到 DevOps Services。
- 单击 Edit Code。
- 单击 Fork > Fork with a new JazzHub project > Save。
第 2 步. 将 RStudio 与 IBM DevOps Services 相连
通过以下步骤,打开安装了 Version Control with Git 的 RStudio。
- 单击 Project > Create Project...。
- 单击 Version Control > Git。
- 输入 DevOps Services 上的存储库的 URL
https://hub.jazz.net/git/crackmanworld/TwitterBluemix
。项目名称已自动选择。输入您希望将项目保存到的您计算机上的目录。
现在您的项目已在 RStudio 中创建。可以使用您的 R 技能修改该应用程序,或者创建一个新的类似的 Shiny 应用程序。
第 3 步. 使用一个自定义 buildpack 将应用程序推送到Bluemix
Bluemix 目录包含超过 15 个 开源、兼容 Cloud Foundry 的 buildpack。
对于这个应用程序,可以使用一个针对 Heroku 开发但同样适用于 Bluemix 的 buildpack。使用Bring Your Buildpack 选项。该代码已修改,以便使用 R 的最新版本 R 3.1。
- 从命令行接口登录到 Bluemix,采用以下代码作为示例。
- 指定将使用哪个自定义 buildpack:
- 对于此应用程序,
[$GIT_REPO_URL]
为: - 导航到 R Shiny 应用程序存储在的目录,使用 R 自定义 buildpack 将该应用程序推送到 Bluemix。
在安装 R 和这个特定的应用程序使用的所有 R 包期间,应该会看到许多日志消息。
第 4 步. 使用 R 执行 Twitter 分析
该应用程序对比两个实体在 Twitter 上的流行度,对两个实体的推文执行情绪分析。该流行度评估使用了两种方法,以借鉴自 Jeffery Stanton、Jeffery Breen 和 Gaston Sanchez 的算法为基础。
- 该应用程序确定一条与一个实体相关的推文在某个时间段发生的概率。它假设此概率越高,在 Twitter 上讨论此实体的频率就越高。更高的频率意味着相对较高的流行度。
- 该应用程序对比了检索的在一个特定时间范围发生的针对每个实体的所有推文的比例。接下来,它确定 Twitter 上的讨论程度是正面的还是负面的。基于之前的研究,将推文中使用的单词与一组视为正面或负面的词汇相匹配。然后基于使用的正面和负面词汇的数量,为每个推文生成一个分数。
用户指定的应用程序输入
- Entity 1 和 Entity 2:默认实体为
Bluemix
和Heroku
。 - Number of tweets to retrieve:此应用程序使用 R 包
twitteR
,该包使用了一个公共 API。为了避免 Twitter 拦截该应用程序,最大推文数量限制为 50 条。要修改该值,可以更改代码。 - Time (in seconds):设置用于计算流行度的时间间隔。该计算基于在某个特定时间段到达的针对两个实体的推文比例。
来自应用程序的结果输出
结果显示在 7 个选项卡中。
- 选项卡 1:显示检索了多少推文,描绘在一个特定时刻到达的针对两个实体的新推文的概率。
- 选项卡 2:包含 3 个曲线图,可视化了两个实体的推文之间的延迟时间分布。第一个曲线图提供了箱线图,以及两种实体的延迟时间分布的均值。第二和第三个曲线图为直方图和内核密度功能。
- 选项卡 3:显示检索的针对两个实体的推文中,延迟时间大于用户指定的时间的推文的估算比例的条形图。它还描绘了这些比例的估算中 95% 的置信度间隔。
- 选项卡 4:显示推文的情绪分析。检索的针对两个实体的推文的情绪分数分布(更高的分数表示更高的流行度)使用箱线图来呈现。还计算了均值。
- 选项卡 5:显示针对两个实体的推文中使用的词汇的单词云。
- 选项卡 6 和选项卡 7:显示检索的针对两个实体的原始推文,这些推文用在其他 5 个选项卡中生成的输出中。
-
第 5 步. 自定义应用程序
R 是一种强大且灵活的数据分析语言和平台。各种 包 使您能够执行可以想到的任何类型的分析。通过将新包添加到 R 文件 init.R 中来安装它们,该文件在您推送应用程序时运行。添加代码来安装您需要的任何包。使用以下代码为例。
-
-
如果您知道如何在 R 中编程,那么就可以轻松地开始开始使用 Shiny 框架;有许多教程可供查阅。
阅读:R 入门
阅读:Shiny 入门
阅读:获取灵感
结束语
使用 R,对来自各种不同来源的数据执行任何类型的分析,比如像推文这样的实时数据,或者存储在数据库或平面文件中的数据。使用 Shiny 框架让您的分析可从交互式 Web 应用程序执行。得益于 Bluemix,您可以轻松地部署和分发这些应用程序,使用所有可用的服务,并在几秒内提供全球访问能力。
知道如何使用 R 自定义 buildpack 对推文执行简单分析后,可以将 Bluemix 分析的强大功能应用于其他应用程序。请向我们提供评论,让我们知道您的进展!
点击这里,查看原文