KR102085593B1 - 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치 - Google Patents

기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치 Download PDF

Info

Publication number
KR102085593B1
KR102085593B1 KR1020190113234A KR20190113234A KR102085593B1 KR 102085593 B1 KR102085593 B1 KR 102085593B1 KR 1020190113234 A KR1020190113234 A KR 1020190113234A KR 20190113234 A KR20190113234 A KR 20190113234A KR 102085593 B1 KR102085593 B1 KR 102085593B1
Authority
KR
South Korea
Prior art keywords
posting
blockchain
user
sns
bot
Prior art date
Application number
KR1020190113234A
Other languages
English (en)
Inventor
황형주
신효민
김태현
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020190113234A priority Critical patent/KR102085593B1/ko
Application granted granted Critical
Publication of KR102085593B1 publication Critical patent/KR102085593B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치가 제공된다. 본 발명의 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법은 기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집하는 단계, 데이터에 대한 특징을 추출하는 단계, 기분류된 유저의 데이터를 기반으로 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하는 단계, 및 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정하는 단계를 포함한다.

Description

기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치{Method and device for detecting posting bot for blockchain SNS based on machine learning}
본 발명은 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치에 관한 것이다.
SNS에서의 포스팅이란 유저가 작성한 글(제목 및 내용)과 그 유저가 작성한 댓글을 포함한다. 또한, 블록체인 기술이 발전함에 따라 블록체인 상에서 게임, SNS 등 다양한 서비스가 시도되고 있다.
여기서, 블록체인 기반 SNS의 경우 글을 작성하는 행위인 포스팅이 코인 보상과 직결된다. 유해한 목적의 포스팅이나 무분별하게 반복되는 포스팅을 통해 블록체인 SNS 내 생성되는 코인을 일부 공유함으로써 정당한 포스팅을 하는 이용자에게 돌아갈 블록체인 코인이 줄어들고 그에 따라 블록체인 SNS의 이용자 수가 감소하고 있는 실정이다. 따라서 블록체인 SNS 상의 포스팅 봇 검출 방안이 요구되고 있다.
KR 2015-0100993 A
상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 블록체인 SNS 내 유저가 작성한 포스팅으로부터 추출한 특징을 기반으로 하여 포스팅 봇 검출 모델을 생성하고 이 모델을 이용하여 포스팅 봇을 검출할 수 있는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치를 제공하고자 한다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집하는 단계; 상기 데이터에 대한 특징을 추출하는 단계; 상기 기분류된 유저의 데이터를 기반으로 상기 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하는 단계; 및 상기 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정하는 단계;를 포함하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법이 제공된다.
일 실시예에서, 상기 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함할 수 있다.
일 실시예에서, 상기 특징을 추출하는 단계는 상기 유저가 작성한 포스팅을 분석하는 단계; 상기 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하는 단계; 상기 유저의 유저간 블록체인 거래 내역을 분석하는 단계; 및 SNS 특징을 추출하는 단계;를 포함할 수 있다.
일 실시예에서, 상기 포스팅을 분석하는 단계는 상기 포스팅을 제목, 내용 및 댓글로 구분하며, 자주 사용되는 단어와 포스팅들 사이의 거리를 정의하며, 상기 거리에 따라 각 포스팅을 클러스터링하고, 상기 제목, 상기 내용 및 상기 댓글 각각에 대하여 최소 평균을 가지는 클러스터의 평균과 분산, 및 클러스터의 개수를 포스팅 특징으로 추출할 수 있다.
일 실시예에서, 상기 시간 엔트로피를 연산하는 단계는 하기의 식에 따라 시간 엔트로피를 연산하며,
Figure 112019093962351-pat00001
여기서, S는 시간 엔트로피, p는 상기 포스팅의 작성 시간에 대한 확률분포, n은 데이터 개수이고, 모든 포스팅의 작성 시간, 포스팅 중 글의 작성 시간, 및 포스팅 중 댓글의 작성 시간 각각에 대한 일별 엔트로피를 특징으로 추출할 수 있다.
일 실시예에서, 상기 블록체인 거래 내역을 분석하는 단계는 다른 유저와의 블록체인 코인 거래를 분석하고, 블록체인 코인 거래 횟수 및 거래 시간에 대한 엔트로피를 특징으로 추출할 수 있다.
일 실시예에서, 상기 SNS 특징을 추출하는 단계는 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일), 계정이 존속된 기간, 포스팅에 포함된 해시태그(Hashtag), 멘션(Mention) 및 url의 개수, 전체 포스팅에 대한 url이 포함된 포스팅의 비율, 유저를 팔로우한 계정 수, 유저가 팔로우한 계정 수, 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율, 포스팅 중 글 및 댓글의 횟수, 블록체인 운영진이 유저의 계정을 생성한 여부, 일별 작성한 포스팅 개수, 및 일별 팔로우한 계정 수를 특징으로 추출할 수 있다.
일 실시예에서, 상기 학습 모델을 생성하는 단계는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 앙상블을 통하여 유저를 분류할 수 있다.
일 실시예에서, 상기 포스팅 봇을 결정하는 단계는 상기 학습 모델에 의해 결정되는 상기 특징의 중요도에 따라 상기 신규 유저를 분류할 수 있다.
본 발명의 다른 측면에 따르면, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집하고, 상기 데이터에 대한 특징을 추출하며, 상기 기분류된 유저의 데이터를 기반으로 상기 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하고, 상기 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치가 제공된다.
일 실시예에서, 상기 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 상기 유저가 작성한 포스팅을 분석하고, 상기 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하며, 상기 유저의 유저간 블록체인 거래 내역을 분석하고, SNS 특징을 추출할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 상기 포스팅을 제목, 내용 및 댓글로 구분하며, 자주 사용되는 단어와 포스팅들 사이의 거리를 정의하며, 상기 거리에 따라 각 포스팅을 클러스터링하고, 상기 제목, 상기 내용 및 상기 댓글 각각에 대하여 최소 평균을 가지는 클러스터의 평균과 분산, 및 클러스터의 개수를 포스팅 특징으로 추출할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 하기의 식에 따라 시간 엔트로피를 연산하며,
Figure 112019093962351-pat00002
여기서, S는 시간 엔트로피, p는 상기 포스팅의 작성 시간에 대한 확률분포, n은 데이터 개수이고, 모든 포스팅의 작성 시간, 포스팅 중 글의 작성 시간, 및 포스팅 중 댓글의 작성 시간 각각에 대한 일별 엔트로피를 특징으로 추출할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 다른 유저와의 블록체인 코인 거래를 분석하고, 블록체인 코인 거래 횟수 및 거래 시간에 대한 엔트로피를 특징으로 추출할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일), 계정이 존속된 기간, 포스팅에 포함된 해시태그(Hashtag), 멘션(Mention) 및 url의 개수, 전체 포스팅에 대한 url이 포함된 포스팅의 비율, 유저를 팔로우한 계정 수, 유저가 팔로우한 계정 수, 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율, 포스팅 중 글 및 댓글의 횟수, 블록체인 운영진이 유저의 계정을 생성한 여부, 일별 작성한 포스팅 개수, 및 일별 팔로우한 계정 수를 특징으로 추출할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 앙상블을 통하여 유저를 분류할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는 상기 학습 모델에 의해 결정되는 상기 특징의 중요도에 따라 상기 신규 유저를 분류할 수 있다.
본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치는 블록체인 내부에서 얻을 수 있는 특징 및 각 계정이 작성한 글 혹은 댓글 등에서 얻을 수 있는 특징을 추출하고, 이를 앙상블 기계학습 알고리즘을 기계학습 모델을 생성하여 블록체인 SNS 상의 포스팅 봇을 검출함으로써, 포스팅 봇의 검출 정확도를 향상시킬 수 있다.
또한, 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법 및 장치는 SNS 상의 포스팅 봇을 정확하게 검출함으로써, 블록체인 SNS 내 포스팅 봇에 대한 포스팅의 보상을 실제로 작성하는 유저에게 정상적으로 지급할 수 있도록 할 수 있으므로 블록체인 SNS의 이용을 활성화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치의 블록도이고,
도 2는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법의 순서도이며,
도 3은 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에서 특징을 추출하는 방법의 순서도이고,
도 4는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 대한 모의 실험결과 중 특징 중요도를 나타낸 그래프이고,
도 5는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 대한 모의 실험결과 중 ROC 곡선과 그 곡선의 AUC 점수를 나타낸 그래프이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이며, 아래에 설명되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 발명을 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. 
본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되지 않음은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열을 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.
본 명세서에서, "또는", "적어도 하나" 등의 용어는 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, "A 또는 B", "A 및 B 중 적어도 하나"는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
이하, 본 발명의 실시예들은 본 발명의 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.
도 1은 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 통신부(110), 프로세서(120) 및 메모리(130)를 포함한다.
기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 기계학습 알고리즘 중 앙상블 방법론을 이용하여 블록체인 SNS 상의 포스팅 봇을 감지하기 위한 것이다. 여기서, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 블록체인 SNS 내 기분류된 유저의 데이터를 기반으로 특징(Feature)을 추출하여 앙상블 기계학습 모델로 학습하고, 그 학습된 모델을 기반으로 분류되지 않은 유저의 포스팅 봇 여부를 결정한다.
통신부(110)는 외부장치(미도시)와의 통신을 수행한다. 이를 위해, 통신부(110)는 무선랜 또는 셀룰러 망과 같은 공중 통신망을 통하여 무선 통신을 수행할 수 있고, USB케이블 등의 유선 통신을 수행할 수 있다. 아울러, 외부장치는 블록체인 SNS 상의 유저의 단말 또는 포스팅 봇일 수 있다.
메모리(130)는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)의 동작 프로그램들을 저장한다. 메모리(130)는 SNS 포스팅 봇의 검출 과정에서 수집되는 데이터 및 그로부터 추출되는 특징, 학습 모델에 따른 특징 중요도를 저장할 수 있다.
프로세서(120)는 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서일 수 있다. 여기서, 프로세서(120)는 선행적으로 분류된 블록체인 SNS 상의 포스팅 봇과 일반 유저에 대한 데이터를 추출 및 가공하여 앙상블 기계학습 기법을 통해 분석하고, 블록체인 SNS 계정이 추가되었을 때 주어진 계정들에 대한 포스팅 봇 여부를 판별할 수 있다.
먼저, 프로세서(120)는 블록체인 SNS 포스팅 봇 검출을 위한 기본적인 데이터를 수집할 수 있다. 여기서, 블록체인 SNS의 경우, 기본적으로 유저의 글, 댓글, 팔로우 여부, 및 거래 내역에 관한 데이터를 블록체인에 저장하고, 블록체인의 특성상 이러한 데이터는 임의로 수정할 수 없다. 따라서 블록체인 SNS 유저의 모든 내역을 손실없이 수집할 수 있다.
이때, 프로세서(120)는 기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집할 수 있다. 여기서, 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함할 수 있다.
보다 구체적으로, 포스팅 정보는 유저가 작성한 글에 대한 제목과 내용, 및 유저가 작성한 댓글을 포함할 수 있다. 계정 정보는 유저의 계정 생성일 등을 포함할 수 있다. 팔로우 정보는 유저가 팔로우한 다른 계정의 수, 해당 유저를 팔로우 한 다른 계정의 수를 포함할 수 있다. 블록체인 코인 거래 정보는 유저가 다른 유저와 거래한 정보를 포함할 수 있다. 이때, 자신과 거래한 정보는 허수 거래 정보이므로 배제할 수 있다.
또한, 프로세서(120)는 수집된 데이터에 대한 특징을 추출할 수 있다. 여기서, 프로세서(120)는 유저가 작성한 포스팅을 분석하고, 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하며, 유저의 유저간 블록체인 거래 내역을 분석하고, SNS 특징을 추출할 수 있다.
이때, 프로세서(120)는 학습 모델의 입력값인 블록체인 SNS 유저의 특징 중 유저가 작성한 포스팅 데이터에 대한 특징을 추출하기 위하여 포스팅에서의 단어를 분석 및 클러스터링(Clustering)할 수 있다.
여기서, 포스팅 봇의 경우, 다양한 형태로 존재하는데, 제목의 형태 또는 내용의 형태가 유사하거나, 댓글의 형태가 유사하다. 또한, 어떤 유저가 포스팅을 할 때 자주 사용된 단어들이 존재한다.
이와 같은 상황을 고려하면, 포스팅에서 자주 사용된 단어들과 다른 포스팅과의 사이에 거리를 정의할 수 있다. 이때, 포스팅 봇의 경우, 유사한 글을 작성하기 때문에 자주 사용된 단어들과 포스팅들 사이에 거리가 작게 나타날 수 있다.
따라서 프로세서(120)는 제목, 내용 및 댓글을 고려하여 포스팅 봇을 검출하기 위하여 포스팅을 유저가 작성한 글의 제목과 내용 및 댓글로 구분하며, 구분된 각각의 제목, 내용 및 댓글에 대하여 자주 사용되는 단어와 포스팅들 사이의 거리를 정의하며, 정의된 거리에 따라 각 포스팅을 클러스터링할 수 있다.
여기서, 임의의 유저 계정이 포스팅한 데이터 중 제목, 내용 및 댓글 각각의 경우에 대하여 특징을 추출하는 방법은 동일하므로 제목에 대해서만 설명한다. 임의의 유저 계정이 작성한 포스팅 중 제목에 사용된 모든 단어 중 주요 단어를 선택하고, 이 주요 단어와 다른 제목들 간의 거리를 정의한다. 일례로, 거리는 기준문장과 비교문장의 단어 유사도 또는 동일 단어 수를 기초로 정의될 수 있다.
이때, 프로세서(120)는 정의된 거리를 이용하여 모든 포스팅의 제목을 클러스터링할 수 있다. 일례로, 프로세서(120)는 디리클레 프로세스 가우시안 믹스쳐 모델(Dirichlet Process Gaussian Mixture Model)을 이용하여 클러스터링을 수행할 수 있다. 이에 의해, 클러스터의 개수를 조절할 수 있고, 따라서 클러스터의 개수 역시 특징으로 추출할 수 있다.
이와 같이, 거리에 대한 클러스터가 정해지면, 프로세서(120)는 학습 모델 생성에 필요한 특징을 추출할 수 있다. 일례로, 프로세서(120)는 아래의 표 1과 같은 특징을 추출할 수 있다. 여기서, 최소 평균은 거리에 대한 값일 수 있다.
No. 특징
0 포스팅 중 글의 제목에 대한 최소 평균을 가지는 클러스터의 평균
1 포스팅 중 글의 제목에 대한 최소 평균을 가지는 클러스터의 분산
2 포스팅 중 글의 제목에 대한 클러스터의 개수
3 포스팅 중 글의 내용에 대한 최소 평균을 가지는 클러스터의 평균
4 포스팅 중 글의 내용에 대한 최소 평균을 가지는 클러스터의 분산
5 포스팅 중 글의 내용에 대한 클러스터의 개수
6 포스팅 중 댓글에 대한 최소 평균을 가지는 클러스터의 평균
7 포스팅 중 댓글에 대한 최소 평균을 가지는 클러스터의 분산
8 포스팅 중 댓글에 대한 클러스터의 개수
한편, 일반적인 유저의 경우 포스팅을 자주하기 힘들고, 포스팅을 규칙적으로 하기 쉽지 않다. 반면, 포스팅 봇 중 일부는 일정 시간에 어떠한 정보를 리포트하는 형태이다. 이러한 포스팅 봇을 검출하기 위해서는 포스팅 작성 시간 엔트로피를 특징으로 추출할 수 있다.
이를 위해, 프로세서(120)는 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산할 수 있다. 여기서, 포스팅 작성 시간 엔트로피는 각 포스팅들이 언제, 얼마나 자주, 얼마나 규칙적으로 생성되었는지 측정하는 지표로 활용된다. 일례로, 분포가 집중되어 있을수록 그 분포의 엔트로피는 낮아지고, 반대로 고른 분포의 경우 엔트로피가 커진다.
일례로, 프로세서(120)는 하기의 수학식 1에 따라 시간 엔트로피를 연산할 수 있다.
Figure 112019093962351-pat00003
여기서, S는 시간 엔트로피, p는 상기 포스팅의 작성 시간에 대한 확률분포, n은 데이터 개수이다.
이때, 시간 엔트로피는 일별 엔트로피, 요일별 엔트로피, 및 시간별 엔트로피를 포함할 수 있다. 바람직하게는 프로세서(120)는 일별 엔트로피를 연산할 수 있다. 일별 엔트로피는 작성한 포스팅이 하루에 얼마나 자주 있었는가에 대한 엔트로피로서, 프로세서(120)는 일별로 작성된 글들에 대한 분포를 구하고 이를 수학식 1에 대입하여 연산할 수 있다. 일별 엔트로피의 경우, 프로세서(120)는 일별로 작성된 포스팅 전체 혹은 댓글과 일반적인 글(제목 및 내용)을 구분하여 산출할 수 있다.
일례로, 프로세서(120)는 아래의 표 2와 같은 특징을 추출할 수 있다.
No. 특징
9 모든 포스팅의 시간에 대한 일별 엔트로피
10 포스팅 중 글의 시간에 대한 일별 엔트로피
11 포스팅 중 댓글의 시간에 대한 일별 엔트로피
또한, 프로세서(120)는 유저 간 블록체인 코인 거래에 대한 특징을 추출할 수 있다. 여기서, 블록체인은 코인 거래가 가능하고, 이에 대한 데이터를 추출할 수 있다. 이러한 점은 일반적인 SNS와 차별화되는 점으로서, 일반적인 SNS에서는 검출하기 어려운 경우, 즉, 금전적인 거래를 한 후 포스팅을 해주는 경우를 투명하게 검출할 수 있다.
따라서 프로세서(120)는 다른 유저와의 블록체인 코인 거래를 분석할 수 있다. 일례로, 프로세서(120)는 아래의 표 3과 같은 특징을 추출할 수 있다.
No. 특징
12 블록체인 코인 거래 횟수
13 블록체인 코인 거래 시간에 대한 엔트로피
또한, 프로세서(120)는 트위터, 페이스북 등과 같은 일반적인 SNS에서 나타나는 특징을 추출할 수 있다. 여기서, 유저의 일반적인 SNS 특징을 이용하여 악의적인 행동을 하는 유저를 검출하기 위한 중요한 특징이 선택될 수 있다. 일례로, 프로세서(120)는 아래의 표 4와 같은 특징을 추출할 수 있다.
No. 특징
14 유저의 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일)
15 유저의 계정이 존속된 기간
16 유저의 포스팅에 포함된 해시태그(Hashtag)의 개수
17 유저의 포스팅에 포함된 멘션(Mention)의 개수
18 유저의 포스팅에 포함된 url의 개수
19 유저의 전체 포스팅에 대한 url이 포함된 포스팅의 비율
20 유저를 팔로우한 계정 수
21 유저가 팔로우한 계정 수
22 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율
23 유저의 포스팅 중 글의 횟수
24 유저의 포스팅 중 댓글의 횟수
25 블록체인 운영진이 유저의 계정을 생성한 여부
26 유저가 일별 작성한 포스팅 개수
27 유저가 일별 팔로우한 계정 수
또한, 프로세서(120)는 기분류된 유저의 데이터를 기반으로 표 1 내지 표 4와 같은 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성할 수 있다. 여기서, 블록체인 SNS 내 포스팅 봇 또는 일반적인 유저의 행동패턴은 매우 다양하기 때문에, 프로세서(120)는 대량의 데이터를 분류할 수 있는 앙상블(Ensemble) 모델을 이용할 수 있다. 이때, 프로세서(120)는 후술하는 신규 유저에 대한 분류 결과를 입력받아 학습 모델을 개선할 수 있다.
일례로, 프로세서(120)는 Python 프로그램 언어를 활용하여 Python 라이브러리 중 하나인 Scikit-learn에서 지원하는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘을 용이할 수 있다. 즉, 프로세서(120)는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 앙상블을 통하여 유저를 분류할 수 있다.
이때, 프로세서(120)는 앙상블 방법으로서 세 가지 알고리즘 각각의 결과로 나타내어지는 포스팅 봇 여부에 대한 과반수로 판단할 수 있다. 또한, 프로세서(120)는 앙상블 방법으로서 각 알고리즘에서 제시하는 포스팅 봇 확률의 평균이 기준 확률 이상이면, 포스팅 봇으로 판단할 수 있다. 또한, 프로세서(120)는 앙상블 방법으로서, 각 알고리즘이 제시하는 확률에 가중치를 두어 판단할 수 있다.
일례로, 학습 모델에 따라 포스팅 봇을 판단하기 위한 입력된 특징의 중요도는 아래의 표 5와 같이 나타났다.
순위 특징 중요도
1 포스팅 중 글의 제목에 대한 최소 평균을 가지는 클러스터의 분산 0.162675
2 포스팅 중 글의 제목에 대한 최소 평균을 가지는 클러스터의 평균 0.152916
3 포스팅 중 댓글에 대한 최소 평균을 가지는 클러스터의 분산 0.082705
4 유저를 팔로우한 계정 수 0.074814
5 유저의 전체 포스팅에 대한 url이 포함된 포스팅의 비율 0.070511
6 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율 0.058777
7 블록체인 운영진이 유저의 계정을 생성한 여부 0.048263
8 포스팅 중 댓글에 대한 최소 평균을 가지는 클러스터의 평균 0.043848
9 유저의 포스팅에 포함된 멘션(Mention)의 개수 0.039608
10 포스팅 중 글의 내용에 대한 최소 평균을 가지는 클러스터의 분산 0.027292
11 모든 포스팅의 시간에 대한 일별 엔트로피 0.025901
12 포스팅 중 글의 내용에 대한 최소 평균을 가지는 클러스터의 평균 0.024905
13 유저의 포스팅에 포함된 해시태그(Hashtag)의 개수 0.022807
14 유저가 일별 작성한 포스팅 개수 0.022742
15 유저가 팔로우한 계정 수 0.018368
16 유저의 포스팅에 포함된 url의 개수 0.015977
17 유저의 포스팅 중 댓글의 횟수 0.013568
18 포스팅 중 글의 시간에 대한 일별 엔트로피 0.013013
19 유저의 계정이 존속된 기간 0.012473
20 포스팅 중 댓글의 시간에 대한 일별 엔트로피 0.012361
21 유저의 포스팅 중 글의 횟수 0.011262
22 블록체인 코인 거래 시간에 대한 엔트로피 0.010321
23 블록체인 코인 거래 횟수 0.009322
24 유저가 일별 팔로우한 계정 수 0.009060
25 유저의 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일) 0.006981
26 포스팅 중 글의 내용에 대한 클러스터의 개수 0.003356
27 포스팅 중 댓글에 대한 클러스터의 개수 0.003235
28 포스팅 중 글의 제목에 대한 클러스터의 개수 0.002939
또한, 프로세서(120)는 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정할 수 있다. 즉, 프로세서(120)는 학습 모델에 필요한 신규 유저의 특징을 추출하고, 이를 학습 모델에 적용할 수 있다. 이때, 프로세서(120)는 학습 모델에 의해 결정되는 특징의 중요도에 따라 신규 유저를 분류할 수 있다.
선택적으로, 프로세서(120)는 학습 모델의 개선을 위해 신규 유저에 대한 분류 결과를 학습 모델에 활용할 수 있다.
이와 같은 구성에 의해, 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 포스팅 봇의 검출 정확도를 향상시킬 수 있으며, 블록체인 SNS 내 포스팅 봇에 대한 포스팅의 보상을 실제로 작성하는 유저에게 정상적으로 지급할 수 있도록 할 수 있으므로 블록체인 SNS의 이용을 활성화할 수 있다.
이하, 도 2 내지 도 5를 참조하여 본 발명의 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법을 설명한다.
도 2는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법의 순서도이다.
기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법(200)은 블록체인 SNS 포스팅 봇 검출을 위한 기본적인 데이터를 수집하는 단계(S210), 학습 모델에 적용하기 위한 특징을 추출하는 단계(S220), 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하는 단계(S230) 및 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 검출하는 단계(S240)를 포함한다.
보다 상세히 설명하면, 도 2에 도시된 바와 같이, 먼저, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집한다(단계 S210). 여기서, 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함할 수 있다.
이때, 포스팅 정보는 유저가 작성한 글에 대한 제목과 내용, 및 유저가 작성한 댓글을 포함할 수 있다. 계정 정보는 유저의 계정 생성일 등을 포함할 수 있다. 팔로우 정보는 유저가 팔로우한 다른 계정의 수, 해당 유저를 팔로우 한 다른 계정의 수를 포함할 수 있다. 블록체인 코인 거래 정보는 유저가 다른 유저와 거래한 정보를 포함할 수 있다. 이때, 자신과 거래한 정보는 허수 거래 정보이므로 배제할 수 있다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 블록체인 SNS의 유저 중 포스팅 봇과 일반적 유저로 기분류된 유저들의 블록체인 SNS 활동 내역에 대한 특징을 추출한다(단계 S220).
이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 유저가 작성한 포스팅을 분석하고, 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하며, 유저의 유저간 블록체인 거래 내역을 분석하고, SNS 특징을 추출함으로써, 표 1 내지 표 4와 같은 특징을 추출할 수 있다. 구체적인 설명은 도 3을 참조하여 후술한다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 앙상블 기계학습 방법론을 이용하여 생성된 특징에 대한 포스팅 봇 검출 모델을 생성한다(단계 S230). 이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 기분류된 유저의 데이터를 기반으로 표 1 내지 표 4와 같은 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성할 수 있다.
일례로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 Python 프로그램 언어를 활용하여 Python 라이브러리 중 하나인 Scikit-learn에서 지원하는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘을 용이할 수 있다. 즉, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 앙상블을 통하여 유저를 분류할 수 있다.
이때, 앙상블 방법은 세 가지 알고리즘 각각의 결과로 나타내어지는 포스팅 봇 여부에 대한 과반수로 판단할 수 있다. 또한, 앙상블 방법은 각 알고리즘에서 제시하는 포스팅 봇 확률의 평균이 기준 확률 이상이면, 포스팅 봇으로 판단할 수 있다. 또한, 앙상블 방법은 각 알고리즘이 제시하는 확률에 가중치를 두어 판단할 수 있다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정한다(단계 S240). 이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 학습 모델에 필요한 신규 유저에 대한 특징을 추출하고 이를 포스팅 봇 검출 모델을 통해 분석하여 신규 유저의 포스팅 봇 여부를 결정할 수 있다. 여기서, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 학습 모델에 의해 결정되는 특징의 중요도에 따라 신규 유저를 분류할 수 있다.
선택적으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 학습 모델의 개선을 위해 신규 유저에 대한 분류 결과를 학습 모델에 활용할 수 있다.
도 3은 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에서 특징을 추출하는 방법의 순서도이다.
특징을 추출하는 방법(220)은 유저가 작성한 포스팅을 분석하는 단계(S221), 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하는 단계(S222), 유저의 유저간 블록체인 거래 내역을 분석하는 단계(S223) 및 SNS 특징을 추출하는 단계(S224)를 포함한다.
보다 상세히 설명하면, 도 3에 도시된 바와 같이, 먼저, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 유저가 작성한 포스팅을 분석한다(단계 S221). 이때, 학습 모델의 입력값인 블록체인 SNS 유저의 특징 중 유저가 작성한 포스팅 데이터에 대한 특징을 추출하기 위하여 포스팅에서의 단어를 분석 및 클러스터링할 수 있다.
보다 구체적으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 제목, 내용 및 댓글을 고려하여 포스팅 봇을 검출하기 위하여 포스팅을 유저가 작성한 글의 제목과 내용 및 댓글로 구분하며, 구분된 각각의 제목, 내용 및 댓글에 대하여 자주 사용되는 단어와 포스팅들 사이의 거리를 정의하며, 정의된 거리에 따라 각 포스팅을 클러스터링할 수 있다.
여기서, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 임의의 유저 계정이 작성한 포스팅 중 제목에 사용된 모든 단어 중 주요 단어를 선택하고, 이 주요 단어와 다른 제목들 간의 거리를 정의한다. 일례로, 거리는 기준문장과 비교문장의 단어 유사도 또는 동일 단어 수를 기초로 정의될 수 있다.
이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 정의된 거리를 이용하여 모든 포스팅의 제목을 클러스터링할 수 있다. 일례로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 디리클레 프로세스 가우시안 믹스쳐 모델을 이용하여 클러스터링을 수행할 수 있다. 이에 의해, 클러스터의 개수를 조절할 수 있고, 따라서 클러스터의 개수 역시 특징으로 추출할 수 있다.
이와 같이, 거리에 대한 클러스터가 정해지면, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 학습 모델 생성에 필요한 특징을 상술한 표 1과 같이 추출할 수 있다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 신규 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산한다(단계 S222). 여기서, 포스팅 작성 시간 엔트로피는 각 포스팅들이 언제, 얼마나 자주, 얼마나 규칙적으로 생성되었는지 측정하는 지표로 활용된다. 일례로, 분포가 집중되어 있을수록 그 분포의 엔트로피는 낮아지고, 반대로 고른 분포의 경우 엔트로피가 커진다.
일례로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 상술한 수학식 1에 따라 시간 엔트로피를 연산할 수 있다. 여기서, 시간 엔트로피는 일별 엔트로피, 요일별 엔트로피, 및 시간별 엔트로피를 포함할 수 있다. 바람직하게는 일별 엔트로피가 연산될 수 있다. 일별 엔트로피는 작성한 포스팅이 하루에 얼마나 자주 있었는가에 대한 엔트로피로서, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 일별로 작성된 글들에 대한 분포를 구하고 이를 수학식 1에 대입하여 연산할 수 있다. 일별 엔트로피는 일별로 작성된 포스팅 전체 혹은 댓글과 일반적인 글을 구분하여 산출될 수 있다.
이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 상술한 표 2와 같은 특징을 추출할 수 있다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 유저의 유저간 블록체인 거래 내역을 분석한다(단계 S223). 이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 상술한 표 3과 같은 특징을 유저 간 블록체인 코인 거래에 대한 특징으로 추출할 수 있다.
여기서, 블록체인은 코인 거래가 가능하고, 이에 대한 데이터를 추출할 수 있다. 이러한 점은 일반적인 SNS와 차별화되는 점으로서, 일반적인 SNS에서는 검출하기 어려운 경우, 즉, 금전적인 거래를 한 후 포스팅을 해주는 경우를 투명하게 검출할 수 있다.
다음으로, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 SNS 특징을 추출한다(단계 S224). 이때, 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치(100)는 트위터, 페이스북 등과 같은 일반적인 SNS에서 나타나는 특징을 추출할 수 있다. 여기서, 유저의 일반적인 SNS 특징을 이용하여 악의적인 행동을 하는 유저를 검출하기 위한 중요한 특징이 선택될 수 있다. 일례로, 상술한 표 4와 같은 특징이 추출될 수 있다.
이와 같은 방법에 의해, 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법은 포스팅 봇의 검출 정확도를 향상시킬 수 있으며, 블록체인 SNS 내 포스팅 봇에 대한 포스팅의 보상을 실제로 작성하는 유저에게 정상적으로 지급할 수 있도록 할 수 있으므로 블록체인 SNS의 이용을 활성화할 수 있다.
한편, 상술한 바와 같은 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 대한 포스팅 봇을 검출 테스트를 모의 실험하였다. 이때, 기존의 분류된 유저 데이터 중 70%의 데이터를 이용하여 학습 모델을 생성하고, 30%의 데이터에 대하여 포스팅 봇을 검출하였다. 여기서, 입력된 유저의 포스팅 봇 여부를 판단하는 성능에 대한 평가지표로서 정확도(Accuracy)와 ROC-AUC 점수를 사용하였다.
도 4는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 대한 모의 실험결과 중 특징 중요도를 나타낸 그래프이고, 도 5는 본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 대한 모의 실험결과 중 ROC 곡선과 그 곡선의 AUC 점수를 나타낸 그래프이다.
본 발명의 일 실시예에 따른 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법에 의한 테스트 결과 정확도는 92%로 산출되었다.
도 4에서, X 축은 표 1 내지 표 4의 특징들의 No.를 나타내며, Y축은 표 5의 중요도를 나타낸다. 앙상블 기계학습 모델에 의한 특징의 중요도는 포스팅의 분석 특징이 상위(1~3위)에 랭크되어 있음을 알 수 있다. 또한, 블록체인 거래의 특징도 상위(9위)에 랭크되어 있음을 알 수 있다. 따라서 특징의 중요도로부터 학습 모델 및 특징 선택이 적합한 것으로 나타났다.
도 5의 ROC 곡선(Receiver Operating Characteristic curve)에서, 세로축은 민감도, 가로축은 특이도를 나타낸다. 여기서, 민감도는 모델이 일반 유저라고 판단한 유저 중에서 실제로 일반 유저인 유저 수 / 실제로 일반 유저인 유저수를 나타낸다. 특이도는 모델이 봇이라고 판단한 유저 중에서 실제로 봇인 유저 수 / 실제로 봇인 유저 수를 나타낸다. AUC(Area Under the Curve)는 ROC 곡선의 아래 면적을 의미한다.
이때, 특이도가 클 때 민감도가 높은 것은 봇과 일반유저를 높은 정확도로 판별한 것을 의미한다. 도 5에서, ROC 곡선이 빨간 점선보다 높게 형성되면, 특히, ROC-AUC가 1에 가까운 모델이 우수한 판별 성능을 갖는다. 따라서 본 실시예의 테스트 결과, ROC-AUC가 0.91은 매우 우수한 결과를 나타내고 있다.
상기와 같은 방법들은 도 1에 도시된 바와 같은 프로세서에 의해 구현될 수 있고, 특히, 이러한 단계들을 수행하는 소프트웨어 프로그램으로 구현될 수 있으며, 이 경우, 이러한 프로그램들은 컴퓨터 판독가능한 기록 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 이때, 컴퓨터 판독가능한 기록 매체는 컴퓨터 시스템에 의해 판독가능한 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다.
이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.
100 : 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
110 : 통신부 120 : 프로세서
130 : 메모리

