Naver News Comment Analysis (2)

NOTICE: 앞으로 소개될 내용은 NAVER와 무관하며, 오히려 NAVER 뉴스가 정치적인 편향성을 가지고 있지 않은 중립적인 플랫폼이라고 생각하기 때문에 분석을 하게 되었음을 알립니다.

TL;DR

2015년 12월부터 2018년 5월까지의 데이터로 소위 말하는 어뷰저의 존재를 확인해보았다. 여기서 말하는 어뷰저의 criteria는 다음과 같다.

  1. 타인의 생각에 영향을 미칠 수 있도록 작성한 댓글이 top 10 내에 한 번 이상 들었어야 한다. 실제 어뷰저였어도 top 댓글이 아니어서 타인에게 영향을 미치지 못했다면 어뷰저라고 불릴 자격(?)이 없다.
  2. 발생하기 어려운 패턴을 보여야 한다.

이 기준에 따라 분석한 결과, 총 386번 댓글을 남겼고 그 중에서 369번(95.6%) top 10 내에 들었던 유저와 총 289번 댓글을 남기고 269번(93.1%) top 10 내에 들었던 유저를 의심해보게 되었다.

Abuser, who are you?

Introduction

"정말 2016년 4분기부터 정말 댓글 조작을 했던 사용자들이 있었을까?" 라는 단순한 의문과 궁금증에서 분석을 시작하게 되었다. 다만, 데이터에 <공감> <비공감> 을 눌렀던 interaction 정보가 누락되어 있기에 (이 데이터는 네이버 뉴스 측에서 제공해주지 않는 이상 얻을 수 없다) 적어도 댓글을 한 번이라도 남겼던 사용자에 대해서만 어뷰저로 의심해 볼 수 있었다.

label이 없는 상황에서 어뷰저를 특정짓는 것과 그 사용자가 어뷰저임을 다른 사람에게 설득하는 것은 어려운 일이다. 또한 무죄추정의 원칙에 의거해 댓글 작성자를 함부로 어뷰저라고 단정지을 수도 없었다. 그래서 이번 분석에서는, "모든 작성자는 어뷰저가 아니다." 라는 가정을 기반으로 특정 패턴이 등장할 확률을 계산해서 어뷰저였을 가능성을 간접적으로 추측하는 방식을 취했다.

이 과정에서 누군가는 그 정도 확률로는 어뷰저라고 단정짓기 어렵다고 판단할 수도 있고, 아닐 수도 있다. 또 추가적인 분석 결과가 있다면 어뷰저 가능성이 더 높아질 수도 있다. 후자라면 언제든 댓글로 추가 분석할 내용을 요청했으면 하는 바람이다.

Abuser Criteria

어뷰저는 어떤 존재일까? 이에 답하기 앞서, 어뷰징의 목적과 어뷰징이 문제가 되는 상황에 대해 먼저 정리해보았다.

어뷰징의 목적

어뷰저들의 목표는 네이버의 댓글 정렬 기준에 맞추어 10위권 내에 드는 것이다. 네이버 뉴스의 UI 상, top 10 내에 들면 그 기사를 읽는 누구나 쉽게 그 댓글의 내용에 접하게 되기 때문이다. 그리고 그 내용이 대중을 대표한다고 생각하기 때문에 쉽게 타인의 생각에 영향을 미칠 수 있다.

어뷰징이 문제가 되는 상황

어뷰징이 문제가 되었던 이유는 공정하고 자연스러운 방식으로 집계되었다고 믿었던 top 10 댓글이 실제로는 어떤 세력에 의해 의도를 가지고 조작되었기 때문이었다. top 댓글이 특정 집단에 의해 조작되었다면, 그것들이 과연 네이버 뉴스 플랫폼에 참여하는 사용자들의 생각을 대표하는 댓글이라고 볼 수 있을까?

그래서, 이 글에서 이야기 할 어뷰저의 criteria는 다음과 같다.

어뷰징의 목적을 달성해야 한다. 즉, 타인의 생각에 영향을 미칠 수 있도록 작성한 댓글이 top 10 내에 한 번 이상 들었어야 한다. 실제 어뷰저였어도 top 댓글이 아니어서 타인에게 영향을 미치지 못했다면 어뷰저라고 불릴 자격(?)이 없다. (안습)

자연적으로 발생하기 어려운, 확률이 낮은 패턴이 등장해야 한다.

Data preprocessing

에서 사용했던 데이터에서 추가로 필터링이 필요했다. 크롤링한 댓글 데이터에 hashing 된 아이디가 포함된 것이 2015년 12월 이후였기 때문이다.

  • 사용한 댓글 데이터 기간: 2015.12.08 ~ 2018.05.25

