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)|2018. 01. 11.
Sentiment Analysis and Opinion Mining참고 문헌 24인용 수 7
한 줄 요약

Polypus는 Docker 기반의 자가 배포형 빅데이터 아키텍처로, Storm과 Spark를 사용해 실시간으로 마이크로블로깅 콘텐츠를 추출하고 감성 분석을 수행한다. 하루에 3,000만 건 이상의 트윗을 처리하며 종단 간 지연 시간이 2분 이내로, 스케일링 가능한 실시간 키워드 기반 감성 집계와 웹 인터페이스 및 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.

연구 동기 및 목표

  • 트위터와 같은 짧고 고속도의 마이크로블로깅 콘텐츠에 대한 실시간 감성 분석 문제를 해결하기 위해.
  • 분산 빅데이터 기술을 활용해 거대한 트윗 볼륨을 스케일링 가능한 저지연 처리가 가능하도록 하기 위해.
  • 시간 순서 기반으로 키워드별 감성 집계를 실시간으로 제공하여 역사적 및 동적 분석을 가능하게 하기 위해.
  • 최종 사용자 상호작용을 위한 웹 인터페이스와 API 인터페이스를 갖춘 완전히 자가 배포형, 모듈식이고 컨테이너 기반의 시스템을 제공하기 위해.
  • 실시간 스트림 처리와 배치 방식의 집계를 융합하여 종합적인 감성 추세 분석을 가능하게 하기 위해.

제안 방법

  • Twitter의 스트리밍 API를 기반으로 한 분산 웹 크롤러가 코어 수에 맞는 스레드 구성으로 최적화되어 대량의 트윗을 수신한다.
  • 핫스팟 방지를 위해 스키마가 분할된 행 키를 사용하는 분산형 시간 최적화 NoSQL 스토리지로 HBase를 사용한다.
  • 데이터 중복을 줄이고 모듈 간 통신 속도를 향상시키기 위해 메모리 기반 키-값 버퍼로 Aerospike를 사용한다.
  • 토큰화, 개체명 인식(NER), 극성 태깅 등의 자연어 처리(NLP) 컴포넌트를 포함한 파이프라인을 통해 Storm이 실시간으로 트윗의 감성 분류를 수행한다.
  • Spark는 특정 키워드에 대해 시간 윈도우 기반으로 감성 메트릭(예: 극성 비율, 총 일치 수)을 근접 실시간으로 집계한다.
  • RESTful HTTP API와 웹 인터페이스를 통해 사용자가 시간 순서 기반 감성 추세를 차트를 통해 쿼리하고 시각화할 수 있다.

실험 결과

연구 질문

  • RQ1고속도의 마이크로블로깅 스트림에 대해 실시간 감성 분석을 수행할 수 있는 확장 가능하고 자가 배포 가능한 빅데이터 아키텍처를 어떻게 설계할 수 있는가?
  • RQ2다양한 코어 구성의 여러 노드로 확장할 경우, 분산 크롤러가 트위터 스트림에 대해 도달할 수 있는 성능의 한계는 무엇인가?
  • RQ3트윗의 짧고 주관적인 특성에도 불구하고, Storm을 사용해 대규모로 실시간 감성 분류를 얼마나 효과적으로 달성할 수 있는가?
  • RQ4저지연 처리 및 저장을 통해 근접 실시간 키워드 기반 감성 집계는 어느 정도의 수준까지 달성 가능한가?
  • RQ5완전히 컨테이너화된 오픈소스 스택이 프로퍼라이어터리 솔루션과 비교해 생산 수준의 성능과 사용성 확보가 가능한가?

주요 결과

  • 7노드 클러스터 환경에서 최대 초당 740.6건의 트윗을 추출하는 능력을 확보하여 수평 확장성의 강력한 증거를 제시했다.
  • 단일 언어를 대상으로 하여 하루에 3,000만 건 이상의 트윗을 처리했으며, 전체 분석을 2분 이내에 완료했다.
  • 약 15초 만에 100만 건 이상의 트윗을 처리하여 실시간 워크로드에 대한 높은 처리 능력을 입증했다.
  • 코어당 32개 스레드에서 최적의 처리량을 달성했으며, 32개 초과 시 시스템 포화로 인해 성능이 정체되었다.
  • 37시간 동안의 자동화 테스트 기간 동안 총 49,650,935건의 트윗을 성공적으로 수신하여 장기적 안정성과 확장성의 타당성을 입증했다.
  • 오픈소스 도구인 Storm, Spark, HBase, Aerospike를 활용해 대규모 환경에서 종단 간 지연 시간이 2분 이내로 유지됨을 입증했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.