리트리버 프로젝트

리트리버 프로젝트

계기

트위터나 페북에 마약 관련 댓글들이 많이 보이는데 이걸 왜 막지 못할까(않을까) 라는 호기심이 생겼다.

생각하다 보니 나도 모르게 코드를 짜고 있더라.. 원래 앞 뒤 잘 안재고 짜는게 취미라..

목표

마약 거래 광고에 대해 Real-Time Detection 할 수 있는 시스템을 만들고, 거래에 사용되는 메신저 계정에 대해 연관 관계를 구성한다.

즉, 새로운 트윗(포스트) 가 SNS에 올라오면 이걸 잘 지켜보고 있던 리트리버는 이를 시스템에 넣어서 판별할 수 있는 시스템을 구성하는게 최종 목표다.

이를 응용하면 훨씬 더 많은 insight를 찾아낼 수 있을 것 같아서 시작하게 되었다.

진행 방법

트윗이나 포스트를 가져오는 예제는 다른 사람들이 잘 짜둔 것들이 있으니 패스 하도록 하겠다.

궁금한 사람은 Stack Overflow나 구글에서 검색 해보면 잘 나올 것이다.

Classification

단순히 수집만 하는게 아니라 이를 똑똑 하게 분류 할 수 있는 기술이 필요했다.

초반 몇백개야 내가 눈으로 보고 구분이 가능 하지만, 글이 10만개가 넘어가면 내가 일일이 하기엔 너무 힘들었다.

머신러닝은 잘 하지 못해서 그냥 남들이 잘 만들어 둔 인공신경망을 가져다가 약간 수정해 가며 사용했다.

초반에 정상 500개, 악성(마약 관련 거래 내용) 500개를 이용하여 분류하도록 학습 시켰고, 중간중간 내가 학습 내용을 반영해 주었다.

tweets

한 3일 정도 하니깐 수동으로 하지 않아도 대부분 다 탐지할 수 있을 정도로 성장하고 있었다.

이제 내가 하나하나 보지 않아도 될 정도로 성장 했으니 난 다른 것을 하면 되었다.

Keyword Extraction

최초 검색 키워드는 제가 4개 정도를 던져 줬다.

마약과 직접적인 관계가 있는 것들 키워드를 시작으로 분류를 통해 마약으로 분류된 트윗에서 언급된 키워드를 찾고 이에 대한 grouping 작업을 진행했다.

group

이렇게 키워드를 기반으로 grouping 작업을 하고, 해당 키워드에서 얼마나 가까운지를 계산하여 나름대로의 새로운 그룹군을 찾을 수 있었다.

현재는 필터링을 통해 42개의 키워드를 기반으로 수집하고 있다.

결과 분석

수집 기간: 2020년 2월 25일 오전 11시 33분 ~ 현재 (약 1개월 11일)

144,759개의 글과 연관된 94,763개의 unique한 계정을 수집

메신저

요즘 핫한 텔레그램위커 뿐 만 아니라 기성 일반 메신저인 라인카카오톡 도 사용하고 있다.

그냥 딱히 메신저 관련해선 신경 안 쓰는 것 같았다.

키워드

항상 키워드를 분석해 보면 네이버 실시간 검색어와 연동하고 있다는 느낌이 많이 들었다.

신종 코로나바이러스가 제일 유행할 때엔 코로나 라는 키워드가 많이 올라왔고 그 외에도 핫한 단어가 있다면 그 단어를 넣는 방식으로 홍보하는 것 같다.

최근 네이버에서 실시간 검색어 기능을 제공하지 않게 되면서 이런 검색어 관련 키워드는 많이 줄어들었다.

이 부분은 나중에 더 분석해서 그래프로 정리해서 올리도록 하겠다. (지금은 이따가 소고기 먹어야 되서 힘들다.)

계정 생성 주기

이런 광고성 계정들은 대개 생성된 지 얼마 안된 경우가 많다.

그리고 글이 올라온지 1-2달 정도 지나면 트윗들이 모두 삭제되어 있다. (트위터 측에서 삭제할지도..)

또 이런 계정들엔 사진이 랜덤으로 걸려 있는데 대부분 그냥 구글에 돌아 다니는 아무 사진 긁어다가 쓰는 것 같다.

(최대한 진짜 계정처럼 보일려고 하는 걸수도..)

여튼 이거 통해서 많은 결과들을 도출할 수 있는 side-project 였다.

정확하게 하루에 딱 2시간씩 3일 투자한 프로젝트 치곤 괜찮은 결과였다.

지금도 계속 운영하고 있으니 더 많은 지표들이 생기면 업데이트 해야겠다.

데이터 공개

앞으로는 어떻게 될 진 모르겠지만 일단 데이터 공개 계획은 현재까진 없다.