Apache Storm的实时情绪分析示例

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

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

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

simple_sentiment_analysis_storm_pipeline

实现逻辑如下:

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品经理在早期如何快速学习?

产品经理在早期如何快速学习? 1、多阅读 (1)阅读专业书籍 比如说小米的黎万强写了一本《参与感》,讲述了小米成长过程中的一系列案例分析,概念总结。黎老师是小米创始元老,案例有小米的成功背书&#xff0c…

linux ftp解压命令 cannot fid or open,Linux环境搭建及常用shell命令集锦

22.crontab –l 查看crontab命令行 (13)23.重定向 (13)24.ps –eaf | grep httpd 查找httpd进程 (13)25.kill -9 PID 强制停止进程 (13)26.rpm –ivh a.rpm 安装rpm包 (13)27.chmod 111(可执行)/222(可读)/444(可写) file 权限 (13)28.修改linux颜色在vim .bash_profile里添加e…

flink sql设置并行度_《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍

前言之所以写这个是因为前段时间自己的项目出现过这样的一个问题:Caused by: akka.pattern.AskTimeoutException: Ask timed out on [Actor[akka://flink/user/taskmanager_0#15608456]] after [10000 ms]. Sender[null] sent message of type "org.apache.f…

zabbix3.2监控

自动化运维框架 运维标准流程监控管理容量管理、关联关系、任务管理、自动部署、分布式集群、传统集群、机器管理安全控制灾难管理 自动化监控 监控评估数据采集主动式数据采集: client、公共插件、自定义脚本被动式服务状态: 服务状态、程序状态、用户访问质量第三方信息 公…

linux使用创建es用户,linux用户权限设置(安装elasticsearch7.x)

前言今天下载了elasticsearch的7.x版本,使用bin/elasticsearch -d 启动后,报出如下错误:java.lang.RuntimeException: can not run elasticsearch as rootat org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105)at…

fasttext 文本分类_一文综述经典的深度文本分类方法

作者 | 何从庆转载自AI算法之心(ID:AIHeartForYou)笔者整理最近几年比较经典的深度文本分类方法,希望帮助小伙伴们了解深度学习在文本分类中的应用。Convolutional Neural Networks for Sentence Classification (EMNLP 2014)Kim在EMNLP2014提出的TextCNN方法&…

Java 8 Streams API:对流进行分组和分区

这篇文章展示了如何使用Streams API中可用的Collectors将具有groupingBy的流元素和具有partitioningBy的流元素进行groupingBy 。 考虑一系列Employee对象,每个对象都有名称,城市和销售数量,如下表所示: ----------------------…

vi/vim 编辑器详解

vi/vim : 强大的编辑器 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename :打开文件,并将光标置于最后一行首 vi /pattern …

linux 定义快捷命令,Linux系统自定义快捷命令的详细说明

Linux系统用户可以自定义喜欢的快捷键命令。下面由学习啦小编为大家整理了Linux系统自定义快捷键命令的详细说明,希望对大家有帮助!Linux系统自定义快捷命令的详细说明目前总结到的有两种方式,一种是临时快捷键,一种是永久快捷键。Linux系统自…

python求最小公倍数_python求最大公约数和最小公倍数的简单方法

python怎么求最大公约数和最小公倍数 一、求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。比如10和25,25除以10商2余5&#xff0c…

linux如何获取raw中的文件路径,如何使用Linux获取Touchscreen Rawdata的坐标

我们有一个3米的微触摸显示屏.它通过usb连接到我的debian系统,并被识别为人机界面(hid).我正在尝试访问并推送实时信息…如果它被触及我想知道哪里(x,y)并通过netcat管道到另一台主机.不幸的是,我只能使用原始数据cat /dev/input/event2 | hexdump要么evtest你得到的hexcode似乎…

实验三+067+冯艳芳

一、实验目的 掌握黑盒测试用例设计方法 二、实验要求 (1)对被测程序进行黑盒测试用例设计 (2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。 (3)对手机上任意一款音乐软件进行黑盒测试实践。…

python越来越慢_为什么Python中的串联速度越来越慢?

为什么在某些情况下,Python 3中的连接似乎比Python 2中的连接慢? 影响最大的串联方法似乎是字节对象的连续串联,从O(n)到O(n?)操作. 我的分析代码大部分在这里: #!/usr/bin/env python from operator import concat from sys import version, version_i…

jvm gc策略_IBM JVM调整– gencon GC策略

jvm gc策略本文将向您详细介绍从Java虚拟机(例如HotSpot或JRockit)迁移到IBM JVM时重要的Java堆空间调整注意事项。 此调整建议基于我为我的一个IT客户端执行的最新故障排除和调整任务。 IBM JVM概述 正如您可能从其他文章中看到的那样,IBM …

linux etc 服务启动脚本,linux 服务脚本启动问题

对于使用了 systemd 的系统,所有的 service 服务都会默认转为 systemd 服务之后再由 systemd 来执行,转换之后,你也可以直接使用 systemd 来执行了(它的用户工具就是你用的 systemctl),除非是一些非 service 标准的命令&#xff0…

芬兰高性能图表控件-免费试用并提供技术支持

图表控件对于很多技术研发人员、工程设计师来说肯定不陌生,但市面上已有的图表控件产品大多功能单一、性能也不稳定,很难满足不同人群在不同场合的使用需求。为此,专注于开发高性能和最先进的数据可视化工具公司Arction则给出了完美的解决方案…

linux open函数_Linux驱动开发 / 字符设备驱动内幕 (1)

哈喽,我是老吴,继续记录我的学习心得。一、保持专注的几个技巧将最重要的事放在早上做。待在无干扰环境下,比如图书馆。意识到刚坐下开始投入工作前,有点负面小情绪是特别正常的现象。让“开心一刻”成为计划的一部分。拥有合情合…

xftp 无法连接linux 22端口,解决Xshell不从22端口连接服务器

PL/SQL Developer主数据库连接和窗口连接切换Oracle开发者估计对PL/SQL Developer都非常熟悉了,里面有些小的功能点大概还有些初学者没发现.PL/SQL Developer支持多连接多窗口,下面详细说说. 主连接的概念 打开PL ...4 多表代替密码之Hill 密码 2实现该解密方法的KEY 不…

bzoj4484[JSOI2015]最小表示

题意 给出一张DAG,要求删除尽量多的边使得连通性不变.(即:若删边前u到v有路径,则删边后仍有路径).点数30000,边数100000. 分析 如果从u到v有(u,v)这条边,且从u到v只有这一条路径,那么这条边必须保留.否则这条边一定可以删除.因为如果有不止一条路径从u到v,必然存在点x(x!u,x!v)…

Enterprise Spring示例和集成测试

我的博客中的空白更长,因为我正在忙着写《 Pivotal认证的Spring企业集成专家考试–学习指南》 。 这本书是沉重的例子。 幸运的是,Apress同意开源所有这些示例。 因此, 在此GitHub存储库中有大量可用的Spring示例 。 总共146个带有集成测试的…