返回 登录
0

使用 Bluemix 上的 IBM Watson 为上市公司创建情绪信号

在当今世界,互联网上每天都会创建和发布海量的非结构化信息,关于这些信息的统计数据让我们应接不暇。例如,在任何一天,都有可能发表数百篇传统媒体文章,有关咖啡巨头 Starbucks 的推文可能达到数十万条。为了从这些难以理解的数据中提取与 Starbucks 相关的情绪信息,我们依靠 IBM Watson 来计算有意义的洞察并进行汇总,这样就能对数据趋势一目了然。为了创建此情绪信号,我们使用 Bluemix 作为平台即服务来运行我们的系统,并集成多个 API,包括 Watson Natural Language Understanding API。除了 Starbucks 之外,我们还分析了 3 个不同领域的 15 家公司。在演示如何创建和浏览给定公司的情绪信号后,我们还将展示在股票研究中使用此信息的两个示例。
情绪信号剖析
Twitter
自从在 2007 年的 SXSWi 大会 上引起轰动以来,Twitter 已成为获取互联网上表达的公众情绪的必然去处。Twitter 之所以对研究网民评价的人如此有吸引力,一个原因是它有一个非常好的 API;该 API 使开发人员能够系统地从网站下载和处理信息。另外,历史数据也是可用的,这意味着可以建立延伸到过去和分析以前表现的信号。在我们的项目中,使用了 IBM Insights for Twitter Bluemix 服务提供的 GNIP PowerTrack 语法来收集推文。对于我们的研究中关注的每家公司,我们创建了一条 PowerTrack 规则来最大化推文与每家公司的相关性。GNIP 网站上提供了 PowerTrack 规则的语法参考。PowerTrack 规则非常强大,您可以几近实时地捕获与所关注公司相关的推文,创建一个不断自动更新的信号。
Web 内容
为了挖掘 Web 媒体内容,我们使用了一个传统的新闻抓取工具,并为该工具提供了一个可信新闻内容白名单。抓取每篇文章后,我们提取了文章的相关元数据,包括:
发布日期
URL
从网络抓取的数据被 API 调用封装。我们可以查询提及公司的明确示例,并在 Bluemix 托管的用户界面上显示它们,或者查询情绪被视为正面(情绪分大于 0)、中性(情绪分等于 0)或负面(情绪分小于 0)的公司总数。
正如您所想象的,Web 内容存储非常大,数据库中有 8000 多万篇文章。
通过 Watson 扩充推文和 Web 内容
在推文涌入 PowerTrack 时我们抓取网络数据,我们使用 Watson Sentiment Analysis 扩充这些文本,并可通过 Watson Natural Language Understanding 服务获得该功能。数据分为 3 个类别:正面、中性和负面。我们通过收集特定日期 t 的正面、中性和负面提及次数来创建一个包含每日频率的信号,该信号是使用下面的方程定义的:
方程
其中:
np(t) = 特定日期 t 内的正面提及次数
nn(t) = 特定日期 t 内的负面提及次数
nm(t) = 特定日期 t 内的中性提及次数
此计算在每天的固定时刻执行,而且新的每日总数会立即显示在用户界面上。该数据被持续收集并可供选定的客户端分析。从该方程可以看到,信号已被标准化,因此得到的信号与通过分析有关所关注公司的推文量所得到的信号明显不同。
……
详细内容参看使用 Bluemix 上的 IBM Watson 为上市公司创建情绪信号

评论