Ⅰ. 서 론
온라인 소셜 네트워크 (OSN: Online Social Network)는 인터넷 상의 상호 의사 소통 및 정보 교류에 있어 유용한 사회기반 시스템이다. 이러한 OSN은 컴퓨터, 모바일 장치, 그리고 테블릿과 같은 인터넷이 가능한 장치 사용의 급증으로 인해 더욱 대중화되었다. OSN 사용자들은 그들의 프로필과 콘텐츠를 게시하고 사람들과 링크를 공유하는 등의 활동을 하며, 이러한 활동을 통하여 사용자들은 사회적 관계를 유지하게 된다[1]. OSN은 사용자들의 활동을 기반으로 수집된 빅 데이터를 가지고 있는데, 이는 여러 가지 분석에 유용하게 사용된다. OSN 중에서 “트위터 (Twitter)”는 가장 보편적으로 사용되는 마이크로 블로그 중 하나인데, 사용자들 이 트윗 (tweet)이라는 140자 이내의 단문 메시지를 전송함으로써 개인의 견해나 정보를 공유하고 다른 사용자들을 팔로우 (follow)함으로써 그들의 트윗을 받을 수 있다[2]. 트위터에서는 다른 OSN와 달리 사용자 개인의 요구에 의해 타 사용자와의 일방적인 관계 형성이 가능하기 때문에 유동적인 정보의 흐름이 가능하다.
인간, 컴퓨터 바이러스, 교통 그리고 인구 예측 등으로의 다양한 응용에 대한 근본적인 중요성 때문에 인간개개인의 이동성에 대한 많은 연구가 진행되어 왔다. 인간 이동성에 대한 이전 연구들에서는 모바일 폰[3-5], GPS (Global Positioning System) 수신기[6], Wifi 단말기[7], RFID 장치[8]와 같은 추적 기술을 사용하는 것에초점을 맞추었다. 이전 연구들에서는 분석에 필요한 데이터가 부족하거나 사용자의 정확한 위치 정보를 얻지 못하는 등의 결점이 있었다.
반면, 공간 태그된 트위터 [9,10]는 사용자의 동의 하에 스마트폰의 GPS interface를 통해 10미터 이내의 정확한 공간 정보 (위도 및 경도)를 제공해주며, 거대한 샘플과 함께 포괄적인 메타데이터를 제공한다. 공간 태그된 트윗은 전체 트윗 양의 대략 1% 정도를 차지하지만, 스마트 기기 및 모바일 앱의 폭발적인 보급으로 인해 이는 분석에 유효한 데이터의 양을 충분히 제공할 수 있다. 따라서, 공간 태그된 트윗 (geo-tagged tweet)은 인간 이동성 분석에 대한 풍부한 특성을 제공하는 것을 가능하게 한다.
예를 들어, [9]에서는 전반적인 인간 이동성 유형이 폭넓게 발견되었고, 여러 나라에서의 이동성 특성에 대한 비교 분석이 수행되었다. 게다가 [10]에서는 호주에서의 공간 태그된 트위터 데이터를 통해 인간 이동성이 작은 지역 내에서부터 대도시 및 도시 간 이동까지 다중 모드를 나타냄을 보였다.
Ⅱ. 주요 제안사항
본 논문에서는 [9,10]에서와 마찬가지로 트위터 사용자들의 정확한 위치를 확인하기 위해 공간 태그된 트윗를 활용하고, 이를 통해 인간 이동성에 기반한 새로운통계 분석인 트윗 주기 (tweet frequency)와 사용자 이동속도 사이의 상관관계를 규명한다. 즉, 사용자의 평균적인 움직임에 따른 트위터 이용 빈도수에 대해 연구한다. 분석을 위해 미국과 일본 내 일부 대도시에서 트위터 사용자들로부터 생성된 거대한 양의 공간 태그된 트윗으로 구성된 데이터셋을 사용한다. 트윗 주기와 이동속도 사이의 관계를 규명함으로써 사용자 이동 속도에 따른 일반적인 OSN의 사용 빈도를 유추할 수 있다. 또한, 이를 통해 향후 지역별 (나라별/도시별), 시간별 (오전/오후/출퇴근 및 통학시간 등), 교통상황별로 해당OSN을 통해 사용자들에게 효율적으로 광고를 브로드 캐스팅 (broadcasting)하는 등의 상업적 활용이 가능할 것이다.
먼저, 분석을 위해 특정 사용자가 생성한 연속된 공간 태그된 트윗의 위도와 경도 좌표 정보를 이용하여 두 지점 사이의 거리를 구한다. 거리를 계산할 때에는 지구는 완전한 구임을 가정하며 구면코사인법칙(spherical law of cosines)을 적용한다. 또한, 연속된 트윗이 생성된 시간차이를 계산한다. 본 연구에서는 트윗간 시간 구간이 1시간 이내인 이벤트만을 채택하며 이는 분석하는데 부정확한 데이터를 제거하기 위한 것이다. 보다 구체적으로, 트윗 간 시간차이가 클 경우 계산한 평균 속도와 실제 사용자가 이동한 순간 속도 사이에 차이가 날 수 있기 때문에 이러한 이벤트는 제거하기 위함이고, 1시간 대신 다른 수치를 가정할 수 있겠으나 본 연구에서는 편의상 1시간 미만의 트윗 간 시간차이를 갖는 이벤트만을 고려한다. 계산된 거리와 시간을 이용하여 사용자의 평균 이동 속도를 구한다. 이를 위해 속도 계산 알고리즘을 제안한다. 다음 단계로써, 각 속도 구간에 따른 트윗 사용 빈도수 (즉, 트윗 주기)를 도출하는 계산 알고리즘을 제안한다. 사용 빈도수를 구하기 위해, 주요 도시에서의 표정 속도 (scheduled speed)를 고려하여 최대 50km/h 이하의 평균 속도를 가지는 데이터 내 이벤트만을 선별한다.1)
주요 결과로써, 국가별 및 도시별로 나누어 사용자의 평균 이동속도와 트윗 주기와의 관계를 보인다. 국가별 (국가 내 고려한 여러 도시 안에서의 분석 결과들의 평균치) 결과로는 실험적 데이터, 적합 함수 (fitting function)를 나타내었으며, 이 때 적합 함수를 구하기 위해 전통적인 최소 제곱 (least squares) 추정 방식을 사용한다. 도시별 결과로는 여러 도시에서의 실험적 데이터만을 보여준다. 그 결과, 사용자 속도에 따른 트윗 주기가 멱 법칙 분포(power-law) (또는 Zipf의 법칙 분포,Pareto 분포)를 따름을 보인다. 이는 사용자들은 정지 상태일 때 트윗 사용 빈도가 아주 높은 반면, 속도가 증가할수록 사용 빈도가 다항적인 감소 (polynomial decrease)를 보이는 것을 뜻한다. 또한, 국가별 분석을 통해 일본인 사용자들이 미국인 사용자들에 비해 동적 상태에서 트위터를 더 활동적으로 이용한다는 것을 검증한다.
본 논문의 구성은 다음과 같다. Ⅲ장에서는 데이터셋에 대해 소개한다. Ⅳ장에서는 속도 계산 과정 및 트윗 주기 계산 알고리즘을 포함한 연구 방법론을 제안한다. Ⅴ장에서는 분석 결과를 보인다. Ⅵ장에서는 본 논문을 요약 및 마무리한다.
Ⅲ. 데이터셋
트위터 분석을 위한 데이터 수집 프로세스로 어플리케이션의 접근 횟수에 대해 제한이 없고 실시간 이벤트 검출에 용이한 장점이 있는 트위터 Streaming API (Application Programming Interface)를 이용하여 트위터 네트워크 크롤링을 진행하였다. 그림 1에서는 데이터 수집의 전체적인 과정을 보여준다. 크롤러는 트위터 API로부터 R의 StreamR 패키지를 이용하여 일정시간 단위로 JSON (JavaScript Object Notation) 파일을 저장한다.
그림 1.데이터 수집 과정 Fig. 1 Data collection process
이후 수집된 JSON 파일에서 필요한 필드를 parsing 하여 하나의 분석용 표로 완성하고, 분석에 필요한 데이터마트를 구성한다. 이를 위하여 Google BigQurey를 사용하여 프로세스 시간을 획기적으로 줄일 수 있다. 분석 시에는 알고리즘 구현을 위해 Matlab 소프트웨어를 사용한다.
본 연구에서는 2014년 9월 5일부터 11일까지 (대략 일주일) 트위터 사용자로부터 기록된 거대한 양의 공간 태그된 트윗으로 구성된 데이터셋을 사용하였다. 일주일 가량의 단기간 데이터셋은 사용자 속도별 트윗 주기를 분석하기에 충분하다. 데이터 수집은 미국과 일본 안의 대표도시를 위주로 진행하였는데, 대표도시로는 미국의 Los Angeles (LA), New York, Chicago, San Francisco, 그리고 일본의 Tokyo와 Osaka이다. 도시별 수집된 전체 트윗 수 및 사용자 수는 표 1에서 정리된다. 데이터셋에서 각 트윗 기록은 트윗이 보내진 장소 및 시간을 가진다. 이 정보에 기반하여 각 사용자의 위치 정보를 L = (xij, yij, tij)와 같이 나타낼 수 있다. 여기에서, xij와 yij는 각각 사용자 i의 j번째 트윗이 발생되었을 때의 x-좌표 및 y-좌표이고, 이 위치 정보는 위도와 경도를 나타낸다. 또한, tij 는 사용자 i의 j번째 트윗이 발생된 시간을 나타낸다. 데이터셋은 사용자 트윗에 대한 많은 정보를 포함하고 있으며, 트윗의 메타데이터에서 본 연구에 필요한 필드 값을 아래와 같이 추출한다.
표 1.도시별 전체 트윗 수 및 사용자 수 Table. 1 The total numbers of tweets and users according to cities
Ⅳ. 연구 방법론
본 장에서는 속도 계산 과정과 이를 사용해 개발되는 트윗 주기 계산 알고리즘을 설명한다.
4.1. 속도 계산 과정
사용자 i가 j번째 트윗을 보냈을 때의 위치 정보가 (xij, yij, tij)이고 (j+1)번째 트윗을 보냈을 때의 위치 정보가 (xi(j+1), yi(j+1), ti(j+1))라 할 때, 두 지점사이의 지리적 거리 dij 는 구면코사인법칙을 사용하여 다음과 같이 구할 수 있다.
여기에서, 거리를 산출할 때는 지구가 완전한 구임을 가정하였으며, R[km]은 6,371로 주어지는 지구의 반지름을 나타낸다. 다음은 연속된 두 트윗 이벤트를 사용하여 속도 vij를 구하는 방법이다.
여기에서, tij 와 ti(j+1)은 각각 사용자 i의 j번째 트윗 발생 시간 및 (j+1)번째 트윗 발생 시간을 나타낸다. vij 는 j번째 트윗과 (j+1)번째 트윗이 발생한 시간 사이의 평균 이동 속도이다.
본 연구에서는, 속도 계산 시 부정확한 데이터를 제거하기 위하여 몇 가지 기준을 설정하여 필터링을 수행한다. 먼저, 트윗 간 시간 구간이 1시간 이내인 이벤트만을 채택한다. 보다 구체적으로, 트윗 간 시간차이가 클 경우 계산한 평균 속도와 실제 사용자가 이동한 순간 속도 사이에 차이가 날 수 있기 때문에 이러한 이벤트는 제거하기 위함이다. 둘째, 주요 도시에서의 표정속도를 고려하여 최대 50km/h 이하의 평균 속도를 가지는 데이터내 이벤트만을 선별하여 분석을 실시한다. 속도 계산 알고리즘은 표 2에서 보여진다. 이 때, I는 공간 태그된 트윗을 전송한 총 사용자 수를 나타내며, maxi는 i번째 사용자가 생성한 전체 트윗 수를 나타낸다.
표 2.속도 계산 알고리즘 Table. 2 Velocity computing algorithm
4.2. 트윗 주기 계산 알고리즘
본 절에서는 앞서 계산한 평균 속도에 기반하여 트윗 주기를 계산하는 알고리즘을 설명한다. 먼저, 속도를 0km/h부터 최대 속도 vmax까지 구간을 1km/h의 간격으로 나눈다. 변수 fn (n∈{0,⋯,vmax}) 을 vij∈[n,n+1) 에 속하는 속도 구간에서 트윗이 발생한 총 횟수로 정의하자. 또한, 모든 n∈{0,⋯,vmax}에 대해 집합 F = {f1,⋯,fvmax}를 정의한다. 본 연구에서는 vmax = 49를 사용하고, F = {f1,⋯,f49}가 된다. 트윗 주기 계산 알고리즘은 표 3에서 자세히 보여 진다.
표 3.트윗 주기 계산 알고리즘 Table. 3 Tweet frequency computing algorithm
Ⅴ. 분석결과
본 장에서는 국가별, 도시별로 사용자 속도에 따른 트윗 주기 분포도를 보이고, 결과적으로 멱 법칙 분포를 따름을 검증한다.
5.1. 국가별 분석
본 절에서는 표 1에서 보인 미국 내 4개 주요 도시 및 일본 내 2개 주요 도시의 데이터를 모두 사용하여 국가별 분석을 수행한다. 구체적으로, 국가별로 사용자 이동 속도 v[km/h]에 따른 트윗 주기의 확률 분포Pv(V = v)를 찾는다. 그림 2와 3에서는 각각 미국 및 일본에서의 실험 데이터로부터 얻어지는 분포도Pv(V = v)의 log-log plot을 보여준다. 또한, 각각의 실험 결과에 대하여 전통적인 최소 제곱 추정 방식을 사용하여 적합 함수를 찾는다. 주요 결과로써, 확률 분포는 단일 멱 법칙 함수 Pv(V = v) ∼ v-α(α > 0)로 모델링될 수 있음을 확인할 수 있다. 이를 통해 정지상태에서는 트윗 사용빈도가 아주 높은 반면, 이동속도가 증가할수록 사용 빈도가 다항적인 감소를 보이는 것을 확인할 수 있다.
그림 2.미국에서의 속도에 따른 트윗 주기 확률 분포 Pv(V=v) Fig. 2 Probability distribution Pv(V=v) of the tweet frequency according to the velocity in the United States
그림 3.일본에서의 속도에 따른 트윗 주기 확률 분포 Pv(V=v) Fig. 3 Probability distribution Pv(V=v) of the tweet frequency according to the velocity in Japan
분포도 Pv(V = v)의 지수 값 α는 미국 및 일본 지역에서 각각 1.628과 1.214로 주어진다. 따라서, 일본에서의 트위터 사용자들이 미국 내 트위터 사용자들에 비해 동적 환경에서 트위터를 더 활동적으로 이용한다는 점을 추정할 수 있다. 뿐만 아니라, 그림 2와 3에서 확인할 수 있듯이 속도 v가 큰 경우 분포도의 tail에서 통계적 잡음이 존재함을 알 수 있다.
5.2. 나라 안 도시별 분석
그림 4와 5에서는 실험 데이터로부터 각각 미국 및 일본 내 도시별 사용자 속도에 따른 트윗 주기의 확률 분포 Pv(V=v)의 log-log plot을 보여준다. 그림 4로부터 미국 내 주요 도시별 확률 분포가 거의 유사하게 나타나지만, 속도 v가 커짐에 따라 San Francisco에서 의 결과 곡선이 다른 도시에서보다 다소 완만하게 감소함을 알 수 있다. 또한 그림 5로부터 일본 내 주요 도시별 확률 분포가 거의 유사하게 나타나지만, 속도 v가 증가함에 따라 Tokyo에서의 결과 곡선이 Osaka에서보다 완만하게 감소함을 알 수 있다. 이는 Tokyo에서의 트위터 사용자들이 Osaka 내 트위터 사용자들에 비해 동적 환경에서 트위터를 더 활동적으로 이용한다는 점을 유추할 수 있다.
그림 4.미국 내 도시별 속도에 따른 트윗 주기 확률 분포 Pv(V=v) Fig. 4 Probability distribution Pv(V=v) of the tweet frequency according to the velocity for each city in the United States
그림 5.일본 내 도시별 속도에 따른 트윗 주기 확률 분포 Pv(V=v) Fig. 5 Probability distribution Pv(V=v) of the tweet frequency according to the velocity for each city in Japan
Ⅵ. 결 론
본 논문에서는 기존 연구[9,10]에서와 마찬가지로 공간 태그된 트윗을 활용하여 인간 이동성을 분석하였는 데, 이를 활용해 기존 연구에서는 수행되지 않았던 사용자 이동 속도 계산 및 속도별 트윗 주기 계산을 수행하는 알고리즘을 제안하고 둘 사이의 상관 관계를 새롭게 규명하였다. 구체적으로, 사용자가 생성한 연속된 공간 태그된 트윗의 경위도 좌표 정보를 이용하여 지리학적 거리를 계산하고, 연속된 트윗이 생성된 시간 차이를 계산함으로써 사용자의 평균 이동 속도를 구하는 알고리즘을 소개하였다. 그리고, 각 속도 구간에 따른 트윗 사용 빈도수를 도출하는 계산 알고리즘을 제안하였다. 주요 결과로써, 미국과 일본 내 일부 대도시 트위터 사용자들로부터 생성된 공간 태그된 트윗으로 구성된 데이터셋을 사용하여 속도에 따른 트윗 주기 확률 분포를 분석하였다. 그 결과, 기존 연구에서 보이지 않은 새로운 발견으로 사용자 속도에 따른 트윗 주기가 멱 법칙 분포를 따름을 보였다. 또한, 국가별 분석을 통해 일본에서의 분포도 지수 α가 미국에서의 α에 비해 작음을 관찰하였다.
References
- C. Wilson, B. Boe, A. Sala, K. P. N. Puttaswamy, and B. Y. Zhao, "User intereactions in social networks and their implications,," in Proceedings of the 4th ACM European Conference on Compter Systems (EuroSys'09), Nuremberg, Germany, pp. 205-218, Mar./Apr. 2009.
- H. Kwak, C. Lee, H. Park, and S. Moon, "What is Twitter, a social network or a news media?," in Proceedings of the 19th International World Wide Web Conference (WWW2010), Raleigh, NC, pp. 591-600, Apr. 2010.
- M. C. Gonzalez, C. A. Hidalgo, and A. L. Barabasi, "Understanding individual human mobility patterns," Nature, vol. 453, pp. 779-782, June 2008. https://doi.org/10.1038/nature06958
- S. Jiang, G. A. Fiore, Y. Yang, J. Ferreira, Jr., E. Frazzoli, and M. C. Gonzalez, "A review of urban computing for mobile phone traces: Current methods, challenges, and opportunities," in Proceedings of the 2nd ACM SIGKDD International Workshop on Urban Computing (UrbComp 2013), Chicago, IL, Aug. 2013.
- D. Wang, D. Pedreschi, C. Song, F. Giannotti, and A.-L. Barabasi, "Human mobility, social ties, and link prediction," in Proceedings of the 17th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining (KDD2011), San Diego, CA, Aug. 2011, pp. 1100-1108.
- I. Rhee, M. Shin, S. Hong, K. Lee, and S. Chong, "In the Levy-walk nature of human mobility," IEEE/ACM Transactions on Networking, vol. 19, no. 3, pp. 630-643, June 2011. https://doi.org/10.1109/TNET.2011.2120618
- A. Chaintreau, P. Hui, J. Crowcroft, C. Diot, R. Gass, and J. Scott, "Impact of human mobility on opportunistic forwarding algorithms," IEEE Transactions on Mobile Computing, vol. 6, no. 6, pp. 606-620, June 2007. https://doi.org/10.1109/TMC.2007.1060
- C. Cattuto, W. Van den Broeck, A. Barrat, V. Colizza, J.-F. Pinton, and A. Vespignani, "Dynamics of person-to-person interactions from distributed RFID sensor networks," PLOS ONE, vol. 5, no. 7, pp. e11596, July 2010. https://doi.org/10.1371/journal.pone.0011596
- B. Hawelka, I. Sitko, E. Beinat, S. Sobolevsky, P. Kazakopoulos, and C. Ratti, "Geo-located Twitter as proxy for global mobility patterns," Cartography and Geographic Information Science, vol. 41, no. 3, pp. 260-271, May 2014. https://doi.org/10.1080/15230406.2014.890072
-
R. Jurdak, K. Zhao, J. Liu, M. AbouJaoude, M. Cameron, and D. Newth, "Understanding human mobility from Twitter," Preprint, [Online]. Available:
http://arxiv.org/abs/1412.2154 . - Z. Chu, S. Gianvecchio, H. Wang, and S. Jajodia, "Detecting automation of Twitter accounts: Are you a human, bot, or cyborg?," IEEE Transactions on Dependable and Secure Computing, vol. 9, no. 6, pp. 811-824, Dec. 2012. https://doi.org/10.1109/TDSC.2012.75
Cited by
- Improved Tweet Bot Detection Using Geo-Location and Device Information vol.19, pp.12, 2015, https://doi.org/10.6109/jkiice.2015.19.12.2878
- Improved Tweet Bot Detection Using Spatio-Temporal Information vol.19, pp.12, 2015, https://doi.org/10.6109/jkiice.2015.19.12.2885