DOI QR코드

DOI QR Code

Temporal Analysis of Opinion Manipulation Tactics in Online Communities

온라인 공간에서 비정상 정보 유포 기법의 시간에 따른 변화 분석

  • Lee, Sihyung (School of Computer Science and Engineering, Kyungpook National University)
  • Received : 2020.01.06
  • Accepted : 2020.05.06
  • Published : 2020.06.30

Abstract

Online communities, such as Internet portal sites and social media, have become popular since they allow users to share opinions and to obtain information anytime, anywhere. Accordingly, an increasing number of opinions are manipulated to the advantage of particular groups or individuals, and these opinions include falsified product reviews and political propaganda. Existing detection systems are built upon the characteristics of manipulated opinions for one particular time period. However, manipulation tactics change over time to evade detection systems and to more efficiently spread information, so detection systems should also evolve according to the changes. We therefore propose a system that helps observe and trace changes in manipulation tactics. This system classifies opinions into clusters that represent different tactics, and changes in these clusters reveal evolving tactics. We evaluated the system with over a million opinions collected during three election campaigns and found various changes in (i) the times when manipulations frequently occur, (ii) the methods to manipulate recommendation counts, and (iii) the use of multiple user IDs. We suggest that the operators of online communities perform regular audits with the proposed system to identify evolutions and to adjust detection systems.

인터넷 포털 사이트와 사회 관계망 서비스 등의 온라인 공간(online communities)은 시간과 공간의 제약 없이 접속 가능하다는 장점 때문에 많은 사용자들이 의견을 교환하고 정보를 얻기 위해 사용하고 있다. 이와 함께 특정 개인이나 집단의 이익을 위해 의도적으로 유포하는 비정상 정보도 증가하고 있는데 허위 상품 평이나 정치적 선동 의견이 이에 해당한다. 기존에는 이러한 비정상 정보 탐지를 위해 한 시점에서의 비정상 정보를 수집하고 특징을 분석하여 검열 시스템을 제안하였다. 그러나 비정상 정보를 유포하는 기법은 기존의 탐지 시스템을 회피하고 보다 효율적으로 정보를 전파하기 위해 지속적으로 변화하므로 탐지 시스템도 이에 맞추어 변화할 필요가 있다. 따라서 본 논문에서는 비정상 정보 유포 기법의 시간에 따른 변화를 관찰하는 시스템을 제시한다. 이 시스템은 클러스터링(clustering)을 활용해 비정상 정보를 유포 방식에 따라 군집(cluster)으로 분류하며 이러한 군집의 변화를 분석하여 유포 방식의 변화를 추적한다. 제안한 시스템을 검증하기 위해 3번의 선거 기간 전후에 포털 사이트에서 수집된 백만 개 이상의 의견을 대상으로 실험하였으며, 그 결과 비정상 정보 게재에 자주 사용되는 시간, 추천수 조작 방법, 다수의 ID 활용 방법 등에 대한 변화를 관찰할 수 있었다. 이 시스템을 주기적으로 사용해 탐지 시스템을 개선한다면 보다 빠르고 정확하게 비정상 정보의 유포를 탐지할 수 있을 것이다.

Keywords

1. 서론

온라인 공간(online communities)은 사용자 간의 의견 교환을 통해 상호 작용이 이루어지는 가상공간을 말하며 의견 교환이 가능한 포털 사이트와 사회 관계망 서비스를 포함한다. 이들은 인터넷을 통해 언제 어디서든 접속 가능하므로 많은 사람들이 일상적으로 사용하고 있으며[1] 이에 따라 그 영향력도 점차 커지고 있다. 최근에는 온라인 공간이 TV나 신문 등 기존의 미디어만큼 신뢰할 만한 정보원으로 인식되고 있으며[2,3] 이로부터 얻은 정보에 따라 사람들의 생각이나 행동이 변화하기도 한다[4].

온라인 공간의 영향력이 커짐에 따라 이를 이용하여 비정상 정보를 유포하는 경우도 증가하고 있다. 비정상 정보는 사용자의 정상적인 의견 게재에 반해서 특정 개인이나 집단의 이익을 위해 의도적으로 유포되는 정보를 말한다. 예를 들어 일반 사용자로 위장하여 상품이나 서비스에 대해 비하하는 의견 또는 추천하는 후기를 작성하여 판매량에 영향을 미치는 경우가 비정상 정보 유포에 해당한다[5]. 또 다른 예로 러시아에서 미국 선거에 개입하여 특정 후보에 유리하거나 반대하는 의견을 게재함으로써 선거 결과에 영향을 미치는 경우도 있다[6].

온라인 공간에서 비정상 정보가 증가하자 이를 탐지하고 방지하기 위한 방법들이 제안되었는데 이들은 주로 한 시점에서 비정상 정보의 특징을 추출한 후 이를 사용한 탐지 시스템을 구현하였다[7, 8, 9, 10]. 하지만 비정상 정보를 유포하는 방법은 시간에 따라 변화하며 이에 따라 한 시점에서 높은 정확도를 갖는 탐지 시스템이 이후에는 낮은 정확도를 보일 수 있다. 예를 들어 익명으로 게재하는 비정상 정보를 방지하기 위해 ID 실명제가 사용 되자 이를 우회하기 위해 도용된 ID를 거래하거나 다른 사람의 개인정보를 사용해 불법으로 ID를 생성하기 시작 하였다[11]. 따라서 유포 방식의 변화를 지속적으로 관찰하고 이에 따라 탐지 방법을 변화시킬 필요가 있다.

본 논문에서는 시간에 따른 비정상 정보 유포 방법의 변화를 추적하는 시스템을 제안한다. 이를 위해 서로 다른 두 시점 t1과 t2에서 수집된 비정상 의견의 특징을 학습하고 학습된 모델 M(t1)과 M(t2)를 비교한다. 특히 기존의 탐지 시스템에서 많이 사용한 학습 모델인 SVM(Support Vector Machine)과 DNN(Deep Neural Networks) 등은 의미를 파악하고 비교하는 것이 쉽지 않으므로[12,13] 모델의 해석이 보다 용이한 클러스터링(clustering) 기법을 활용한다. 그림 1은 제안한 방법의 개요를 보여준다. 두 시점에서 수집된 비정상 의견에 클러스터링을 적용한 결과 2개의 새로운 군집(cluster)이 출현한 것을 발견할 수 있다. 새로 출현한 군집의 중심(centroid)을 분석하면 비정상 정보가 유포되는 새로운 방식을 파악 가능하다.

OTJBCD_2020_v21n3_29_f0001.png 이미지

(그림 1) 클러스터링에 기반 한 시공간 분석 과정 개요

(Figure 1) Overview of temporal analysis based on clustering

제안한 시공간 분석(temporal analysis) 방법은 선거 기간에 게재된 정치적인 목적의 비정상 정보에 적용해 실험하였다. 이탈리아[3], 미국[6], 러시아[14] 등 여러 나라에서 볼 수 있듯이 선거 기간 전후에 비정상 정보 유포가 빈번하므로 일정 기간 집중적인 데이터 수집이 용이하였기 때문이다. 또한 정치적인 목적의 비정상 정보는 수백만 사용자의 인식과 투표 결과에 여러 해 동안 영향을 미친다는 면에서 중요하다[15,16]. 본 논문에서는 3개 년도에 걸쳐 포털 사이트의 정치 기사에 게재된 백만 개 이상의 의견을 수집하고 분석하였으며 비정상 정보 유포 방식의 다양한 변화를 관찰할 수 있었다.

본 논문은 다음과 같이 구성된다. 2장에서는 비정상 정보의 탐지와 관련된 기존 연구를 소개한다. 3장에서는 비정상 의견의 수집 방법을 기술하며 4장에서는 수집된 의견을 벡터로 모델링하는 방법을 설명한다. 5장에서는 클러스터링에 기반 한 시공간 분석 방법을 설명하며 이를 수집한 의견에 적용한 결과를 제시한다. 6장에서는 향후 연구 과제를 소개하며 결론을 맺는다.

2. 관련 연구

기존의 비정상 정보 탐지에 관한 연구는 주로 상업적 목적의 비정상 의견(상품에 대한 평가) 탐지에 초점을 맞추었다. 특히 1~5개 사이의 별점으로 상품을 평가하는 5-star rating system을 대상으로 하였는데 비정상 행위를 탐지하는 특징(feature)으로 (1) 각 사용자가 특정 상품에 대해 매우 높거나(5점) 매우 낮은(1점) 평가를 여러 번 게재하였는지의 여부[10] 및 (2) 이러한 평가가 다른 사용자의 평균적인 평점과 어느 정도 차이가 나는지[8] 등을 활용하였다. 본 논문에서 분석한 포털 사이트의 정치 기사에서는 상품 평에서와 같은 5-star rating system을 사용하지 않으므로 이러한 특징을 바로 적용하기는 어렵다.

일부 비정상 정보 탐지에 관한 연구가 본 논문에서와 같이 정치적인 목적의 비정상 정보 탐지에 초점을 맞추었다. 이들 연구에서는 정치 분야에 특화된 특징(각 사용자의 의견이 특정 정치성향을 일관되게 보이는지의 여부[7])과 협력의 정황을 보여주는 특징(여러 사용자가 유사한 시간대에 유사한 의견을 함께 게재하는지의 여부[9])도 활용되었다. 이러한 특징은 본 논문에서도 비정상 정보 유포 방식을 관찰하는데 활용될 수 있다. 그러나 비정상 정보의 특징을 학습하는데 사용된 SVM 등의 학습 방법은 탐지 정확도는 높으나 학습 결과로 생성된 모델의 의미를 파악하고 시간에 따른 변화를 해석하기가 쉽지 않다[12]. 또한 최근에 사용되기 시작한 DNN도 입력으로 사용하는 특징의 수와 깊이가 증가할수록 모델이 복잡해 지며, 이를 해석하기 위한 방법이 제안되고 있으나 복잡도(dimension)를 줄이기 위해 투영(projection)하는 등 모델을 단순화하여 원래의 의미가 완전히 유지되지 않는다[13].

정리하면 기존 연구에서 사용한 일부 특징은 본 논문에서도 활용될 수 있다. 그러나 한 시점에서의 특징을 분석하였으며 본 논문에서와 같이 여러 시점에 따른 특징의 변화를 관찰하지는 않았다. 또한 학습에 사용한 방법은 탐지의 정확도를 높이는 것이 목적이므로 학습한 모델을 해석하는 목적에는 적합하지 않다. 따라서 본 논문에서는 학습한 모델의 해석에 보다 용이한 클러스터링에 기반 한 분석 방법을 제안한다. 또한 이 방법을 실제 데이터에 적용함으로써 비정상 정보 유포 방식의 시간에 따른 변화를 관찰하는데 용이함을 보인다.

3. 데이터 수집과 선별

본 논문에서는 표 1과 같이 포털 사이트의 정치 관련기사에 게재된 총 백만 개 이상의 의견을 수집하고 분석 하였다. 의견이 수집된 사이트는 3개의 포털 사이트 네이버[17], 다음[18], 네이트[19]로 월평균 천만 명 이상의 사용자가 방문한다[20]. 이들 사이트에 게재된 정치 관련 기사 중 의견 교환이 활발히 일어난 기사를 선정하기 위해 최소 1,000개 이상의 의견이 게재된 기사에 대해 의견을 수집하였다. 특히 비정상 정보가 많을 것으로 예상되는 주요 선거 전후에 의견을 수집하였으며, 실제로 이 기간 중다수의 의견 조작이 있었던 것으로 밝혀졌다[21, 22, 23].