Analysis

먼저, 정치 분야에서 댓글이 top 10 내에 들었던 횟수를 작성자 별로 집계한 후, 횟수가 높은 순서대로 정렬하였을 때의 추이를 살펴보았다.


mean stdev max 75% med min
2.240442 4.607621 369 2 1 1


대부분의 작성자는 1~2번 정도 댓글이 top 10 내에 드는 반면, 일부 사용자들은 100번 이상 순위권 내에 든다. 이 그래프만 본다면 자주 top 10에 드는 사용자들 모두가 의심스러울 수 있지만 이런 skewed graph는 대부분의 사회과학 데이터에서 발견되므로 이들을 어뷰저로 속단하긴 이르다. 검증을 위해 다른 섹션(사회, 경제, 문화, IT, 세계)에 대해서도 마찬가지 방법으로 그래프를 그려보았다.

갓 파레토...

자주 순위권 내에 드는 댓글을 작성한 사용자를 top user 라고 했을 때, 다른 분야에서도 top user는 쉽게 찾아볼 수 있었다. 어쩌면 이들은 (어뷰저가 아닌 이상) 네이버 뉴스 플랫폼에서 높은 "공감수-비공감수"를 받을 수 있는 전략이 학습된 것은 아닐까? 기사가 나오고 얼마 지나지 않아 댓글을 남기거나, 그 당시 분위기에 맞는 댓글의 내용을 남기거나, 사실로 보여지는 데이터와 함께 댓글을 작성하거나 하는 등 자신만의 전략이 있을 것이다.

그러나 이 전략들이 100%의 확률로(=항상) 통하지는 않았을 것이다. 때로는 일찍 댓글을 작성했음에도 뒤늦게 작성한 댓글이 폭발적인 공감을 이끌어내서 top 10에 들지 못했을 수도 있고, 당시의 전반적인 분위기에 탑승하는 댓글을 남겼음에도 다른 댓글 중에 두드러지지 못해 공감을 받지 못했을 수도 있다.

top user 간에 일반적인 top 10 성공률이 존재할 것이고 이는 normal distribution을 따른다는 가설을 바탕으로 "top user가 작성한 전체 댓글 수 대비 top 10에 들었던 댓글 수(=top 10 성공률)"를 계산해보았다.

정치 top users

userId top comment # total comment # top 10 성공률 (%)
user 1 369 386 95.60
user 2 339 380 89.21
user 3 269 289 93.08
user 4 178 610 29.18
user 5 178 1090 16.33
user 6 175 424 41.27
user 7 174 818 21.27
user 8 155 316 49.05
user 9 143 950 15.05
user 10 141 583 24.19


경제 top users

userId top comment # total comment # top 10 성공률 (%)
user 11 289 1185 24.39
user 12 226 2935 7.70
user 13 219 1656 13.22
user 14 183 1636 11.19
user 15 173 1378 12.55
user 16 161 989 16.28
user 17 160 654 24.46
user 18 157 2589 6.06
user 19 139 1514 9.18
user 20 127 742 17.12


사회 top users

userId top comment # total comment # top 10 성공률 (%)
user 21 366 953 38.41
user 22 308 1636 18.83
user 23 271 935 28.98
user 24 241 1254 19.22
user 25 233 1656 14.07
user 26 204 328 62.20
user 27 191 719 26.56
user 28 168 625 26.88
user 29 149 1190 12.52
user 30 148 1489 9.94


문화 top users

userId top comment # total comment # top 10 성공률 (%)
user 31 373 1636 22.80
user 32 367 935 39.25
user 33 301 1417 21.24
user 34 243 890 27.30
user 35 220 1656 13.29
user 36 188 1943 9.68
user 37 178 3245 5.49
user 38 172 2738 6.28
user 39 164 200 82.00
user 40 151 719 21.00


IT top users

userId top comment # total comment # top 10 성공률 (%)
user 41 714 3123 22.86
user 42 572 3886 14.72
user 43 442 2287 19.33
user 44 399 1468 27.18
user 45 231 810 28.52
user 46 234 3010 7.77
user 47 275 1622 16.95
user 48 317 1493 21.23
user 49 346 2349 14.73
user 50 364 1185 30.72


세계 top users

userId top comment # total comment # top 10 성공률 (%)
user 51 237 1636 14.49
user 52 214 1432 14.94
user 53 145 615 23.58
user 54 148 1709 8.66
user 55 155 611 25.37
user 56 156 1076 14.50
user 57 162 864 18.75
user 58 165 2778 5.94
user 59 165 1254 13.16
user 60 175 575 30.43


top user의 top 10 성공률을 확률 변수 X라고 했을 때의 histogram과 모든 유저가 전략을 바탕으로 활동하는 그룹이라고 가정했을 때 Gaussian distribution으로 추정한 확률 분포이다. (Gaussian Mixture Model로 distribution fitting한 결과는 Appendix A 참고)

mean: 25.0, std: 20.5

정치 섹션에서만 유일하게 ratio > 90% 인 top user(user 1, user 3)가 존재했으며 이들의 top 10 전략 성공률은 다른 top user 대비 발생하기 어려울 정도로 (0.0053%, 0.0079%) 높다고 해석할 수 있다.

숫자 이면의 패턴을 보기 위해 전체 정치면 기사들의 댓글 수와 user 1, user 3의 전체 댓글 수, top 10 내에 든 댓글 수를 그래프로 시각화 해보았다.

  • c.f. 2016.3 ~ 2018.5 까지 굵직한 이슈들[1] [2] [3]
    • 이세돌 vs. 알파고 (2016.3)
    • 옥시 (2016.4)
    • 최순실 태블릿 pc (2016.10)
    • 박근혜 탄핵 소추안 (2016.12)
    • 사드배치 / 박근혜 수감 / 세월호 인양(2017.3)
    • 19대 대통령 선거 (문재인 당선) (2017.5)
    • 이대목동 신생아 사망 (2017.12)
    • 평창 동계 올림픽 (2018.2)
    • 이명박 수감 (2018.3)
    • 드루킹 (2018.4)
    • 남북1차정상회담 @판문점 (2018.4)
    • 남북2차정상회담 (2018.5)

user 1 (ratio: 96%)


회색 line이 정치면 기사 댓글, 파란색 line이 작성자가 쓴 전체 댓글 수, 초록색 line이 작성자가 쓴 댓글 중 top 10 내에 들었던 댓글 수를 나타낸다.

user 1이 주로 활동했던 시기는, 최순실 태블릿 pc 사건, 박근혜 탄핵 및 19대 대통령 선거, 평창 동계올림픽 및 MB 다스 사건과 맞물려 있었다. 댓글 내용을 시기 별로 뜯어보면, 다음과 같다.