Claims (18)

  1. 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치의 포스팅 봇 검출 방법으로서,
    기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집하는 단계;
    상기 데이터에 대한 특징을 추출하는 단계;
    상기 기분류된 유저의 데이터를 기반으로 상기 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하는 단계; 및
    상기 생성된 학습 모델에 의해 신규 유저를 분류하여 포스팅 봇을 결정하는 단계;
    를 포함하고,
    상기 특징을 추출하는 단계는,
    상기 포스팅을 제목, 내용 및 댓글로 구분하며,
    자주 사용되는 단어와 포스팅들 사이의 거리를 정의하되, 상기 거리는 기준문장과 비교문장의 단어 유사도 또는 동일 단어 수로 정의되고, 상기 거리에 따라 각 포스팅을 디리클레 프로세스 가우시안 믹스처 모델을 이용하여 클러스터링하고,
    상기 제목, 상기 내용 및 상기 댓글 각각에 대하여 상기 거리에 대한 최소 평균을 가지는 클러스터의 평균과 분산, 및 클러스터의 개수를 포스팅 특징으로 추출하며,
    상기 학습 모델을 생성하는 단계는 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 앙상블을 통하여 유저를 분류하되, 상기 각 알고리즘의 결과로 나타내어지는 포스팅 봇 여부에 대한 과반수 또는 상기 각 알고리즘의 포스팅 봇 확률의 평균이 기준 확률 이상인지의 여부에 따라 유저를 분류하며,
    상기 포스팅 봇을 결정하는 단계는 상기 학습 모델에 의해 결정되는 상기 특징의 중요도에 따라 상기 신규 유저를 분류하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  2. 제1항에 있어서,
    상기 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  3. 제1항에 있어서,
    상기 특징을 추출하는 단계는,
    상기 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하는 단계;
    상기 유저의 유저간 블록체인 거래 내역을 분석하는 단계; 및
    SNS 특징을 추출하는 단계;를 포함하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  4. 삭제
  5. 제3항에 있어서,
    상기 시간 엔트로피를 연산하는 단계는 하기의 식에 따라 시간 엔트로피를 연산하며,
    Figure 112019093962351-pat00004

    여기서, S는 시간 엔트로피, p는 상기 포스팅의 작성 시간에 대한 확률분포, n은 데이터 개수이고,
    모든 포스팅의 작성 시간, 포스팅 중 글의 작성 시간, 및 포스팅 중 댓글의 작성 시간 각각에 대한 일별 엔트로피를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  6. 제3항에 있어서,
    상기 블록체인 거래 내역을 분석하는 단계는 다른 유저와의 블록체인 코인 거래를 분석하고,
    블록체인 코인 거래 횟수 및 거래 시간에 대한 엔트로피를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  7. 제3항에 있어서,
    상기 SNS 특징을 추출하는 단계는 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일), 계정이 존속된 기간, 포스팅에 포함된 해시태그(Hashtag), 멘션(Mention) 및 url의 개수, 전체 포스팅에 대한 url이 포함된 포스팅의 비율, 유저를 팔로우한 계정 수, 유저가 팔로우한 계정 수, 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율, 포스팅 중 글 및 댓글의 횟수, 블록체인 운영진이 유저의 계정을 생성한 여부, 일별 작성한 포스팅 개수, 및 일별 팔로우한 계정 수를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 방법.
  8. 삭제
  9. 삭제
  10. 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    기분류된 유저의 블록체인 계정을 이용하여 블록체인 SNS 활동 내역에 대한 데이터를 수집하고,
    상기 데이터에 대한 특징을 추출하되, 상기 포스팅을 제목, 내용 및 댓글로 구분하며, 자주 사용되는 단어와 포스팅들 사이의 거리를 정의하며, 상기 거리는 기준문장과 비교문장의 단어 유사도 또는 동일 단어 수로 정의되고, 상기 거리에 따라 각 포스팅을 디리클레 프로세스 가우시안 믹스처 모델을 이용하여 클러스터링하고, 상기 제목, 상기 내용 및 상기 댓글 각각에 대하여 상기 거리에 대한 최소 평균을 가지는 클러스터의 평균과 분산, 및 클러스터의 개수를 포스팅 특징으로 추출하며,
    상기 기분류된 유저의 데이터를 기반으로 상기 추출된 특징을 앙상블 기계학습 기법에 적용하여 학습 모델을 생성하되, 랜덤 포레스트, XGBoost 및 CatBoost 알고리즘의 각각의 결과로 나타내어지는 포스팅 봇 여부에 대한 과반수 또는 상기 각 알고리즘의 포스팅 봇 확률의 평균이 기준 확률 이상인지의 여부에 따른 앙상블을 통하여 유저를 분류하고,
    상기 생성된 학습 모델에 의해 결정되는 상기 특징의 중요도에 따라 신규 유저를 분류하여 포스팅 봇을 결정하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  11. 제10항에 있어서,
    상기 수집하는 데이터는 포스팅 정보, 계정 정보, 팔로우 정보 및 블록체인 코인 거래 정보를 포함하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  12. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 유저가 작성한 포스팅에 대한 시간 엔트로피를 연산하며,
    상기 유저의 유저간 블록체인 거래 내역을 분석하고,
    SNS 특징을 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  13. 삭제
  14. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    하기의 식에 따라 시간 엔트로피를 연산하며,
    Figure 112019093962351-pat00005

    여기서, S는 시간 엔트로피, p는 상기 포스팅의 작성 시간에 대한 확률분포, n은 데이터 개수이고,
    모든 포스팅의 작성 시간, 포스팅 중 글의 작성 시간, 및 포스팅 중 댓글의 작성 시간 각각에 대한 일별 엔트로피를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  15. 제12항에 있어서,
    상기 적어도 하나의 프로세서는,
    다른 유저와의 블록체인 코인 거래를 분석하고,
    블록체인 코인 거래 횟수 및 거래 시간에 대한 엔트로피를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  16. 제12항에 있어서,
    상기 적어도 하나의 프로세서는 초기 포스팅 내역과 최근 포스팅 내역의 시간적 차이(일), 계정이 존속된 기간, 포스팅에 포함된 해시태그(Hashtag), 멘션(Mention) 및 url의 개수, 전체 포스팅에 대한 url이 포함된 포스팅의 비율, 유저를 팔로우한 계정 수, 유저가 팔로우한 계정 수, 유저가 팔로우한 계정 수 대비 유저를 팔로우한 계정 수의 비율, 포스팅 중 글 및 댓글의 횟수, 블록체인 운영진이 유저의 계정을 생성한 여부, 일별 작성한 포스팅 개수, 및 일별 팔로우한 계정 수를 특징으로 추출하는 기계학습 기법 기반 블록체인 SNS 포스팅 봇 검출 장치.
  17. 삭제
  18. 삭제
