Skip to main content
QUICK REVIEW

[論文レビュー] Polypus: a Big Data Self-Deployable Architecture for Microblogging Text Extraction and Real-Time Sentiment Analysis

Rodrigo Martínez-Castaño, Juan C. Pichel|arXiv (Cornell University)|Jan 11, 2018
Sentiment Analysis and Opinion Mining参考文献 24被引用数 7
ひとこと要約

Polypus は、Docker を使用した自己展開型のビッグデータアーキテクチャであり、Storm と Spark を用いてマイクロブログ投稿のリアルタイム抽出およびセンチメント分析を可能にする。1日あたり3,000万件以上のツイートを処理し、エンド・ツー・エンドの遅延が2分未塔を満たす。キーワードベースのセンチメント集約とビジュアル分析を、Web インターフェースおよび HTTP API を通じてスケーラブルに実現するリアルタイム対応である。

ABSTRACT

In this paper we propose a new parallel architecture based on Big Data technologies for real-time sentiment analysis on microblogging posts. Polypus is a modular framework that provides the following functionalities: (1) massive text extraction from Twitter, (2) distributed non-relational storage optimized for time range queries, (3) memory-based intermodule buffering, (4) real-time sentiment classification, (5) near real-time keyword sentiment aggregation in time series, (6) a HTTP API to interact with the Polypus cluster and (7) a web interface to analyze results visually. The whole architecture is self-deployable and based on Docker containers.

研究の動機と目的

  • Twitter のような短い、高速で流入するマイクロブログ投稿におけるリアルタイムセンチメント分析の課題に対処すること。
  • 分散型ビッグデータ技術を用いて、膨大な量のツイートをスケーラブルかつ低遅延で処理すること。
  • 時間的系列に沿ったキーワードベースのセンチメント集約を、ほぼリアルタイムで実現し、履歴的および動的分析を可能にすること。
  • Web および API インターフェースを備えた完全に自己展開型でモジュール化され、コンテナ化されたシステムを提供すること。
  • リアルタイムストリーム処理とバッチ処理の両方を組み合わせ、包括的なセンチメントトレンド分析を実現すること。

提案手法

  • スレッド1コアあたりのスレッド数を最適化したスレッド・パー・コア構成を用いて、Twitter の Streaming API を活用した分散型ウェブクローラーが、大規模なツイート取得を実現する。
  • HBase を、時間に最適化された分散型 NoSQL ストアとして使用。シャーディングされた行キーによりホットスポットを回避し、時間範囲スキャンを効率的に行えるようにする。
  • Aerospike を、メモリ上に保持されるキーバリューバッファとして使用。データの重複を低減し、モジュール間通信を高速化する。
  • Storm を用いて、トークン化、NER、極性タグ付けなどの自然言語処理(NLP)コンポーネントのパイプラインを介し、ツイートをリアルタイムでセンチメント分類する。
  • Spark は、任意のキーワードに対して、時間ウィンドウにわたるセンチメントメトリクス(例:極性比、合計一致数)のニアリアルタイム集約を実行する。
  • RESTful HTTP API および Web インターフェースにより、ユーザーが時間的系列に沿ってセンチメントトレンドを照会・可視化できる。チャートを用いた可視化が可能である。

実験結果

リサーチクエスチョン

  • RQ1高スループットのマイクロブログストリームに対して、リアルタイムセンチメント分析を実現するスケーラブルかつ自己展開型のビッグデータアーキテクチャをどのように設計できるか?
  • RQ2複数ノードにスケーリングされた環境で、コア数の異なるノードを組み合わせた場合、分散型クローラーの性能上限はどの程度か?
  • RQ3ツイートの短さと主観性を考慮すると、Storm を用いた大規模なリアルタイムセンチメント分類はどの程度効果的に実現できるか?
  • RQ4低遅延処理およびストレージを備えた状態で、ニアリアルタイムのキーワードベースセンチメント集約はどの程度達成可能か?
  • RQ5完全にコンテナ化されたオープンソーススタックは、プロプライエタリソリューションと同等の生産環境でのパフォーマンスと使いやすさを提供できるか?

主な発見

  • 7ノードのクラスタ構成において、最大740.6ツイート/秒の取得能力を達成し、強力な水平スケーラビリティを示した。
  • 1つのターゲット言語を想定した場合、Polypus は1日あたり3,000万件以上のツイートを処理し、全分析を2分未塔で完了した。
  • 100万件を超えるツイートが約15秒で処理されたことから、リアルタイムワークロードにおける高いスループットを示している。
  • クローラーは1コアあたり32スレッドで最適なスループットを達成し、32スレッドを超えるとシステムの飽和により性能が頭打ちになった。
  • 37時間にわたる自動稼働テストにおいて、49,650,935件のツイートが正常にインジェストされた。これにより、長期的な安定性とスケーラビリティが検証された。
  • オープンソースツール(Storm, Spark, HBase, Aerospike)を組み合わせたシステムが、大規模環境でもエンド・ツー・エンドの処理遅延を2分未塔に抑えることができることを実証した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。