title article date user top comments
朴대통령, '29일까지 대면조사' 檢 요청에 사흘째 묵묵부답 2016-11-25 15:12:00 대통령인 자가 자신의 관할하에 있는 검찰을 부정한다면 곧 국가도 부정하겠다는 의미다. 이런 대통령은 더이상 대한민국 대통령이 아니다.
차은택 변호인 "차씨, 최순실 지시로 김기춘 실장 공관서 면담" 2016-11-27 16:04:00 김기춘의 진두지휘하에 박근혜 정권의 모든 불법들이 자행되었다. 정말 악마같은 인간이다.
변호인 "차은택, 崔 지시로 김기춘 만나…우병우 장모와 골프도"(종합) 2016-11-27 16:46:00 김기춘의 진두지휘하에 박근혜 정권의 불법들이 자행되었다. 구속수사해서 감옥에서 못나오게 만들어야 한다. 공작정치부터 공안탄압 정경유착의 죄를 물어야 한다.
청문회장도 지배한 '촛불민심'…與野 '재벌 봐주기' 없었다 2016-12-06 12:34:00 뇌물이었다는 진술을 이끌어내기에는 힘들것 같다. 지들이 감옥갈 일이니까... 강요죄는 확실할듯...
재벌 총수들 "청와대 거절 어려워"…하나같이 대가성 부인 2016-12-06 12:45:00 뇌물이었다는 진술을 이끌어내기에는 힘들것 같다. 지들이 감옥갈 일이니까... 강요죄는 확실할듯...
박한철 前소장 한표, '캐스팅보트' 될뻔한 아슬아슬 상황 나올까 2017-03-04 08:00:00 탄핵 기각에 표 던지면 그게 판사냐? 재판정에서 궤변을 늘어놓은 박측 대리인들의 안하무인에 손을 들어준다면 판사이기를 포기하고 박근혜 부역에 동참하겠다는 선언일 뿐이다.
85시간 재판, 속기록 3000쪽…탄핵심판 이번주 결론날까 2017-03-05 09:00:00 탄핵 기각에 표 던지면 그게 판사냐? 재판정에서 궤변을 늘어놓은 박측 대리인들의 안하무인에 손을 들어준다면 판사이기를 포기하고 박근혜 부역에 동참하겠다는 선언일 뿐이다.
[리얼미터] 다자 文 42.6% vs 安 37.2%…양자 文 47.6% vs 安 43.3% 2017-04-10 09:15:00 여론몰이에 흔들릴 국면이 아니다. 무쏘의 뿔처럼 나아가면 야합은 흩어지고 굳건함이 승리할 것이다.
文 "김부겸 동지 미안하다…꼭 국민통합 해내겠다" 2017-04-22 08:01:00 김부겸의 진심이 느껴지고 그를 위로하고 뜻을 같이 하는 문재인의 진심도 느껴진다. 남자들에게 이런 동지애는 죽음도 불사하게 만드는 마력과도 깉다. 조~오타!!!
文 대통령 "내게 반대하라" 파격적 수석회의 시동(상보) 2017-05-25 12:56:00 요새 대통령의 행동과 지시사항을 보면 정말 준비된 겸손한 사람이란게 진솔하게 느껴진다. 대한민국 국민인게 자랑스럽고 행복해진다.
文대통령 "사드 임시배치, 현재 정부가 취할 수 있는 최선의 조치"(종합) 2017-09-08 21:13:00 국가의 지도자는 자신의 굳은 신념까지도 국가와 국민을 위해 잠시 접어야할 용기가 필요할 때가있다. 그 지도자라고 왜 자신의 신념을 꺾음에 자괴감과 고민이 없겠는가? 그는 자신을 지지하는 사람들만의 지도자가 아니라 대한민국의 지도자이기 때문이다. 그의 고뇌찬 결단을 위로하며 지켜보고 힘을 실어주고 싶다.
與 "안철수, 나라다운 나라 만드는 일 폄훼 말라" 2017-11-04 16:10:00 명버기 구하기에 혈안이 된 명바기 아바타!!!
김정은 위원장 "이른 시일내 만날 용의"…문 대통령에 방북 요청(종합) 2018-02-10 15:56:00 남북 정상회담애서 허심탄회하게 모든 할 말 다해서 기필코 한반도 비핵화와 평화를 이루어야 한다.
[현장영상] 방미 특사단, 트럼프 대통령 면담 결과 발표 2018-03-09 09:11:00 한반도 평화가 세계 평화다. 이런 평화 모드가 얼마만인가...
  • 같은 내용의 댓글이 top 에 오른 것도 확인할 수 있었다.
    • 다른 섹션에 같은 댓글을 남기고도 top에 오른 적도 있다. (아래 표 참고)
    title section article date top user comments
    [현장영상] 박근혜 前 대통령 법원으로 출발 society 2017-03-30 10:18:00 최고의 보안과 경호를 철저히 받을 수 있는 구치소를 거쳐 교도소로 직행하면 나라도 안정되고 국민들도 평안하고 박근혜 자신도 언론의 감시로부터 벗어날수 있다.
    구속 갈림길에 선 박근혜 '웅변 대신 침묵' 선택 politics 2017-03-30 10:22:00 최고의 보안과 경호를 철저히 받을 수 있는 구치소를 거쳐 교도소로 직행하면 나라도 안정되고 국민들도 평안하고 박근혜 자신도 언론의 감시로부터 벗어날수 있다.


user 3 (ratio: 93%)


user 3 의 주 활동 시기는 사드배치, 평창 동계올림픽 및 북미회담과 맞물려있었다. 댓글을 자세히 보면 아래와 같다.