KR1020190113234A 2019-09-16 2019-09-16 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치 KR102085593B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190113234A KR102085593B1 (ko) 2019-09-16 2019-09-16 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190113234A KR102085593B1 (ko) 2019-09-16 2019-09-16 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102085593B1 true KR102085593B1 (ko) 2020-03-06

Family

ID=69802366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190113234A KR102085593B1 (ko) 2019-09-16 2019-09-16 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102085593B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112785044A (zh) * 2020-12-31 2021-05-11 广州交信投科技股份有限公司 公共交通工具的实时满载率预测方法、装置、设备和介质
CN114358375A (zh) * 2021-11-29 2022-04-15 重庆邮电大学 一种基于大数据的人群密度预测方法及系统
KR20220053402A (ko) * 2020-10-22 2022-04-29 서울여자대학교 산학협력단 블록체인 네트워크의 공격 패킷 탐지 방법
KR20220053401A (ko) * 2020-10-22 2022-04-29 서울여자대학교 산학협력단 랜덤 포레스트 기법을 기반으로 한 복제 노드 탐지 방법 및 이를 위한 장치
KR102481679B1 (ko) * 2021-08-30 2022-12-27 로봇앤컴주식회사 온라인 통합 수리 플랫폼에서 sns 계정의 파급력을 기반으로 마케팅을 제공하는 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150100993A (ko) 2014-02-24 2015-09-03 주식회사 엔씨소프트 자기유사도 값을 이용한 봇 검출시스템 및 그 방법
KR20170054167A (ko) * 2015-11-09 2017-05-17 단국대학교 산학협력단 공간 정보를 사용한 sns 봇 검출 방법
KR101814989B1 (ko) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 블록 체인을 이용한 이상 금융 거래 탐지 방법 및 이를 실행하는 서버
KR20180117086A (ko) * 2016-08-19 2018-10-26 주식회사 페이게이트 거래 원장에 기반한 계정간 사회적 관계 도출 방법 및 그 장치와 그를 이용한 소셜 미디어 서비스 제공 방법 및 그 장치
KR20190033170A (ko) * 2017-09-21 2019-03-29 캠프모바일 주식회사 어뷰저 탐지

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150100993A (ko) 2014-02-24 2015-09-03 주식회사 엔씨소프트 자기유사도 값을 이용한 봇 검출시스템 및 그 방법
KR20170054167A (ko) * 2015-11-09 2017-05-17 단국대학교 산학협력단 공간 정보를 사용한 sns 봇 검출 방법
KR20180117086A (ko) * 2016-08-19 2018-10-26 주식회사 페이게이트 거래 원장에 기반한 계정간 사회적 관계 도출 방법 및 그 장치와 그를 이용한 소셜 미디어 서비스 제공 방법 및 그 장치
KR101814989B1 (ko) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 블록 체인을 이용한 이상 금융 거래 탐지 방법 및 이를 실행하는 서버
KR20190033170A (ko) * 2017-09-21 2019-03-29 캠프모바일 주식회사 어뷰저 탐지

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220053402A (ko) * 2020-10-22 2022-04-29 서울여자대학교 산학협력단 블록체인 네트워크의 공격 패킷 탐지 방법
KR20220053401A (ko) * 2020-10-22 2022-04-29 서울여자대학교 산학협력단 랜덤 포레스트 기법을 기반으로 한 복제 노드 탐지 방법 및 이를 위한 장치
KR102400362B1 (ko) 2020-10-22 2022-05-19 서울여자대학교 산학협력단 블록체인 네트워크의 공격 패킷 탐지 방법
KR102432534B1 (ko) * 2020-10-22 2022-08-12 서울여자대학교 산학협력단 랜덤 포레스트 기법을 기반으로 한 복제 노드 탐지 방법 및 이를 위한 장치
CN112785044A (zh) * 2020-12-31 2021-05-11 广州交信投科技股份有限公司 公共交通工具的实时满载率预测方法、装置、设备和介质
KR102481679B1 (ko) * 2021-08-30 2022-12-27 로봇앤컴주식회사 온라인 통합 수리 플랫폼에서 sns 계정의 파급력을 기반으로 마케팅을 제공하는 방법 및 장치
KR20230033005A (ko) * 2021-08-30 2023-03-07 로봇앤컴주식회사 온라인 통합 수리 플랫폼에서 가짜 계정을 판별하여 인플루언서 마케팅을 제공하는 방법 및 장치
KR102527019B1 (ko) * 2021-08-30 2023-05-02 로봇앤컴주식회사 온라인 통합 수리 플랫폼에서 가짜 계정을 판별하여 인플루언서 마케팅을 제공하는 방법 및 장치
CN114358375A (zh) * 2021-11-29 2022-04-15 重庆邮电大学 一种基于大数据的人群密度预测方法及系统
CN114358375B (zh) * 2021-11-29 2024-05-24 重庆邮电大学 一种基于大数据的人群密度预测方法及系统

Similar Documents

Publication Publication Date Title
KR102085593B1 (ko) 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치
CN106803168B (zh) 一种异常转账侦测方法和装置
US11631032B2 (en) Failure feedback system for enhancing machine learning accuracy by synthetic data generation
CN103793484B (zh) 分类信息网站中的基于机器学习的欺诈行为识别系统
Buskirk Surveying the forests and sampling the trees: An overview of classification and regression trees and random forests with applications in survey research
CN111428231A (zh) 基于用户行为的安全处理方法、装置及设备
Rathore et al. Identifying groups of fake reviewers using a semisupervised approach
US9344507B2 (en) Method of processing web access information and server implementing same
CN109034194A (zh) 基于特征分化的交易欺诈行为深度检测方法
CN111612041A (zh) 异常用户识别方法及装置、存储介质、电子设备
CN111932269A (zh) 设备信息处理方法及装置
US8825641B2 (en) Measuring duplication in search results
CN113609394A (zh) 面向信息流的安全推荐系统
CN111612531B (zh) 一种点击欺诈的检测方法及系统
CN101268465A (zh) 分类一组电子文档的方法
Li et al. Using candlestick charts to predict adolescent stress trend on micro-blog
WO2016054988A1 (zh) 识别智能设备用户的方法和装置
CN112632275B (zh) 基于个人文本信息的人群聚类数据处理方法、装置及设备
EP3985591A2 (en) Preference evaluation method and system
CN111026981B (zh) 热点话题的可视化展示方法、装置和设备
CN113902533B (zh) 一种适用于财税领域指标自定义和自动化运行的应用方法
CN113553369B (zh) 可视化用户分类方法、服务方法、系统、装置及存储介质
Choudhury et al. An Empirical Analysis of Naïve Bayes, SVM, Logistic Regression and Random Forest to Spot False Information in Real-World Networks
AGUH et al. A RESEARCH ON DETECTION OF FAKE NEWS ON SOCIAL MEDIA USING MACHINE LEARNING ALGORITHMS
CN110648173B (zh) 基于商品好评和差评率的无监督异常商品数据检测方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant