KR102051350B1 - 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 - Google Patents
암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 Download PDFInfo
- Publication number
- KR102051350B1 KR102051350B1 KR1020190110111A KR20190110111A KR102051350B1 KR 102051350 B1 KR102051350 B1 KR 102051350B1 KR 1020190110111 A KR1020190110111 A KR 1020190110111A KR 20190110111 A KR20190110111 A KR 20190110111A KR 102051350 B1 KR102051350 B1 KR 102051350B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- fraud
- fraudulent
- data
- obtaining
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 개시는 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위하여 학습데이터를 획득하는 방법 및 장치에 관한 것으로써, 신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계, 리포트로부터 제 1 사기 주소 및 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계, 자연어 처리(Natural Language Processing)를 이용하여, 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계 및 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
Description
본 개시는 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위하여 학습데이터를 획득하는 방법 및 장치에 관한 것이다.
암호화폐(cryptocurrency)는 교환 수단으로 기능하도록 고안된 디지털 자산으로, 블록체인(blockchain) 기술로 암호화되어 분산발행되고 일정한 네트워크에서 화폐로 사용할 수 있는 전자정보를 말한다. 암호화폐는 중앙은행이 발행하지 않고 블록체인 기술에 기초하여 금전적 가치가 디지털방식으로 표시된 전자정보로서 인터넷상 P2P 방식으로 분산 저장되어 운영·관리된다. 암호화폐를 발행하고 관리하는 핵심 기법은 블록체인(blockchain) 기술이다. 블록체인은 지속적으로 늘어나는 기록(블록)의 일람표로서 블록은 암호화방법을 사용하여 연결되어 보안이 확보된다. 각 블록은 전형적으로는 이전 블록의 암호해쉬, 타임스탬프와 거래 데이터를 포함한다. 블록체인은 처음부터 데이터의 수정에 대해 저항력을 가지고 있으며, 양 당사자 간의 거래를 유효하게 영구적으로 증명할 수 있는 공개된 분산 장부이다. 따라서 암호화폐는 조작 방지를 기반으로 투명한 운영을 가능하게 한다.
그 밖에, 암호화폐는 기존 화폐와는 달리 익명성을 갖고 있어, 준 사람과 받은 사람 이외의 제3자는 거래 내역을 일체 알 수 없다는 특징이 있다. 계좌의 익명성 때문에 거래의 흐름을 추적하기 어려우며(Non-trackable), 송금기록, 수금기록 등 일체의 기록은 모두 공개되어 있으나 거래 주체는 알 수 없다.
암호화폐는 전술한 바와 같은 자유성과 투명성으로 인해 기존의 기축통화를 대체할 수 있는 대안으로 여겨지고 있으며, 기존 통화 대비 저렴한 수수료와 간단한 송금 절차로 국제 간 거래 등에 효과적으로 사용될 수 있을 것으로 보인다. 다만 그 익명성으로 인해 암호화폐는 사기 거래에 사용되는 등 범죄 수단으로 악용되기도 한다.
한편, 암호화폐 거래의 데이터는 방대하여 사기 거래의 특징을 수동으로 판별하여 사기 주체를 결정하기 어려운 문제점이 있었다. 이와 관련하여 기계학습을 이용하면 방대한 데이터들의 관계를 자동으로 학습할 수 있다.
따라서 기계학습을 이용하여 암호화폐를 범죄 수단으로 사용하는 거래 주체를 파악할 수 있는 방법이 요구된다.
본 개시에 따른 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 방법은 신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계, 리포트로부터 제 1 사기 주소 및 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계, 자연어 처리(Natural Language Processing)를 이용하여, 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계 및 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 방법은 공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계, 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계, 자연어 처리를 이용하여 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계, 사기정보검출모델을 획득하는 단계, 복수의 제 2 핵심 단어들을 사기정보검출모델에 적용하여 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계, 암호화폐 주소가 사기 주소인 경우, 암호화폐 주소를 제 2 사기 주소로 획득하는 단계 및 제 2 사기 주소를 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 방법의 사기정보검출모델을 획득하는 단계는, 양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계, 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계, 제 1 핵심 단어들의 각각이 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계 및 양호로 레이블된 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 복수의 제 1 핵심 단어들을 기계학습하여 사기정보검출모델을 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 방법은 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계, 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계, 사기 핵심 단어 세트에 포함된 단어가 제 2 디스크립션에 기재된 경우, 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계 및 제 3 사기 주소를 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 방법의 사기 핵심 단어 세트를 획득하는 단계는, 복수의 제 1 핵심 단어들의 각각에 대하여 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계 및 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 사기 핵심 단어 세트로 결정하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 방법은 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계, 점수 정보가 양호(benign)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 암호화폐 주소를 양호 주소로 결정하는 단계, 점수 정보가 사기(scam)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 암호화폐 주소를 제 3 사기 주소로 결정하는 단계 및 양호 주소 및 제 3 사기 주소를 제 2 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 한다.
본 개시에 따른 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 장치는, 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 따라, 신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계, 리포트로부터 제 1 사기 주소 및 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계, 자연어 처리(Natural Language Processing)를 이용하여, 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계 및 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 장치의 프로세서는 메모리에 저장된 명령어에 따라, 공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계, 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계, 자연어 처리를 이용하여 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계, 사기정보검출모델을 획득하는 단계, 복수의 제 2 핵심 단어들을 사기정보검출모델에 적용하여 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계, 암호화폐 주소가 사기 주소인 경우, 암호화폐 주소를 제 2 사기 주소로 획득하는 단계 및 제 2 사기 주소를 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 장치의 프로세서는 메모리에 저장된 명령어에 따라, 양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계, 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계, 제 1 핵심 단어들의 각각이 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계 및 양호로 레이블된 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 복수의 제 1 핵심 단어들을 기계학습하여 사기정보검출모델을 획득하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 장치의 프로세서는 메모리에 저장된 명령어에 따라, 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계, 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계, 사기 핵심 단어 세트에 포함된 단어가 제 2 디스크립션에 기재된 경우, 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계 및 제 3 사기 주소를 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 장치의 프로세서는 메모리에 저장된 명령어에 따라, 복수의 제 1 핵심 단어들의 각각에 대하여 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계 및 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 사기 핵심 단어 세트로 결정하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 학습데이터를 획득하는 장치의 프로세서는 메모리에 저장된 명령어에 따라, 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계, 점수 정보가 양호(benign)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 암호화폐 주소를 양호 주소로 결정하는 단계, 점수 정보가 사기(scam)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 암호화폐 주소를 제 3 사기 주소로 결정하는 단계 및 양호 주소 및 제 3 사기 주소를 제 2 데이터베이스에 저장하는 단계를 더 수행하는 것을 특징으로 한다.
또한, 상술한 바와 같은 학습데이터를 획득하는 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 학습데이터 획득 장치를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 6는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따라 사기정보검출모델을 획득하는 방법을 나타낸 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따라 기계학습모델을 도출하는 구성을 나타낸 도면이다.
도 2는 본 개시의 일 실시예에 따른 학습데이터 획득 장치를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 6는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따라 사기정보검출모델을 획득하는 방법을 나타낸 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따라 기계학습모델을 도출하는 구성을 나타낸 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 학습데이터 획득 장치(100)의 블록도이다.
도 1을 참조하면, 일 실시예에 따른 학습데이터 획득 장치(100)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 상술한 바와 같은 학습데이터 획득 장치(100)는 프로세서 및 메모리를 포함할 수 있다.
데이터 학습부(110)는 데이터 세트를 이용하여 타겟 태스크(target task)를 수행하기 위한 기계학습모델을 학습할 수 있다. 데이터 학습부(110)는 데이터 세트 및 타겟 태스크와 관련된 레이블 정보를 수신할 수 있다. 데이터 학습부(110)는 데이터 세트와 레이블 정보의 관계에 대해 기계학습을 수행하여 기계학습모델을 획득할 수 있다. 데이터 학습부(110)가 획득한 기계학습모델은 데이터 세트를 이용하여 레이블 정보를 생성하기 위한 모델일 수 있다.
데이터 인식부(120)는 데이터 학습부(110)의 기계학습모델을 수신하여 저장하고 있을 수 있다. 데이터 인식부(120)는 입력 데이터에 기계학습모델을 적용하여 레이블 정보를 출력할 수 있다. 또한, 데이터 인식부(120)는 입력 데이터, 레이블 정보 및 기계학습모델에 의해 출력된 결과를 기계학습모델을 갱신하는데 이용할 수 있다.
데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 이미 설명한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부(110) 및 데이터 인식부(120)는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(110) 및 데이터 인식부(120)는 유선 또는 무선으로 통하여, 데이터 학습부(110)가 구축한 기계학습모델 정보를 데이터 인식부(120)로 제공할 수도 있고, 데이터 인식부(120)로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부(110)로 제공될 수도 있다.
한편, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 학습부(110)는 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)를 포함할 수 있다.
데이터 획득부(111)는 기계학습에 필요한 데이터를 획득할 수 있다. 학습을 위해서는 많은 데이터가 필요하므로, 데이터 획득부(111)는 복수의 데이터를 포함하는 데이터 세트를 수신할 수 있다.
복수의 데이터 각각에 대하여 레이블 정보가 할당될 수 있다. 레이블 정보는 복수의 데이터의 각각을 설명하는 정보일 수 있다. 레이블 정보는 타겟 태스크(target task)가 도출하고자 하는 정보일 수 있다. 레이블 정보는 사용자 입력으로부터 획득되거나, 메모리로부터 획득되거나, 기계학습모델의 결과로부터 획득될 수 있다. 예를 들어 타겟 태스크가 암호화폐 주소의 거래이력으로부터 암호화폐 주소가 사기꾼이 소유한 주소인지 여부를 결정하기 위한 것이라면, 기계학습에 사용되는 복수의 데이터는 암호화폐 주소의 거래이력과 관련된 데이터가 될 것이며 레이블 정보는 암호화폐 주소가 사기꾼이 소유한 주소인지 여부가 될 것이다.
전처리부(112)는 수신된 데이터가 기계학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(112)는 후술할 모델 학습부(114)가 이용할 수 있도록, 획득된 데이터 세트를 미리 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(113)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(114)에 제공될 수 있다. 학습 데이터 선택부(113)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(113)는 후술할 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(114)는 데이터 세트에 기초하여 어떤 레이블 정보를 출력할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(114)는 데이터 세트 및 데이터 세트 대한 레이블 정보를 학습 데이터로써 이용하여 기계학습을 수행할 수 있다. 또한 모델 학습부(114)는 기존에 획득된 기계학습모델을 추가적으로 이용하여 기계학습을 수행할 수 있다. 이 경우, 기존에 획득된 기계학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 기계학습모델은 기본 학습 데이터를 입력 받아 미리 구축된 모델일 수 있다.
기계학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 기계학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 기계학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(114)는 미리 구축된 기계학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 기계학습모델을 학습할 기계학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 기계학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 장소, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 기계학습모델을 학습시킬 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 기계학습모델을 학습할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 별다른 지도없이 타겟 태스크(target task)을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 타겟 태스크를 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 기계학습모델을 획득할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 학습에 따른 타겟 태스크의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 기계학습모델을 학습할 수 있다.
또한, 기계학습모델이 학습되면, 모델 학습부(114)는 학습된 기계학습모델을 저장할 수 있다. 이 경우, 모델 학습부(114)는 학습된 기계학습모델을 데이터 인식부(120)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(114)는 학습된 기계학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 기계학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(115)는 기계학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(114)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 기계학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(115)는 평가 데이터에 대한 학습된 기계학습모델의 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 기계학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(115)는 학습된 기계학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 기계학습모델이 복수 개가 존재하는 경우, 모델 평가부(115)는 각각의 학습된 기계학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 기계학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(115)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 기계학습모델로써 결정할 수 있다.
한편, 데이터 학습부(110) 내의 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 인식부(120)는 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)를 포함할 수 있다.
데이터 획득부(121)는 입력 데이터를 수신할 수 있다. 전처리부(122)는 획득된 입력 데이터가 인식 데이터 선택부(123) 또는 인식 결과 제공부(124)에서 이용될 수 있도록, 획득된 입력 데이터를 전처리할 수 있다.
인식 데이터 선택부(123)는 전처리된 데이터 중에서 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(124)에게 제공될 수 있다. 인식 데이터 선택부(123)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(123)는 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(124)는 선택된 데이터를 기계학습모델에 적용하여 결과 데이터를 획득할 수 있다. 기계학습모델은 모델 학습부(114)에 의하여 생성된 기계학습모델일 수 있다. 인식 결과 제공부(124)는 결과 데이터를 출력할 수 있다.
모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 기계학습모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과를 모델 학습부(114)에게 제공함으로써, 모델 학습부(114)가 기계학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(120) 내의 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
아래에서는 데이터 학습부(110)의 데이터 획득부(111), 전처리부(112) 및 학습 데이터 선택부(113)가 학습 데이터를 수신하여 처리하는 방법 및 장치에 대하여 보다 자세히 설명한다.
도 2는 본 개시의 일 실시예에 따른 학습데이터 획득 장치를 나타낸 도면이다.
학습데이터 획득 장치(100)는 프로세서(210) 및 메모리(220)를 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 명령어들을 수행할 수 있다.
상술한 바와 같이 학습데이터 획득 장치(100)는 데이터 학습부(110)를 포함할 수 있다. 데이터 학습부(110)의 데이터 획득부(111), 전처리부(112) 또는 학습 데이터 선택부(113)는 프로세서(210) 및 메모리(220)에 의하여 구현될 수 있다.
이하에서는 도 3 및 도 4와 함께 학습데이터 획득 장치를 자세히 설명한다.
도 3은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다. 또한 도 4는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
학습데이터 획득 장치(100)는 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득할 수 있다. 학습데이터 획득 장치(100)는 데이터 획득부(111), 전처리부(112) 또는 학습 데이터 선택부(113)를 포함할 수 있다.
학습데이터 획득 장치(100)는 신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계(310)를 수행할 수 있다.
학습데이터 획득 장치(100)는 제 1 데이터베이스(430)로부터 데이터를 수신하기 위한 수신부(410)를 더 포함할 수 있다. 수신부(410) 유선 또는 무선으로 데이터를 수신할 수 있다.
제 1 데이터베이스(430)는 암호 화폐의 사기 주소와 관련된 리포트를 제공하는 서비스에 내장되어 있는 데이터베이스일 수 있다. 또한 제 1 데이터베이스(430)는 암호화폐 사기 블랙리스트 서비스(Bitcoin scam blacklist services)에 내장되어 있는 데이터베이스일 수 있다. 예를 들어 사기 주소와 관련된 리포트를 제공하는 서비스는 BitcoinWhosWho 또는 BitcoinAbuse와 같은 서비스가 있을 수 있다. 제 1 데이터베이스(430)에는 암호화폐 주소별로 리포트가 저장되어 있다. 학습데이터 획득 장치(100)는 리포트를 수신할 수 있다. 학습데이터 획득 장치(100)는 리포트에 기초하여 암호화폐 주소가 사기 주소인지 여부를 결정할 수 있다.
학습데이터 획득 장치(100)는 리포트로부터 제 1 사기 주소 및 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계(320)를 수행할 수 있다.
학습데이터 획득 장치(100)는 제 1 사기 주소 및 제 1 사기 주소와 관련된 제 1 디스크립션을 획득하여 처리하기 위한 제 1 분석부(420)를 더 포함할 수 있다. 제 1 분석부는 제 1 데이터베이스로부터 수신한 데이터를 분석할 수 있다. 제 1 분석부(420)는 소프트웨어 또는 하드웨어로 구현될 수 있다. 제 1 분석부(420)는 제 2 분석부 또는 제 3 분석부와 다른 데이터를 처리하지만, 동일한 하드웨어로 구현될 수 있다.
제 1 사기 주소는 암호화폐를 주고 받을 수 있는 계정의 주소일 수 있다. 제 1 사기 주소는 제 1 데이터베이스(430)를 포함하는 서비스에 의하여 이미 사기에 사용된 암호화폐 주소로 결정된 주소일 수 있다. 제 1 디스크립션은 제 1 사기 주소가 사기 주소로 결정된 유를 텍스트로 설명할 수 있다.
학습데이터 획득 장치(100)는 특정 언어로 기재되어 있는 제 1 디스크립션만 이용할 수 있다. 제 1 디스크립션은 자연어로 기재되어 있으므로, 학습데이터 획득 장치(100)가 언어분석을 제대로 하지 못한다면 사기 주소의 분석의 정확도가 떨어질 수 있다. 따라서 학습데이터 획득 장치(100)는 분석이 가능한 언어로 되어 있는 제 1 디스크립션만 이용할 수 있다. 하지만 이에 한정되는 것은 아니다.
학습데이터 획득 장치(100)는 자연어 처리(Natural Language Processing)를 이용하여, 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계(330)를 수행할 수 있다. 제 1 데이터베이스를 포함하는 암호화폐 사기 블랙리스트 서비스는 사기 주소 판별과 관련하여 신뢰도가 높은 서비스일 수 있다. 따라서 학습데이터 획득 장치(100)는 제 1 디스크립션의 텍스트에서 제 1 핵심 단어들을 도출하여 다른 데이터 베이스에서 획득된 암호화폐의 주소와 관련된 정보를 분석할 수 있다.
학습데이터 획득 장치(100)는 제 1 디스크립션에서 특수문자, URL 및 불용어(stopword)와 같은 분석에 불필요한 문자들을 삭제할 수 있다. 또한 학습데이터 획득 장치(100)는 제 1 디스크립션에서 불필요한 문자들을 삭제한 후 남은 단어가 소정의 개수 미만인 경우 해당 제 1 디스크립션을 사용하지 않을 수 있다. 소정의 개수는 예를 들어 15개일 수 있다. 남은 단어가 소정의 개수 미만인 경우, 단어의 숫자가 너무 적어서 사기 주소를 판별하기 위한 핵심단어로써 사용하기 부적절할 수 있다. 학습데이터 획득 장치(100)는 불필요한 문자들을 삭제한 후 소정의 개수 이상의 제 1 디스크립션을 이용함으로써, 학습데이터 획득 장치(100)의 신뢰도를 높일 수 있다. 또한, 학습데이터 획득 장치(100)가 획득한 데이터에 기초한 기계학습모델의 신뢰도도 높아질 수 있다.
학습데이터 획득 장치(100)는 제 1 사기 주소를 제 2 데이터베이스(440)에 저장하는 단계(340)를 수행할 수 있다. 제 2 데이터베이스(440)는 학습데이터 획득 장치(100)에 포함될 수 있다. 제 2 데이터베이스(440)는 기계학습모델을 생성하기 위한 데이터를 저장하고 있을 수 있다. 또한 제 2 데이터베이스(440)는 다른 사기 주소를 판별하고, 사기 주소에 대한 디스크립션을 분석하기 위한 데이터를 저장하고 있을 수 있다.
이하에서는 암호화폐 사기 블랙리스트 서비스(Bitcoin scam blacklist services)가 아닌 곳에서 획득된 데이터로부터 사기 주소 및 사기 주소와 관련된 정보를 획득하는 방법 및 장치를 설명한다.
도 5는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다. 또한 도 6는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
학습데이터 획득 장치(100)는 공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계(510)를 수행할 수 있다. 학습데이터 획득 장치(100)는 수신부(410)를 이용하여 웹사이트로부터 텍스트 정보를 수신할 수 있다.
공개적으로 접근 가능한 웹사이트(610)는 개인적으로 사용되거나 기술적으로 사용되는 블로그를 포함할 수 있다. 또한 사이버 보안 회사의 사기 분석 리포트일 수 있다. 웹사이트(610)에는 암호화폐의 주소와 관련된 다양한 정보가 기재되어 있을 수 있다. 예를 들어 웹사이트(610)는 특정 암호화폐의 주소가 사기에 사용되었다는 내용, 특정 암호화폐의 주소와의 거래가 만족스러웠다는 내용 또는 특정 암호화폐의 주소와 단순히 거래했다는 내용 등이 기재되어 있을 수 있다. 학습데이터 획득 장치(100)는 이 중 특정 암호화폐의 주소가 사기에 사용되었다는 내용을 추출하기 위하여 아래와 같은 단계를 수행할 수 있다.
웹사이트(610)는 제 1 데이터베이스(430)와 다르게 일정한 형식을 가지고 있지 않을 수 있다. 또한 웹사이트(610)는 사기 주소와 관련된 정보 외의 다양한 정보를 포함할 수 있다.
학습데이터 획득 장치(100)는 미리 정해진 웹사이트(610)를 크롤링(crawling)할 수 있다. 하지만 이에 한정되는 것은 아니며, 학습데이터 획득 장치(100)는 임의의 웹사이트(610)를 크롤링하여 필요한 데이터를 자동으로 추출할 수 있다.
웹사이트(610)의 소스코드는 HTML 문서로 구성될 수 있다. HTML 문서는 웹사이트(610)에 표시될 내용뿐만 아니라 내용을 표시하기 위한 형식과 관련된 코드를 포함할 수 있다. 학습데이터 획득 장치(100)는 웹사이트(610)로부터 HTML body를 텍스트 정보로써 추출할 수 있다.
학습데이터 획득 장치(100)는 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계(520)를 수행할 수 있다.
학습데이터 획득 장치(100)는 제 2 분석부(620)를 더 포함할 수 있다. 제 2 분석부(620)는 웹사이트(610)로부터 수신한 텍스트 정보를 분석할 수 있다. 제 2 분석부(620)는 소프트웨어 또는 하드웨어로 구현될 수 있다. 학습데이터 획득 장치(100)는 제 2 분석부(620)를 이용하여 메인 텍스트 정보를 추출할 수 있다.
학습데이터 획득 장치(100)는 웹사이트(610)의 텍스트 정보 중 암호화폐의 주소가 포함되어 있는 페이지만을 이용할 수 있다. 암호화폐의 주소는 특정한 형식을 가지고 있을 수 있다. 따라서 학습데이터 획득 장치(100)는 웹사이트(610)의 페이지의 내용에 기초하여 페이지에 암호화폐의 주소가 기재되어 있는지 여부를 판단할 수 있다. 학습데이터 획득 장치(100)는 암호화폐의 주소가 포함되어 있는 페이지의 텍스트 정보로부터 불필요한 정보를 제거할 수 있다. 예를 들어 학습데이터 획득 장치(100)는 배너와 HTML 태그를 삭제할 수 있다. 이를 위하여 학습데이터 획득 장치(100)는 Boilerpipe를 이용할 수 있다.
학습데이터 획득 장치(100)의 제 2 분석부(620)는 자연어 처리를 이용하여 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계(530)를 수행할 수 있다. 예를 들어, 학습데이터 획득 장치(100)는 메인 텍스트에서 특수문자, URL 및 불용어(stopword)와 같은 분석에 불필요한 문자들을 삭제할 수 있다
학습데이터 획득 장치(100)의 제 2 분석부(620)는 사기정보검출모델을 획득하는 단계(540)를 수행할 수 있다. 사기정보검출모델은 Neural network classifier일 수 있다. 사기정보검출모델은 기계학습을 수행하여 획득된 모델일 수 있다. 사기정보검출모델은 암호화폐의 주소와 관련된 핵심 단어들에 기초하여 암호화폐주소가 사기꾼에 의해 사용되고 있는지 여부를 판단하기 위한 기계학습모델일 수 있다.
학습데이터 획득 장치(100)는 사기정보검출모델을 직접 생성할 수 있다. 학습데이터 획득 장치(100)는 사기정보검출모델을 생성하기 위하여 데이터 학습부(110)를 포함할 수 있다. 또한, 학습데이터 획득 장치(100)는 다른 장치로부터 사기정보검출모델을 수신할 수 있다. 학습데이터 획득 장치(100)가 사기정보검출모델을 생성하는 과정에 대해서는 도 7과 함께 자세히 설명한다.
학습데이터 획득 장치(100)의 제 2 분석부(620)는 복수의 제 2 핵심 단어들을 사기정보검출모델에 적용하여 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계(550)를 수행할 수 있다. 보다 구체적으로 학습데이터 획득 장치(100)는 복수의 제 2 핵심 단어들 각각이 메인 텍스트에서 등장하는 빈도수를 도출할 수 있다. 학습데이터 획득 장치(100)는 복수의 제 2 핵심 단어들 및 빈도수를 사기정보검출모델에 적용할 수 있다. 학습데이터 획득 장치(100)는 사기정보검출모델에 의하여 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 여부에 대한 정보를 획득할 수 있다.
학습데이터 획득 장치(100)의 제 2 분석부(620)는 암호화폐 주소가 사기 주소인 경우, 암호화폐 주소를 제 2 사기 주소로 획득하는 단계(560)를 수행할 수 있다. 보다 구체적으로 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 여부에 대한 정보가 사기 주소임을 나타내는 경우, 학습데이터 획득 장치(100)는 메인 텍스트에 포함된 암호화폐 주소를 제 2 사기 주소로 획득할 수 있다.
학습데이터 획득 장치(100)는 제 2 사기 주소를 제 2 데이터베이스(440)에 저장하는 단계(570)를 수행할 수 있다. 제 2 데이터베이스(440)는 제 2 사기 주소와 제 1 사기 주소가 중복되는 경우 제 2 사기 주소 또는 제 1 사기 주소 중 어느 하나를 무시하거나, 제 2 사기 주소 또는 제 1 사기 주소 중 어느 하나에 대한 정보를 갱신할 수 있다.
도 7은 본 개시의 일 실시예에 따라 사기정보검출모델을 획득하는 방법을 나타낸 흐름도이다.
학습데이터 획득 장치(100)는 양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계(710)를 수행할 수 있다. 양호한 암호화폐 주소는 사기꾼이 소유한 암호화폐 주소가 아닌 것을 나타낼 수 있다.
양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트는 암호화폐 주소의 신뢰도 정보를 제공하는 웹사이트를 의미할 수 있다. 암호화폐 사용자들은 암호화폐 거래 후 암호화계 거래와 관련된 리뷰를 웹사이트에 남길 수 있다. 사용자는 리뷰를 점수로 나타내거나, 텍스트로 나타낼 수 있다.
사용자는 양호한 암호화폐 주소를 포함하는 웹사이트를 결정할 수 있다. 또는 학습데이터 획득 장치(100)는 자동으로 양호한 암호화폐 주소를 포함하는 웹사이트를 결정할 수 있다. 또한 학습데이터 획득 장치(100)는 양호한 암호화폐 주소를 포함하는 웹사이트 또는 웹페이지로부터 양호한 암호화폐 주소와 관련된 단어들을 획득할 수 있다. 예를 들어, 학습데이터 획득 장치(100)는 웹사이트 또는 웹페이지로부터 불필요한 문자들을 제거할 수 있다. 학습데이터 획득 장치(100)는 웹사이트 또는 웹페이지로부터 불필요한 문자들을 제거한 후 양호한 암호화폐 주소와 관련된 단어들을 획득할 수 있다. 양호한 암호화폐 주소와 관련된 단어들은 양호한 암호화폐 주소를 설명하기 위한 핵심단어들일 수 있다.
학습데이터 획득 장치(100)는 양호한 암호화폐 주소와 관련된 단어들 각각이 웹사이트(610)에서 나타나는 제 1 빈도수를 획득하는 단계(720)를 수행할 수 있다. 학습데이터 획득 장치(100)는 양호한 암호화폐 주소와 관련된 단어들뿐만 아니라 제 1 빈도수에 기초하여 사기정보검출모델의 정확도를 높일 수 있다.
양호한 암호화폐 주소와 관련된 단어들 제 1 핵심 단어들의 각각이 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계(730)를 수행할 수 있다. 학습데이터 획득 장치(100)는 제 1 핵심 단어들을 제 1 데이터베이스(430)로부터 획득할 수 있다. 제 1 핵심 단어들의 획득과정에 대해서는 도 3 및 도 4와 함께 설명한 바 있으므로 중복되는 설명은 생략한다.
학습데이터 획득 장치(100)는 양호로 레이블된 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 복수의 제 1 핵심 단어들을 기계학습하여 사기정보검출모델을 획득하는 단계(740)를 수행할 수 있다. 사기정보검출모델은 제 1 빈도수 및 양호한 암호화폐 주소와 관련된 단어들에 기초하여 양호한 주소들과 관련된 정보를 학습할 수 있으며, 제 2 빈도수 및 복수의 제 1 핵심 단어들에 기초하여 사기 주소들과 관련된 정보를 학습할 수 있다.
학습데이터 획득 장치(100)는 사기정보검출모델을 다른 학습데이터 획득 장치(100)로 유무선으로 전송할 수 있다. 학습데이터 획득 장치(100)는 사기정보검출모델을 메모리(220)에 저장할 수 있다.
학습데이터 획득 장치(100)는 새로운 암호화폐주소, 새로운 암호화폐주소에 대응되는 제 2 핵심 단어들 및 제 2 핵심 단어들의 빈도수를 획득할 수 있다. 학습데이터 획득 장치(100)는 제 2 핵심 단어들 및 제 2 핵심 단어들의 빈도수를 사기정보검출모델에 적용하여 새로운 암호화폐주소가 사기인지 양호인지 결정할 수 있다.
위에서는 학습데이터 획득 장치(100)가 사기정보검출모델을 이용하여 웹사이트에 기재된 정보로부터 사기 주소를 판별하는 구성에 대하여 설명하였으나, 이에 한정되는 것은 아니다. 학습데이터 획득 장치(100)는 사기정보검출모델을 이용하여 웹사이트에 기재된 정보로부터 양호 주소를 판별할 수 있다.
또한, 학습데이터 획득 장치(100)가 사기정보검출모델을 획득하는 방법은 위에 기재된 방법에 한정되지 않는다. 사용자는 웹사이트를 검토 후 사기 주소가 기재되어 있는 웹페이지를 '사기'로 레이블하여 사기 주소와 함께 저장하고, 양호 주소가 기재되어 있는 웹페이지를 '양호'로 레이블하여 양호 주소와 함께 저장할 수 있다. 학습데이터 획득 장치(100)는 사기 주소, '사기'로 레이블된 웹페이지, '양호'로 레이블된 웹페이지 및 양호 주소를 기계학습하여 사기정보검출모델을 획득할 수 있다. 학습데이터 획득 장치(100)는 단순히 웹페이지를 사기정보검출모델에 적용하는 것만으로 웹페이지로부터 주소 또는 주소가 사기꾼과 관련되어 있는지 여부를 결정할 수 있다.
도 8은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다. 또한 도 10은 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 도면이다.
학습데이터 획득 장치(100)는 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스(1010)로부터 제 2 디스크립션을 획득하는 단계(810)를 수행할 수 있다. 학습데이터 획득 장치(100)는 수신부(410)를 이용하여 제 2 디스크립션을 획득할 수 있다.
태그는 암호화폐 주소에 부속하는 메타 정보(meta information)일 수 있다. 암호화폐 주소와 대응되는 태그를 제공하는 서비스는 "blockchain.info", "BitcoinTalk community" 또는 "bitcoin-otc.com" 와 같은 사이트가 있을 수 있다.
태그는 Submitted link tag, Signed message tag, Bitcointalk profile tag 또는 Bitcoin-OTC profile tag(Bitcoin over-the-counter profile tag)를 포함할 수 있다. Submitted link tag는 태그가 지정된 암호화폐 주소의 간단한 설명을 제공한다. 리포트한 사람은 때때로 사기 정보 출처를 나타내는 페이지 링크와 함께 사기 디스크립션을 제공한다.
Signed message tag는 주소의 소유자를 제공한다. 그러나 이 식별자는 소유주가 선택하므로 사기꾼이 거짓 소유권을 주장할 수 있다.
Bitcointalk profile tag는 암호화폐 커뮤니티에서 사용자 식별자만을 제공할 수 있다.
Bitcoin-OTC profile tag는 Bitcoin-OTC 웹 사이트에서 사용자 식별자를 제공한다. Bitcointalk 커뮤니티와 달리 이 웹 사이트는 각 사용자 별칭에 대해 평판 점수를 제공한다. 이 점수는 대상 암호화폐 주소로 금융 거래를 수행한 거래 상대방이 부여할 수 있다. 또한, 왜 상대방이 주어진 암호화폐 주소에 주어진 점수를 할당했는지에 대한 간단한 설명을 제공한다. 따라서 bitcoin-OTC profile tag을 이용하여 암호화폐의 사기 주소와 양호 주소와 관련된 정보를 모두 얻을 수 있다.
제 2 디스크립션은 Signed message tag 또는 Bitcoin-OTC profile tag로부터 획득될 수 있다. 제 2 디스크립션은 암호화폐 주소와 관련된 평판을 텍스트 정보일 수 있다.
학습데이터 획득 장치(100)는 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계(820)를 수행할 수 있다.
학습데이터 획득 장치(100)는 제 3 분석부(1020)를 더 포함할 수 있다. 제 3 분석부(1020)는 태그를 제공하는 서비스(1010)로부터 수신한 제 2 디스크립션을 분석할 수 있다. 제 2 분석부(1020)는 소프트웨어 또는 하드웨어로 구현될 수 있다. 학습데이터 획득 장치(100)는 제 2 분석부(1020)를 이용하여 제 1 핵심 단어들로부터 사기 핵심 단어 세트를 획득할 수 있다.
학습데이터 획득 장치(100)는 제 1 핵심 단어들을 제 1 데이터베이스(430)로부터 획득할 수 있다. 제 1 핵심 단어들의 획득과정에 대해서는 도 3 및 도 4와 함께 설명한 바 있으므로 중복되는 설명은 생략한다.
사기 핵심 단어 세트는 명사만을 포함할 수 있다. 또한 학습데이터 획득 장치(100)는 제 1 핵심 단어들 중 분석에 불필요한 문자들을 제거할 수 있다. 예를 들어 학습데이터 획득 장치(100)는 제 1 핵심단어들 중 사기와 관련되지 않은 트위터, 텀블러 및 인스타그램과 관련된 용어들을 삭제할 수 있다.
학습데이터 획득 장치(100)는 복수의 제 1 핵심 단어들의 각각에 대하여 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계를 수행할 수 있다. 학습데이터 획득 장치(100)는 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 사기 핵심 단어 세트로 결정하는 단계를 수행할 수 있다.예를 들어, 학습데이터 획득 장치(100)는 제 1 핵심 단어들 중 가장 빈도수가 높은 11개의 단어를 선택하여 사기 핵심 단어 세트를 획득할 수 있다.
학습데이터 획득 장치(100)는 사기 핵심 단어 세트에 포함된 단어가 제 2 디스크립션에 기재된 경우, 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계(830)를 수행할 수 있다. 태그에 포함된 단어들의 수는 많지 않으므로, 학습데이터 획득 장치(100)는 제 1 핵심 단어들로부터 도출된 사기 핵심 단어 세트에 기초하여 태그가 사기를 나타내는지 여부를 결정할 수 있다.
학습데이터 획득 장치(100)는 사기 핵심 단어 세트에 포함된 단어의 제 1 디스크립션 상에서의 빈도수를 더 이용할 수 있다. 예를 들어서, 제 2 디스크립션에 사기 핵심 단어 세트의 단어가 포함되어 있더라도, 그 단어가 제 2 디스크립션 내에서 자주 나오는 단어가 아닌 경우, 학습데이터 획득 장치(100)는 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하지 않을 수 있다. 또한, 제 2 디스크립션에 사기 핵심 단어 세트의 단어가 포함되어 있고, 그 단어가 제 2 디스크립션 내에서 자주 나오는 단어인 경우, 학습데이터 획득 장치(100)는 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정할 수 있다.
학습데이터 획득 장치(100)는 제 3 사기 주소를 제 2 데이터베이스(440)에 저장하는 단계(840)를 수행할 수 있다. 제 2 데이터베이스(440)는 제 3 사기 주소가 제 1 사기 주소 또는 제 3 사기 주소와 중복되는 경우 제 3 사기 주소, 제 1 사기 주소 또는 제 2 사기 주소 중 어느 하나를 무시하거나, 제 3 사기 주소, 제 1 사기 주소 또는 제 2 사기 주소 중 어느 하나에 대한 정보를 갱신할 수 있다.
도 9는 본 개시의 일 실시예에 따른 학습데이터 획득 장치의 동작을 설명하기 위한 흐름도이다.
도 8은 학습데이터 획득 장치(100)가 태그를 제공하는 서비스(1010)로부터 제 2 디스크립션을 획득하는 경우에 대하여 설명하였다. 도 9는 제 2 디스크립션 뿐만 아니라 암호화폐 주소의 신뢰도 점수 정보를 획득하는 경우에 대하여 설명한다.
학습데이터 획득 장치(100)는 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계(910)를 수행할 수 있다. 주소의 신뢰도를 나타내는 점수 정보는 암호화폐 주소와 거래한 상대방이 남긴 점수일 수 있다. 또한 복수의 거래 상대방이 점수들을 남긴 경우, 그 점수들의 평균이 주소의 신뢰도를 나타내는 점수 정보일 수 있다.
학습데이터 획득 장치(100)는 점수 정보가 양호(benign)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 암호화폐 주소를 양호 주소로 결정하는 단계(920)를 수행할 수 있다. 학습데이터 획득 장치(100)는 점수 정보가 임계값 이상인 경우, 양호를 나타내는 것으로 결정할 수 있다. 하지만 이에 한정되는 것은 아니며, 학습데이터 획득 장치(100)는 점수 정보가 임계값 이하인 경우 양호를 나타내는 것으로 결정할 수 있다.
학습데이터 획득 장치(100)는 점수 정보가 사기(scam)를 나타내고, 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 암호화폐 주소를 제 3 사기 주소로 결정하는 단계(930)를 수행할 수 있다. 학습데이터 획득 장치(100)는 점수 정보가 임계값 이하인 경우, 사기를 나타내는 것으로 결정할 수 있다. 하지만 이에 한정되는 것은 아니며, 학습데이터 획득 장치(100)는 점수 정보가 임계값 이상인 경우 사기를 나타내는 것으로 결정할 수 있다.
학습데이터 획득 장치(100)는 점수 정보가 사기를 나타내지만 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함되어 있지 않거나, 점수 정보가 양호를 나타내지만 제 2 디스크립션에 사기 핵심 단어 세트에 포함된 단어가 포함된 경우 암호화폐 주소에 대한 결정을 유보할 수 있다. 학습데이터 획득 장치(100)는 확실한 경우에만 암호화폐 주소를 양호 주소로 결정하거나, 사기 주소로 결정하므로, 추후 확실한 데이터에 기초하여 기계학습이 이루어지도록 할 수 있다.
학습데이터 획득 장치(100)는 양호 주소 및 제 3 사기 주소를 제 2 데이터베이스(440)에 저장하는 단계(940)를 수행할 수 있다. 제 2 데이터베이스(440)는 제 3 사기 주소가 제 1 사기 주소 또는 제 3 사기 주소와 중복되는 경우 제 3 사기 주소, 제 1 사기 주소 또는 제 2 사기 주소 중 어느 하나를 무시하거나, 제 3 사기 주소, 제 1 사기 주소 또는 제 2 사기 주소 중 어느 하나에 대한 정보를 갱신할 수 있다.
도 11은 본 개시의 일 실시예에 따라 기계학습모델을 도출하는 구성을 나타낸 도면이다.
이제까지 학습데이터 획득 장치(100)가 제 1 사기 주소, 제 2 사기 주소, 제 3 사기주소 및 양호 주소를 도출하여 제 2 데이터베이스(440)에 저장하는 방법에 대하여 설명하였다. 데이터 학습부(110)는 제 2 데이터베이스(440)에 저장된 데이터에 기초하여 기계학습을 수행하고, 기계학습모델(1130)을 도출할 수 있다.
데이터 학습부(110)는 제 1 사기 주소, 제 2 사기 주소, 제 3 사기주소 및 양호 주소뿐만 아니라, 제 1 사기 주소, 제 2 사기 주소, 제 3 사기주소 및 양호 주소와 관련된 정보를 이용할 수 있다. 제 1 사기 주소, 제 2 사기 주소, 제 3 사기주소 및 양호 주소와 관련된 정보는 거래 이력을 포함할 수 있다. 거래 이력은 거래 일시, 거래한 상대방의 주소 또는 거래 금액의 크기를 포함할 수 있다.
데이터 학습부(110)는 제 1 사기 주소, 제 2 사기 주소, 제 3 사기주소 및 양호 주소와 관련된 정보를 분석하여 주소들의 특징을 획득할 수 있다. 데이터 학습부(110)는 주소들의 특징을 이용하여 기계학습을 수행하고 기계학습모델(1130)을 생성할 수 있다.
데이터 학습부(110)는 생성된 기계학습모델(1130)을 메모리에 저장하거나, 다른 장치로 송신할 수 있다. 데이터 인식부(120)는 기계학습모델(1130)에 기초하여 암호화폐 주소가 사기 주소인지 여부를 결정할 수 있다. 데이터 인식부(120)는 새로운 암호화폐 주소를 수신하고, 새로운 암호화폐 주소를 기계학습모델(1130)에 적용하여 암호화폐 주소가 사기 주소인지 여부를 결정할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
Claims (12)
- 학습데이터 획득 장치에서, 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 방법에 있어서,
신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계;
상기 리포트로부터 제 1 사기 주소 및 상기 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계;
자연어 처리(Natural Language Processing)를 이용하여, 상기 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계;
상기 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계;
공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계;
상기 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계;
자연어 처리를 이용하여 상기 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계;
사기정보검출모델을 획득하는 단계;
상기 복수의 제 2 핵심 단어들을 상기 사기정보검출모델에 적용하여 상기 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계;
상기 암호화폐 주소가 사기 주소인 경우, 상기 암호화폐 주소를 제 2 사기 주소로 획득하는 단계; 및
상기 제 2 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
- 삭제
- 제 1 항에 있어서,
상기 사기정보검출모델을 획득하는 단계는,
양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계;
상기 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계;
상기 제 1 핵심 단어들의 각각이 상기 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계; 및
양호로 레이블된 상기 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 상기 복수의 제 1 핵심 단어들을 기계학습하여 상기 사기정보검출모델을 획득하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
- 제 1 항에 있어서,
암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계;
상기 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계;
상기 사기 핵심 단어 세트에 포함된 단어가 상기 제 2 디스크립션에 기재된 경우, 상기 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계; 및
상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
- 제 4 항에 있어서,
상기 사기 핵심 단어 세트를 획득하는 단계는,
상기 복수의 제 1 핵심 단어들의 각각에 대하여 상기 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계; 및
상기 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 상기 사기 핵심 단어 세트로 결정하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
- 제 4 항에 있어서,
상기 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계;
상기 점수 정보가 양호(benign)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 상기 암호화폐 주소를 양호 주소로 결정하는 단계;
상기 점수 정보가 사기(scam)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 상기 암호화폐 주소를 상기 제 3 사기 주소로 결정하는 단계; 및
상기 양호 주소 및 상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
- 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 장치는,
프로세서 및 메모리를 포함하고,
상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계;
상기 리포트로부터 제 1 사기 주소 및 상기 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계;
자연어 처리(Natural Language Processing)를 이용하여, 상기 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계;
상기 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계;
공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계;
상기 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계;
자연어 처리를 이용하여 상기 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계;
사기정보검출모델을 획득하는 단계;
상기 복수의 제 2 핵심 단어들을 상기 사기정보검출모델에 적용하여 상기 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계;
상기 암호화폐 주소가 사기 주소인 경우, 상기 암호화폐 주소를 제 2 사기 주소로 획득하는 단계; 및
상기 제 2 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
- 삭제
- 제 7 항에 있어서,
상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계;
상기 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계;
상기 제 1 핵심 단어들의 각각이 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계; 및
양호로 레이블된 상기 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 상기 복수의 제 1 핵심 단어들을 기계학습하여 상기 사기정보검출모델을 획득하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
- 제 7 항에 있어서,
상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계;
상기 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계;
상기 사기 핵심 단어 세트에 포함된 단어가 상기 제 2 디스크립션에 기재된 경우, 상기 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계; 및
상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
- 제 10 항에 있어서,
상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
상기 복수의 제 1 핵심 단어들의 각각에 대하여 상기 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계; 및
상기 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 상기 사기 핵심 단어 세트로 결정하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
- 제 10 항에 있어서,
상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
상기 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계;
상기 점수 정보가 양호(benign)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 상기 암호화폐 주소를 양호 주소로 결정하는 단계;
상기 점수 정보가 사기(scam)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 상기 암호화폐 주소를 상기 제 3 사기 주소로 결정하는 단계; 및
상기 양호 주소 및 상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 더 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190110111A KR102051350B1 (ko) | 2019-09-05 | 2019-09-05 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
CN202080062459.8A CN114730387A (zh) | 2019-09-05 | 2020-01-30 | 用于分析加密货币交易的数据获取方法和装置 |
US17/640,660 US20220358493A1 (en) | 2019-09-05 | 2020-01-30 | Data acquisition method and apparatus for analyzing cryptocurrency transaction |
JP2022512809A JP7372707B2 (ja) | 2019-09-05 | 2020-01-30 | 暗号通貨取引を分析するためのデータ取得方法及び装置 |
PCT/KR2020/001400 WO2021045332A1 (ko) | 2019-09-05 | 2020-01-30 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190110111A KR102051350B1 (ko) | 2019-09-05 | 2019-09-05 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102051350B1 true KR102051350B1 (ko) | 2019-12-03 |
Family
ID=68838143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190110111A KR102051350B1 (ko) | 2019-09-05 | 2019-09-05 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220358493A1 (ko) |
JP (1) | JP7372707B2 (ko) |
KR (1) | KR102051350B1 (ko) |
CN (1) | CN114730387A (ko) |
WO (1) | WO2021045332A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102113347B1 (ko) * | 2020-02-20 | 2020-05-21 | 팀블랙버드 주식회사 | 인공지능을 이용한 암호화폐 계좌 분류 방법, 장치 및 컴퓨터프로그램 |
WO2021045332A1 (ko) * | 2019-09-05 | 2021-03-11 | (주)에스투더블유랩 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
KR102259838B1 (ko) * | 2020-09-21 | 2021-06-02 | 한성대학교 산학협력단 | 암호화폐 블랙리스트 구축 장치 및 방법 |
KR20210094439A (ko) | 2020-01-21 | 2021-07-29 | 고려대학교 산학협력단 | 암호화폐 지갑 주소의 클러스터링 기법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222002A1 (en) * | 2007-03-08 | 2008-09-11 | Tie Hu | Method of processing online payments with fraud analysis and management system |
US20150200963A1 (en) * | 2012-09-07 | 2015-07-16 | Computer Network Information Center, Chinese Academy Of Sciences | Method for detecting phishing website without depending on samples |
US9515984B1 (en) * | 2013-11-19 | 2016-12-06 | El Toro.Com, Llc | Determining and utilizing one or more attributes of IP addresses |
US20180240112A1 (en) * | 2014-06-16 | 2018-08-23 | Bank Of America Corporation | Block chain encryption tags |
US20190132357A1 (en) * | 2016-07-11 | 2019-05-02 | Bitdefender IPR Management Ltd. | Systems and Methods for Detecting Online Fraud |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219880A (ja) * | 2006-02-17 | 2007-08-30 | Fujitsu Ltd | 評判情報処理プログラム、方法及び装置 |
KR101345740B1 (ko) * | 2012-02-22 | 2013-12-30 | 박원형 | 활성 포렌식 기술을 이용한 연관성 분석 기반 악성코드 탐지 시스템 |
WO2019106659A1 (en) * | 2017-11-28 | 2019-06-06 | Brandshield Ltd. | System, device, and method of protected electronic commerce and electronic financial transactions |
US10116678B2 (en) * | 2016-02-25 | 2018-10-30 | Verrafid LLC | System for detecting fraudulent electronic communications impersonation, insider threats and attacks |
US10505981B2 (en) * | 2016-11-03 | 2019-12-10 | RiskIQ, Inc. | Techniques for detecting malicious behavior using an accomplice model |
KR102051350B1 (ko) * | 2019-09-05 | 2019-12-03 | (주)에스투더블유랩 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
-
2019
- 2019-09-05 KR KR1020190110111A patent/KR102051350B1/ko active IP Right Grant
-
2020
- 2020-01-30 WO PCT/KR2020/001400 patent/WO2021045332A1/ko active Application Filing
- 2020-01-30 CN CN202080062459.8A patent/CN114730387A/zh not_active Withdrawn
- 2020-01-30 US US17/640,660 patent/US20220358493A1/en active Pending
- 2020-01-30 JP JP2022512809A patent/JP7372707B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222002A1 (en) * | 2007-03-08 | 2008-09-11 | Tie Hu | Method of processing online payments with fraud analysis and management system |
US20150200963A1 (en) * | 2012-09-07 | 2015-07-16 | Computer Network Information Center, Chinese Academy Of Sciences | Method for detecting phishing website without depending on samples |
US9515984B1 (en) * | 2013-11-19 | 2016-12-06 | El Toro.Com, Llc | Determining and utilizing one or more attributes of IP addresses |
US20180240112A1 (en) * | 2014-06-16 | 2018-08-23 | Bank Of America Corporation | Block chain encryption tags |
US20190132357A1 (en) * | 2016-07-11 | 2019-05-02 | Bitdefender IPR Management Ltd. | Systems and Methods for Detecting Online Fraud |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021045332A1 (ko) * | 2019-09-05 | 2021-03-11 | (주)에스투더블유랩 | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 |
KR20210094439A (ko) | 2020-01-21 | 2021-07-29 | 고려대학교 산학협력단 | 암호화폐 지갑 주소의 클러스터링 기법 |
KR20210148040A (ko) | 2020-01-21 | 2021-12-07 | 고려대학교 산학협력단 | 암호화폐 지갑 주소의 클러스터링 기법 |
KR102455870B1 (ko) * | 2020-01-21 | 2022-10-18 | 고려대학교 산학협력단 | 암호화폐 지갑 주소의 클러스터링 기법 |
KR102113347B1 (ko) * | 2020-02-20 | 2020-05-21 | 팀블랙버드 주식회사 | 인공지능을 이용한 암호화폐 계좌 분류 방법, 장치 및 컴퓨터프로그램 |
KR102259838B1 (ko) * | 2020-09-21 | 2021-06-02 | 한성대학교 산학협력단 | 암호화폐 블랙리스트 구축 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2022548501A (ja) | 2022-11-21 |
US20220358493A1 (en) | 2022-11-10 |
JP7372707B2 (ja) | 2023-11-01 |
CN114730387A (zh) | 2022-07-08 |
WO2021045332A1 (ko) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102051350B1 (ko) | 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 | |
CN109816397B (zh) | 一种欺诈判别方法、装置及存储介质 | |
US12118552B2 (en) | User profiling based on transaction data associated with a user | |
WO2019196546A1 (zh) | 确定业务请求事件的风险概率的方法及装置 | |
KR102058683B1 (ko) | 암호화폐 거래 분석 방법 및 장치 | |
Wang et al. | Representing fine-grained co-occurrences for behavior-based fraud detection in online payment services | |
CN110163242B (zh) | 风险识别方法、装置及服务器 | |
CN112463923B (zh) | 用户欺诈行为检测方法、装置、设备及存储介质 | |
TWI524199B (zh) | 用以找出複雜二元或多重交易方關係之多維遞迴學習方法和系統 | |
KR20210092979A (ko) | 가짜 뉴스 인공지능 판별 시스템 및 그 방법 | |
KR102113347B1 (ko) | 인공지능을 이용한 암호화폐 계좌 분류 방법, 장치 및 컴퓨터프로그램 | |
KR102259838B1 (ko) | 암호화폐 블랙리스트 구축 장치 및 방법 | |
CN110209841A (zh) | 一种基于诈骗案件案情的诈骗分析方法及装置 | |
US11797617B2 (en) | Method and apparatus for collecting information regarding dark web | |
CN113268768A (zh) | 一种敏感数据的脱敏方法、装置、设备及介质 | |
CN115378629A (zh) | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 | |
CN115329770A (zh) | 基于语义分析的威胁情报提取方法和系统 | |
CN116151967A (zh) | 一种基于交易知识图谱的欺诈团伙识别系统 | |
CN112581271A (zh) | 一种商户交易风险监测方法、装置、设备及存储介质 | |
CN115238688A (zh) | 电子信息数据关联关系分析方法、装置、设备和存储介质 | |
KR102199587B1 (ko) | 암호화폐 거래 분석 방법 및 장치 | |
CN113593692A (zh) | 基于大数据智慧医疗的数据处理方法和云计算服务器 | |
CN110097258A (zh) | 一种用户关系网络建立方法、装置及计算机可读存储介质 | |
KR20190019589A (ko) | 팩트체크 시스템 및 방법 | |
KR20210110442A (ko) | 인공지능을 이용한 암호화폐 계좌의 클러스터링 방법, 장치 및 컴퓨터프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |