storm apache_Apache Storm的实时情绪分析示例
storm apache
實時情感分析是指處理自然語言文本(或語音)流以提取主觀信息。 瑣碎的用例用于構建推薦引擎或查找社交媒體趨勢。
我選擇了Apache Storm作為實時處理引擎。 Storm非常強大(我們正在生產中使用它),并且非常容易在其之上實現自定義邏輯。
我編寫了一個非常簡單的項目( 源代碼 ),該項目可以實時進行情感分析(使用隨機句子作為輸入數據)。 范圍是獲取隨機句子作為輸入,然后執行一些情感分析。 最終確定當前句子的分數是正還是負,并保持結果。
實現邏輯如下:
原始句子,修改句子以及最終分數,正負分數
作為持久性存儲,我選擇了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
storm apache
總結
以上是生活随笔為你收集整理的storm apache_Apache Storm的实时情绪分析示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: facelets_Java EE 8中的
- 下一篇: 快递单号是几位数 快递单号具体是几位数