(표 1) 수집 기간 및 수집된 의견 수 개요

OTJBCD_2020_v21n3_29_t0001.png 이미지

(Table 1) Summary of dataset – collection period and # of collected opinions

수집된 의견의 예는 표 2와 같다. 항목 1은 의견이 게재된 기사 제목으로 의견의 주제로 볼 수 있다. 항목 2~4는 각각 글을 게재하는데 사용한 ID와 게재한 시간 및 의견의 내용이다. 항목 5~6은 의견에 공감 혹은 공감하지 않음을 표시한 사용자 수이며 마지막의 항목 7은 의견에 대한 응답으로 게재된 글의 개수이다. 이 중 항목 5~7은 시간에 따라 변하는 값으로 변화 과정을 관찰하기 위해 5분 간격으로 수집되었다. 항목 5의 462→2491처럼 추천수가 급격하게 증가하는 경우는 자동화된 툴과 다수의 도용된 ID를 사용해 추천수를 올렸을 가능성이 있다[24]. 이러한 주기적인 수집은 의견 게재 시점부터 시작하여 수집된 값의 변화가 거의 없어지는 1주일 후까지 수행되었다.

(표 2) 수집된 의견 예

(Table 2) Example of collected opinions

OTJBCD_2020_v21n3_29_t0002.png 이미지

수집된 의견 중에서 (1) 비정상으로 신고 되었거나 삭제된 의견 및 (2) 게재한 ID가 정지되었거나 삭제된 의견을 선별하여 비정상 의견 분석에 활용하였다. 부적절한 의견(중상모략, 타인 ID 도용, 동일한 내용 중복 게시 등)은 사용자들이 신고할 수 있으며 포털의 검열 팀에 의해 검토된 후 규정 위반으로 판단되는 경우 삭제된다[25]. 또한 여러 번 신고 된 ID는 사용이 정지 된다. 이에 더해서 주요 선거 이후에 의견 조작에 대한 수사가 시작되면서 증거를 인멸하기 위해 대량의 의견 및 관련 계정이 삭제되어 왔음이 밝혀졌다[26]. 본 연구에서도 표 1의 기간에 수집된 의견 중 10% 이상이 삭제된 것을 확인하였으며 이는 일반적인 삭제 비율 1~3%보다 높은 수치이다. 위 기준 (1)~(2)에 해당하는 의견을 확인하기 위해 의견을 수집한지 3~5개월 후 수집된 의견의 상태를 다시 확인하였다(그림 2 참조). 기사제목, 사용자명, 게재시간(표 2의 항목 1~3)이 같은 경우 동일한 의견으로 판별하였으며 이 후 의견의 신고·삭제 여부 및 ID의 정지·삭제 여부를 확인하였다. 결과적으로 표 1과 같이 3개의 수집 기간에 대해 총 149,106개(=63,064+32,358+53,684)의 비정상 의견을 선별 하였다.

OTJBCD_2020_v21n3_29_f0002.png 이미지

(그림 2) 데이터 수집 과정 개요(2012년 예)

(Figure 2) Overview of data collection in 2012

4. 의견과 사용자 모델링

수집된 의견의 특성이 시간에 따라 변해가는 것을 관찰하기 위해서는 관찰할 특징(feature)을 선정해야 한다. 본 논문에서는 3장에서 수집한 데이터로부터 추출할 수 있는 특징 중 표 3과 같은 89개의 특징을 선정하였으며 이로부터 각 의견을 89-tuple로 모델링하였다. 이를 통해 정상 행위와 구분되는 비정상 행위를 관찰하는 것이 목적이므로 구분 능력이 있는 특징을 선정하였으며, 특히 information gain 지표가 0.1보다 큰 특징을 선정하였다.

선별된 특징은 표 3과 같이 크게 2개 범주로 나누어진다. 범주 #1은 각 의견 Oi를 기술하는 특징이며 범주 #2는 의견을 게재한 사용자 Ui를 기술하는 특징이다. 두 가지 범주를 함께 활용하면 의견에 대해 더 잘 이해할 수 있다. 예를 들어 범주 #1의 특징을 활용하여 의견 Oi가 비정상이라고 추측하였다면(수 초 내에 1,000명 이상의 사용자가 Oi 추천) 범주 #2의 특징을 사용하여 이를 보다 확증할 수 있다(Oi를 게재한 사용자 Ui의 의견은 일반적으로 다른 사용자의 의견에 비해 훨씬 자주 다수의 추천을 받음).

(표 3) 의견 모델링에 사용한 특징

(Table 3) Features used to model opinions

OTJBCD_2020_v21n3_29_t0003.png 이미지

4.1 범주#1 - 의견을 기술하는 특징

의견 Oi의 특징을 기술하는 범주 #1은 표 3과 같이 4개 유형으로 나뉜다. 먼저 특징 ①~③은 Oi가 게재된 시간을 나타내며 이를 사용하면 비정상 의견이 자주 생성되는 시간을 특정할 수 있다. 이 중 ①~②는 절대 시간으로 시간의 주기적인(cyclical) 성질을 나타내기 위해 sine과 cosine 두 개의 값으로 표현한다. 예를 들어 h=23시는 (-0.131, 0.991)로 표현되므로 h=20시(-0.866, 0.500) 보다는 h=0시(0.000, 1.000)에 더 가까움을 나타낼 수 있다. 특징③은 기사가 게재된 시간에 대한 상대 시간이다. 표 2의 의견의 경우 11:10:14에 게재되었으며, 이 의견이 게재된 기사가 1시간 전인 10:10:14에 게재되었다면 특징 ③의 값은 1.00시간이 된다.

특징 ④~⑦은 의견 Oi의 내용에 나타나는 특성을 기술 한다. 비정상 의견은 주장에 대한 근거를 제공하기 위해 길이가 긴 경우가 많으며 이러한 근거로 외부 자료에 대한 URL이나 여론 조사 등에서 제공한 숫자 등을 자주 활용한다. 또한 주장을 강조하기 위해 특수문자를 사용하는 경우도 있다.

특징 ⑧~⑯은 의견 Oi에 대한 추천과 응답에서 보이는 특성을 기술한다. 게재된 의견은 추천수 순으로 정렬되므로, 추천수가 높을수록 더 많은 사용자에게 노출되어 영향력이 커진다. 따라서 이를 조작하려는 시도도 빈번하게 일어난다. 반대로 추천수가 높은 글의 순위를 내리기 위해 비추천수를 증가시키거나 반대 의견을 답글로 게재하기도 한다. 특징 ⑧~⑩은 5분 단위로 수집한 결과 최종적으로 수집된 값으로 표 2의 의견의 경우 각각 (9605, 892, 363) 이다. 특징 ⑪~⑬은 5분 단위로 수집된 값 중 최댓값을 나타내며 특징 ⑭~⑯은 이러한 최대 증가가 일어난 상대 시간이다. 예를 들어 표 2의 의견에서 추천수가 462→2491로 증가한 시점이 가장 빠르게 증가한 시점이며 기사 게재 2시간 후라면 특징 ⑪은 2491−462=2029, 특징 ⑭는 2.00시간이 된다. 그림 3은 특징 ⑪과 ⑭에 대한 누적분포(cumulative distribution function, cdf)를 보여준다. 세로축이 주어진 최대증가량을 보이는 의견의 누적 퍼센티지를 나타낸다. 이로부터 비정상 의견은 정상 의견에 비해 더 일찍, 더 많은 추천수를 받음을 알 수 있다. 즉 기사 게재 후 최대한 일찍 비정상 의견을 게재한 후 추천수를 증가시킴으로써 이 후에 지속적으로 상위를 선점하도록 한다.

OTJBCD_2020_v21n3_29_f0003.png 이미지

(그림 3) 범주 #1에서 선별된 특징에 대한 누적분포

(Figure 3) CDF of selective features in category #1

특징 ⑰~⑲는 의견 Oi와 유사한 특성을 가진 다른 의견이 어느 정도로 존재하는지 보여준다. 유사한 비정상 정보를 다수 게재하여 더 많이 노출시키는 것은 자주 사용되는 방법이며 더 많은 정보를 유포하기 위해 여러 사용자가 함께 협력하기도 한다. 특징 ⑰은 같은 기사에 함께 게재된 의견의 수를, 특징 ⑱은 내용이 유사한 의견의 수를 나타낸다. 특징 ⑲는 유사한 내용이 몇 명의 다른 사용자에 의해 유포되었는지를 나타낸다. 두 의견 Oi와 Oj의 내용이 유사함을 측정하기 위해 다음과 같은 Jaccard Coefficient(JC)[5]를 지표로 사용하였다:

\(J C\left(O_{i}, O_{j}\right)=\frac{\left|W\left(O_{i}\right) \cap W\left(O_{i}\right)\right|}{\left|W\left(O_{i}\right) \cup W\left(O_{i}\right)\right|}\)

W(Oi)는 의견 Oi에 사용된 단어의 집합을 의미하며, 따라서 JC는 두 의견 Oi와 Oj간 중복되는 단어의 비율을 측정한다. 특히 JC가 임계값 TJC보다 큰 경우 두 의견이 유사한 것으로 판단하였다.

4.2 범주 #2 - 사용자를 기술하는 특징

4.1장에서 설명한 범주 #1은 각 의견 Oi에서 나타나는 특성을 기술한다. 이에 반해 범주 #2는 Oi를 게재한 사용자 Ui의 특성을 기술하는데, 특히 Ui가 게재한 여러 의견을 종합해 볼 때 일반적으로 나타나는 특성을 보여준다. 이러한 일반적인 특성을 나타내기 위해 4개의 통계량(최댓값, 최솟값, 중간값, 평균)을 사용하며 이를 표 3에서는 분포*로 표기하였다.

특징 ⑳~㉛은 사용자 Ui가 의견을 게재한 시간이 어떤 분포를 가지는지를 나타낸다. 이중 특징 ⑳~㉓은 각각 특징 ① sin(2π×h÷24)의 최댓값, 최솟값, 중간값, 평균이다. 마찬가지로 특징 ㉔~㉗은 특징 ②의 4개 통계량을, 특징 ㉘~㉛은 특징 ③의 4개 통계량을 나타낸다. 이와 유사하게 다음 2개 유형의 특징 ㉜~㊼과 ㊽~(83)도 각각 특징 ④~⑦과 ⑧~⑯의 4개 통계량에 대응된다.

특징 (84)~(89)는 사용자 Ui가 의견을 게재하는 빈도수를 보여준다. 이중 특징 (84)~(85)는 Ui가 총 몇 개의 기사에 몇 개의 의견을 게재했는지를 나타내며 특징 (86)~(89)에서는 이러한 의견들을 기사별로 나누어 4개의 통계량을 계산한다. 예를 들어 Ui가 5개의 기사 각각에 10, 8, 4, 2, 1개의 의견을 게재했다면 특징 (84)~(85)는 각각 5, 25(=10+8+4+2+1)가 되며, 특징 (86)~(89)는 각각 10(최댓값), 1(최솟값), 4(중간값), 5(평균값)가 된다. 그림 4는 특징 (84)와 (86)에 대한 누적분포를 보여준다. 이로부터 비정상 의견을 게재한 사용하는 정상 의견을 게재한 사용자에 비해 더 많은 기사에 의견을 게재하며 각 기사별로 2개~80개 이상까지의 의견을 게재함을 알 수 있다.

