일반적으로 SNS (social network service) 데이터는 정형, 비정형 데이터가 섞여 빠르게 생성되는 빅데이터의 특성을 갖기 때문에 실시간 수집/저장/분석에 많은 어려움이 있다. 본 논문에서는 이러한 SNS 데이터의 분석에 활용할 수 있는 Apache Storm 기반 실시간 동적 데이터 시각화 기술을 제안한다. Storm은 대표적인 빅데이터 기술 중 하나로, 실시간으로 수집되는 데이터를 분산 환경에서 처리 및 분석하는 소프트웨어 플랫폼이다. 본 논문은 Storm을 사용하여 빠르게 발생하는 트위터(Twitter) 데이터를 수집 및 집계하고, 태그 클라우드를 통해 그 결과를 동적으로 표현하고자 한다. 이를 위해, 사용자가 요구하는 키워드를 입력받고 해당 키워드를 통한 시각화 결과를 실시간으로 확인할 수 있는 웹 인터페이스를 설계 및 구현한다. 또한, 각각의 태그 클라우드 결과를 비교하여 올바로 시각화되었는지 확인한다. 본 연구를 통해, 사용자는 관심있는 주제가 SNS에서 어떻게 변화하고 있는지 직관적으로 판단할 수 있게 되며, 시각화 결과는 주제별 트렌드 분석, 고객 니즈 파악 등 다른 서비스에도 활용이 가능하다.
일반적으로 SNS (social network service) 데이터는 정형, 비정형 데이터가 섞여 빠르게 생성되는 빅데이터의 특성을 갖기 때문에 실시간 수집/저장/분석에 많은 어려움이 있다. 본 논문에서는 이러한 SNS 데이터의 분석에 활용할 수 있는 Apache Storm 기반 실시간 동적 데이터 시각화 기술을 제안한다. Storm은 대표적인 빅데이터 기술 중 하나로, 실시간으로 수집되는 데이터를 분산 환경에서 처리 및 분석하는 소프트웨어 플랫폼이다. 본 논문은 Storm을 사용하여 빠르게 발생하는 트위터(Twitter) 데이터를 수집 및 집계하고, 태그 클라우드를 통해 그 결과를 동적으로 표현하고자 한다. 이를 위해, 사용자가 요구하는 키워드를 입력받고 해당 키워드를 통한 시각화 결과를 실시간으로 확인할 수 있는 웹 인터페이스를 설계 및 구현한다. 또한, 각각의 태그 클라우드 결과를 비교하여 올바로 시각화되었는지 확인한다. 본 연구를 통해, 사용자는 관심있는 주제가 SNS에서 어떻게 변화하고 있는지 직관적으로 판단할 수 있게 되며, 시각화 결과는 주제별 트렌드 분석, 고객 니즈 파악 등 다른 서비스에도 활용이 가능하다.
In general, there are many difficulties in collecting, storing, and analyzing SNS (social network service) data, since those data have big data characteristics, which occurs very fast with the mixture form of structured and unstructured data. In this paper, we propose a new data visualization framew...
In general, there are many difficulties in collecting, storing, and analyzing SNS (social network service) data, since those data have big data characteristics, which occurs very fast with the mixture form of structured and unstructured data. In this paper, we propose a new data visualization framework that works on Apache Storm, and it can be useful for real-time and dynamic analysis of SNS data. Apache Storm is a representative big data software platform that processes and analyzes real-time streaming data in the distributed environment. Using Storm, in this paper we collect and aggregate the real-time Twitter data and dynamically visualize the aggregated results through the tag cloud. In addition to Storm-based collection and aggregation functionalities, we also design and implement a Web interface that a user gives his/her interesting keywords and confirms the visualization result of tag cloud related to the given keywords. We finally empirically show that this study makes users be able to intuitively figure out the change of the interested subject on SNS data and the visualized results be applied to many other services such as thematic trend analysis, product recommendation, and customer needs identification.
In general, there are many difficulties in collecting, storing, and analyzing SNS (social network service) data, since those data have big data characteristics, which occurs very fast with the mixture form of structured and unstructured data. In this paper, we propose a new data visualization framework that works on Apache Storm, and it can be useful for real-time and dynamic analysis of SNS data. Apache Storm is a representative big data software platform that processes and analyzes real-time streaming data in the distributed environment. Using Storm, in this paper we collect and aggregate the real-time Twitter data and dynamically visualize the aggregated results through the tag cloud. In addition to Storm-based collection and aggregation functionalities, we also design and implement a Web interface that a user gives his/her interesting keywords and confirms the visualization result of tag cloud related to the given keywords. We finally empirically show that this study makes users be able to intuitively figure out the change of the interested subject on SNS data and the visualized results be applied to many other services such as thematic trend analysis, product recommendation, and customer needs identification.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
SNS 데이터의 변화를 직관적으로 표현하기 위해, 본 연구에서는 실시간 데이터 처리 환경을 활용한 동적 시각화 기술을 제안한다. 본 논문에서는 여러 SNS 중 트위터 데이터를 대상으로 시각화를 수행하며, 해당 데이터의 수집·분석을 위해 Apache Storm[6, 7] 기반 구현 및 실험 환경을 구축하였다.
본 논문에서는 SNS 데이터의 시각화에 중점을 둔다. 빅데이터의 시각화 기술에는 데이터를 수치적으로 표현하는 단순 차트 및 그래프뿐만 아니라, 개체들의 관계를 나타내는 다이어그램이나 트리, 분포를 알 수 있는 히트맵 등이 있다.
제안 방법
특히, Storm은 기존 Hadoop [8]의 맵리듀스(MapReduce)에 비해 데이터 수집·처리 속도가 빠르기 때문에 트위터, 야후, 바이두 등에서 빅데이터 스트림 처리에 활용하고 있다[6]. Storm과 더불어, 전체 시스템의 사용 편의를 위해 시각화 주제 입력 및 분석 결과 확인을 위한 웹 인터페이스를 설계 및 구현하였다. 이를 통해 사용자는 시각화 주제에 따라 실시간으로 변화하는 동적 태그 클라우드를 확인할 수 있다.
이는 다수의 사용자 지원을 위한 것으로, 사용자 기준으로 입력 키워드를 구분하고, 각 키워드별로 집계된 결과를 해당 사용자에게 올바르게 전달하기 위함이다. 그러나, 기존 트위터 API는 키워드 재추출 기능을 제공하지 않으므로 트윗의 재탐색이 필요하며, 이를 위해 본 논문에서는 스파우트에 관련 기능을 추가하였다. Fig.
먼저, Storm을 통해 사용자가 입력한 키워드를 토대로SNS 데이터를 수집하고, 배치 단위로 집계하기 위해 Storm의 트라이덴트 토폴로지를 설계하였다. 그리고 사용자가 키워드를 입력하고 태그 클라우드 결과를 확인할 수 있도록 웹 인터페이스를 설계하였다. 마지막으로, 이를 구현하여 실시간으로 계산된 동적 태그 클라우드 결과를 확인하였다.
특히, 트위터 데이터의 실시간 수집/처리를 위해 Storm의 기능적 특성을 최대한 활용하여 분석 환경을 구축하였다. 또한, 기존 태그 클라우드의 한계점을 개선하여 실시간, 동적 태그 클라우드 시각화 방법을 새롭게 제시하였다. 본 연구 결과는 실시간으로 변화하는 사회 이슈 파악, 특정 주제에 대한 반응 및 의견 분석, 예측하지 못한 돌발적 상황에 대한 정보수집 등 여러가지 동적 분석 환경에 활용 가능하다.
그리고 사용자가 키워드를 입력하고 태그 클라우드 결과를 확인할 수 있도록 웹 인터페이스를 설계하였다. 마지막으로, 이를 구현하여 실시간으로 계산된 동적 태그 클라우드 결과를 확인하였다. 본 시스템을 활용하면, 빠르게 발생하는 SNS데이터에서 발생하는 여러 이슈 및 변화를 직관적으로 판단할 수 있게 된다.
본 논문에서는 Storm을 사용하여 SNS 데이터를 실시간으로 계산하고 이를 동적인 태그 클라우드로 시각화하였다. 먼저, Storm을 통해 사용자가 입력한 키워드를 토대로SNS 데이터를 수집하고, 배치 단위로 집계하기 위해 Storm의 트라이덴트 토폴로지를 설계하였다. 그리고 사용자가 키워드를 입력하고 태그 클라우드 결과를 확인할 수 있도록 웹 인터페이스를 설계하였다.
검색 버튼을 클릭하면 키워드 리스트가 서버에 전송되며, Storm 토폴로지가 주기적으로 처리한 배치를 두 번째 페이지에서 시각화한다. 본 논문에서는 5초 단위로 배치를 처리하도록 스파우트의 배치 시간을 설정하였다.
본 논문에서는 Storm을 사용하여 SNS 데이터를 실시간으로 계산하고 이를 동적인 태그 클라우드로 시각화하였다. 먼저, Storm을 통해 사용자가 입력한 키워드를 토대로SNS 데이터를 수집하고, 배치 단위로 집계하기 위해 Storm의 트라이덴트 토폴로지를 설계하였다.
기존 태그 클라우드 기술은 문서 내의 단어, 각 단어의 빈도수를 사용하여 시각화를 수행한다. 본 논문에서는 Storm을 통해 지속적으로 배치 데이터의 빈도를 계산하고,기존 태그 클라우드의 단어와 빈도수에 최신 결과를 반영하여 태그 클라우드 수정한다. 이 방법을 통해 태그 클라우드는 일정 시간마다 동적으로 바뀌게 된다.
트라이덴트는 튜플을 일정량 모아 배치로 처리하는 방식을 사용하며, 이를 통해 JOIN, AGGREGATION, GROUPING, FUNCTION, FILTER 등의 연산을 수행할 수 있다. 본 논문에서는 배치 단위로 단어의 수를 계산하기 위해 튜플 단위 연산이 아닌 트라이덴트를 사용한다.
본 논문에서는 여러 SNS 중 트위터 데이터를 대상으로 시각화를 수행하며, 해당 데이터의 수집·분석을 위해 Apache Storm[6, 7] 기반 구현 및 실험 환경을 구축하였다.
본 절에서는 앞서 제3장에서 설계한 동적 태그 클라우드시스템을 구현하고 결과를 확인한다. 본 논문은 1대의 님버스 서버와 8대의 슈퍼바이저 서버로 구성된 Storm 클러스터와 1대의 웹·데이터베이스 서버를 시스템 구현에 사용하였다.
본 절에서는 제안하는 동적 태그 클라우드 시스템을 제시한다. 먼저 제3.
7은 시각화를 위한 결과 페이지로, 예시를 위해 사용한 키워드는 “BigData, 빅데이터, Hadoop, 하둡, Real-time,Visualization, 시각화, Tag Cloud, 태그 클라우드”이다.앞서 언급한 바와 같이, 본 논문에서는 태그 클라우드 시각화를 위해 D3.js 라이브러리를 사용한다. Fig.
따라서, 제안하는 실시간 동적 태그 클라우드 시스템은 특정 주제에 대한 SNS의 상황을 판단하기에 효과적이다. 제안 시스템은 데이터 수집에 트위터 API를, 시각화에 D3.js를 사용하였으며, 태그 클라우드의 정확도와 시각화 우수성은 이들 라이브러리에 의존한다. 따라서, 보다 높은 수준의 정확도와 시각화 달성을 위해서는 보다 우수한 API 및 라이브러리를 사용할 수 있다.
제안 시스템은 기존 시각화 기술로는 표현이 어려운 비정형 데이터의 변화를 실시간으로 확인할 수 있다는 장점을 갖는다. 특히, 트위터 데이터의 실시간 수집/처리를 위해 Storm의 기능적 특성을 최대한 활용하여 분석 환경을 구축하였다. 또한, 기존 태그 클라우드의 한계점을 개선하여 실시간, 동적 태그 클라우드 시각화 방법을 새롭게 제시하였다.
대상 데이터
본 논문에서는 일반적인 Storm이 아닌 트라이덴트를 사용하였다. 이는 제안하는 시스템에서 수집한 해시태그들을 일정 시간마다 배치 형태로 집계하기 위함이다.
본 논문은 1대의 님버스 서버와 8대의 슈퍼바이저 서버로 구성된 Storm 클러스터와 1대의 웹·데이터베이스 서버를 시스템 구현에 사용하였다.
성능/효과
(2) Insert session id and keywords: 사용자가 하나 이상의 키워드를 입력하여 검색 버튼을 클릭하면 사용자의 세션ID와 키워드들이 서버에 전송된다. 세션 ID는 추후 시각화에서 사용자를 구분하는데 사용된다.
(a)의 태그 클라우드를 위해 사용한 키워드는 자동차 제조업체인 “Toyota, Volkswagen, Mercedes-Benz, BMW, Hyundai, Ford, Kia, Volvo, Nissan, Ferrari, Lamborghini, Chevrolet”이며, 수집된 단어 중“ParisMotorShow”가 가장 많은 빈도수를 나타냈다.
특히, 대다수의 사람들은 의사 표현을 위한 도구로 SNS를 많이 사용하기 때문에, SNS 데이터에는 특정 시점의 이슈, 특정 주제에 대한 사람들의 반응이나 의견이 쉽게 드러난다. 따라서, 이를 활용한 분석 및 시각화 결과는 이슈 변화, 상품 트렌드, 고객 니즈 등을 쉽게 파악하는데 효과적이다.
또한, 태그가 새롭게 수집될 때마다 태그 클라우드가 동적으로 변경되며, 여러 사용자가 입력한 키워드를 동시에 처리하여 서로 다른 시각화 결과를 각 사용자에게 제공한다. 따라서, 제안하는 실시간 동적 태그 클라우드 시스템은 특정 주제에 대한 SNS의 상황을 판단하기에 효과적이다. 제안 시스템은 데이터 수집에 트위터 API를, 시각화에 D3.
5는 Filter tweet 단계의 스파우트의 알고리즘이며, 실제 스파우트 내의 emitBatch() 메서드에 구현하였다. 먼저, 일정 기간의 배치를 위해 라인 2에서 시작 시간을 초기화하고, 라인 3에서 현재 시간과 시작 시간의 차가 배치 시간을 초과할 경우 반복을 종료한다. 다음으로, 라인 4에서 키워드를 기반으로 트윗을 필터링하고, 라인 5~9에서 트윗을 재탐색하여 트윗에 포함된 키워드를 다시 추출한다.
실험 결과를 통해, 제안 시스템은 트위터로부터 수집한 해시태그를 빈도에 따라 태그 클라우드로 잘 시각화함을 알 수 있다. 또한, 태그가 새롭게 수집될 때마다 태그 클라우드가 동적으로 변경되며, 여러 사용자가 입력한 키워드를 동시에 처리하여 서로 다른 시각화 결과를 각 사용자에게 제공한다.
제안 시스템은 기존 시각화 기술로는 표현이 어려운 비정형 데이터의 변화를 실시간으로 확인할 수 있다는 장점을 갖는다. 특히, 트위터 데이터의 실시간 수집/처리를 위해 Storm의 기능적 특성을 최대한 활용하여 분석 환경을 구축하였다.
첫 번째 배치 데이터에는 총 3 개의 단어가 입력되었으며, 단어 “BigData”는 다른 단어에 비해 가중치가 높아 더 큰 글자로 표현되었다.
후속연구
현재는 하나의 스파우트만 동작하기 때문에, 스파우트의 지연 시간은 곧 전체 시스템의 성능에 영향을 미친다. 따라서, 향후 데이터베이스와 트위터를 각각 연결하여 스파우트의 지연 시간을 줄이도록 Storm의 토폴로지를 재설계할 예정이다.
또한, 기존 태그 클라우드의 한계점을 개선하여 실시간, 동적 태그 클라우드 시각화 방법을 새롭게 제시하였다. 본 연구 결과는 실시간으로 변화하는 사회 이슈 파악, 특정 주제에 대한 반응 및 의견 분석, 예측하지 못한 돌발적 상황에 대한 정보수집 등 여러가지 동적 분석 환경에 활용 가능하다.
질의응답
핵심어
질문
논문에서 추출한 답변
태그 클라우드란 무엇인가?
빅데이터의 시각화 기술에는 데이터를 수치적으로 표현하는 단순 차트 및 그래프뿐만 아니라, 개체들의 관계를 나타내는 다이어그램이나 트리, 분포를 알 수 있는 히트맵 등이 있다. 이 중, 태그 클라우드[4]는 단어들을 나열하여 구름 형태로 시각화하는 기술로, 단어의 빈도수에 따라 색이나 크기를 다르게 표현하기 때문에 비중 있는 단어를 좀 더 직관적으로 파악할 수 있다. Fig.
빅데이터의 시각화 기술에는 어떤 것이 있는가?
본 논문에서는 SNS 데이터의 시각화에 중점을 둔다. 빅데이터의 시각화 기술에는 데이터를 수치적으로 표현하는 단순 차트 및 그래프뿐만 아니라, 개체들의 관계를 나타내는 다이어그램이나 트리, 분포를 알 수 있는 히트맵 등이 있다. 이 중, 태그 클라우드[4]는 단어들을 나열하여 구름 형태로 시각화하는 기술로, 단어의 빈도수에 따라 색이나 크기를 다르게 표현하기 때문에 비중 있는 단어를 좀 더 직관적으로 파악할 수 있다.
초기의 태그 클라우드 연구에서 빈도 수에 따라 단어의 크기를 다르게 나타내는 방법은 어떤 문제점이 있는가?
초기의 태그 클라우드 연구는 문서 집합에 존재하는 단어들을 발생순, 단어순, 빈도순 등의 순서로 나열하고 빈도 수에 따라 단어의 크기를 다르게 나타내었다[12, 13]. 그러나, 이러한 방법은 빈도에 상관없이 모든 단어가 같은 공간을 차지하며, 단어가 많아짐에 따라 빈 공간이 넓어져 높은 빈도를 갖는 단어의 직관성이 낮아진다. 이를 개선하기 위해 전체 공간을 단어의 빈도 수에 따라 나누어 태그 클라우드를 표현하는 연구[14]가 수행되었으나, 모든 단어의 방향이 수평형으로 같기 때문에 단어 사이의 공백이 크다는 단점이 있다.
참고문헌 (16)
Social Networking Service [Internet], https://en.wikipedia.org /wiki/Social_networking_service.
Social Mining Part 1: How Big Data is transforming customer insights [Internet], http://www.incite-group.com/data-and-insights/social-mining-part-1-how-big-data-transforming-customer-insights.
J. Manyika, M. Chui, B. Brown, J. Bughin, R. Dobbs, C. Roxburgh, and A. Byers, "Big Data: The Next Frontier for Innovation, Competition, and Productivity," Technical Report, McKinsey Global Institute, 2011.
M. A. Hearst and D. Rosner, "Tag Clouds: Data Analysis Tool or Social Signaller?," In Proc. of the 41st Int'l Conf. on System Sciences, pp.1-10, Jan., 2008.
Example of Tag Cloud [Internet], https://www.nngroup.com/articles/tag-cloud-examples/.
A. Toshniwal, S. Taneja, A. Shukla, K. Ramasamy, J. M. Patel, S. Kulkarni, J. Jackson, K. Gade, M. Fu, J. Donham, N. Bhagat, S. Mittal, and D. Ryaboy, "Storm@Twitter," In Proc. of the Int'l Conf. on Management of Data, ACM SIGMOD, pp.147-156, June, 2014.
Y. Hassan-Montero and V. Herrero-Solana, "Improving Tag-Clouds as Visual Information Retrieval Interfaces," In Proc. of the Int'l Conf. on Multidisciplinary Information Sciences and Technologies, Oct., 2006.
M. A. Hearst and D. Rosner, "Tag Clouds: Data Analysis Tool or Social Signaller?," In Proc. of the Hawaii Int'l Conf. on System Sciences, Jan., 2008.
O. kaser and D. Lemire, "Tag-Cloud Drawing: Algorithms for Cloud Visualization," In Proc. of World Wide Web Workshop on Taggings and Metadata for Social Information Organization, Mar., 2007.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.