WO2021045332A1 - 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 - Google Patents

암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 Download PDF

Info

Publication number
WO2021045332A1
WO2021045332A1 PCT/KR2020/001400 KR2020001400W WO2021045332A1 WO 2021045332 A1 WO2021045332 A1 WO 2021045332A1 KR 2020001400 W KR2020001400 W KR 2020001400W WO 2021045332 A1 WO2021045332 A1 WO 2021045332A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
fraudulent
cryptocurrency
key words
learning
Prior art date
Application number
PCT/KR2020/001400
Other languages
English (en)
French (fr)
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 JP2022512809A priority Critical patent/JP7372707B2/ja
Priority to US17/640,660 priority patent/US20220358493A1/en
Priority to CN202080062459.8A priority patent/CN114730387A/zh
Publication of WO2021045332A1 publication Critical patent/WO2021045332A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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

Definitions

  • the present disclosure relates to a method and apparatus for acquiring learning data to generate a machine learning model for detecting a fraudulent account of cryptocurrency.
  • Cryptocurrency is a digital asset designed to function as a means of exchange, and refers to electronic information that is encrypted with blockchain technology, distributed and issued, and can be used as currency in a certain network.
  • Cryptocurrency is electronic information that is not issued by the central bank, but whose monetary value is digitally displayed based on blockchain technology, and is distributedly stored and operated and managed in a P2P method on the Internet.
  • the core technique for issuing and managing cryptocurrency is blockchain technology.
  • Blockchain is a list of continuously increasing records (blocks), and blocks are connected using an encryption method to ensure security. Each block typically contains the previous block's cryptographic hash, timestamp, and transaction data.
  • Blockchain is an open decentralized ledger that is resistant to data modification from the beginning and can effectively and permanently prove the transaction between both parties. Therefore, cryptocurrency enables transparent operation based on tamper protection.
  • cryptocurrency has anonymity, so third parties other than the giver and receiver cannot know the transaction details at all. Due to the anonymity of the account, it is difficult to track the flow of transactions (Non-trackable), and all records such as remittance records and collection records are all public, but the subject of the transaction is unknown.
  • Cryptocurrency is regarded as an alternative to the existing key currency due to the above-described freedom and transparency, and it is expected that it can be effectively used for international transactions with cheaper fees and simple remittance procedures compared to existing currencies.
  • Cryptocurrency due to its anonymity, cryptocurrencies are sometimes abused as criminal means, such as being used for fraudulent transactions.
  • the data of cryptocurrency transactions is vast, and it is difficult to determine the subject of fraud by manually determining the characteristics of fraudulent transactions.
  • machine learning it is possible to automatically learn the relationship between vast amounts of data.
  • the method of obtaining learning data for generating a machine learning model for detecting a fraudulent account of a cryptocurrency includes receiving a report related to a fraudulent address from a first database storing information on the reported fraudulent address. Step, obtaining the first fraudulent address and a first description associated with the first fraudulent address from the report, using natural language processing, a plurality of articles associated with the first fraudulent address in the first description 1 extracting key words and storing the first fraudulent address in a second database.
  • the method of acquiring learning data includes receiving text information from a publicly accessible website, extracting main text information including a cryptocurrency address from the text information, and main text information using natural language processing. Extracting a plurality of second key words from, obtaining a fraud information detection model, determining whether the cryptocurrency address included in the main text is a fraudulent address by applying the plurality of second key words to the fraud information detection model And, when the cryptocurrency address is a fraudulent address, obtaining a cryptocurrency address as a second fraudulent address and storing the second fraudulent address in a second database.
  • Obtaining a fraud information detection model of the method for obtaining learning data includes obtaining words related to a good cryptocurrency address obtained from a website determined to contain a good cryptocurrency address, and a good cryptocurrency Obtaining a first frequency in which each of the words associated with the address appears on the website, obtaining a second frequency in which each of the first key words is indicated in the first description, and a word associated with a good cryptocurrency address labeled as good And acquiring a fraud information detection model by machine learning a plurality of first key words labeled with a fraud, a first frequency, a second frequency, and a fraud.
  • the method of acquiring learning data includes acquiring a second description from a service providing a tag corresponding to a cryptocurrency address, acquiring a set of fraudulent key words based on a plurality of first key words Step of, when a word included in the set of fraudulent key words is described in the second description, determining a cryptocurrency address corresponding to the second description as a third fraudulent address, and storing the third fraudulent address in a second database It characterized in that it comprises a.
  • the step of obtaining the set of fraudulent key words in the method for obtaining learning data includes obtaining a frequency number appearing in the first description for each of the plurality of first key words, and the plurality of first key words And determining a predetermined number of words having a high frequency as a set of fraudulent key words.
  • the method of acquiring learning data is the step of acquiring score information indicating the reliability of the address from a service providing a tag corresponding to a cryptocurrency address, indicating that the score information is good, and the second If the description does not contain a word included in the set of fraudulent key words, determining the cryptocurrency address as a good address, the score information indicates scam, and the word included in the set of fraudulent keywords in the second description If included, determining the cryptocurrency address as a third fraudulent address, and storing the good address and the third fraudulent address in a second database.
  • An apparatus for obtaining learning data for generating a machine learning model for detecting a fraudulent account of a cryptocurrency includes a processor and a memory, and the processor is Receiving a report related to a fraudulent address from a first database storing information, obtaining a first description associated with the fraudulent address and the first fraudulent address from the report, Natural Language Processing Using, extracting a plurality of first key words related to the first fraudulent address from the first description and storing the first fraudulent address in a second database.
  • the processor of the apparatus for obtaining learning data receives text information from a publicly accessible website according to an instruction stored in a memory, and extracting main text information including a cryptocurrency address from the text information , Extracting a plurality of second key words from the main text information using natural language processing, obtaining a fraud information detection model, applying a plurality of second key words to the fraud information detection model, and ciphering included in the main text Determining whether the monetary address is a fraudulent address, if the cryptocurrency address is a fraudulent address, acquiring a cryptocurrency address as a second fraudulent address, and storing the second fraudulent address in a second database. do.
  • the processor of the apparatus for obtaining learning data obtains words related to a good cryptocurrency address obtained from a website determined to contain a good cryptocurrency address according to an instruction stored in the memory, and a good cryptocurrency address Obtaining a first frequency number in which each of the words associated with the website appears on the website, obtaining a second frequency number in which each of the first key words indicates in the first description, and words associated with a good cryptocurrency address labeled as good , A first frequency frequency, a second frequency frequency, and a plurality of first key words labeled with fraud are machine-learned to obtain a fraud information detection model.
  • the processor of the apparatus for obtaining learning data obtains a second description from a service providing a tag corresponding to a cryptocurrency address according to an instruction stored in a memory, a plurality of first key words Obtaining a fraudulent key word set based on the fraudulent key word set, when a word included in the fraudulent key word set is described in the second description, determining a cryptocurrency address corresponding to the second description as a third fraudulent address, and a third fraud It characterized in that performing the step of storing the address in the second database.
  • the processor of the apparatus for obtaining learning data according to an instruction stored in a memory, acquiring a frequency number appearing in a first description for each of a plurality of first key words and among the plurality of first key words It characterized in that performing the step of determining a predetermined number of words having a high frequency as a set of key words of fraud.
  • the processor of the apparatus for obtaining learning data obtains score information indicating the reliability of the address from a service providing a tag corresponding to a cryptocurrency address according to a command stored in a memory, and the score information is If the second description does not contain a word included in the set of fraudulent key words, determining a cryptocurrency address as a good address, the score information indicates scam, and in the second description When a word included in the set of fraudulent key words is included, determining a cryptocurrency address as a third fraudulent address and storing a good address and a third fraudulent address in a second database are further performed.
  • a program for implementing the method for acquiring learning data as described above may be recorded in a computer-readable recording medium.
  • FIG. 1 is a block diagram of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 3 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a method of obtaining a fraud information detection model according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 9 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating a configuration for deriving a machine learning model according to an embodiment of the present disclosure.
  • unit used in the specification refers to software or hardware components, and “unit” performs certain roles. However, “unit” is not meant to be limited to software or hardware.
  • the “unit” may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors.
  • unit refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables.
  • the functions provided within the components and “units” may be combined into a smaller number of components and “units” or may be further separated into additional components and “units”.
  • the "unit” may be implemented with a processor and a memory.
  • processor is to be interpreted broadly to include general purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like.
  • processor may refer to an application specific application (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), and the like.
  • ASIC application specific application
  • PLD programmable logic device
  • FPGA field programmable gate array
  • processor refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such configuration. You can also refer to it.
  • memory should be interpreted broadly to include any electronic component capable of storing electronic information.
  • the term memory refers to random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erase-programmable read-only memory (EPROM), electrical May refer to various types of processor-readable media such as erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like.
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile random access memory
  • PROM programmable read-only memory
  • EPROM erase-programmable read-only memory
  • EEPROM erasable PROM
  • flash memory magnetic or optical data storage, registers, and the like.
  • the memory is said to be in electronic communication with the processor if the processor can read information from and
  • FIG. 1 is a block diagram of an apparatus 100 for obtaining learning data according to an embodiment of the present disclosure.
  • the apparatus 100 for acquiring learning data may include at least one of a data learning unit 110 and a data recognition unit 120.
  • the learning data acquisition apparatus 100 as described above may include a processor and a memory.
  • the data learning unit 110 may learn a machine learning model for performing a target task using a data set.
  • the data learning unit 110 may receive label information related to a data set and a target task.
  • the data learning unit 110 may acquire a machine learning model by performing machine learning on the relationship between the data set and label information.
  • the machine learning model acquired by the data learning unit 110 may be a model for generating label information using a data set.
  • the data recognition unit 120 may receive and store the machine learning model of the data learning unit 110.
  • the data recognition unit 120 may output label information by applying a machine learning model to input data.
  • the data recognition unit 120 may use input data, label information, and results output by the machine learning model to update the machine learning model.
  • At least one of the data learning unit 110 and the data recognition unit 120 may be manufactured in the form of at least one hardware chip and mounted on an electronic device.
  • at least one of the data learning unit 110 and the data recognition unit 120 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (eg, a CPU Alternatively, it may be manufactured as a part of an application processor) or a graphics dedicated processor (eg, a GPU) and mounted on various electronic devices previously described.
  • AI artificial intelligence
  • an existing general-purpose processor eg, a CPU
  • a graphics dedicated processor eg, a GPU
  • the data learning unit 110 and the data recognition unit 120 may be mounted on separate electronic devices, respectively.
  • one of the data learning unit 110 and the data recognition unit 120 may be included in the electronic device, and the other may be included in the server.
  • the data learning unit 110 and the data recognition unit 120 may provide the machine learning model information built by the data learning unit 110 to the data recognition unit 120 through wired or wireless communication, or to recognize data. Data input to the unit 120 may be provided to the data learning unit 110 as additional learning data.
  • At least one of the data learning unit 110 and the data recognition unit 120 may be implemented as a software module.
  • the software module is a memory or a computer-readable ratio. It may be stored in a non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application. Alternatively, some of the at least one software module may be provided by an operating system (OS), and the remaining part may be provided by a predetermined application.
  • the data learning unit 110 includes a data acquisition unit 111, a preprocessor 112, a training data selection unit 113, a model learning unit 114, and a model evaluation unit 115.
  • the data acquisition unit 111 may acquire data necessary for machine learning. Since a lot of data is required for learning, the data acquisition unit 111 may receive a data set including a plurality of data.
  • Label information may be assigned to each of a plurality of data.
  • the label information may be information describing each of a plurality of pieces of data.
  • the label information may be information to be derived by a target task.
  • the label information may be obtained from a user input, a memory, or a result of a machine learning model. For example, if the target task is to determine whether a cryptocurrency address is an address owned by a fraudster from the transaction history of a cryptocurrency address, the plurality of data used in machine learning will be data related to the transaction history of the cryptocurrency address.
  • the label information will be whether or not the cryptocurrency address is owned by the scammer.
  • the preprocessor 112 may preprocess the acquired data so that the received data can be used for machine learning.
  • the preprocessor 112 may process the acquired data set into a preset format so that the model learning unit 114 to be described later can use it.
  • the learning data selection unit 113 may select data necessary for learning from among the preprocessed data.
  • the selected data may be provided to the model learning unit 114.
  • the learning data selection unit 113 may select data necessary for learning from among preprocessed data according to a preset criterion.
  • the learning data selection unit 113 may select data according to a preset criterion by learning by the model learning unit 114 to be described later.
  • the model learning unit 114 may learn a criterion regarding which label information is to be output based on the data set. In addition, the model learning unit 114 may perform machine learning by using the data set and label information on the data set as training data. In addition, the model learning unit 114 may perform machine learning by additionally using the previously acquired machine learning model. In this case, the previously acquired machine learning model may be a pre-built model. For example, the machine learning model may be a model built in advance by receiving basic training data.
  • the machine learning model may be constructed in consideration of the application field of the learning model, the purpose of learning, or the computer performance of the device.
  • the machine learning model may be, for example, a model based on a neural network.
  • models such as Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), and Convolutional Neural Networks (CNN) are used as machine learning models.
  • DNN Deep Neural Network
  • RNN Recurrent Neural Network
  • LSTM Long Short-Term Memory models
  • BRDNN Bidirectional Recurrent Deep Neural Network
  • CNN Convolutional Neural Networks
  • the model learning unit 114 may determine a machine learning model having a high correlation between the input learning data and the basic learning data as a machine learning model to be trained.
  • the basic learning data may be pre-classified by data type, and the machine learning model may be pre-built for each data type.
  • the basic training data may be pre-classified according to various criteria such as a place where the training data is generated, a time when the training data is generated, a size of the training data, a creator of the training data, and a type of an object in the training data.
  • model learning unit 114 may train the machine learning model using, for example, a learning algorithm including error back-propagation or gradient descent.
  • the model learning unit 114 may learn a machine learning model through supervised learning using, for example, training data as an input value.
  • the model learning unit 114 for example, by self-learning the type of data required for a target task without any guidance, unsupervised learning (unsupervised learning) to discover the criteria for the target task. Through this, a machine learning model can be obtained.
  • the model learning unit 114 may learn the machine learning model through reinforcement learning using feedback on whether the result of the target task according to the learning is correct, for example.
  • the model learning unit 114 may store the learned machine learning model.
  • the model learning unit 114 may store the learned machine learning model in a memory of the electronic device including the data recognition unit 120.
  • the model learning unit 114 may store the learned machine learning model in a memory of a server connected to the electronic device through a wired or wireless network.
  • the memory in which the learned machine learning model is stored may also store commands or data related to at least one other component of the electronic device, for example.
  • the memory may store software and/or programs.
  • the program may include, for example, a kernel, middleware, an application programming interface (API) and/or an application program (or "application").
  • the model evaluation unit 115 may input evaluation data to the machine learning model, and when a result output from the evaluation data does not satisfy a predetermined criterion, the model learning unit 114 may retrain.
  • the evaluation data may be preset data for evaluating the machine learning model.
  • the model evaluation unit 115 does not satisfy a predetermined criterion when the number or ratio of evaluation data whose recognition result is not accurate among the results of the machine learning model learned for the evaluation data exceeds a preset threshold. It can be evaluated as For example, when a predetermined criterion is defined as a ratio of 2%, when the learned machine learning model outputs incorrect recognition results for more than 20 evaluation data out of a total of 1000 evaluation data, the model evaluation unit 115 learns. It can be evaluated that the machine learning model is not suitable.
  • the model evaluation unit 115 evaluates whether each learned machine learning model satisfies a predetermined criterion, and determines the model that satisfies the predetermined criterion as a final machine learning model. You can decide. In this case, when there are a plurality of models that satisfy a predetermined criterion, the model evaluation unit 115 may determine any one or a predetermined number of models previously set in the order of the highest evaluation scores as the final machine learning model.
  • At least one of the data acquisition unit 111, the preprocessor 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 in the data learning unit 110 is at least one It can be manufactured in the form of a hardware chip and mounted on an electronic device.
  • at least one of the data acquisition unit 111, the preprocessor 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 is artificial intelligence (AI). It may be manufactured in the form of a dedicated hardware chip, or may be manufactured as a part of an existing general-purpose processor (eg, CPU or application processor) or a graphics dedicated processor (eg, GPU) and mounted on the aforementioned various electronic devices.
  • AI artificial intelligence
  • the data acquisition unit 111, the preprocessor 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 may be mounted on one electronic device, or separate Each of the electronic devices may be mounted.
  • some of the data acquisition unit 111, the preprocessing unit 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 are included in the electronic device, and the rest are Can be included in the server.
  • At least one of the data acquisition unit 111, the preprocessor 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 may be implemented as a software module.
  • At least one of the data acquisition unit 111, the preprocessor 112, the training data selection unit 113, the model learning unit 114, and the model evaluation unit 115 is a software module (or a program including an instruction) Module), the software module may be stored in a computer-readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application.
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and the remaining part may be provided by a predetermined application.
  • the data recognition unit 120 includes a data acquisition unit 121, a preprocessor 122, a recognition data selection unit 123, a recognition result providing unit 124, and a model update unit 125. It may include.
  • the data acquisition unit 121 may receive input data.
  • the preprocessor 122 may preprocess the acquired input data so that the acquired input data can be used by the recognition data selection unit 123 or the recognition result providing unit 124.
  • the recognition data selection unit 123 may select necessary data from among pre-processed data.
  • the selected data may be provided to the recognition result providing unit 124.
  • the recognition data selection unit 123 may select some or all of the preprocessed data according to a preset criterion.
  • the recognition data selection unit 123 may select data according to a preset criterion by learning by the model learning unit 114.
  • the recognition result providing unit 124 may obtain result data by applying the selected data to the machine learning model.
  • the machine learning model may be a machine learning model generated by the model learning unit 114.
  • the recognition result providing unit 124 may output result data.
  • the model update unit 125 may update the machine learning model based on an evaluation of the recognition result provided by the recognition result providing unit 124. For example, the model update unit 125 provides the recognition result provided by the recognition result providing unit 124 to the model learning unit 114, so that the model learning unit 114 can update the machine learning model. have.
  • At least one of the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124 and the model update unit 125 in the data recognition unit 120 is at least It can be manufactured in the form of a single hardware chip and mounted on an electronic device.
  • at least one of the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124, and the model update unit 125 is artificial intelligence (AI). ) May be manufactured in the form of a dedicated hardware chip, or may be manufactured as a part of an existing general-purpose processor (eg, a CPU or application processor) or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices.
  • AI artificial intelligence
  • the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124, and the model update unit 125 may be mounted on one electronic device, or separately It may be mounted on each of the electronic devices.
  • some of the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124, and the model update unit 125 are included in the electronic device, and the rest Can be included in the server.
  • At least one of the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124, and the model update unit 125 may be implemented as a software module.
  • At least one of the data acquisition unit 121, the preprocessor 122, the recognition data selection unit 123, the recognition result providing unit 124, and the model update unit 125 includes a software module (or instruction).
  • the software module may be stored in a computer-readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application.
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and the remaining part may be provided by a predetermined application.
  • FIG. 2 is a diagram illustrating an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • the learning data acquisition apparatus 100 may include a processor 210 and a memory 220.
  • the processor 210 may execute instructions stored in the memory 220.
  • the learning data acquisition apparatus 100 may include a data learning unit 110.
  • the data acquisition unit 111, the preprocessor 112, or the learning data selection unit 113 of the data learning unit 110 may be implemented by the processor 210 and the memory 220.
  • FIG. 3 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • the learning data acquisition device 100 may acquire training data for generating a machine learning model for detecting fraudulent accounts.
  • the learning data acquisition device 100 may include a data acquisition unit 111, a preprocessor 112, or a training data selection unit 113.
  • the learning data acquisition apparatus 100 may perform step 310 of receiving a report related to the fraudulent address from a first database storing information on the reported fraudulent address.
  • the learning data acquisition apparatus 100 may further include a receiving unit 410 for receiving data from the first database 430.
  • the receiving unit 410 may receive data by wire or wirelessly.
  • the first database 430 may be a database embedded in a service that provides a report related to fraudulent addresses of cryptocurrency.
  • the first database 430 may be a database embedded in a cryptocurrency fraud blacklist service.
  • services that provide reports related to fraudulent addresses may be services such as BitcoinWhosWho or BitcoinAbuse.
  • reports are stored for each cryptocurrency address.
  • the learning data acquisition device 100 may receive a report.
  • the learning data acquisition device 100 may determine whether the cryptocurrency address is a fraudulent address based on the report.
  • the learning data acquisition apparatus 100 may perform step 320 of acquiring a first fraudulent address and a first description related to the first fraudulent address from the report.
  • the learning data acquisition apparatus 100 may further include a first analysis unit 420 for obtaining and processing a first fraudulent address and a first description related to the first fraudulent address.
  • the first analysis unit may analyze data received from the first database.
  • the first analysis unit 420 may be implemented in software or hardware.
  • the first analysis unit 420 processes data different from the second analysis unit or the third analysis unit, but may be implemented with the same hardware.
  • the first fraudulent address may be an address of an account through which cryptocurrency can be exchanged.
  • the first fraudulent address may be an address determined as a cryptocurrency address already used for fraud by a service including the first database 430.
  • the first description may explain in text why the first fraudulent address is determined as a fraudulent address.
  • the learning data acquisition apparatus 100 may use only the first description written in a specific language. Since the first description is written in natural language, if the learning data acquisition device 100 does not properly perform language analysis, the accuracy of the analysis of the fraudulent address may be degraded. Accordingly, the learning data acquisition apparatus 100 may use only the first description in a language capable of analysis. However, it is not limited thereto.
  • the learning data acquisition apparatus 100 may perform an operation 330 of extracting a plurality of first key words related to the first fraudulent address from the first description by using natural language processing.
  • the cryptocurrency fraud blacklist service including the first database may be a service with high reliability in relation to fraudulent address determination. Accordingly, the learning data acquisition apparatus 100 may derive first key words from the text of the first description and analyze information related to the address of the cryptocurrency obtained from another database.
  • the learning data acquisition apparatus 100 may delete characters unnecessary for analysis such as special characters, URLs, and stopwords from the first description. In addition, the learning data acquisition apparatus 100 may not use the first description when the number of words remaining after deleting unnecessary characters from the first description is less than a predetermined number.
  • the predetermined number may be 15, for example. When the number of remaining words is less than a predetermined number, the number of words is too small to be used as a key word for determining a fraudulent address.
  • the learning data acquisition apparatus 100 may increase the reliability of the training data acquisition apparatus 100 by using a first description of a predetermined number or more after deleting unnecessary characters. In addition, reliability of a machine learning model based on data acquired by the learning data acquisition apparatus 100 may be increased.
  • the learning data acquisition apparatus 100 may perform an operation 340 of storing the first fraudulent address in the second database 440.
  • the second database 440 may be included in the learning data acquisition device 100.
  • the second database 440 may store data for generating a machine learning model.
  • the second database 440 may store data for determining another fraudulent address and analyzing a description of the fraudulent address.
  • FIG. 5 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for describing an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • the learning data acquisition device 100 may perform an operation 510 of receiving text information from a publicly accessible website.
  • the learning data acquisition device 100 may receive text information from a website using the receiving unit 410.
  • Publicly accessible website 610 may include blogs that are used personally or technically. It could also be a fraud analysis report from a cyber security company. Various information related to the address of the cryptocurrency may be described on the website 610.
  • the website 610 may include content that the address of a specific cryptocurrency was used for fraud, that the transaction with the address of a specific cryptocurrency was satisfactory, or that the address of a specific cryptocurrency was simply transacted. have.
  • the learning data acquisition device 100 may perform the following steps in order to extract the content that the address of a specific cryptocurrency was used for fraud.
  • the website 610 may not have a certain format.
  • the website 610 may include various information other than information related to the fraudulent address.
  • the learning data acquisition device 100 may crawl a predetermined website 610.
  • the present invention is not limited thereto, and the learning data acquisition device 100 may automatically extract necessary data by crawling an arbitrary website 610.
  • the source code of the website 610 may be composed of an HTML document.
  • the HTML document may include not only content to be displayed on the website 610 but also code related to a format for displaying the content.
  • the learning data acquisition device 100 may extract the HTML body from the website 610 as text information.
  • the learning data acquisition apparatus 100 may perform an operation 520 of extracting main text information including a cryptocurrency address from the text information.
  • the learning data acquisition device 100 may further include a second analysis unit 620.
  • the second analysis unit 620 may analyze text information received from the website 610.
  • the second analysis unit 620 may be implemented in software or hardware.
  • the learning data acquisition device 100 may extract main text information using the second analysis unit 620.
  • the learning data acquisition device 100 may use only a page including an address of a cryptocurrency among text information of the website 610.
  • Cryptocurrency addresses may have a specific format. Accordingly, the learning data acquisition device 100 may determine whether the address of the cryptocurrency is written on the page based on the content of the page of the website 610.
  • the learning data acquisition device 100 may remove unnecessary information from text information of a page including an address of a cryptocurrency. For example, the learning data acquisition device 100 may delete a banner and an HTML tag. For this, the learning data acquisition device 100 may use a boilerpipe.
  • the second analysis unit 620 of the learning data acquisition apparatus 100 may perform an operation 530 of extracting a plurality of second key words from main text information using natural language processing. For example, the learning data acquisition device 100 may delete characters unnecessary for analysis such as special characters, URLs, and stopwords from the main text.
  • the second analysis unit 620 of the learning data acquisition apparatus 100 may perform an operation 540 of acquiring a fraud information detection model.
  • the fraud information detection model may be a neural network classifier.
  • the fraud information detection model may be a model obtained by performing machine learning.
  • the fraud information detection model may be a machine learning model for determining whether a cryptocurrency address is being used by a fraudster based on key words related to the cryptocurrency address.
  • the learning data acquisition device 100 may directly generate a fraud information detection model.
  • the learning data acquisition apparatus 100 may include a data learning unit 110 to generate a fraud information detection model.
  • the learning data acquisition device 100 may receive a fraud information detection model from another device. A process in which the learning data acquisition device 100 generates a fraud information detection model will be described in detail with reference to FIG. 7.
  • the second analysis unit 620 of the learning data acquisition device 100 performs a step 550 of determining whether the cryptocurrency address included in the main text is a fraudulent address by applying a plurality of second key words to the fraud information detection model. can do. More specifically, the learning data acquisition apparatus 100 may derive the frequency of each of the plurality of second key words appearing in the main text. The learning data acquisition apparatus 100 may apply a plurality of second key words and frequency to the fraud information detection model. The learning data acquisition apparatus 100 may obtain information on whether a cryptocurrency address included in the main text is a fraudulent address by the fraud information detection model.
  • the second analysis unit 620 of the learning data acquisition device 100 may perform a step 560 of acquiring the cryptocurrency address as a second fraudulent address. More specifically, when the information on whether the cryptocurrency address included in the main text is a fraudulent address indicates that the fraudulent address is, the learning data acquisition device 100 acquires the cryptocurrency address included in the main text as a second fraudulent address. I can.
  • the learning data acquisition apparatus 100 may perform an operation 570 of storing the second fraudulent address in the second database 440. If the second fraudulent address and the first fraudulent address overlap, the second database 440 ignores either the second fraudulent address or the first fraudulent address, or Information can be updated.
  • FIG. 7 is a flowchart illustrating a method of obtaining a fraud information detection model according to an embodiment of the present disclosure.
  • the learning data acquisition apparatus 100 may perform step 710 of acquiring words related to a good cryptocurrency address obtained from a website determined to contain a good cryptocurrency address.
  • a good cryptocurrency address may indicate that it is not a cryptocurrency address owned by the scammer.
  • a website determined to contain a good cryptocurrency address may refer to a website that provides reliability information of cryptocurrency addresses.
  • Cryptocurrency users can leave reviews related to cryptocurrency transactions on the website after cryptocurrency transactions. The user can indicate the review as a score or as text.
  • the user can decide which website contains a good cryptocurrency address.
  • the learning data acquisition device 100 may automatically determine a website including a good cryptocurrency address.
  • the learning data acquisition device 100 may acquire words related to a good cryptocurrency address from a website or webpage including a good cryptocurrency address.
  • the learning data acquisition device 100 may remove unnecessary characters from a website or a web page.
  • the learning data acquisition device 100 may acquire words related to a good cryptocurrency address after removing unnecessary characters from a website or a web page. Words related to good cryptocurrency addresses can be key words to describe good cryptocurrency addresses.
  • the learning data acquisition apparatus 100 may perform a step 720 of acquiring a first frequency number in which each word associated with a good cryptocurrency address appears on the website 610.
  • the learning data acquisition apparatus 100 may increase the accuracy of the fraud information detection model based on the first frequency as well as words related to a good cryptocurrency address.
  • a step 730 of acquiring a second frequency number indicated by each of the first key words of words related to a good cryptocurrency address in the first description may be performed.
  • the learning data acquisition apparatus 100 may acquire first key words from the first database 430. Since the process of acquiring the first key words has been described with reference to FIGS. 3 and 4, duplicate descriptions will be omitted.
  • the learning data acquisition device 100 obtains a fraud information detection model by machine learning words related to a good cryptocurrency address labeled as good, a first frequency, a second frequency, and a plurality of first key words labeled as fraud. Step 740 may be performed.
  • the fraud information detection model can learn information related to good addresses based on a first frequency and words related to a good cryptocurrency address, and based on a second frequency and a plurality of first key words, fraudulent addresses and You can learn related information.
  • the learning data acquisition device 100 may transmit the fraud information detection model to the other training data acquisition device 100 by wire or wirelessly.
  • the learning data acquisition device 100 may store the fraud information detection model in the memory 220.
  • the learning data acquisition device 100 may acquire a new cryptocurrency address, second key words corresponding to the new cryptocurrency address, and the frequency of the second key words.
  • the learning data acquisition apparatus 100 may determine whether the new cryptocurrency address is fraudulent or good by applying the frequency of the second key words and the second key words to the fraud information detection model.
  • the learning data acquisition device 100 determines a fraudulent address from information written on a website using a fraud information detection model has been described, but is not limited thereto.
  • the learning data acquisition device 100 may determine a good address from information written on the website using the fraud information detection model.
  • the method of obtaining the fraud information detection model by the learning data acquisition apparatus 100 is not limited to the above-described method.
  • the user can label the webpage containing the fraudulent address as'fraud' and store it with the fraudulent address, and the webpage containing the good address as'good' and store it with the good address. have.
  • the learning data acquisition device 100 may obtain a fraud information detection model by machine learning a fraudulent address, a web page labeled'fraud', a web page labeled'good', and a good address.
  • the learning data acquisition device 100 may determine whether the address or the address is related to the fraudster from the web page simply by applying the web page to the fraud information detection model.
  • FIG. 8 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • the learning data acquisition apparatus 100 may perform an operation 810 of acquiring a second description from a service 1010 providing a tag corresponding to a cryptocurrency address.
  • the learning data acquisition device 100 may acquire a second description using the receiver 410.
  • the tag may be meta information attached to the cryptocurrency address.
  • Services that provide tags corresponding to cryptocurrency addresses may include sites such as "blockchain.info”, “BitcoinTalk community”, or "bitcoin-otc.com”.
  • the tag may include a Submitted link tag, a signed message tag, a Bitcointalk profile tag, or a Bitcoin-OTC profile tag (Bitcoin over-the-counter profile tag).
  • Submitted link tag provides a brief description of the cryptocurrency address to which the tag is assigned. Reporters sometimes provide fraud descriptions with links to pages indicating sources of fraudulent information.
  • the signed message tag provides the owner of the address. However, since this identifier is chosen by the owner, scammers can make false claims.
  • the Bitcointalk profile tag can only provide user identifiers in the cryptocurrency community.
  • the Bitcoin-OTC profile tag provides a user identifier on the Bitcoin-OTC website. Unlike the Bitcointalk community, this website provides a reputation score for each user alias. This score can be given by the counterparty who performed financial transactions with the target cryptocurrency address. It also provides a brief explanation of why the other party assigned a given score to a given cryptocurrency address. Therefore, using the bitcoin-OTC profile tag, you can get all information related to the fraudulent address and the good address of the cryptocurrency.
  • the second description may be obtained from a signed message tag or a Bitcoin-OTC profile tag.
  • the second description may be text information about the reputation associated with the cryptocurrency address.
  • the learning data acquisition apparatus 100 may perform an operation 820 of acquiring a set of fraudulent key words based on a plurality of first key words.
  • the learning data acquisition device 100 may further include a third analysis unit 1020.
  • the third analysis unit 1020 may analyze the second description received from the service 1010 providing the tag.
  • the second analysis unit 1020 may be implemented in software or hardware.
  • the learning data acquisition apparatus 100 may acquire a set of fraudulent key words from the first key words by using the second analysis unit 1020.
  • the learning data acquisition apparatus 100 may acquire first key words from the first database 430. Since the process of acquiring the first key words has been described with reference to FIGS. 3 and 4, duplicate descriptions will be omitted.
  • the set of fraudulent key words may contain only nouns.
  • the learning data acquisition apparatus 100 may remove unnecessary characters for analysis among the first key words. For example, the learning data acquisition apparatus 100 may delete terms related to Twitter, Tumblr, and Instagram that are not related to fraud among the first key words.
  • the learning data acquisition apparatus 100 may perform the step of acquiring a frequency number appearing in the first description for each of the plurality of first key words.
  • the learning data acquisition device 100 may perform the step of determining a predetermined number of words having a high frequency among the plurality of first key words as a set of fraudulent key words. For example, the learning data acquisition device 100 May obtain a set of fraudulent key words by selecting 11 words with the highest frequency among the first key words.
  • the learning data acquisition apparatus 100 may perform a step 830 of determining a cryptocurrency address corresponding to the second description as a third fraud address when a word included in the set of fraudulent key words is described in the second description. . Since the number of words included in the tag is not large, the learning data acquisition apparatus 100 may determine whether the tag indicates fraud based on the set of fraudulent keywords derived from the first core words.
  • the learning data acquisition apparatus 100 may further use the frequency number on the first description of words included in the set of fraudulent key words. For example, even if the second description contains a word of the set of fraudulent key words, if the word is not a word that frequently appears in the second description, the learning data acquisition device 100 may use a cryptocurrency corresponding to the second description. The address may not be determined as a third fraudulent address. In addition, when the second description contains words of the set of fraudulent key words, and the words are words that frequently appear in the second description, the learning data acquisition device 100 provides a cryptocurrency address corresponding to the second description. 3 Can be decided by fraudulent address.
  • the learning data acquisition apparatus 100 may perform an operation 840 of storing the third fraudulent address in the second database 440. If the third fraudulent address overlaps the first fraudulent address or the third fraudulent address, the second database 440 ignores any of the third fraudulent address, the first fraudulent address, or the second fraudulent address, or the third fraudulent address , It is possible to update information on any one of the first fraudulent address or the second fraudulent address.
  • FIG. 9 is a flowchart illustrating an operation of an apparatus for acquiring learning data according to an embodiment of the present disclosure.
  • FIG. 8 illustrates a case where the learning data acquisition apparatus 100 acquires a second description from a service 1010 providing a tag.
  • FIG. 9 describes a case of acquiring not only the second description but also reliability score information of a cryptocurrency address.
  • the learning data acquisition apparatus 100 may perform an operation 910 of obtaining score information indicating the reliability of an address from a service providing a tag corresponding to a cryptocurrency address.
  • the score information indicating the reliability of the address may be a score left by a counterparty who transacted with the cryptocurrency address.
  • the average of the scores may be score information indicating the reliability of the address.
  • the learning data acquisition device 100 performs a step 920 of determining a cryptocurrency address as a good address when the score information indicates good and the second description does not include a word included in the set of fraudulent key words. You can do it.
  • the learning data acquisition apparatus 100 may determine that the score is good.
  • the present invention is not limited thereto, and the apparatus 100 for acquiring learning data may determine that the score information is good when the score information is less than or equal to the threshold value.
  • the learning data acquisition device 100 determines the cryptocurrency address as a third fraud address (930). You can do it.
  • the score information is less than or equal to the threshold value, the learning data acquisition device 100 may determine to indicate fraud.
  • the present invention is not limited thereto, and the apparatus 100 for obtaining learning data may determine that the score information indicates fraud when the score information is greater than or equal to the threshold value.
  • the learning data acquisition device 100 indicates that the score information indicates fraud but the second description does not contain a word included in the fraud key word set, or the score information indicates good, but is included in the fraud key word set in the second description. Decision on cryptocurrency address can be withheld if the word is included. Since the learning data acquisition device 100 determines the cryptocurrency address as a good address or a fraudulent address only when it is certain, machine learning may be performed based on the certain data later.
  • the learning data acquisition apparatus 100 may perform an operation 940 of storing the good address and the third fraudulent address in the second database 440. If the third fraudulent address overlaps the first fraudulent address or the third fraudulent address, the second database 440 ignores any of the third fraudulent address, the first fraudulent address, or the second fraudulent address, or the third fraudulent address , It is possible to update information on any one of the first fraudulent address or the second fraudulent address.
  • FIG. 11 is a diagram illustrating a configuration for deriving a machine learning model according to an embodiment of the present disclosure.
  • the learning data acquisition apparatus 100 has described a method of deriving a first fraudulent address, a second fraudulent address, a third fraudulent address, and a good address and storing them in the second database 440.
  • the data learning unit 110 may perform machine learning based on data stored in the second database 440 and derive a machine learning model 1130.
  • the data learning unit 110 can use information related to the first fraudulent address, the second fraudulent address, the third fraudulent address, and the good address, as well as the first fraudulent address, the second fraudulent address, the third fraudulent address, and a good address. have.
  • Information related to the first fraudulent address, the second fraudulent address, the third fraudulent address, and the good address may include a transaction history.
  • the transaction history may include the transaction date and time, the address of the counterparty, or the size of the transaction amount.
  • the data learning unit 110 may analyze information related to the first fraudulent address, the second fraudulent address, the third fraudulent address, and the good address to obtain characteristics of the addresses.
  • the data learning unit 110 may perform machine learning using features of addresses and generate a machine learning model 1130.
  • the data learning unit 110 may store the generated machine learning model 1130 in a memory or transmit the generated machine learning model 1130 to another device.
  • the data recognition unit 120 may determine whether the cryptocurrency address is a fraudulent address based on the machine learning model 1130.
  • the data recognition unit 120 may receive a new cryptocurrency address and apply the new cryptocurrency address to the machine learning model 1130 to determine whether the cryptocurrency address is a fraudulent address.
  • the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.
  • the computer-readable recording medium includes storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical reading media (eg, CD-ROM, DVD, etc.).

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (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은 본 개시의 일 실시예에 따라 기계학습모델을 도출하는 구성을 나타낸 도면이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (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 (10)

  1. 학습데이터 획득 장치에서, 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 방법에 있어서,
    신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계;
    상기 리포트로부터 제 1 사기 주소 및 상기 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계;
    자연어 처리(Natural Language Processing)를 이용하여, 상기 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계;
    상기 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계;
    공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계;
    상기 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계;
    자연어 처리를 이용하여 상기 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계;
    사기정보검출모델을 획득하는 단계;
    상기 복수의 제 2 핵심 단어들을 상기 사기정보검출모델에 적용하여 상기 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계;
    상기 암호화폐 주소가 사기 주소인 경우, 상기 암호화폐 주소를 제 2 사기 주소로 획득하는 단계; 및
    상기 제 2 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
  2. 제 1 항에 있어서,
    상기 사기정보검출모델을 획득하는 단계는,
    양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계;
    상기 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계;
    상기 제 1 핵심 단어들의 각각이 상기 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계; 및
    양호로 레이블된 상기 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 상기 복수의 제 1 핵심 단어들을 기계학습하여 상기 사기정보검출모델을 획득하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
  3. 제 1 항에 있어서,
    암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계;
    상기 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계;
    상기 사기 핵심 단어 세트에 포함된 단어가 상기 제 2 디스크립션에 기재된 경우, 상기 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계; 및
    상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
  4. 제 3 항에 있어서,
    상기 사기 핵심 단어 세트를 획득하는 단계는,
    상기 복수의 제 1 핵심 단어들의 각각에 대하여 상기 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계; 및
    상기 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 상기 사기 핵심 단어 세트로 결정하는 단계를 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
  5. 제 3 항에 있어서,
    상기 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계;
    상기 점수 정보가 양호(benign)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 상기 암호화폐 주소를 양호 주소로 결정하는 단계;
    상기 점수 정보가 사기(scam)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 상기 암호화폐 주소를 상기 제 3 사기 주소로 결정하는 단계; 및
    상기 양호 주소 및 상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 학습데이터 획득 방법.
  6. 암호화폐의 사기계정을 검출하기 위한 기계학습모델을 생성하기 위한 학습데이터를 획득하는 장치는,
    프로세서 및 메모리를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
    신고된 사기 주소에 대한 정보를 저장하고 있는 제 1 데이터베이스로부터 사기 주소와 관련된 리포트를 수신하는 단계;
    상기 리포트로부터 제 1 사기 주소 및 상기 제 1 사기 주소와 관련된 제 1 디스크립션(description)을 획득하는 단계;
    자연어 처리(Natural Language Processing)를 이용하여, 상기 제 1 디스크립션에서 제 1 사기 주소와 관련된 복수의 제 1 핵심 단어들을 추출하는 단계;
    상기 제 1 사기 주소를 제 2 데이터베이스에 저장하는 단계;
    공개적으로 접근 가능한 웹사이트로부터 텍스트 정보를 수신하는 단계;
    상기 텍스트 정보로부터 암호화폐 주소를 포함하는 메인 텍스트 정보를 추출하는 단계;
    자연어 처리를 이용하여 상기 메인 텍스트 정보로부터 복수의 제 2 핵심 단어들을 추출하는 단계;
    사기정보검출모델을 획득하는 단계;
    상기 복수의 제 2 핵심 단어들을 상기 사기정보검출모델에 적용하여 상기 메인 텍스트에 포함된 암호화폐 주소가 사기 주소인지 결정하는 단계;
    상기 암호화폐 주소가 사기 주소인 경우, 상기 암호화폐 주소를 제 2 사기 주소로 획득하는 단계; 및
    상기 제 2 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
  7. 제 6 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
    양호한 암호화폐 주소를 포함하는 것으로 결정된 웹사이트로부터 획득된 양호한 암호화폐 주소와 관련된 단어들을 획득하는 단계;
    상기 양호한 암호화폐 주소와 관련된 단어들의 각각이 웹사이트에서 나타나는 제 1 빈도수를 획득하는 단계;
    상기 제 1 핵심 단어들의 각각이 제 1 디스크립션에서 나타내는 제 2 빈도수를 획득하는 단계; 및
    양호로 레이블된 상기 양호한 암호화폐 주소와 관련된 단어들, 제 1 빈도수, 제 2 빈도수 및 사기로 레이블된 상기 복수의 제 1 핵심 단어들을 기계학습하여 상기 사기정보검출모델을 획득하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
  8. 제 6 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
    암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 제 2 디스크립션을 획득하는 단계;
    상기 복수의 제 1 핵심 단어들에 기초하여 사기 핵심 단어 세트를 획득하는 단계;
    상기 사기 핵심 단어 세트에 포함된 단어가 상기 제 2 디스크립션에 기재된 경우, 상기 제 2 디스크립션에 대응되는 암호화폐 주소를 제 3 사기 주소로 결정하는 단계; 및
    상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
    상기 복수의 제 1 핵심 단어들의 각각에 대하여 상기 제 1 디스크립션에서 등장하는 빈도수를 획득하는 단계; 및
    상기 복수의 제 1 핵심 단어들 중 빈도수가 높은 소정의 개수의 단어를 상기 사기 핵심 단어 세트로 결정하는 단계를 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
  10. 제 8 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 따라,
    상기 암호화폐 주소와 대응되는 태그(tag)를 제공하는 서비스로부터 주소의 신뢰도를 나타내는 점수 정보를 획득하는 단계;
    상기 점수 정보가 양호(benign)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함되지 않은 경우, 상기 암호화폐 주소를 양호 주소로 결정하는 단계;
    상기 점수 정보가 사기(scam)를 나타내고, 상기 제 2 디스크립션에 상기 사기 핵심 단어 세트에 포함된 단어가 포함된 경우, 상기 암호화폐 주소를 상기 제 3 사기 주소로 결정하는 단계; 및
    상기 양호 주소 및 상기 제 3 사기 주소를 상기 제 2 데이터베이스에 저장하는 단계를 더 수행하는 것을 특징으로 하는 학습데이터 획득 장치.
PCT/KR2020/001400 2019-09-05 2020-01-30 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치 WO2021045332A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022512809A JP7372707B2 (ja) 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
CN202080062459.8A CN114730387A (zh) 2019-09-05 2020-01-30 用于分析加密货币交易的数据获取方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0110111 2019-09-05
KR1020190110111A KR102051350B1 (ko) 2019-09-05 2019-09-05 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2021045332A1 true WO2021045332A1 (ko) 2021-03-11

Family

ID=68838143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/001400 WO2021045332A1 (ko) 2019-09-05 2020-01-30 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치

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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102051350B1 (ko) * 2019-09-05 2019-12-03 (주)에스투더블유랩 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치
KR20210094439A (ko) 2020-01-21 2021-07-29 고려대학교 산학협력단 암호화폐 지갑 주소의 클러스터링 기법
KR102113347B1 (ko) * 2020-02-20 2020-05-21 팀블랙버드 주식회사 인공지능을 이용한 암호화폐 계좌 분류 방법, 장치 및 컴퓨터프로그램
KR102259838B1 (ko) * 2020-09-21 2021-06-02 한성대학교 산학협력단 암호화폐 블랙리스트 구축 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
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
KR20130096565A (ko) * 2012-02-22 2013-08-30 주식회사 더존정보보호서비스 활성 포렌식 기술을 이용한 연관성 분석 기반 악성코드 탐지 시스템
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
US20190132357A1 (en) * 2016-07-11 2019-05-02 Bitdefender IPR Management Ltd. Systems and Methods for Detecting Online Fraud
KR102051350B1 (ko) * 2019-09-05 2019-12-03 (주)에스투더블유랩 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219880A (ja) * 2006-02-17 2007-08-30 Fujitsu Ltd 評判情報処理プログラム、方法及び装置
US11182781B2 (en) * 2014-06-16 2021-11-23 Bank Of America Corporation Block chain encryption tags
WO2018085732A1 (en) * 2016-11-03 2018-05-11 RiskIQ, Inc. Techniques for detecting malicious behavior using an accomplice model

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
KR20130096565A (ko) * 2012-02-22 2013-08-30 주식회사 더존정보보호서비스 활성 포렌식 기술을 이용한 연관성 분석 기반 악성코드 탐지 시스템
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
US20190132357A1 (en) * 2016-07-11 2019-05-02 Bitdefender IPR Management Ltd. Systems and Methods for Detecting Online Fraud
KR102051350B1 (ko) * 2019-09-05 2019-12-03 (주)에스투더블유랩 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치

Also Published As

Publication number Publication date
US20220358493A1 (en) 2022-11-10
KR102051350B1 (ko) 2019-12-03
JP7372707B2 (ja) 2023-11-01
JP2022548501A (ja) 2022-11-21
CN114730387A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
WO2021045332A1 (ko) 암호화폐 거래를 분석하기 위한 데이터 획득 방법 및 장치
WO2021045331A1 (ko) 암호화폐 거래 분석 방법 및 장치
US10277590B2 (en) Cognitive intelligence based voice authentication
WO2020213843A1 (ko) 사용자 맞춤형 의료정보 제공 시스템 및 이의 구동방법
WO2021162195A1 (ko) 딥러닝 기반의 신분증 진위판단장치 및 신분증 진위판단방법
CN110457957B (zh) 电子票据的信息处理方法、装置、电子设备及介质
CN111694840A (zh) 数据同步方法、装置、服务器及存储介质
CN109582833A (zh) 异常文本检测方法及装置
WO2021040318A1 (ko) 신분증 인식 모델을 이용한 분산 학습 방법, 서버, 어플리케이션 및 이를 통한 신분증 인식 방법
WO2019093599A1 (ko) 사용자 관심 정보 생성 장치 및 그 방법
CN107341384A (zh) 一种业务验证方法及***
US20220342998A1 (en) Source code vulnerability scanning and detection smart glasses
CN113268768A (zh) 一种敏感数据的脱敏方法、装置、设备及介质
CN110458662A (zh) 反欺诈风控方法及装置
WO2021056731A1 (zh) 基于日志数据分析的行为检测方法、装置、设备及介质
CN112200196A (zh) 钓鱼网站检测方法、装置、设备及计算机可读存储介质
CN112632535A (zh) 攻击检测方法、装置、电子设备及存储介质
EP4010841A1 (en) System and method for solving text sensitivity based bias in language model
Han et al. CloudDLP: Transparent and scalable data sanitization for browser-based cloud storage
CN111639355A (zh) 一种数据安全管理方法和***
Asif et al. Automated analysis of Pakistani websites’ compliance with GDPR and Pakistan data protection act
WO2018194196A1 (ko) Elf 파일의 난독화 적용 여부의 탐지 및 보안성 평가를 위한 방법 및 시스템
JP7439916B2 (ja) 学習装置、検出装置、学習方法、検出方法、学習プログラムおよび検出プログラム
KR102199587B1 (ko) 암호화폐 거래 분석 방법 및 장치
WO2020055002A1 (ko) 전자 장치 및 그의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20861595

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022512809

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20861595

Country of ref document: EP

Kind code of ref document: A1