OTJBCD_2020_v21n3_29_f0004.png 이미지

(그림 4) 범주 #2에서 선별된 특징에 대한 누적분포

(Figure 4) CDF of selective features in category #2

5. 클러스터링을 통한 시공간 분석

5.1 시공간 분석 방법

시간에 따른 비정상 의견의 특징 변화를 분석하기 위해 비지도 학습(unsupervised learning) 방법 중 하나인 클러스터링(clustering)을 활용하였다. 각 군집(cluster)의 중심(centroid) 값을 분석하면 어떤 특성을 가진 군집이 있는지 해석하고 비교하기 편리하며 또한 시간에 따른 군집의 변화 과정을 관찰하기에도 용이하기 때문이다. 본 논문에서는 클러스터링 방법 중 K-means clustering[27]을 사용하였다.

시공간 분석은 표 4와 같이 4개 단계로 수행한다. 먼저 단계 #1에서는 서로 다른 기간에 수집된 비정상 의견을 4장에서 기술한 89-tuple로 모델링한다. 표 4의 각 원이 이와 같이 모델링된 의견 객체 하나를 나타낸다. 이 예제에서는 각 의견이 2개의 특징으로 모델링되어 2차원 평면에 대응된다고 가정하였다. Year y1과 year y2는 의견이 수집된 서로 다른 년도를 나타낸다.

(표 4) 클러스터링에 기반 한 시공간 분석 방법

(Table 4) Temporal analysis based on clustering​​​​​​​

OTJBCD_2020_v21n3_29_t0004.png 이미지

단계 #2에서는 단계 #1에서 모델링한 의견에 K-means clustering을 적용한다. 이 과정에서 특성이 유사한 의견은 같은 군집으로 묶이고 특성이 다른 의견은 다른 군집으로 묶인다. 표 4에서 같은 점선으로 묶인 의견들이 같은 군집으로 분류된 의견들이다. 군집 수 K 값으로 4를 사용했다고 가정하였다. 이에 따라 Year y1에서 4개의 군집 c1~c4가, year y2에서 4개의 군집 c5~c8이 생성되었다.

단계 #3에서는 i번째 년도에 대해 생성된 군집들을 i+1번째 년도에 대해 생성된 군집들과 비교하여 동일한 군집끼리 대응시킨다. 이러한 대응 관계가 있어야 각 군집의 시간에 따른 변화를 분석할 수 있기 때문이다. 동일한 군집끼리 묶어주기 위해 표 5의 알고리즘을 사용한다. 이 알고리즘에서는 경계가 서로 겹치는 군집 중 거리가 가장 가까운 군집끼리 먼저 묶어가기 시작한다. 이에 따라표 4의 예제에서는 (c1,c5), (c2,c6), (c4,c8)이 동일한 군집으로 묶인다. 회색으로 음영 처리된 부분이 함께 묶인 군집간 서로 겹치는 부분이다. Year y1의 군집 c3은 year y2에서 경계가 겹치는 군집이 없으므로 묶이지 않는데 이는 시간이 지남에 따라 사라진 군집을 의미한다. 또한 year y2의 군집 c7도 year y1에 겹치는 군집이 없으므로 묶이지 않는데 시간이 지남에 따라 새로 나타난 군집을 의미한다.

(표 5) 서로 다른 년도의 군집을 대응시키는 알고리즘

(Table 5) Algorithm that identifies correspondence between clusters of different times​​​​​​​

OTJBCD_2020_v21n3_29_t0005.png 이미지

마지막으로 단계 #4에서는 단계 #3에서 파악한 대응 관계에 따라 각 군집이 겪은 변화를 분석한다. 군집의 크기가 변하는 양상을 보면 (1) 더 커지거나 새로 나타난 군집, (2) 더 작아지거나 소멸한 군집, (3) 유사한 크기를 유지하는 군집을 확인할 수 있다. 군집 ci의 크기는 해당 년도의 총 의견수에 대한 비율로 계산한다. 표 4의 예에서 year y1에 총 100개의 의견이 있고, 이중 c1에 속한 의견은 10개라면 c1의 크기는 10÷100=0.1이다. Year y2에서 c1에 대응되는 군집인 c5의 크기가 0.2라면 이 군집의 크기는 2배로 증가하였음을 알 수 있다.

5.2 실험 환경 구성

5.1장에서 기술한 시공간 분석 방법을 표 1과 같은 3개 년도 데이터에 적용하여 2012년→2014년→2017년으로 시간이 지남에 따라 비정상 의견의 특성이 어떻게 변화하는지 관찰하였다. 실험은 3.4GHz CPU(Intel Core i7-6700)와 16GB RAM이 장착된 PC에서 진행하였고 K-means clustering을 포함한 시공간 분석 방법은 오픈소스 과학계산 소프트웨어인 Octave[28]에서 구현하였다.

비정상 의견을 89-tuple로 모델링할 때 각 특징을 0~1사이의 값으로 정규화(normalization)하여 변화 정도가 큰 일부 특징에 의해 클러스터링 결과가 좌우되지 않도록 하였다. 그리고 의견 내용의 유사도를 나타내는 특징 ⑱~⑲ 값을 결정할 때 임계값 TJC=0.5를 사용하였으며 이는 텍스트의 2/3 이상이 중복되는 경우 유사한 의견으로 보았음을 의미한다.

