해시태그 기반 트윗 주제 분류를 위한 Apache Storm 분산 프레임워크
초록
본 논문은 실시간으로 대량의 트윗을 처리하면서 해시태그를 활용한 주제 분류를 수행하는 분산 온라인 알고리즘을 제안한다. Apache Storm 위에 Naïve Bayes 모델의 강력한 예측자를 점진적으로 식별·갱신하는 구조를 구현했으며, 8개의 프로세서 환경에서 최대 97%의 정확도와 37% 향상된 처리량을 달성하였다.
상세 분석
트위터는 매일 수백만 건의 짧은 텍스트(280자 이하)를 생성하는 대표적인 소셜 미디어이며, 해시태그는 사용자가 특정 주제나 이벤트를 표시하기 위해 삽입하는 메타데이터 역할을 한다. 그러나 트윗은 비정형 언어, 약어, 이모티콘, 그리고 급변하는 트렌드가 혼재하기 때문에 전통적인 텍스트 분류 기법을 그대로 적용하기 어렵다. 특히 해시태그 자체가 의미가 변동하거나 다중 의미를 가질 수 있어, 해시태그를 단순히 키워드로 취급하면 높은 오분류율을 초래한다. 이러한 문제를 해결하기 위해 논문은 두 가지 핵심 전략을 제시한다. 첫째, Naïve Bayes 기반의 확률 모델을 선택하면서도, 전체 어휘 집합이 아닌 ‘강력한 예측자(strong predictors)’라 불리는 제한된 특징 집합만을 지속적으로 업데이트한다. 강력한 예측자는 현재까지 관측된 트윗 스트림에서 클래스(주제)와 높은 상관관계를 보이는 단어·해시태그 조합으로 정의되며, 빈도와 정보이득을 기준으로 동적으로 선정·제거된다. 이 접근은 모델 크기를 억제하면서도 최신 트렌드에 빠르게 적응할 수 있게 한다. 둘째, Apache Storm이라는 분산 스트리밍 프레임워크 위에 처리 파이프라인을 구현한다. Storm의 Spout은 트위터 API 혹은 Kafka와 같은 메시지 큐에서 실시간으로 트윗을 수집하고, Bolt은 (1) 전처리(토큰화, 정규화, 이모티콘·슬랭 사전 매핑), (2) 강력한 예측자 추출·업데이트, (3) Naïve Bayes 확률 계산 및 분류를 순차적으로 수행한다. Storm의 트위터 토폴로지는 DAG 형태로 구성되어 각 Bolt이 독립적으로 병렬 실행되며, ACK/FAIL 메커니즘을 통해 실패 복구와 정확한 처리 보장을 제공한다. 또한, Storm의 가상 스레드와 워커 프로세스 수를 조정함으로써 처리량과 지연 시간을 선형적으로 확장할 수 있다. 실험에서는 8개의 워커(각 1 CPU 코어) 환경에서 기존 단일 머신 Naïve Bayes 대비 37% 높은 처리량을 기록했으며, 정확도는 97%에 달했다. 이는 강력한 예측자 선택이 잡음 감소와 모델 경량화에 크게 기여했음을 의미한다. 그러나 논문은 아직 해시태그 간의 연관성(예: #AI와 #MachineLearning)이나 다중 라벨 상황을 다루지는 않았으며, 모델 업데이트 시 발생할 수 있는 개념 드리프트에 대한 장기적인 평가가 부족하다. 향후 연구에서는 트리플 기반 그래프 모델링, 딥러닝 기반 임베딩, 그리고 Storm 외의 Flink·Spark Structured Streaming과의 비교를 통해 시스템의 일반화 가능성을 검증할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기