title article date user top comments
정상회담 돌발 변수는 '사드'…청 "모든 가능성 준비" 2017-06-25 20:20:00 국익과국가안보가최우선입니다~~~~
송영무 "사드, 비준 아닌 국회 검증…고액연봉·음주운전 송구"(종합) 2017-06-28 12:18:00 이유미녹취록에맛짱구치고놀아난언론은×
이유미-이준서 중 한 명은 거짓말…윗선 수사 불가피 2017-06-28 20:52:00 이유미녹취록에맛장구치고놀아난언론은~~~~????
軍, 송영무 인사청문회서 공개된 '군사기밀 유출' 조사 착수 2017-06-29 12:24:00 자유당놈들답다도둑놈들
文대통령, 내일 트럼프와 만난다…취임 후 첫 韓美정상회담 2017-06-29 13:54:00 국익과국가안보가최우선입니다부디좋은결과있으시길~
[단독] '제보 조작' 수사망 좁혀오자 安 독대한 이준서…왜? 2017-06-29 20:19:00 철수야~ 깜빵갈시간이다가오네~~~~
트럼프, 文대통령 부부에 백악관 사적공간 '트리티 룸' 깜짝공개(종합) 2017-06-30 13:23:00 문재인대통령님~ 멋저부러요~♡♡♡
한반도 이슈서 '주도권' 확보 성과…한미FTA 재협상 '숙제'(종합) 2017-07-01 10:05:00 국익과국가안보가최우선입니다부디좋은결과있으시길~~~~~~~~♡♡
남북 "4월말 정상회담 판문점서 개최"…특사단 발표(종합) 2018-03-06 20:24:00 이게 실화나ㅡ ㅡㅡㅡㅡ
문 대통령 "서울·평양·판문점 중 北이 판문점 정상회담 선택" 2018-03-07 15:28:00 문통 지지 합니다
문 대통령 "국외 대북 비밀접촉 없어…저쪽에 놀아나는 것 아냐" 2018-03-07 16:53:00 문 대통 령님 지지 합니다
文대통령 "북핵목표는 비핵화…제재완화, 지금은 불가능"(종합) 2018-03-07 17:16:00 문대통령님 지지합니다
[현장영상] 방미 특사단, 트럼프 대통령 면담 결과 발표 2018-03-09 09:11:00 이게 실화냐ㅡㅡㅡㅡ

Conclusions

어뷰저를 타인의 생각에 영향을 미치고 비정상적인 행태를 보이는 사용자로 정의하였고, 이 기준에 따라 어뷰저로 의심되는 사용자를 찾아내고자 하였다.

  1. 순공감 기준, 댓글이 10위권 내에 들었던 횟수가 많았던 작성자 중에서
  2. 작성한 댓글 수 대비 top 10 댓글 수의 비율이 일반적이지 않은 작성자

개인적으로, 1.2.의 기준에 드는 사용자는 user 1, user 3 라는 생각이다. 작성한 전체 댓글 수는 다른 사용자들에 비해 적은 편이었지만 top 댓글에 들었던 비율은 가장 높았고, 그 수치가 일반적이지는 않았다.

어뷰저를 찾고자 시작한 분석이었지만 데이터를 살펴보면서 네이버 뉴스 댓글이 가지는 단일하고 공개된 ranking system이 얼마나 위험한지를 오히려 인식하게 되었다.

분석한 기간에서 중복 제거한 기사의 수는 총 100,780개 였고, 만약 top 10 댓글의 작성자가 모두 다른 사용자였다면 1,007,800명이 각자의 의견을 개시했을 것이다. 하지만 실제 그 기간에 집계된 unique한 작성자는 총 308,731 명에 불과했다. 게다가 중복 댓글까지 포함하면, 그 다양성은 조금 더 떨어진다.

이 같은 면에서 네이버 뉴스 댓글은 다양성을 충분히 수용하고 있지 못하다는 생각이 들었다. "플랫폼이기 때문에 그럴 수 있지 않을까?" 싶지만 페이스북이나 유튜브, 레딧같은 다른 플랫폼에서의 댓글을 보면 무작정 호감순으로 정렬하지는 않는다. 이 플랫폼들의 기준이 문제가 없다는 것은 아니다. 하지만 네이버 뉴스 보다 다양한 기준으로 댓글을 정렬시키고 있으며 (최신순, 오래된 순, 공감을 많이 받은 순, relevance 순, 호감 + vote의 크기 등) 이를 통해 다양한 의견이 쉽게 노출될 수 있는 환경을 조성하였다는 점에서는 좀 더 높은 점수를 주고 싶다.

그래서 세 번째 글은, 간단하지만 다른 정렬 기준을 적용했을 때 발견되는 새로운 댓글에 대해서 다뤄 볼 예정이다. 프로젝트 초창기에, 같이 작업을 진행했던 재명님이 돌려본 결과가 있는데 이 것도 조금 다듬어서 올리면 재밌을 것 같다! 3탄은... 휴가(@Norway) 다녀오고 나서 작업해볼까 싶다. To be continued...

Appendix A: Gaussian Mixture Model Fitting

GMM의 n_components 최적 개수를 구하기 위해 silhouette score를 계산하였다.


score가 가장 높은 n_components=2 이므로 2개의 gaussian을 가정하여 fitting 해보면 아래 그림과 같다.

cluster 1: blue / cluster 2: orange

userId cluster 1 prob cluster 2 prob ratio (%)
user 1 2.27E-16 1 95.60
user 3 2.56E-15 1 93.08
user 2 9.31E-14 1 89.21
user 39 4.96E-11 1 82.00
user 6 8.11E-01 0.188898 41.27
user 9 1.00E+00 0.000219 15.05

References

Comments