K-means clustering 방법 적용 시에는 군집 수 K=70을 사용하였다. K값이 이보다 크면 불필요하게 나누어지는 군집이 많이 나타나 동일한 특성을 가진 군집을 관찰하기 어려웠으며, K값이 이보다 작으면 특성이 다름에도 분리되지 않는 군집이 발생하였다. 군집 간 거리를 측정하는 지표로는 Euclidean distance를 사용하였다.

5.3 시공간 분석 결과

시공간 분석의 결과로 드러난 비정상 의견 군집의 중심을 분석하면 각 군집의 특성을 파악할 수 있다. 예를 들어 군집의 중심에서 추천수를 나타내는 특징 ⑧의 값이 500이라면 500개 내외의 추천을 받은 의견으로 이루어진 군집임을 알 수 있다. 그림 5는 이러한 분석 결과 자주 나타난 특성과 시간에 따른 변화를 보여준다. 이 중 지속적으로 높은 빈도를 보이는 특성(그림 5(a)~(c))을 5.3.1장에서 기술하고 시간에 따라 빈도가 변하는 특성(그림 5(d)~(g))을 5.3.2장에서 기술한다.

OTJBCD_2020_v21n3_29_f0005.png 이미지

(그림 5) 비정상 의견의 주요 특성과 시간에 따른 변화

(Figure 5) Main characteristics of abnormal opinions and their trend over time​​​​​​​

5.3.1 지속적으로 많이 드러나는 특성

비정상 의견은 정상 의견에 비해 길이가 길고, URL, 숫자, 특수문자 등을 자주 사용하는 경향을 보였다(그림 5(a)). 의견을 수집한 포털 사이트에서는 의견의 최대 길이를 300자로 제한하고 있다. 정상 의견의 80% 이상이 120자 미만인데 비해 비정상 의견은 120자 이상을 사용하는 경우가 45~55%였으며 최대인 300자를 모두 사용하는 경우도 5%에 달했다. 이렇게 길이가 긴 의견의 대부분은 URL, 숫자, 특수문자를 사용해 주장에 대한 다양한 근거를 제시하고 있었다. 또한 이러한 비정상 의견의 70% 이상에 대해 하나 이상의 유사 의견이 존재했는데 이는 동일한 내용을 복사해 재사용하는 경우가 많음을 보여준다.

추천수가 비정상적으로 빠르게 증가하는 경우도 볼 수 있었다(그림 5(b)). 추천수의 5분당 증가량이 100을 넘는 비정상 의견이 25% 내외였으며 특히 증가량이 거의 유사한 의견들(예: 643, 644, 644, 644, 645 등)이 군집을 형성하는 것을 볼 수 있었다. 이러한 현상은 이 의견들이 동일한 ID pool에 의해 추천되는 경우 나타날 수 있다[24]. 또한 같은 사용자가 게재한 여러 의견이 동시에 높은 추천수를 받아 상위에 랭크되는 경우도 있었다.

유사한 시간대에 특정 사용자들이 게재한 의견들이 군집을 형성하는 것도 볼 수 있었다(그림 5(c)). 10개에서 1000개 이상의 의견이 함께 게재되었는데 이 중에는 동시에 자주 보이는 ID의 그룹도 있었고 한 사용자가 10~40개의 의견을 집중적으로 게재하며 군집을 형성하는 경우도 있었다. 또한 정상 의견이 주로 저녁 시간(18:00~23:00)에 많이 게재되는 것에 비해 비정상 의견은 낮 시간(09:00~18:00)에 집중적으로 게재되는 경우도 있었다.

5.3.2 시간에 따라 빈도가 변하는 특성

점차 더 많은 의견이 기사 게재 후 짧은 시간 내에 일찍 게재되기 시작하였다(그림 5(d)). 기사 게재 후 한 시간 내에 게재된 의견의 비율이 2012년도에는 40%대에서 2017년도에는 60%대까지 높아졌다. 이들 의견 중 일부는 게재 후 곧 추천수가 빠르게 증가하며 대표 의견(추천수가 가장 높은 의견으로 best reply라고도 함)으로 선정되 었다. 최대한 일찍 대표 의견 자리를 선점하면 더 많은 사용자가 이를 추천할 가능성이 높아 계속해서 대표 의견 자리에 머무를 수 있기 때문이다. 그림 6은 이와 같은 특성을 갖는 비정상 의견을 보여준다. 가로축 상의 굵은 세로선은 의견게재시점을 나타내며, 세로축으로 증가하는 점선은 시간에 따른 추천수의 변화를 나타낸다. 가장 먼저 게재된 의견이 비정상 의견으로 기사 게재 후 10분 이내에 게재되었으며 곧 많은 추천을 받으며 대표 의견이 되었다. 이 후 게재된 정상 의견은 사용자들에게 노출되는 횟수가 적으므로 대표 의견이 되지 못하였다.

OTJBCD_2020_v21n3_29_f0006.png 이미지

(그림 6) 의견게재시점과 추천수의 변화 추이

(Figure 6) Relationship between posting times and recommendation counts​​​​​​​

추천수가 비정상적으로 빠르게 증가한 의견의 경우 비추천수와 답글수도 점차 높게 나오는 경향을 볼 수 있었다(그림 5(e)). 추천수의 5분당 증가량이 100을 넘는 비정상 의견 중 비추천수가 100을 넘는 의견이 2012년에는 10% 미만이었으나 2017년도에 와서는 20% 이상까지 증가하였다. 비추천수가 높아질수록 의견의 순위가 낮아지므로 이는 반대 집단의 의도적인 작업일 수도 있다. 또한 비추천수의 증가와 유사하게 반대 의견을 제시하는 답글 수도 증가하는 것을 볼 수 있었다.

