实时情感分析是指处理自然语言文本(或语音)流以提取主观信息。 琐碎的用例用于构建推荐引擎或查找社交媒体趋势。

我选择了Apache Storm作为实时处理引擎。 Storm非常强大(我们正在生产中使用它),并且非常容易在其之上实现自定义逻辑。

我编写了一个非常简单的项目( 源代码 ),该项目可以实时进行情感分析(使用随机句子作为输入数据)。 范围是获取随机句子作为输入,然后执行一些情感分析。 最终确定当前句子的分数是还是负,并保持结果。

实现逻辑如下:

  1. (虚拟喷口)带有随机句子的Feed管道。
  2. (加粗螺栓)阻止任何对计分无用的单词。 创建一个不包含无用词(例如文章)的新句子,并将其传递给下一个组件。
  3. (正计分)获得句子(修饰的)句子并提供正分。
  4. (负计分螺栓)获得句干并提供负分。
  5. (最终得分螺栓)比较正负分数,并确定此句子是正数还是负数。
  6. (持久性螺栓)持久化处理的数据:
    原始句子,修改句子以及最终,正面和负面分数
    作为持久性存储,我选择了Apache HBase (仅供参考),它以批处理模式存储事件。 使用Storm(Tick Tuple)的内部触发机制,每1秒触发一次批量持久性(可配置)。 除了HBase之外,我们还可以轻松使用Redis,Cassandra,MongoDB或Elasticsearch(所有这些在此用例中均有效)。

每个词干和计分螺栓都在内存数据库中使用虚拟对象,其中包含可用于对每个句子进行评分/加粗的所有相对单词。

为了在单个节点或集群中运行此示例,可以使用Storm项目Flux 。 整个拓扑管道是使用单个配置文件( topology.yaml )定义的。

示例运行:

Local execution:
storm jar target/sentiment-analysis-storm-0.0.1-SNAPSHOT.jar org.apache.storm.flux.Flux --local src/test/resources/flux/topology.yaml -s 10000Cluster execution:
storm jar target/sentiment-analysis-storm-0.0.1-SNAPSHOT.jar org.apache.storm.flux.Flux --remote src/test/resources/flux/topology.yaml --c nimbus.host=localhost

另外,有一个简单的JUnit测试( SentimentAnalysisTopologyTest ),该测试在本地执行相同的拓扑。

您可以查看自述文件以了解详细信息。 至于先决条件,您可以检查我的最新帖子 ,以安装单个本地HBase实例和带有2个Workers的本地Storm集群。

这是使用Apache Storm进行情感分析的非常简单的方法。 我希望有更多的空闲时间来撰写新文章,并提供用于情感分析的切实可行的解决方案。

翻译自: https://www.javacodegeeks.com/2015/12/real-time-sentiment-analysis-example-apache-storm.html

Apache Storm的实时情绪分析示例相关推荐

  1. storm apache_Apache Storm的实时情绪分析示例

    storm apache 实时情感分析是指处理自然语言文本(或语音)流以提取主观信息. 琐碎的用例用于构建推荐引擎或查找社交媒体趋势. 我选择了Apache Storm作为实时处理引擎. Storm非 ...

  2. Apache Storm教程 - W3Cschool

    一.Apache Storm简介 1.1 什么是Apache Storm? Apache Storm是一个分布式实时大数据处理系统.Storm设计用于在容错和水平可扩展方法中处理大量数据.它是一个流数 ...

  3. Apache Storm 实时流处理系统通信机制源码分析

    我们今天就来仔细研究一下Apache Storm 2.0.0-SNAPSHOT的通信机制.下面我将从大致思想以及源码分析,然后我们细致分析实时流处理系统中源码通信机制研究. 1. 简介 Worker间 ...

  4. Apache Storm 实时流处理系统ACK机制以及源码分析

    1.ACK机制简介 Storm的可靠性是指Storm会告知用户每一个消息单元是否在一个指定的时间(timeout)内被完全处理.完全处理的意思是该MessageId绑定的源Tuple以及由该源Tupl ...

  5. 携程基于Storm的实时大数据平台实践

    来源:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247483881&idx=1&sn=04971941bf57 ...

  6. apache ignite_使用Apache Storm和Apache Ignite进行复杂事件处理(CEP)

    apache ignite 在本文中, "使用Apache Ignite进行高性能内存计算"一书的作者将讨论使用Apache Strom和Apache Ignite进行复杂的事件处 ...

  7. 使用Apache Storm和Apache Ignite进行复杂的事件处理(CEP)

    在本文中, "使用Apache Ignite进行高性能内存计算"一书的作者将讨论使用Apache Strom和Apache Ignite进行复杂的事件处理. 本文的一部分摘自 书 ...

  8. 基于大数据的情绪分析

    导语 社交媒体.电子邮件.聊天.产品评论和推荐的文本挖掘和分析已经成为几乎所有行业垂直行业研究数据模式的宝贵资源,它能够帮助企业获得更多信息.更加了解客户.预测和增强客户体验.量身定制营销活动,并协助 ...

  9. 基于大数据的情绪分析(二)

    导言 情绪分析使用机器学习算法来确定正面或负面文本内容的方式.情绪分析的示例包括: 快速了解客户评论的基调: 了解客户喜欢或不喜欢的产品或服务. 了解可能影响新客户购买决策的因素. 为企业提供市场意识 ...

最新文章

  1. Vivado如何计算关键路径的保持时间裕量?
  2. 可视化计算java_Java可视化计算器
  3. Hike on a Graph HDU - 1252(bfs)
  4. php删除菜单栏,如何删除WordPress站点健康状态面板和菜单项
  5. 阿里技术专家加多:Java异步编程实战之基于JDK中的Future实现异步编程
  6. C#如何解决对ListView控件更新以及更新时界面闪烁问题
  7. Mac好用的文件对比工具Beyond Compare 4
  8. Python 实现 批量 复制指定PDF文件 到指定文件夹并批量打印出来
  9. 数据科学面试问答题库
  10. Windows 筛选平台 (WFP)
  11. python作图——线型图,饼形图
  12. 【时间之外】原来春节抽红包是这样实现的
  13. Photoshop制作宠物小精灵球主题图标教程
  14. SpringCloudGateway爆漏洞,快看看你的服务中招没?
  15. 移动开发之设计模式- 中介者模式(IOSAndroid)
  16. 浮点型数据判断相等不能直接使用==
  17. POJ 1265 Area
  18. Python采集全国各地百度地图上店铺POI数据(母婴、美食等)
  19. Python实现按键精灵(一)录制脚本
  20. YOLOv2—更改CelebA数据集的bbox [by zhangzexuan][17.9.24updated]

热门文章

  1. java变量作用域Scope
  2. Servlet之javaweb应用(二)
  3. 什么样的事才是有意义的
  4. ssh(Spring+Spring mvc+hibernate)——Dept.hbm.xml
  5. RPC远程过程调用之 RMI实现
  6. 字段缺失_区分Protobuf 3中缺失值和默认值
  7. excel趋势线公式导出_如何用Excel进行预测分析?
  8. linux-basic(11)认识和学习bash
  9. tomcat(6)生命周期
  10. Spring boot(九):定时任务