또한 하나의 사용자 ID로 게재하는 의견의 수가 점차 감소하였다(그림 5(f)). 비정상 사용자는 더 많은 사용자에게 의견을 노출하기 위해 최대한 많은 의견을 게재하려는 경향이 있다[29]. 이를 위해 같은 ID로 50개 이상의 의견을 연속으로 게재한 경우가 2012년에는 20%를 넘었다. 하지만 2017년도에는 10% 미만이 되었는데 이는 한 ID로 너무 많은 의견을 게재하면 신고 되거나 계정이 정지될 가능성이 높기 때문으로 보인다. 대신 그림 7과 같이 다수의 ID를 사용하여 의견을 나누어 게재하는 정황을 볼 수 있었다. 가로축이 의견게재시점을 나타내며 세로축이 의견을 게재하는데 사용된 사용자 계정을 나타낸다. 이들 의견은 (1) 시차를 두고 계정을 바꾸어가며 게재되며 (2) 내용이 유사하거나 동일한 URL을 포함하고 (3) ID 내에 유사한 스트링(예: patriot001, patriot002, patriot003 등)이 발견되기도 한다. 이러한 특징 (1)~(3)을 활용하면 그룹으로 함께 활용되는 ID를 탐지하는데 도움이 될 것이다.

OTJBCD_2020_v21n3_29_f0007.png 이미지

(그림 7) 다수의 사용자 계정에 의한 유사 의견 게재 과정

(Figure 7) Posting of similar opinions by utilizing multiple user IDs​​​​​​​

마지막으로 유사한 비정상 의견을 복제하여 다수 게재하는 방법은 지속적으로 많이 사용되고 있는데 이를 게재하는데 사용되는 ID의 수는 점차 증가하는 것으로 보아 복제한 의견을 여러 ID로 나누어 게재하는 것으로 보인다(그림 5(g)). 또한 내용이 복제되었음을 확인하기 어렵도록 완전히 동일한 텍스트를 게재하는 대신 일부 단어를 유사 단어로 대체하는 비율도 늘어나고 있어 앞으로는 유의어 사전[30]을 활용한 유사성 분석이 필요할 것이다. 텍스트는 다르지만 동일한 URL을 포함하는 경우도 증가하였다.

정리하면 대부분의 변화가 일어난 이유는 (1) 보다 많은 사용자에게 더 효율적으로 비정상 정보를 유포하고 또한 (2) 발전하는 탐지 시스템을 더 효과적으로 회피하기 위해서라고 볼 수 있다.

6. 결론

본 논문에서는 서로 다른 시간대의 비정상 의견을 클러스터링하고 비교함으로써 특성의 변화를 관찰하는 방법을 제안하였다. 이를 검증하기 위해 3번의 선거 기간 동안 포털 사이트의 정치 기사에 게재된 백만 개 이상의 의견을 수집하였으며 이를 제안한 방법으로 분석하였다. 그 결과 가능한 한 일찍 의견을 게재한 후 추천수를 조작 하는 방식과 다수의 ID로 유사한 의견을 나누어 게재하는 방식 등 비정상 의견 유포 방식의 다양한 변화를 추적할 수 있었다. 제안한 방법을 사용하여 비정상 의견을 주기적으로 관찰한다면 비정상 의견 검열 시스템을 개선하고 새로운 문제를 빠르게 탐지하는데 도움이 될 것이다.

사이버 안전국과 포털 사이트 관리부서에서는 본 연구에서 수집하지 못한 각 사용자의 자세한 접속 기록(예: 접속한 IP 주소와 시간 등)에도 접근 가능하며 이를 사용해 동일한 IP 주소에서 다수의 ID로 접속이 이루어지는 등의 이상 징후를 확인하고 있다[31,32]. 본 논문에서 제안한 방법에 이러한 추가 정보를 접목시킨다면 서로 연관된 ID의 군집을 파악하고 이들의 변화를 추적하는데 도움이 될 것이다.

본 논문의 학술적 의미는 다음과 같다. 온라인 공간에 게재된 의견을 기술하는 특징(feature) 중 정상과 비정상을 구분하는 능력이 큰 특징을 선별하여 2개의 범주로 나누어 제시하였으며(표 3), 특히 이러한 구분 능력이 보다 잘 발현되도록 각 특징을 추상화(feature abstraction)하여 제시하였다(예: 게재 시간을 sine과 cosine으로 표현). 또한 클러스터링을 사용해 서로 다른 시간대의 군집을 대응시키고 변화를 추적하는 방법을 제안하였으며(표 5), 이를 실험을 통해 검증하였다. 이렇게 제시된 특징과 변화의 추적 방법은 본 연구에서 분석한 정치 관련 의견 외에 다른 다양한 주제의 의견을 분석하는 연구에도 활용 될 수 있을 것이다.

향후에는 본 논문에서 제안한 시공간 분석 방법을 상업적인 목적의 비정상 정보 관찰에도 활용해 볼 계획이다. 의견을 모델링하는데 사용하는 특징을 상품 평(예:5-star rating system)에 적합하게 변형시킨다면 제안한 방법을 유사하게 적용할 수 있을 것이다. 또한 동영상 시청이 증가하며 동영상에 게재되는 의견에도 비정상 정보 유포가 증가하고 있어, 이러한 의견에 나타나는 고유한 특성도 분석해볼 계획이다.

References

  1. M. Fraser and S. Dutta, "Throwing sheep in the boardroom: how online social networking will transform your life, work and world," Wiley, 2008. https://books.google.co.kr/books?id=BlfPVTcFPyQC
  2. P. Adams, "Grouped: how small groups of friends are the key to influence on the social Web (voices that matter)," New Riders, 2011. https://books.google.co.kr/books?id=c0hWlDIUv6gC
  3. D. Mocanu, L. Rossi, Q. Zhang, M. Karsai and W. Quattrociocchi, "Collective attention in the age of (mis)information," Computing in Human Behavior, vol. 51, part B, pp. 1198-1204, 2015. https://doi.org/10.1016/j.chb.2015.01.024
  4. D. Centola, "The spread of behavior in an online social network experiment," Science, vol. 329, no. 5596, pp. 1194-1197, 2010. https://doi.org/10.1126/science.1185231
  5. Bing Liu, "Web data mining: exploring hyperlinks, contents, and usage data," Springer, 2011. https://doi.org/10.1007/978-3-642-19460-3
  6. S. Shane and M. Mazzetti, "Inside a 3-year Russian campaign to influence US voters," The New York Times, 2018. https://www.nytimes.com/2018/02/16/us/politics/russiamueller-election.html
  7. S. Lee, "Characterization and detection of political manipulation in online communities," Journal of Internet Technology, vol. 19, no. 4, pp. 1131-1142, 2018. https://doi.org/10.3966/160792642018071904016
  8. A. Mukherjee, B. Liu and N. Glance, "Spotting fake reviewer groups in consumer reviews," ACM WWW, pp. 191-200, 2012. https://doi.org/10.1145/2187836.2187863
  9. J. Ratkiewicz, M. D. Conover, M. Meiss, B. Goncalves, A. Flammini and F. Menczer, "Detecting and tracking political abuse in social media," AAAI ICWSM, 2011. https://www.aaai.org/ocs/index.php/ICWSM/ICWSM11/paper/view/2850
  10. E. Lim, V. Nguyen and N. Jindal, "Detecting product review spammers using rating behaviors," ACM CIKM, pp.939-948, 2010. https://doi.org/10.1145/1871437.1871557
  11. "Warnings on fake reviews about cosmetic surgery," MBC News, 2016. https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&oid=214&aid=0000636073&sid1=001
  12. V. Cherkassky and S. Dhar, "Simple method for interpretation of high-dimensional nonlinear SVM classification models," DMIN, pp. 267-272, 2010. https://www.researchgate.net/publication/220705021_Simple_Method_for_Interpretation_of_High-Dimensional_Nonlinear_SVM_Classification_Models
  13. G. Montavon, W. Samek and K. Muller, "Methods for interpreting and understanding deep neural networks," Elsevier Digital Signal Processing, vol. 73, pp. 1-15, 2018. https://doi.org/10.1016/j.dsp.2017.10.011
  14. "Russian Twitter political protests swamped by spam," BBC News, 2012. https://www.bbc.com/news/technology-16108876
  15. R. Bond, et al., "A 61-million-person experiment in social influence and political mobilization," Nature, vol. 489, no. 7415, pp. 295-298, 2012. https://www.nature.com/articles/nature11421 https://doi.org/10.1038/nature11421
  16. R. K. Garrett and B. E. Weeks, "The promise and peril of real-time corrections to political misperceptions," ACM CSCW, pp. 1047-1058, 2013. https://dl.acm.org/doi/10.1145/2441776.2441895
  17. "Political news articles in Naver news," Naver, 2020. https://news.naver.com/main/main.nhn?mode=LSD&mid=shm&sid1=100
  18. "Political news articles in Daum news," Daum, 2020. https://media.daum.net/politics/
  19. "Political news articles in Nate news," Nate, 2020. https://news.nate.com/section?mid=n0200
  20. "KoreanClick: Nielsen KoreanClick syndicated reports," Nielsen KoreanClick, 2019. http://www.koreanclick.com/
  21. S. Choe, "Prosecutors detail attempt to sway South Korean election," The New York Times, 2013. https://www.nytimes.com/2013/11/22/world/asia/prosecutors-detail-bid-to-sway-south-korean-election.html
  22. A. Shin, "Opposition party apologizes for spreading fake news on president's son during election," Arirang, 2017. http://www.arirang.co.kr/News/News_View.asp?nseq=205688
  23. S. Choe, "Ally of south Korean leader conspired to rig onlin opinion, inquiry finds," The New York Times, 2018. https://www.nytimes.com/2018/08/27/world/asia/moon-jae-in-online-scandal.html
  24. J. Lee, "Manipulation of recommendation counts by military and government agencies," Media Today, 2013. http://www.mediatoday.co.kr/news/articleView.html?idxno=112725
  25. "Responsibility of users for their postings," Nate, 2016. http://www.nate.com/policy/legal.html
  26. T. Lee, "National intelligence agency removed a massive number of opinions," News1, 2013. http://news1.kr/articles/1176188
  27. S. P. Lloyd, "Least squares quantization in PCM," IEEE Transactions on Information Theory, vol. 28, no. 2, pp. 129-137, 1982. https://doi.org/10.1109/TIT.1982.1056489
  28. "GNU Octave: scientific programming language," 2019. https://www.gnu.org/software/octave/
  29. S. Lee, "Detection of political manipulation in online communities through measures of effort and collaboration," ACM Transactions on the Web, Vol. 9, No. 3, Article No. 16, 2015. https://doi.org/10.1145/2767134
  30. C. Fellbaum and G. A. Miller, "Wordnet: an electronic lexical database (language, speech, and communication)," MIT Press, 1998. https://wordnet.princeton.edu/
  31. R. Park, Y. Jang, W. Kang and J. Jang, "Education system development for cyber-crime defenses in national police agency," Research Report for National Police Agency, 2015. http://www.prism.go.kr/homepage/researchCommon/downloadResearchAttachFile.do;jsessionid=1FD3E301B96AA2C78154B15B2A09D3C0.node02?work_key=001&file_type=CPR&seq_no=001&pdf_conv_yn=Y&research_id=1320000-201500009
  32. B. Paek, "No technologies exist that prevents all macros," ZDNet Korea, 2018. http://www.zdnet.co.kr/view/?no=20180417172021