WO2024013939A1 - 機械学習プログラム、機械学習方法、および情報処理装置 - Google Patents

機械学習プログラム、機械学習方法、および情報処理装置 Download PDF

Info

Publication number
WO2024013939A1
WO2024013939A1 PCT/JP2022/027725 JP2022027725W WO2024013939A1 WO 2024013939 A1 WO2024013939 A1 WO 2024013939A1 JP 2022027725 W JP2022027725 W JP 2022027725W WO 2024013939 A1 WO2024013939 A1 WO 2024013939A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
transactions
fraudulent
machine learning
history
Prior art date
Application number
PCT/JP2022/027725
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 PCT/JP2022/027725 priority Critical patent/WO2024013939A1/ja
Publication of WO2024013939A1 publication Critical patent/WO2024013939A1/ja

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Definitions

  • the present invention relates to a machine learning program, a machine learning method, and an information processing device.
  • AML anti-money laundering
  • a fraud monitoring device detects suspicious transactions using rules based on heuristics. The system administrator investigates the detected transaction in detail to determine whether there is any fraud.
  • Machine learning technology can be applied to detect fraudulent transactions, but due to the characteristics of money laundering data, it is difficult to obtain a sufficient amount of correct label data. Even if data with correct answer labels can be obtained, the data is extremely heterogeneous, and even if supervised machine learning is performed using only that data, accurate results cannot be obtained. Furthermore, as money laundering methods change daily, even supervised machine learning based on correct label data indicating past fraudulent transactions cannot generate a trained model that is effective for the system in use. there is a possibility. Therefore, conventionally, fraud detection has been performed using unsupervised learning. However, simply performing unsupervised learning is not sufficient to detect transactions suspected of being fraudulent.
  • the present invention aims to improve the accuracy of detecting transactions suspected of being fraudulent.
  • One proposal provides a machine learning program that causes a computer to:
  • the computer calculates an anomaly score indicating the degree of abnormality for each of the plurality of transactions by unsupervised first machine learning using history information indicating the history of the plurality of transactions in the computer system as input data.
  • the computer sets a pseudo label indicating whether fraud is suspected in the history of the plurality of transactions based on the anomaly score of each of the plurality of transactions.
  • the computer uses the history of one transaction as input and uses the history of one transaction as training data to determine whether or not one transaction is suspected of being fraudulent.
  • Generate a model that determines whether
  • FIG. 2 is a diagram illustrating an example of a machine learning method according to the first embodiment.
  • FIG. 1 is a diagram showing an example of a system configuration.
  • FIG. 2 is a diagram illustrating an example of hardware of an AML device.
  • FIG. 2 is a block diagram illustrating an example of functions that an AML device has. It is a diagram showing an example of a transaction DB. It is a diagram showing an example of a black DB. It is a figure which shows an example of metadata. It is a flowchart which shows an example of the procedure of AML processing.
  • FIG. 2 is a schematic diagram showing the flow of processing between a development phase and an operation phase.
  • FIG. 3 is a diagram illustrating an example of specific processing in the development phase.
  • FIG. 3 is a diagram illustrating an example of input data in unsupervised anomaly detection processing.
  • FIG. 3 is a diagram illustrating an example of unsupervised abnormality detection processing.
  • FIG. 2 is a diagram illustrating an example of supervised learning using pseudo labels.
  • FIG. 3 is a diagram illustrating an example of inference processing using supervised learning.
  • FIG. 2 is a diagram illustrating an example of prioritizing suspicious transactions.
  • FIG. 2 is a diagram illustrating an example of visualization of grounds for suspicious transactions.
  • FIG. 3 is a diagram showing an example of rule visualization.
  • FIG. 3 is a diagram illustrating an example of fraudulent network learning.
  • FIG. 3 is a diagram illustrating an example of an unauthorized network display method.
  • FIG. 6 is a diagram illustrating an example of a method of displaying the basis for determining that there is a suspicion of fraud.
  • the present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
  • the first embodiment is a machine learning method that improves the accuracy of detecting transactions suspected of being fraudulent.
  • FIG. 1 is a diagram illustrating an example of a machine learning method according to the first embodiment.
  • FIG. 1 shows an information processing apparatus 10 used to implement a machine learning method.
  • the information processing device 10 can implement the machine learning method according to the first embodiment by, for example, executing a machine learning program.
  • the information processing device 10 includes a storage section 11 and a processing section 12.
  • the storage unit 11 is, for example, a memory or a storage device included in the information processing device 10.
  • the processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
  • the storage unit 11 has fraud information 11a and history information 11b.
  • the fraudulent information 11a is information on transactions that are found to be fraudulent transactions through investigation.
  • the history information 11b is information indicating the history of multiple transactions between accounts in the computer system 1. Note that at the initial stage of operation of the information processing device 10, the fraudulent information 11a may not have been created yet.
  • the processing unit 12 generates a model that can detect transactions suspected of being fraudulent with high accuracy based on the history information 11b or the fraud information 11a and the history information 11b. Then, the processing unit 12 uses the model to detect a transaction that is suspected of being fraudulent, and presents the transaction or the account used for the transaction to the investigator. For example, the processing unit 12 performs the following processing.
  • the processing unit 12 calculates an anomaly score indicating the degree of abnormality for each of the plurality of transactions by unsupervised first machine learning using the history information 11b as input data. At this time, the processing unit 12 may add a feature vector based on the fraud information 11a to the first machine learning input data.
  • the processing unit 12 When adding a feature vector to the first machine learning input data, the processing unit 12 generates a feature vector representing the features of the account used for fraudulent transactions. For example, the processing unit 12 recognizes the relationship between accounts based on the history information 11b. Relationships between accounts are expressed, for example, in a graph structure in which accounts are nodes and nodes of accounts that have transaction relationships are connected by edges.
  • the processing unit 12 sets a flag for each account used in the fraudulent transaction based on the fraud information 11a. Then, the processing unit 12 uses a graph neural network to learn a graph structure representing the relationship between a plurality of accounts, and generates a feature vector based on the graph structure. The feature vector of an account that has been used illegally is significantly different from that of other accounts. The processing unit 12 uses data in which a feature vector of the account being used is added to each transaction in the history information 11b as input data for the first machine learning.
  • the processing unit 12 can use an autoencoder as the first machine learning, for example. In that case, the processing unit 12 calculates an anomaly score for each transaction based on the difference between the input data and output data of the autoencoder.
  • the processing unit 12 Based on the anomaly score of each of the multiple transactions, the processing unit 12 sets a pseudo label for each of the multiple transactions to indicate whether fraud is suspected. For example, the processing unit 12 assigns a pseudo label indicating that there is a suspicion of fraud to a transaction whose anomaly score is equal to or higher than a predetermined threshold.
  • the processing unit 12 uses the history of one transaction as input, performs supervised second machine learning using information on a plurality of transactions with pseudo labels as training data, and determines that one transaction is suspected of being fraudulent. Generate a model that determines whether or not. For example, the processing unit 12 generates a model using a machine learning algorithm using a tree structure (decision tree) such as gradient boosting. When generating a model, the processing unit 12 verifies the model using, for example, the fraudulent information 11a, and repeats modification of the model until the verification result satisfies a predetermined condition.
  • a tree structure such as gradient boosting
  • the processing unit 12 estimates whether the uninvestigated transaction is fraudulent based on the generated model. For example, the processing unit 12 calculates a risk score indicating the degree of suspicion that an uninvestigated transaction is fraudulent. The processing unit 12 can determine that fraud is suspected if the risk score is greater than or equal to a predetermined threshold.
  • the processing unit 12 specifies the basis for determining that there is a suspicion of fraud with respect to a suspected fraud transaction that is determined to be suspected of fraud, for example, by estimation using a model, and outputs the basis. Furthermore, the processing unit 12 may rearrange and output the suspected fraudulent transactions based on a predetermined index. For example, the processing unit 12 can sort suspicious transactions using risk scores, transaction amounts, and the like as indicators. Furthermore, the processing unit 12 can also sort the suspected fraudulent transactions by combining a plurality of indicators. Furthermore, the processing unit 12 may output a rule for determining that an uninvestigated transaction is fraudulent based on the tree structure used to generate the model.
  • a user who investigates whether a transaction is fraudulent or not investigates in detail the contents of a transaction suspected of being fraudulent, and determines whether or not the transaction is fraudulent.
  • the investigator inputs the investigation results into the information processing device 10.
  • the processing unit 12 stores information indicating that the transaction is fraudulent in the storage unit 11 as fraudulent information 11a.
  • the processing unit 12 may set a flag indicating that the investigation has been completed in the history information 11b.
  • the processing unit 12 sets a pseudo label to each transaction based on the anomaly score obtained as the estimated value of the first unsupervised machine learning.
  • the processing unit 12 then performs second supervised machine learning using the transaction information of each transaction for which the pseudo label has been set as training data to generate a model.
  • the processing unit 12 then performs second supervised machine learning using the transaction information of each transaction for which the pseudo label has been set as training data to generate a model.
  • the processing unit 12 can effectively utilize the fraudulent information 11a to improve the accuracy of the model.
  • the processing unit 12 can correct the model and improve the accuracy of the model by verifying the accuracy of the model generated by the second supervised machine learning using the fraud information 11a.
  • the processing unit 12 can generate a feature vector for each account based on the fraud information 11a using a graph structure in which a flag is attached to an account that has been used fraudulently. For example, during the first unsupervised machine learning, the processing unit 12 uses as input data data obtained by adding a feature vector of the account used in the transaction to the history of the transaction. This increases the anomaly score for other transactions using the account used for fraudulent transactions. As a result, the pseudo labels can be set correctly, and the accuracy of the model generated by the second supervised machine learning using the pseudo labels is also improved.
  • the processing unit 12 can prioritize investigation for each transaction based on indicators such as fraud risk score and transaction amount. This allows the investigator to investigate transactions starting with the transactions with the highest priority, thereby enabling efficient investigation. For example, it is possible to optimize according to scenarios such as "reducing losses,” “maximizing the number of fraud detections,” and “minimizing opportunity loss.”
  • the processing unit 12 can also present rules for determining that a transaction is fraudulent. By presenting the rules, investigators can understand why a transaction was determined to be suspected of fraud. As a result, the investigator can efficiently investigate whether or not the transaction is fraudulent.
  • processing unit 12 can also set an upper limit on the number of transactions to be presented as suspected of being fraudulent, and present transactions that are less than or equal to the upper limit. This makes it possible to optimize the number of transactions to be investigated and achieve a 100% investigation rate for transactions presented as suspicious transactions.
  • the second embodiment can improve both fraud detection and business processing efficiency by rationally processing multiple AI (Artificial Intelligence)/ML (Machine Learning) algorithms.
  • AI Artificial Intelligence
  • ML Machine Learning
  • This is a fraud detection system for financial transactions.
  • the balance between improving fraud detection and improving business processing efficiency is adjusted using a risk-based approach.
  • the purpose is to detect fraud such as money laundering in financial transactions, and the user's account used is called an account. Furthermore, each transaction corresponds to the transactions performed in that transaction. Furthermore, in the following explanation, machine learning may be simply referred to as learning.
  • FIG. 2 is a diagram showing an example of a system configuration.
  • the example in FIG. 2 is a system for preventing transactions between accounts of financial institutions such as banks from being used for money laundering.
  • a financial transaction system 31 an AML device 100, and a terminal 30 are connected via a network 20.
  • the financial transaction system 31 is a computer that manages transactions between customer accounts at a financial institution such as a bank.
  • the AML device 100 is a computer that supports detection of fraudulent transactions such as money laundering using accounts managed by the financial transaction system 31.
  • the terminal 30 is a computer used by a system administrator. Note that when the AML device 100 detects fraud at multiple financial institutions, the financial transaction system 31 exists for each financial institution.
  • FIG. 3 is a diagram showing an example of the hardware of the AML device.
  • the entire AML device 100 is controlled by a processor 101.
  • a memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • Processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor).
  • At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • the memory 102 is used as a main storage device of the AML device 100.
  • the memory 102 temporarily stores at least a portion of OS (Operating System) programs and application programs to be executed by the processor 101.
  • the memory 102 also stores various data used for processing by the processor 101.
  • a volatile semiconductor storage device such as a RAM (Random Access Memory) is used, for example.
  • Peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
  • a storage device 103 a graphics processing unit
  • a GPU Graphics Processing Unit
  • the storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium.
  • the storage device 103 is used as an auxiliary storage device for the AML device 100.
  • the storage device 103 stores OS programs, application programs, and various data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • the GPU 104 is an arithmetic unit that performs image processing, and is also called a graphics controller.
  • a monitor 21 is connected to the GPU 104.
  • the GPU 104 displays an image on the screen of the monitor 21 according to instructions from the processor 101. Examples of the monitor 21 include a display device using organic EL (Electro Luminescence) and a liquid crystal display device.
  • a keyboard 22 and a mouse 23 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 22 and mouse 23 to the processor 101.
  • the mouse 23 is an example of a pointing device, and other pointing devices can also be used.
  • Other pointing devices include touch panels, tablets, touch pads, trackballs, and the like.
  • the optical drive device 106 reads data recorded on the optical disc 24 or writes data to the optical disc 24 using laser light or the like.
  • the optical disc 24 is a portable recording medium on which data is recorded so as to be readable by reflection of light. Examples of the optical disc 24 include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable)/RW (ReWritable).
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the AML device 100.
  • a memory device 25 or a memory reader/writer 26 can be connected to the device connection interface 107.
  • the memory device 25 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader/writer 26 is a device that writes data to or reads data from the memory card 27.
  • the memory card 27 is a card-type recording medium.
  • the network interface 108 is connected to the network 20.
  • the network interface 108 sends and receives data to and from other computers or communication devices via the network 20.
  • the network interface 108 is a wired communication interface that is connected to a wired communication device such as a switch or a router using a cable. Further, the network interface 108 may be a wireless communication interface that is communicatively connected to a wireless communication device such as a base station or an access point using radio waves.
  • the AML device 100 can implement the processing functions of the second embodiment using the above hardware. Note that the information processing device 10 shown in the first embodiment can also be realized by the same hardware as the AML device 100 shown in FIG. 3.
  • the AML device 100 realizes the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example.
  • a program that describes the processing content to be executed by the AML device 100 can be recorded on various recording media.
  • a program to be executed by the AML device 100 can be stored in the storage device 103.
  • the processor 101 loads at least part of the program in the storage device 103 into the memory 102 and executes the program.
  • the program to be executed by the AML device 100 may be recorded on a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27.
  • the program stored in the portable recording medium becomes executable after being installed in the storage device 103 under the control of the processor 101, for example.
  • the processor 101 can also directly read and execute a program from a portable recording medium.
  • the AML device 100 of the second embodiment enables highly accurate detection of transactions suspected of being fraudulent even in situations where there are no or few teacher labels, and furthermore, the AML device 100 of the second embodiment is capable of highly accurate detection of transactions suspected of being fraudulent. It also allows for presentation.
  • the AML device 100 uses a risk-based approach to achieve both fraud detection and business processing efficiency.
  • the AML device 100 performs machine learning that combines multiple AI/ML algorithms.
  • the AML device 100 executes supervised learning using an estimated value obtained by unsupervised learning as a pseudo label.
  • the AML device 100 verifies the model generated by supervised learning on a black database (DB) that stores transactions that have been investigated as fraudulent.
  • DB black database
  • the AML device 100 can be operated as a device for detecting fraudulent transactions such as money laundering.
  • the AML device 100 can also use the "transaction amount" from the transaction DB to prioritize investigations using two indicators: risk (for example, number of fraud cases/total number of cases) and amount.
  • risk for example, number of fraud cases/total number of cases
  • amount for example, number of fraud cases/total number of cases
  • the AML device 100 also generates Risk Adjusted Fraud Amount and is also capable of business optimization incorporating the third index.
  • the AML device 100 can also optimize AML detection by including the limit number of cases to be processed according to the number of AML investigators as the fourth index.
  • FIG. 4 is a block diagram showing an example of the functions that the AML device has.
  • the AML device 100 has a storage unit 103a that stores data used for AML.
  • the storage unit 103a for example, a part of the storage area within the storage device 103 is used.
  • a transaction DB 110, a black DB 120, and metadata 130 are stored in the storage unit 103a.
  • the transaction DB 110 is a DB that stores logs of transactions between accounts. For example, a copy of a log of a transaction executed in the financial transaction system 31 is stored in the transaction DB 110.
  • the transaction DB 110 is an example of the history information 11b shown in the first embodiment.
  • the black DB 120 is a DB that stores information on transactions or accounts that have been identified by financial institutions or payment providers as having been fraudulently used in the past.
  • the black DB 120 is an example of the fraud information 11a shown in the first embodiment.
  • the metadata 130 is, for example, information regarding accounts, information regarding transactions, and the like.
  • the AML device 100 has a graph structure learning unit 151, an unsupervised anomaly detection unit 152, a supervised learning unit 153, a prioritization unit 154, a rationale/rule presentation unit 155, and an explainable AI as processing functions for realizing AML. 156 and an explanation/visualization section 157.
  • the graph structure learning unit 151 uses semi-supervised learning to learn feature vectors representing the characteristics of each account based on the graph structure between accounts and information on fraudulently used accounts.
  • the graph structure for example, a graph composed of nodes corresponding to accounts and edges representing transaction relationships between the accounts is used.
  • the graph structure learning unit 151 performs learning using graph deep learning (GNN: Graph Neural Network).
  • the unsupervised anomaly detection unit 152 performs unsupervised learning based on the feature vector for each account learned by the graph structure learning unit 151 and the transaction DB 110, and obtains a numerical value (anomaly score) indicating the likelihood of an anomaly for each transaction. .
  • the supervised learning unit 153 sets a pseudo label to the transaction corresponding to each transaction in the transaction DB 110 based on the anomaly score calculated by the unsupervised anomaly detection unit 152. Then, the supervised learning unit 153 performs supervised learning using transaction data (transaction logs and pseudo labels) set with pseudo labels as training data to learn a fraud detection model. Note that the supervised learning unit 153 uses the black DB 120 to measure the accuracy of the generated model.
  • the prioritization unit 154 prioritizes the investigation of transactions detected as suspected of fraud by the fraud detection model.
  • the prioritizing unit 154 performs ranking based on the risk of fraudulent transactions, for example.
  • the basis/rule presentation unit 155 presents the basis for a suspicious transaction or a rule for detecting a suspicious transaction.
  • the explainable AI unit 156 uses explainable AI to obtain information indicating the reason why fraud is suspected for an account that is suspected of being fraudulent by the fraud detection model.
  • the explanation visualization unit 157 visualizes the explanation, which is the basis for determining that a transaction is fraudulent, regarding a transaction that is suspected of being fraudulent.
  • the lines connecting each element shown in FIG. 4 show a part of the communication route, and communication routes other than the illustrated communication route can also be set.
  • the functions of each element shown in FIG. 4 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
  • the functions shown in FIG. 4 work together to detect fraudulent transactions such as money laundering.
  • the data used for AML processing in the AML device 100 will be specifically described below with reference to FIGS. 5 to 7.
  • FIG. 5 is a diagram showing an example of a transaction DB.
  • the transaction DB 110 stores a log management table 111 in which records indicating the details of each executed transaction are registered.
  • the log management table 111 includes columns such as transaction ID (TxID), amount (Amount), date (Date), remittance source account (Sender account), and remittance destination account (Receiver account).
  • the transaction ID is a transaction identification number.
  • the amount is the transaction amount between accounts. Date is the date of the transaction.
  • the sender account is information that identifies the account that is the sender of the remittance.
  • the remittance destination account is information that identifies the account that is the remittance destination.
  • FIG. 6 is a diagram showing an example of a black DB.
  • the black DB 120 stores a fraudulent account list 121 and a fraudulent transaction management table 122. Identification information of accounts known to have been used for fraudulent transactions is registered in the fraudulent account list 121.
  • the fraudulent transaction management table 122 registers a copy of a record of a transaction that is determined to be a fraudulent transaction by an investigation by an investigator, among the transaction records stored in the transaction DB 110.
  • FIG. 7 is a diagram showing an example of metadata.
  • the metadata 130 stores an account information table 131 and a transaction information table 132.
  • the account information table 131 has records registered for each account.
  • the account information table 131 includes columns such as account and account holder.
  • the account identification number is set in the account column.
  • the name of the person or organization using the account is set in the account holder column.
  • the account information table 131 includes various other information related to the account (account opening date, balance, etc.).
  • an explanation of the transaction is registered for each type of transaction.
  • FIG. 8 is a flowchart illustrating an example of an AML processing procedure. The process shown in FIG. 8 will be described below in accordance with step numbers.
  • the graph structure learning unit 151 learns the graph structure between accounts by semi-supervised learning.
  • the graph structure learning unit 151 calculates a feature vector for each account based on the graph structure.
  • the unsupervised anomaly detection unit 152 performs unsupervised anomaly detection based on the transaction shown in the transaction DB 110 and the feature vector of the account used for the transaction.
  • the unsupervised anomaly detection unit 152 calculates an anomaly score for each transaction by unsupervised anomaly detection.
  • the supervised learning unit 153 adds a pseudo label based on the anomaly score to the transaction record in the transaction DB 110, and performs supervised learning using the pseudo label. During the learning process, the learning unit 153 uses the black DB 120 to verify the accuracy of the model generated through learning.
  • the prioritizing unit 154 uses the transaction amount, processing limit, risk score (probability that the transaction is fraudulent), etc. in addition to the fraud detection results using the model generated by supervised learning. Prioritize investigations of suspected fraudulent transactions.
  • Step S105 The basis/rule presenting unit 155 presents to the investigator the grounds for determining that there is a suspicion of fraud or the rules for determining that the transaction is fraudulent.
  • the explainable AI unit 156 generates a pseudo label of an account related to a transaction suspected of being fraudulent, and performs supervised deep learning using the explainable AI using the pseudo label. As a result, the explainable AI unit 156 learns the connection of accounts (fraudulent network) used in suspicious transactions.
  • Step S107 The explanation visualization unit 157 visualizes the fraudulent transaction. Such processing makes it possible to efficiently investigate fraudulent transactions. Note that steps S101 to S103 shown in FIG. 8 are processes performed in the development phase, and steps S104 to S107 are processes performed in the operation phase.
  • FIG. 9 is a schematic diagram showing the flow of processing between the development phase and the operation phase.
  • the graph structure learning unit 151 performs feature engineering (FE) on the black DB 120 and extracts the feature amount of the account used in the fraudulent transaction.
  • the graph structure learning unit 151 graphs the relationship between accounts, for example, and calculates the feature vector of the accounts using GNN.
  • the graph structure learning unit 151 transmits the calculated account feature vector to the unsupervised anomaly detection unit 152.
  • the unsupervised anomaly detection unit 152 performs feature engineering on the transaction DB 110 and extracts data indicating the characteristics of each transaction.
  • the unsupervised anomaly detection unit 152 receives as input the account feature vector acquired from the graph structure learning unit 151 and the data indicating the characteristics of each transaction, and performs unsupervised anomaly detection using an autoencoder such as a graph autoencoder using a graph. Learn.
  • the unsupervised anomaly detection unit 152 uses unsupervised learning to output, for each transaction, an anomaly score indicating the degree to which the transaction deviates from other transactions.
  • the unsupervised anomaly detection unit 152 can also rank transactions based on the probability indicated by the anomaly score. Further, the unsupervised anomaly detection unit 152 may convert the anomaly score by log-odds conversion used in logistic regression or the like.
  • the supervised learning unit 153 sets a pseudo label for each transaction based on the anomaly score for each transaction. Additionally, the supervised learning unit 153 performs feature engineering on the transaction DB 110 and extracts data indicating the features of each transaction. At this time, the supervised learning unit 153 performs feature quantity engineering in a format that is easy for the user to understand, for example.
  • the supervised learning unit 153 performs supervised learning using, for example, LGBM (Light Gradient Boosting Machine) using the pseudo-labeled transaction data.
  • LGBM Light Gradient Boosting Machine
  • a model is generated from data indicating a transaction to determine whether the transaction is fraudulent.
  • the supervised learning unit 153 verifies the generated model using the black DB 120. That is, the supervised learning unit 153 verifies whether or not the data of a transaction registered in the black DB 120 as a fraudulent transaction is correctly determined to be fraudulent when inputted into the model.
  • the supervised learning unit 153 verifies whether or not the data of a transaction in the transaction DB 110 that is not registered in the black DB 120 is correctly determined to be not fraudulent when inputted into the model.
  • the supervised learning unit 153 modifies the parameters of the model so that the accuracy of verification using the black DB 120 is improved.
  • the development phase 41 generates a model for detecting fraudulent transactions.
  • the operation phase 42 is executed using the generated model.
  • the supervised learning unit 153 when a record indicating an uninvestigated transaction is added to the transaction DB 110, the supervised learning unit 153 performs feature quantity engineering on the added transaction in a format that is easy for the user to understand. The supervised learning unit 153 then calculates, for example, a risk score indicating the possibility of money laundering based on the generated model.
  • the prioritization unit 154 prioritizes transactions suspected of being fraudulent as investigation targets according to an investigation scenario designated by the investigator.
  • the basis/rule presentation unit 155 presents to the investigator the basis for determining that the transaction is suspicious and the rules that can be used to determine whether the transaction is fraudulent.
  • the explainable AI unit 156 uses explainable AI to learn the connections between accounts (fraudulent networks) used in suspicious transactions.
  • the explanation visualization unit 157 then visualizes the fraudulent network.
  • the investigator investigates whether or not a transaction is fraudulent, starting with the transaction with the highest priority. At that time, the investigator may determine whether or not the transaction is fraudulent, for example, according to the presented rules. Investigators can also refer to the visualized fraudulent network to determine whether or not a transaction is fraudulent. If the investigator determines that the transaction is fraudulent, the investigator registers information regarding the transaction and the account used in the black DB 120.
  • FIG. 10 is a diagram showing an example of specific processing in the development phase.
  • machine learning using GNN is performed using the feature quantities for each account extracted from the black DB 120 by feature quantity engineering (FE-a) as input. Then, the GNN outputs the feature vector of the fraudulently used account.
  • FE-a feature quantity engineering
  • the feature amount of the transaction extracted from the transaction DB 110 by feature amount engineering (FE-b) and the output of the GNN are combined. Then, using the combined data as input, unsupervised learning is performed using, for example, a graph autoencoder. As a result, an anomaly score for each transaction is output. The anomaly score is converted into a pseudo label based on a predetermined threshold, for example.
  • the transaction feature extracted from the transaction DB 110 by feature engineering (FE-c) and the pseudo label are combined. Then, using the combined data as input, a model is generated by supervised learning such as LGBM. For the machine learning at this time, for example, a technology called Deep Tensor (registered trademark) can also be used. The model is verified by the black DB 120 to improve accuracy.
  • FE-c feature engineering
  • a model is generated by supervised learning such as LGBM.
  • a technology called Deep Tensor registered trademark
  • the model is verified by the black DB 120 to improve accuracy.
  • FIG. 11 is a diagram illustrating an example of graph structure learning processing between accounts.
  • the transaction DB 110, black DB 120, and metadata 130 are used for graph structure learning.
  • the graph structure learning unit 151 specifies the remittance account and receiving account of the transaction from the transaction DB 110.
  • the graph structure learning unit 151 creates a graph in which each account is a node and nodes corresponding to accounts having a transaction relationship are connected by edges. Information regarding the account (account opening date, balance, etc.) obtained from the metadata 130, for example, is set in the node.
  • the graph-structured data generated in this way is, for example, a directed graph or an undirected graph in which each node has a feature vector and each edge has a single or multiple feature vectors.
  • Information obtained from metadata 130 can also be added to the node or edge feature vector.
  • the graph structure learning unit 151 acquires a flag indicating whether or not the account has been used fraudulently.
  • the graph structure learning unit 151 causes the GNN to learn by semi-supervised learning using graph structure data and a flag indicating whether the account has been fraudulently used as input data.
  • the graph structure learning unit 151 obtains a GNN output 52 including feature vectors 52a, 52b, . . . for each account (node in the graph structure) as a learning result.
  • the graph structure learning unit 151 may learn the graph structure between accounts by unsupervised learning or self-supervised learning.
  • the GNN output 52 output by the graph structure learning section 151 is used in unsupervised anomaly detection processing by the unsupervised anomaly detection section 152.
  • FIG. 12 is a diagram illustrating an example of input data in unsupervised anomaly detection processing.
  • transaction data 51 extracted by feature engineering (FE-b) for the transaction DB 110 includes information such as a transaction ID, remittance account number, receiving account number, remittance amount, and remittance date and time.
  • Transaction data 51 also includes characteristics of accounts or transaction units obtained through statistical processing or aggregation.
  • the GNN output 52 obtained by unsupervised learning includes a feature vector for each account.
  • the feature vector represents, for example, a relationship between accounts based on a connection in a graph structure. For example, a unique index is assigned to an account number, and the graph includes a node corresponding to that index. The relationship between the nodes associated with the account in this way is represented by a feature vector.
  • the unsupervised anomaly detection unit 152 associates the account characteristic vector corresponding to the remittance account number and the account characteristic vector corresponding to the receiving account number with the record for each transaction shown in the transaction data 51, thereby detecting input data.
  • Data 53 is generated.
  • the input data 53 has a data structure in which a column of remittance account feature vectors (Sender feature vector) and a column of receiving account feature vectors (Receiver feature vector) are added to the log management table 111 of the transaction DB 110. It becomes.
  • a column of remittance account feature vectors Sender feature vector
  • a column of receiving account feature vectors Receiveiver feature vector
  • the difference between the feature vectors between the remittance account and the receiving account may be added to the input data 53. Furthermore, the norms of the feature vectors of the remittance account and the receiving account may be added to the input data 53. Further, after adding the feature vector based on the GNN output 52, the column indicating the remittance account and the column indicating the receiving account may be deleted from the input data 53.
  • FIG. 13 is a diagram illustrating an example of unsupervised abnormality detection processing.
  • the transaction DB 110, metadata 130, and GNN output 52 are used for unsupervised abnormality detection.
  • the unsupervised anomaly detection unit 152 generates the feature amount of the remittance account and the feature amount of the receiving account based on the transaction DB 110. For example, the unsupervised anomaly detection unit 152 uses the transaction history within the most recent predetermined period or the transaction history within the past predetermined period to generate the feature amount. Further, the unsupervised anomaly detection unit 152 can also add additional information to the feature amount based on the account information stored in the metadata 130.
  • the unsupervised anomaly detection unit 152 associates the feature vector for each account shown in the GNN output 52 with the remittance account and the receiving account, and obtains the input data 53 shown in FIG. 12.
  • the unsupervised abnormality detection unit 152 may add information regarding the account to the input data 53.
  • the unsupervised anomaly detection unit 152 performs unsupervised anomaly detection using, for example, a linear/nonlinear dimension reduction method.
  • the unsupervised anomaly detection unit 152 obtains feature vectors using a method of outputting features from natural languages such as Tf-idf, word2vec, and Bert.
  • the unsupervised anomaly detection unit 152 receives the input data 53 and performs unsupervised learning using, for example, deep learning with an autoencoder structure.
  • the autoencoder structure is variable with precision tuning.
  • the autoencoder structure includes an intermediate layer with fewer nodes than the input layer.
  • the unsupervised anomaly detection unit 152 inputs each transaction record of the input data 53 to the input layer of the autoencoder structure, and generates a neural network that can output the same data as the input record.
  • the unsupervised abnormality detection unit 152 then generates information indicating the degree of abnormality by comparing the difference between the input record and the corresponding output data.
  • the unsupervised anomaly detection unit 152 may adopt a self-supervised learning method.
  • the unsupervised anomaly detection unit 152 outputs an anomaly detection result 54 including anomaly scores 54a, 54b, . . . for each transaction.
  • the anomaly score is a numerical representation of the degree to which something is different from normal (likelihood of abnormality). The larger the anomaly score, the higher the degree of abnormality.
  • FIG. 14 is a diagram showing an example of supervised learning using pseudo labels.
  • the supervised learning unit 153 uses one or both of the transaction DB 110 and the black DB 120 to generate characteristic data of transactions that are easy for users to understand and that are assumed to be related to fraud.
  • the supervised learning unit 153 may add account or transaction information shown in the metadata 130 to the characteristic data of each transaction.
  • the supervised learning unit 153 may generate account feature data separately from the feature data for each transaction. This is to obtain explanations that focus on each transaction and account.
  • the supervised learning unit 153 gives pseudo labels to the characteristic data for each transaction and the characteristic data for each account based on the anomaly detection result 54. For example, a suspicious transaction or a related suspicious account may be given a false label indicating suspected fraud. In addition, suspicious transactions or related accounts are given a false label indicating that they are not suspected of fraud. For example, the supervised learning unit 153 assigns a pseudo label indicating that fraud is suspected to a transaction in which the anomaly score in the anomaly detection result 54 is equal to or higher than a predetermined value, or to an account used in the transaction. The supervised learning unit 153 uses the pseudo-labeled data as learning data.
  • the supervised learning unit 153 performs learning using a supervised machine learning model on the obtained learning data.
  • the supervised learning unit 153 uses a tree-structured machine learning model such as gradient boosting. Further, the supervised learning unit 153 can also perform learning using an AI model from which an explanation can be obtained.
  • the supervised learning unit 153 uses the black DB 120 to verify the accuracy of the model obtained through learning. For example, the supervised learning unit 153 measures the probability of correctly determining that a fraudulent transaction shown in the black DB 120 is fraudulent as accuracy. The supervised learning unit 153 then modifies the parameters of the model so that fraudulent transactions can be correctly determined as fraudulent.
  • the supervised learning unit 153 repeats learning and verification of the model until the accuracy of the model satisfies a predetermined condition. For example, the supervised learning unit 153 repeats learning and verification of the model until the accuracy of the model exceeds a predetermined value or until the accuracy no longer improves.
  • the supervised learning unit 153 sets the model when the end condition of repeating model learning and verification is satisfied as the trained model 153a.
  • FIG. 15 is a diagram illustrating an example of inference processing using supervised learning.
  • the transaction DB 110 includes a group of investigated transaction records 112 and a group of unexamined transaction records 113.
  • the investigated transaction record group 112 is a set of records of transactions that have already been investigated by an investigator to determine whether or not they are fraudulent.
  • the uninvestigated transaction record group 113 is a collection of records of transactions that have not been investigated by an investigator.
  • the supervised learning unit 153 uses transaction records included in the uninvestigated transaction record group 113 as input to the learned model 153a to infer whether the transaction is fraudulent.
  • the supervised learning unit 153 obtains an inference result 55 including, for example, risk scores 55a, 55b, . . . for each transaction by inference.
  • the inference results are used by the prioritizing unit 154 to prioritize suspicious transactions.
  • FIG. 16 is a diagram illustrating an example of prioritizing suspicious transactions.
  • a plurality of scenarios 61, 62, 63, 64, . . . regarding prioritization are registered in the prioritization unit 154.
  • Scenario 61 is a scenario in which prioritization is performed with the goal of maximizing "prevention" of fraudulent transaction amounts.
  • Scenario 62 is a scenario in which prioritization is performed with the goal of maximizing the number of fraudulent transactions.
  • Scenario 63 is a scenario in which prioritization is performed with the goal of maximizing the fraudulent transaction investigation rate.
  • Scenario 64 is a scenario in which prioritization is performed with the goal of maximizing the amount of fraudulent transactions "Risk-Adjusted” and "prevention".
  • the "Risk-Adjusted” amount is a value obtained by adjusting the transaction amount according to the risk score. For example, the larger the risk score, the larger the "Risk-Adjusted” amount.
  • the prioritization unit 154 uses information such as the inference results 55 to determine priorities for uninvestigated transactions shown in the transaction DB 110 according to one or more scenarios specified by the investigator. For example, when the scenario 61 is specified, the prioritization unit 154 prioritizes transactions in which the risk score is equal to or greater than a predetermined value in descending order of transaction amount. For example, when the scenario 62 is specified, the prioritization unit 154 sets a higher priority for transactions using accounts that have been used more often in transactions with risk scores equal to or higher than a predetermined value.
  • the prioritization unit 154 selects transactions that are less than or equal to the maximum number of transactions that can be investigated depending on the number of investigators from the top priority order according to other scenarios, and presents them as investigation targets. do. Furthermore, when the scenario 64 is specified, the prioritization unit 154 gives priority to transactions whose risk scores are equal to or greater than a predetermined value in descending order of the transaction amount modified according to the risk score.
  • the prioritization unit 154 outputs priority information 56 indicating the correspondence between, for example, a priority set by prioritization and identification information (for example, transaction ID) of a transaction of that priority. For example, in the priority information 56, transaction identification information is sorted in ascending order by priority.
  • the investigator can select an appropriate scenario from among the scenarios 61, 62, 63, 64, . . . according to the goal of the investigation work. That is, the investigator can easily optimize priorities according to the goals of the investigation work by selecting scenarios. As a result, it becomes possible to adjust the detection range of suspicious transactions using the risk score based on the transaction amount, false positive rate, amount of investigation possible, etc. For example, it is possible to optimize business ROI (Return On Investment).
  • business ROI Return On Investment
  • the investigator can proceed with the investigation efficiently. If the investigation can be conducted efficiently, the investigation time will be shortened. Furthermore, if the priority information 56 is used, it becomes easy to generate a report submitted by the Financial Services Agency, for example.
  • the basis/rule presentation unit 155 presents, for example, the basis of a suspicious transaction to the investigator.
  • the rationale/rule presenting unit 155 uses explainable AI (for example, SHAP (SHApley Additive exPlanations), etc.) to determine which model is generated by the supervised learning unit 153 for each transaction. Visualize how much a feature contributes to suspicion. Further, when the supervised learning unit 153 creates a model using explainable AI, the basis/rule presentation unit 155 visualizes the basis of the inference result obtained using the model.
  • explainable AI for example, SHAP (SHApley Additive exPlanations), etc.
  • FIG. 17 is a diagram illustrating an example of visualization of the basis of suspicious transactions.
  • the basis/rule presentation unit 155 displays the basis display screen 71 on the terminal 30 used by the investigator.
  • the basis display screen 71 shows, for example, the degree of contribution of each feature of a transaction to the determination that the transaction is suspected of being fraudulent.
  • the investigator can check the basis display screen 71 and determine an efficient investigation procedure to determine whether the corresponding transaction is fraudulent.
  • the basis/rule presentation unit 155 may present information to the investigator such as that the risk cost increases by a predetermined amount when there are five consecutive transactions, or that the risk cost increases as the transaction interval becomes shorter. can.
  • explainable AI it is possible to present evidence for each transaction, and it is also possible to improve the reliability of information regarding fraudulent transactions.
  • understanding the basis for suspicion of fraud using explainable AI it becomes possible to conduct investigations and improve operational efficiency.
  • explainable AI it will be possible to prove trends in fraudulent transactions from data.
  • the basis/rule presenting unit 155 can also present rules for suspicious transactions. For example, when the supervised learning unit 153 performs learning using a gradient boosting model, the basis/rule presentation unit 155 extracts a tree structure (for example, a decision tree) in the gradient boosting model. The basis/rule presenting unit 155 regards each branch of the tree structure as a rule, and visualizes how many transactions are rejected at each branch (the number of transactions determined not to be suspicious). Note that the basis/rule presentation unit 155 may display the detection rate and false positive rate for each branch.
  • a tree structure for example, a decision tree
  • FIG. 18 is a diagram showing an example of rule visualization.
  • the basis/rule presentation unit 155 causes the rule display screen 72 to be displayed on the terminal 30 used by the investigator.
  • the rule display screen 72 shows a tree structure generated during learning using the gradient boosting model.
  • the nodes in the tree structure indicate characteristics of transactions.
  • the edges of the tree structure indicate the branches of fraud detection decisions depending on whether the feature value is greater than or equal to the threshold value or less than the threshold value.
  • the rule display screen 72 shows, for each node, the corresponding feature, the percentage determined to be equal to or greater than the threshold value, and the percentage determined to be less than the threshold value.
  • the terminal node of the tree structure is set with information indicating whether or not it is ultimately determined to be fraudulent.
  • the basis/rule presentation unit 155 may calculate the degree of contribution of each tree and rank it, thereby ranking and presenting the importance of each rule.
  • the importance of each tree is calculated using the following formula, for example.
  • is a set of indices given to all trees generated by the gradient boosting model.
  • X ⁇ x 1 , x 2 , . . . , x n ⁇ is a set of data points that are pseudo-labeled as invalid.
  • treePred i (x) is the predicted value of fraud obtained by the i-th tree.
  • the average value of importance for each tree is calculated using the following formula.
  • Rules for determining that a transaction is suspicious can be presented, for example, as variables that are easy for investigators to understand.
  • the basis/rule presenting unit 155 can present to the investigator that 10 transactions suspected of fraud have been detected based on the rule that four or more consecutive transactions have a total amount of 100,000 yen or more.
  • the investigator is able to formulate rules that are data-driven (based on the analysis results of accumulated data) rather than forming rules based on experience. Further, by presenting the rules by the basis/rule presentation unit 155, it becomes possible to discover new rules for criminal techniques. As a result, rules can be prevented from becoming obsolete. Furthermore, by presenting the number of transactions that conform to the rules, the basis/rule presentation unit 155 can clarify how many fraudulent transactions can be detected in which rule process, and the rules to be combined in rule-based fraud detection. The selection becomes easier.
  • FIG. 19 is a diagram illustrating an example of fraudulent network learning.
  • the explainable AI unit 156 sets pseudo labels to the remittance account and the receiving account used in the corresponding transaction, based on the priority information 56 output by the prioritization unit 154 according to the scenario, for example.
  • the explainable AI unit 156 uses the information in the transaction DB 110 and the metadata 130 to generate feature quantities of accounts that can be understood by the user, and generates graph data showing relationships between accounts.
  • the graph data generation method is the same as the graph structure generation method by the graph structure learning unit 151, for example.
  • the explainable AI unit 156 matches the meanings of features when integrating graph data between financial institutions or businesses.
  • the explainable AI unit 156 may also add the type and classification of each transaction, the object to which it belongs, its category, etc. as data to be added to the graph.
  • the explainable AI unit 156 performs supervised graph deep learning using graph data and pseudo labels as input data. This supervised graph deep learning provides a risk score that indicates the degree of suspicion of fraud for each account. The explainable AI unit 156 can also perform verification based on the black DB 120 in supervised graph deep learning to improve learning accuracy.
  • the explainable AI unit 156 sets a label (pseudo label) indicating that fraud is suspected, for example, for an account for which the degree of suspicion of fraud is equal to or higher than a predetermined threshold.
  • the explainable AI unit 156 performs supervised learning with an explanation of a network between accounts suspected of fraud based on the pseudo labels obtained by supervised graph deep learning, and performs processing to add the explanation. As a result, it is possible to obtain, for example, fraudulent network explanation information 57 that describes the relationship (fraudulent network) between accounts suspected of being used for fraudulent transactions.
  • multiple risk score thresholds for determining whether to give a pseudo label can be set.
  • the explainable AI unit 156 determines whether to give each account a pseudo label based on each threshold value.
  • the explainable AI unit 156 then performs supervised learning with an explanation of the network between accounts suspected of fraud based on the pseudo-labels of the accounts for each threshold value. As a result, a fraudulent network is generated for each risk score threshold for determining whether or not to give a pseudo label.
  • risk score threshold is ⁇ 500,'' ⁇ 600,'' or ⁇ 700,'' each account is given a pseudo label (for example, a flag with ⁇ 1'' for accounts below the threshold and ⁇ 0'' for accounts above the threshold). ) is set. Then, for each risk score threshold, a supervised graph deep model is trained to predict the network between accounts that are suspected of being fraudulent at that threshold.
  • the explanation visualization unit 157 displays the fraudulent network on the terminal 30 used by the investigator, for example.
  • the explanation visualization unit 157 can visualize changes in the fraudulent network when the risk tolerance range (risk score threshold) is expanded from "500" to "600” to "700” using the drawer.
  • FIG. 20 is a diagram illustrating an example of an unauthorized network display method.
  • the explanation visualization unit 157 sorts each account by its risk score.
  • the threshold of the risk score to be visualized (acceptable risk score)
  • visualization graphs 81 to 83 showing the fraudulent network obtained according to the specified threshold are generated, and the visualization graphs 81 to 83 are displayed. be done.
  • the displayed visualization graph changes from visualization graph 81 to visualization graph 82 to visualization graph 83.
  • the explanation visualization unit 157 can visualize a fraudulent network structure of a size corresponding to the allowable risk score.
  • the investigator can easily identify overlapping accounts when changing the investigation scope of each of a plurality of scenarios.
  • the investigator can widen or narrow the allowable range of the risk score to check the expansion of the detection range shown in the visualization graphs 81 to 83. This allows investigators to identify whether there is a remittance cycle or relationship loop between accounts that is typical of money laundering, and to identify related accounts.
  • the explanation visualization unit 157 can present the basis for determining that one particular account is suspicious. For example, when a node or edge is selected from the displayed visualization graph, the explanation visualization unit 157 explains the basis for determining that there is a suspicion of fraud regarding the account or relationship between accounts corresponding to the selected node or edge. indicate.
  • FIG. 21 is a diagram illustrating an example of a method for displaying the basis for determining that fraud is suspected.
  • the investigator selects one account in the risk display table 84 in which accounts are sorted by risk score.
  • the explanation visualization unit 157 displays a visualization graph 85 showing the connection to an account (regardless of whether it is suspicious or not) related to the selected account.
  • the investigator selects a node in the visualization graph 85
  • the basis for determining that there is a suspicion of fraud in the account corresponding to the selected node is displayed.
  • an edge of the visualization graph 85 is selected, the basis for determining that a transaction conducted between accounts at both ends of that edge is suspected of being fraudulent is shown.
  • fraudulent transactions such as money laundering using financial institution accounts are detected, but it can also be used to detect fraudulent transactions other than transactions between financial institution accounts. For example, it can be used to detect transactions involving unauthorized data updates by users of computer systems used for purposes other than financial transactions.
  • the transaction DB 110, black DB 120, and metadata 130 in the second embodiment may be data that integrates data from multiple financial institutions. By integrating data from multiple financial institutions, it becomes easier to detect money laundering that spans multiple financial institutions, for example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Technology Law (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

不正の疑いのあるトランザクションの検出精度を向上させる。 情報処理装置(10)は、コンピュータシステム(1)における複数のトランザクションの履歴を示す履歴情報(11b)を入力データとする教師なしの第1の機械学習により、複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出する。次に情報処理装置(10)は、複数のトランザクションそれぞれのアノマリースコアに基づいて、複数のトランザクションの履歴に不正の疑いの有無を示す疑似ラベルを設定する。そして情報処理装置(10)は、疑似ラベルが付与された複数のトランザクションの履歴を訓練データする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する。

Description

機械学習プログラム、機械学習方法、および情報処理装置
 本発明は、機械学習プログラム、機械学習方法、および情報処理装置に関する。
 コンピュータシステムでは、ユーザの要求に応じたトランザクションを実行することによって例えば金融取引などの処理が実行される。金融取引のトランザクションで不正が行われると、社会的に大きな影響が生じることがある。そのため金融機関では、管理している金融取引用の口座(アカウントとも呼ばれる)がマネーロンダリングなどの不正な取引に利用されないように、口座を適切に管理することが求められる。特にマネーロンダリングに対する対策を施すことはアンチマネーロンダリング(AML:Anti-Money Laundering)と呼ばれる。
 例えばAMLによる不正トランザクションの検出では、不正監視装置により、経験則によるルールで疑わしいトランザクションが検出される。システムの管理者は、検出されたトランザクションについて詳細に調査して、不正の有無を判断する。
 不正検知に関する技術としては、例えば機械学習を適用し、潜在的マネーロンダリングを正確に識別および捜査し得るシステムが提案されている。また不正取引を精度高く検知できる不正取引検知装置も提案されている。
特表2022-508106号公報 特開2020-154543号公報
 不正のトランザクションの検知には機械学習の技術を適用することができるが、マネーロンダリングのデータの特性上、十分な量の正解のラベルデータの取得が困難である。正解ラベル付きのデータを取得できたとしてもそのデータは極端に不均一であり、そのデータだけで教師あり機械学習を行っても、精度のよい結果が得られない。さらには、マネーロンダリングの手法が日々変わっていくため、過去の不正トランザクションを示す正解のラベルデータに基づいて教師あり機械学習をしても、運用中のシステムに有効な学習済みモデルを生成できない可能性がある。そのため、従来は、教師なし学習で不正検知が行われている。しかし、単に教師なし学習を行うだけでは、不正の疑いのあるトランザクションの検出精度が十分ではない。
 1つの側面では、本発明は、不正の疑いのあるトランザクションの検出精度を向上させることを目的とする。
 1つの案では、以下の処理をコンピュータに実行させる機械学習プログラムが提供される。
 コンピュータは、コンピュータシステムにおける複数のトランザクションの履歴を示す履歴情報を入力データとする教師なしの第1の機械学習により、複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出する。コンピュータは、複数のトランザクションそれぞれのアノマリースコアに基づいて、複数のトランザクションの履歴に不正の疑いの有無を示す疑似ラベルを設定する。そしてコンピュータは、疑似ラベルが付与された複数のトランザクションの履歴を訓練データとする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する。
 1態様によれば、不正の疑いのあるトランザクションの検出精度を向上させることができる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る機械学習方法の一例を示す図である。 システム構成の一例を示す図である。 AML装置のハードウェアの一例を示す図である。 AML装置が有する機能の一例を示すブロック図である。 トランザクションDBの一例を示す図である。 ブラックDBの一例を示す図である。 メタデータの一例を示す図である。 AML処理の手順の一例を示すフローチャートである。 開発フェーズと運用フェーズとの処理の流れを示す模式図である。 開発フェーズにおける具体的処理の一例を示す図である。 口座間のグラフ構造学習処理の一例を示す図である。 教師なし異常検知処理における入力データの一例を示す図である。 教師なし異常検知処理の一例を示す図である。 疑似ラベルを用いた教師あり学習の一例を示す図である。 教師あり学習による推論処理の一例を示す図である。 疑わしい取引の優先順位付けの一例を示す図である。 疑わしい取引の根拠の可視化の一例を示す図である。 ルール可視化の一例を示す図である。 不正ネットワーク学習の一例を示す図である。 不正ネットワーク表示方法の一例を示す図である。 不正の疑いがあると判定した根拠の表示方法の一例を示す図である。
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 第1の実施の形態は、不正の疑いのあるトランザクションの検出精度を向上させる機械学習方法である。
 図1は、第1の実施の形態に係る機械学習方法の一例を示す図である。図1には、機械学習方法の実施に用いる情報処理装置10を示している。情報処理装置10は、例えば機械学習プログラムを実行することにより、第1の実施の形態に係る機械学習方法を実施することができる。
 情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
 記憶部11は、不正情報11aと履歴情報11bとを有する。不正情報11aは、調査によって不正トランザクションであると判明したトランザクションの情報である。履歴情報11bは、コンピュータシステム1におけるアカウント間の複数のトランザクションの履歴を示す情報である。なお情報処理装置10の運用開始の初期段階では、不正情報11aが未作成の場合もあり得る。
 処理部12は、履歴情報11b、あるいは不正情報11aと履歴情報11bとに基づいて、不正の疑いのあるトランザクションを高精度で検出できるモデルを生成する。そして処理部12は、そのモデルを用いて不正の疑いのあるトランザクションを検出し、そのトランザクションまたはそのトランザクションに利用されたアカウントを調査官に提示する。例えば、処理部12は以下の処理を行う。
 処理部12は、履歴情報11bを入力データとする教師なしの第1の機械学習により、複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出する。この際、処理部12は、不正情報11aに基づく特徴ベクトルを第1の機械学習の入力データに追加してもよい。
 特徴ベクトルを第1の機械学習の入力データに追加する場合、処理部12は、不正取引に利用されたアカウントの特徴を表す特徴ベクトルを生成する。例えば処理部12は、履歴情報11bに基づいて、アカウント間の関係を認識する。アカウント間の関係は、例えばアカウントをノードとして、トランザクションの関係を有するアカウントのノードをエッジで接続するグラフ構造で表される。
 処理部12は、不正情報11aに基づいて、不正トランザクションに利用されたアカウントそれぞれについてフラグを設定する。そして処理部12は、複数のアカウント間の関係を表すグラフ構造を、グラフニューラルネットワークによって学習し、グラフ構造に基づいて特徴ベクトルを生成する。不正に利用されたアカウントの特徴ベクトルは、それ以外のアカウントとは大きく異なる特徴ベクトルとなる。処理部12は、履歴情報11bにおける各トランザクションに対して、利用しているアカウントの特徴ベクトルを付与したデータを、第1の機械学習の入力データとする。
 処理部12は、例えば第1の機械学習として、オートエンコーダーを用いることができる。その場合、処理部12は、オートエンコーダーの入力データと出力データ差に基づいて、トランザクションごとのアノマリースコアを算出する。
 処理部12は、複数のトランザクションそれぞれのアノマリースコアに基づいて、複数のトランザクションそれぞれに、不正の疑いの有無を示す疑似ラベルを設定する。例えば処理部12は、アノマリースコアが所定の閾値以上のトランザクションについて、不正の疑いがあることを示す疑似ラベルを付与する。
 処理部12は、疑似ラベルが付与された複数のトランザクションの情報を訓練データとする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、その一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する。例えば処理部12は、勾配ブースティンのような木構造(決定木)を用いた機械学習アルゴリズムにより、モデルを生成する。モデルを生成する際、処理部12は、例えば不正情報11aを用いてモデルの検証を行い、検証結果が所定の条件を満たすまでモデルの修正を繰り返す。
 その後、処理部12は、生成されたモデルに基づいて、未調査のトランザクションが不正か否かを推定する。例えば処理部12は、未調査のトランザクションが不正であることの疑わしさの度合いを示すリスクスコアを算出する。処理部12は、リスクスコアが所定の閾値以上であれば不正の疑いありと判定することができる。
 そして処理部12は、例えばモデルを用いた推定で不正の疑いありと判定された不正疑義トランザクションについて、不正の疑いありと判定した根拠を特定し、根拠を出力する。また処理部12は、所定の指標に基づいて不正疑義トランザクションを並べ替えて出力してもよい。例えば処理部12は、リスクスコア、トランザクション金額などを指標として、不正疑義トランザクションを並べ替えることができる。また処理部12は、複数の指標を組み合わせて不正疑義トランザクションを並べ替えることもできる。さらに処理部12は、モデルの生成に用いた木構造に基づいて、未調査のトランザクションを不正であると判定するためのルールを出力してもよい。
 トランザクションの不正の有無を調査するユーザ(調査官)は、不正の疑いがあるとされたトランザクションの内容を詳細に調査し、そのトランザクションが不正か否かを判断する。調査官は、調査結果を情報処理装置10に入力する。処理部12は、調査されたトランザクションについて不正と判断された場合、そのトランザクションが不正であることを示す情報を、不正情報11aとして記憶部11に格納する。また処理部12は、調査が完了したトランザクションについては、履歴情報11bにおいて、調査済みであることを示すフラグを設定してもよい。
 このようにして、複数の機械学習アルゴリズムを合理的に処理することにより、不正検知の精度を向上させることができる。例えばマネーロンダリングのような不正は、膨大な量のトランザクションのうちのごく少数のトランザクションである。そのため異常である度合い(アノマリースコア)が高ければ、マネーロンダリングなどの不正なトランザクションである可能性が高い。そこで処理部12は、教師なしの第1の機械学習の推定値として得られたアノマリースコアに基づいて各トランザクションに疑似ラベルを設定している。
 そして処理部12は、疑似ラベルが設定された各トランザクションのトランザクション情報を訓練データとする教師ありの第2の機械学習を行い、モデルを生成する。このように教師なしの第1の機械学習を用いた疑似ラベルの付与と、疑似ラベルが付与されたトランザクション履歴に基づく教師ありの第2の機械学習とにより、教師なしでも不正の疑いのあるトランザクションを高精度に検出することが可能となる。すなわちすべてのトランザクションについて不正の有無の調査が未調査であり、不正情報11aが得られていない段階でも、履歴情報11bに基づく不正の疑いのあるトランザクションの検知が可能となる。
 また不正情報11aが作成されている場合、処理部12は、不正情報11aを有効に利用して、モデルの精度を向上させることができる。例えば処理部12は、教師ありの第2の機械学習で生成したモデルの精度を不正情報11aで検証することで、モデルを修正し、モデルの精度を向上させることができる。
 さらに処理部12は、不正情報11aに基づいて、不正に利用されたアカウントにフラグを付与したグラフ構造を用いて、各アカウントの特徴ベクトルを生成することができる。例えば処理部12は、教師なしの第1の機械学習の際に、トランザクションの履歴に、そのトランザクションで利用されたアカウントの特徴ベクトルを付与したデータを入力データとする。これによりに、不正なトランザクションに利用されているアカウントを用いたその他のトランザクションについてのアノマリースコアが高くなる。その結果、疑似ラベルを正しく設定することができ、疑似ラベルを利用した教師ありの第2の機械学習で生成されるモデルの精度も向上する。
 このように不正の疑いのあるトランザクションを高精度に検出できることで、不正の可能性が低いトランザクションを調査せずに済み、調査官の業務の効率化が図れる。しかも処理部12は、不正のリスクスコア、取引金額などの指標に基づいて、各トランザクションに対して、調査の優先順位付けを行うことができる。これにより、調査官は、優先度の高いトランザクションから調査を行うことができ、効率的な調査が可能となる。例えば「損失額削減」、「不正検知数最大化」、「機会損失最小化」などのシナリオに応じた最適化が可能となる。
 さらに処理部12は、トランザクションが不正であると判断するためのルールを提示することもできる。ルールが提示されることで、調査官は、不正の疑いがあると判断されたトランザクションについて、なぜそのように判断されたのかを把握することができる。その結果、調査官は、該当のトランザクションについて、不正か否かの調査を効率的に進めることができる。
 なお、処理部12は、不正の疑いがあるものとして提示するトランザクションの数の上限を定め、上限以下の数のトランザクションを提示することもできる。これにより、調査対象のトランザクションの数の最適化を図り、疑いがあるトランザクションとして提示したトランザクションについての調査率100%を達成することができる。
 〔第2の実施の形態〕
 第2の実施の形態は、複数のAI(Artificial Intelligence)/ML(Machine Learning)アルゴリズムを合理的に処理することにより、不正検知の向上と業務処理効率の向上との両方を実現することができる金融取引の不正検知システムである。なお不正検知の向上と業務処理効率の向上とのバランスは、リスクベースアプローチによって調整される。
 第2の実施の形態では、金融取引におけるマネーロンダリングなどの不正の検知を目的としており、利用するユーザのアカウントは口座と呼ぶ。また各トランザクションはそのトランザクションで実施される取引に対応する。さらに、以下の説明において機械学習を単に学習と呼ぶこともある。
 図2は、システム構成の一例を示す図である。図2の例は、銀行などの金融機関の口座間の取引がマネーロンダリングに使用されることを抑止するためのシステムである。当該システムでは、ネットワーク20を介して金融取引システム31、AML装置100、および端末30が接続されている。
 金融取引システム31は、銀行などの金融機関における顧客の口座間の取引を管理するコンピュータである。AML装置100は、金融取引システム31で管理されている口座を利用したマネーロンダリングなどの不正取引の検知を支援するコンピュータである。端末30は、システムの管理者が使用するコンピュータである。なおAML装置100によって、複数の金融機関の不正検知を行う場合、金融取引システム31は金融機関ごとに存在する。
 図3は、AML装置のハードウェアの一例を示す図である。AML装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
 メモリ102は、AML装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
 バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、AML装置100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
 GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
 機器接続インタフェース107は、AML装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
 AML装置100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図3に示したAML装置100と同様のハードウェアにより実現することができる。
 AML装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。AML装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、AML装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またAML装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 ここで、マネーロンダリング検知の困難性、および根拠の説明の困難性について説明する。マネーロンダリングは膨大な量の金融取引の極一部であり、正解のラベルデータの取得が難しい。しかもマネーロンダリングの手法は様々であり、該当取引のトランザクションの内容が極端に不均一である。そのためマネーロンダリングについての十分な量の教師ありの訓練データを揃えるのは困難である。さらに犯罪手法が日々変わっていくため、多くの場合は教師なし学習で不正検知が行われる。教師なし学習の場合、AIの判断結果に対する根拠やルールの提示は困難である。
 それに対して、第2の実施の形態のAML装置100は、教師ラベルがないか、もしくは少ない状況でも、不正の疑いのある取引の高精度の検知を可能とし、さらに検知理由と検知のルールの提示をも可能とする。例えばAML装置100は、リスクベースアプローチにより不正検知と業務処理効率の両方を実現する。そのためにAML装置100は、複数のAI/MLアルゴリズムを組み合わせた機械学習を行う。例えばAML装置100は、教師なし学習による推定値を疑似ラベルとして教師あり学習を実行する。そしてAML装置100は、不正取引であることが調査済みの取引が格納されたブラックデータベース(DB)で、教師あり学習で生成したモデルを検証する。これにより、不正取引か否かについて未調査の取引DBを用いて不正検知能力を向上させることが可能となる。例えばブラックDBが十分に蓄積されてない初期段階でも、AML装置100をマネーロンダリングなどの不正取引の検知装置として運用することが可能となる。
 AML装置100は、取引DBから「取引金額」を使い、リスク(例えば不正件数/全体の件数)と金額の2指標を活用した調査の優先順位付けも可能である。またAML装置100は、Risk Adjusted Fraud Amount を生成し、3つ目の指標を取り入れた業務最適化も可能である。さらにAML装置100は、AML調査官の人員に応じた限界処理件数も4つ目の指標に入れ、AML検知の最適化も可能である。
 この結果、調査対象として提示する取引数をアラート処理量としたとき、今まで問題であった膨大な「アラート処理量」の最適化を実現することができる。すなわち処理可能なアラート処理量に削減しながらも、「損失額削減」、「不正検知数最大」、「調査率100%」、「機会損失最小」などのシナリオに応じた最適化が可能となる。
 図4は、AML装置が有する機能の一例を示すブロック図である。AML装置100は、AMLに利用するデータを記憶する記憶部103aを有する。記憶部103aとしては、例えばストレージ装置103内の記憶領域の一部が用いられる。記憶部103aには、例えばトランザクションDB110、ブラックDB120、メタデータ130が格納される。
 トランザクションDB110は、口座間の取引のログを蓄積したDBである。例えば金融取引システム31において実行されたトランザクションのログのコピーが、トランザクションDB110に格納される。トランザクションDB110は、第1の実施の形態に示す履歴情報11bの一例である。ブラックDB120は、金融機関または決済業者が過去に不正に利用されたとして特定した取引または口座の情報を格納するDBである。ブラックDB120は、第1の実施の形態に示す不正情報11aの一例である。メタデータ130は、例えば口座に関する情報、取引に関する情報などである。
 AML装置100は、AMLを実現するための処理機能として、グラフ構造学習部151、教師なし異常検知部152、教師あり学習部153、優先順位付け部154、根拠・ルール提示部155、説明可能AI部156、および説明可視化部157を有する。
 グラフ構造学習部151は、口座間のグラフ構造と不正に利用された口座の情報とに基づいて、半教師あり学習によって口座ごとの特徴を示す特徴ベクトルを学習する。グラフ構造としては、例えば口座に対応するノードと、口座間の取引関係を表すエッジとで構成されたグラフが用いられる。例えばグラフ構造学習部151は、グラフ深層学習(GNN:Graph Neural Network)を用いて学習を行う。
 教師なし異常検知部152は、グラフ構造学習部151が学習した口座ごとの特徴ベクトルと、トランザクションDB110とに基づいて教師なし学習を行い、各取引についての異常らしさを示す数値(アノマリースコア)を得る。
 教師あり学習部153は、教師なし異常検知部152が算出したアノマリースコアに基づいて、トランザクションDB110の個々のトランザクションに対応する取引に疑似ラベルを設定する。そして教師あり学習部153は、疑似ラベルを設定した取引のデータ(トランザクションのログと疑似ラベル)を訓練データとして、教師あり学習を行い、不正検知用のモデルを学習する。なお教師あり学習部153は、ブラックDB120を用いて、生成したモデルの精度を計測する。
 優先順位付け部154は、不正検知用のモデルによって不正の疑いありと検知された取引の調査の優先順位付けを行う。優先順位付け部154は、例えば不正取引があったときのリスクに基づいて順位付けを行う。
 根拠・ルール提示部155は、疑わしい取引の根拠、または疑わしい取引を検知するためのルールを提示する。
 説明可能AI部156は、説明可能AIを用いて、不正検知用のモデルによって不正の疑いありとされた口座について、不正が疑われる理由を示す情報を得る。
 説明可視化部157は、不正の疑いのある取引についての、不正と判断する根拠となる説明を可視化する。
 なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 AML装置100において、図4に示した各機能が連係して動作することで、マネーロンダリングなどの不正の取引を検知することができる。以下、図5~図7を参照して、AML装置100におけるAML処理に使用するデータについて具体的に説明する。
 図5は、トランザクションDBの一例を示す図である。例えばトランザクションDB110には、実行されたトランザクションごとの取引の内容を示すレコードが登録されたログ管理テーブル111が格納されている。ログ管理テーブル111には、トランザクションID(TxID)、金額(Amount)、日付(Date)、送金元口座(Sender account)、送金先口座(Receiver account)などの欄が設けられている。トランザクションIDは、トランザクションの識別番号である。金額は、口座間の取引金額である。日付は、取引の日付である。送信元口座は、送金元となった口座を識別する情報である。送金先口座は、送金先となった口座を識別する情報である。
 図6は、ブラックDBの一例を示す図である。例えばブラックDB120には、不正口座リスト121と不正取引管理テーブル122とが格納されている。不正口座リスト121には、不正取引に使用されたことが分かっている口座の識別情報が登録されている。不正取引管理テーブル122には、トランザクションDB110に格納された取引のレコードのうち、調査官による調査によって不正取引であると認定された取引のレコードのコピーが登録されている。
 図7は、メタデータの一例を示す図である。例えばメタデータ130には、口座情報テーブル131と取引情報テーブル132とが格納されている。口座情報テーブル131には、口座ごとのレコードが登録されている。口座情報テーブル131には、口座、口座名義人などの欄が設けられている。口座の欄には、口座の識別番号が設定される。口座名義人の欄には、該当口座を使用している人または組織の名称が設定される。口座情報テーブル131には、口座に関連するその他のさまざまな情報(口座開設日、残金など)が含まれる。取引情報テーブル132には、取引の種別ごとに、その取引についての説明が登録されている。
 次に、AML装置100におけるAML処理の手順について説明する。
 図8は、AML処理の手順の一例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
 [ステップS101]グラフ構造学習部151は、半教師あり学習により、口座間のグラフ構造を学習する。グラフ構造学習部151は、グラフ構造に基づいて、口座ごとの特徴ベクトルを算出する。
 [ステップS102]教師なし異常検知部152は、トランザクションDB110に示される取引と、取引に使用された口座の特徴ベクトルとに基づいて、教師なし異常検知を行う。教師なし異常検知部152は、教師なし異常検知により、取引ごとのアノマリースコアを算出する。
 [ステップS103]教師あり学習部153は、トランザクションDB110の取引のレコードにアノマリースコアに基づく疑似ラベルを付与して、疑似ラベルを用いた教師あり学習を行う。学習部153は、学習過程で、ブラックDB120を用いて、学習によって生成するモデルの精度を検証する。
 [ステップS104]優先順位付け部154は、教師あり学習によって生成されたモデルによる不正検知の結果に加え、取引の金額、処理限界件数、リスクスコア(不正な取引である確率)などを用いて、不正の疑いのある取引についての調査の優先順位付けを行う。
 [ステップS105]根拠・ルール提示部155は、不正の疑いのある取引について、不正の疑いがあると判断した根拠、または不正と判断するためのルールを調査官に提示する。
 [ステップS106]説明可能AI部156は、不正の疑いがある取引に関連する口座の疑似ラベルを生成し、その疑似ラベルを用いて説明可能AIによって教師あり深層学習を行う。その結果、説明可能AI部156は、疑わしい取引に利用された口座のつながり(不正ネットワーク)を学習する。
 [ステップS107]説明可視化部157は、不正取引を可視化する。
 このような処理によって、不正取引の調査を効率的に行うことが可能となる。なお、図8に示すステップS101~S103は開発フェーズで行う処理であり、ステップS104~S107は運用フェーズで行う処理である。
 図9は、開発フェーズと運用フェーズとの処理の流れを示す模式図である。開発フェーズ41において、グラフ構造学習部151は、ブラックDB120に対する特徴量エンジニアリング(FE:Feature Engineering)を行い、不正取引に利用された口座の特徴量を抽出する。グラフ構造学習部151は、例えば口座間の関係をグラフ化し、GNNによって、口座の特徴ベクトルを算出する。グラフ構造学習部151は、算出した口座の特徴ベクトルを教師なし異常検知部152に送信する。
 教師なし異常検知部152は、トランザクションDB110に対する特徴量エンジニアリングを行い、取引ごとの特徴を示すデータを抽出する。教師なし異常検知部152は、グラフ構造学習部151から取得した口座の特徴ベクトルと、取引ごとの特徴を示すデータとを入力として、例えばグラフを用いたグラフオートエンコーダーのようなオートエンコーダーにより教師なし学習を行う。教師なし異常検知部152は、教師なし学習により、取引ごとに、取引が他の取引から外れている度合いを示すアノマリースコアを出力する。教師なし異常検知部152は、アノマリースコアに示される確率で取引のランク付けをすることもできる。また教師なし異常検知部152は、ロジスティック回帰などで用いられるlog-odds変換により、アノマリースコアを変換してもよい。
 教師あり学習部153は、取引ごとのアノマリースコアに基づいて、取引ごとの疑似ラベルを設定する。また教師あり学習部153は、トランザクションDB110に対する特徴量エンジニアリングを行い、取引ごとの特徴を示すデータを抽出する。この際、教師あり学習部153は、例えばユーザが分かりやすい形式の特徴量エンジニアリングを行う。
 そして教師あり学習部153は、疑似ラベル付きの取引のデータを用いて、例えばLGBM(Light Gradient Boosting Machine)による教師あり学習を行う。教師あり学習によって、取引を示すデータから、その取引が不正取引か否かを判別するモデルが生成される。なお教師あり学習部153は、生成したモデルを、ブラックDB120を用いて検証する。すなわち教師あり学習部153は、不正な取引であるとしてブラックDB120に登録されている取引のデータをモデルに入力したときに、正しく不正と判断されるか否かを検証する。また教師あり学習部153は、ブラックDB120に登録されていないトランザクションDB110内の取引のデータをモデルに入力したときに、正しく不正ではないと判断されるか否かを検証する。教師あり学習部153は、ブラックDB120を用いた検証の精度が向上するように、モデルのパラメータを修正する。
 このようにして開発フェーズ41により、不正取引を検知するためのモデルが生成される。その後、生成されたモデルを用いて運用フェーズ42が実行される。
 運用フェーズ42では、未調査の取引を示すレコードがトランザクションDB110に追加されると、教師あり学習部153は、追加された取引に対して、ユーザがわかりやすい形式の特徴量エンジニアリングを行う。そして教師あり学習部153は、生成したモデルに基づいて、例えば、マネーロンダリングである可能性を示すリスクスコアを計算する。
 優先順位付け部154は、調査官から指定された調査のシナリオに従って、不正の疑いのある取引についての調査対象としての優先順位付けを行う。根拠・ルール提示部155は、疑わしい取引について、疑わしいと判断した根拠と、不正の取引の判定に用いることができるルールとを調査官に提示する。
 また説明可能AI部156は、説明可能AIを用いて、疑わしい取引に利用された口座のつながり(不正ネットワーク)を学習する。そして説明可視化部157は、不正ネットワークを可視化する。
 調査官は、例えば優先順位が高い取引から順に、不正な取引か否かを調査する。その際、調査官は、例えば提示されたルールに従って、不正な取引か否かを判定してもよい。また調査官は、可視化された不正ネットワークを参考にして、不正な取引か否かを判断することもできる。調査官は、不正な取引であると判定した場合、その取引、および使用された口座に関する情報を、ブラックDB120に登録する。
 次に、具体的な機械学習のアルゴリズムを適用して開発フェーズの処理をどのように実行するのかを、図10を参照して説明する。
 図10は、開発フェーズにおける具体的処理の一例を示す図である。例えばブラックDB120から特徴量エンジニアリング(FE-a)で抽出された口座ごとの特徴量を入力として、GNNによる機械学習が行われる。そして、GNNによって、不正に利用された口座の特徴ベクトルが出力される。
 またトランザクションDB110から特徴量エンジニアリング(FE-b)で抽出された取引の特徴量とGNNの出力とが結合される。そして結合されたデータを入力として、例えばグラフオートエンコーダーにより、教師なし学習が行われる。その結果、取引ごとのアノマリースコアが出力される。アノマリースコアは、例えば所定の閾値に基づいて疑似ラベルに変換される。
 さらにトランザクションDB110から特徴量エンジニアリング(FE-c)で抽出された取引の特徴量と疑似ラベルとが結合される。そして結合されたデータを入力として、LGBMなどの教師あり学習により、モデルが生成される。このときの機械学習は、例えばDeep tensor(登録商標)と呼ばれる技術を用いることもできる。モデルはブラックDB120によって検証され、精度の向上が図られる。
 以下、図8に示した各ステップの処理を詳細に説明する。
 <口座間のグラフ構造学習>
 図11は、口座間のグラフ構造学習処理の一例を示す図である。図11の例では、グラフ構造学習に、トランザクションDB110、ブラックDB120、およびメタデータ130が利用されている。例えばグラフ構造学習部151は、トランザクションDB110から、取引の送金口座と受領口座を特定する。グラフ構造学習部151は、各口座をノードとし、取引関係を有する口座に対応するノード間をエッジで接続したグラフを作成する。ノードには、例えばメタデータ130から取得した口座に関する情報(口座開設日、残金など)が設定される。
 このように生成されたグラフ構造のデータは、例えば各ノードが特徴ベクトルを有し、各エッジが単一または複数の特徴ベクトルを有する有向グラフまたは無向グラフである。ノードまたはエッジの特徴ベクトルにはメタデータ130から得た情報を追加することもできる。
 グラフ構造学習部151は、ブラックDB120に基づいて、口座が不正に利用されたか否かのフラグを取得する。グラフ構造学習部151は、グラフ構造のデータと、口座が不正に利用されたか否かのフラグを入力データとして、GNNに半教師あり学習で学習させる。グラフ構造学習部151は、学習結果として、口座(グラフ構造のノード)ごとの、特徴ベクトル52a,52b,・・・を含むGNN出力52を得る。
 なおグラフ構造学習部151は、口座間のグラフ構造を、教師なし学習、自己教師あり学習で学習してもよい。
 グラフ構造学習部151が出力したGNN出力52は、教師なし異常検知部152による教師なし異常検知処理で利用される。
 <教師なし異常検知>
 図12は、教師なし異常検知処理における入力データの一例を示す図である。例えばトランザクションDB110に対する特徴量エンジニアリング(FE-b)で抽出された取引データ51には、取引ID、送金口座番号、受領口座番号、送金金額、送金日時などの情報が含まれている。取引データ51には、その他に、統計処理や集計によって得られた口座もしくは取引単位の特徴が含まれる。
 また教師なし学習によって得られたGNN出力52には、口座ごとの特徴ベクトルが含まれる。特徴ベクトルは、例えば口座間のグラフ構造の繋がりによる関連性を表している。例えば口座番号に対してユーニークなインデックスが付与され、グラフには、そのインデックスに対応するノードが含まれる。このようにして口座に対応付けられたノード間の繋がりによる関連性が、特徴ベクトルで表される。
 教師なし異常検知部152は、取引データ51に示された取引ごとのレコードに、送金口座番号に対応する口座の特徴ベクトルと、受領口座番号に対応する口座の特徴ベクトルとを関連づけることで、入力データ53を生成する。
 例えば入力データ53は、トランザクションDB110のログ管理テーブル111に対して、送金口座の特徴ベクトル(Sender特徴ベクトル)の列と、受領口座の特徴ベクトル(Receiver特徴ベクトル)の列とが追加されたデータ構造となっている。Sender特徴ベクトルの列には、送金口座の特徴ベクトルに含まれる要素の値が設定される。Receiver特徴ベクトルの列には、受領口座の特徴ベクトルに含まれる要素の値が設定される。
 なお入力データ53には、送金口座と受領口座との特徴ベクトルの差分を追加してもよい。さらに入力データ53には、送金口座と受領口座それぞれの特徴ベクトルのノルムを追加してもよい。また、GNN出力52に基づく特徴ベクトルの追加後は、入力データ53から送金口座を示す列と受領口座を示す列とを削除してもよい。
 図13は、教師なし異常検知処理の一例を示す図である。図13の例では、教師なし異常検知に、トランザクションDB110、メタデータ130、およびGNN出力52が利用されている。
 教師なし異常検知部152は、トランザクションDB110に基づいて、送金口座の特徴量と受領口座の特徴量を生成する。例えば教師なし異常検知部152は、特徴量の生成に、直近の所定期間内の取引履歴または過去の所定期間内の取引履歴を使用する。また教師なし異常検知部152は、メタデータ130に格納されている口座の情報により、特徴量に付加的な情報を追加することもできる。
 教師なし異常検知部152は、GNN出力52に示される口座ごとの特徴ベクトルを、送金口座と受領口座に関連付け、図12に示した入力データ53を得る。教師なし異常検知部152は、入力データ53に、口座に関する情報を追加してもよい。
 教師なし異常検知部152は、例えば線形/非線形などの次元削減手法を用いて教師なしの異常検知を行う。教師なし異常検知部152は、テキストデータに関してはTf-idf、word2vec、Bertなどの自然言語から特徴を出力する手法により特徴ベクトルを得る。
 教師なし異常検知部152は、入力データ53を入力として、例えばオートエンコーダー構造の深層学習を用いて教師なし学習を実施する。オートエンコーダー構造は精度のチューニングによって可変である。オートエンコーダー構造は、入力層よりもノード数が少ない中間層を含む。教師なし異常検知部152は、オートエンコーダー構造の入力層に入力データ53の各取引のレコードを入力し、入力したレコードと同じデータを出力できるようなニューラルネットワークを生成する。そして教師なし異常検知部152は、入力したレコードと、それに対応する出力データとの差分の比較により、異常の度合いを示す情報を生成する。教師なし異常検知部152は、自己教師あり学習の手法を取り入れてもよい。
 教師なし異常検知部152は、教師なし学習の結果、各取引に対するアノマリースコア54a,54b,・・・を含む異常検知結果54を出力する。アノマリースコアは、通常と異なっている度合い(異常らしさ)を数値化したものである。アノマリースコアは、値が大きいほど、異常の度合いが高いことを示す。
 異常検知結果54は、教師あり学習部153による、疑似ラベルを用いた教師あり学習で利用される。
 <疑似ラベルを用いた教師あり学習>
 図14は、疑似ラベルを用いた教師あり学習の一例を示す図である。教師あり学習部153は、トランザクションDB110とブラックDB120との一方または両方を用いて、ユーザが理解しやすくかつ不正と関係のあると仮定される取引の特徴データを生成する。教師あり学習部153は、メタデータ130に示される口座または取引の情報を、各取引の特徴データに追加してもよい。教師あり学習部153は、取引ごとの特徴データとは別に、口座の特徴データを生成してもよい。これは取引・口座それぞれにフォーカスした説明性を得るためである。
 教師あり学習部153は、取引ごとの特徴データ、口座ごとの特徴データに、異常検知結果54に基づいて疑似ラベルを付与する。例えば疑わしい取引かそれに関連する疑わしい口座に、不正の疑いありを示す疑似ラベルが付与される。また疑わしくない取引かそれに関連する口座に、不正の疑いなしを示す疑似ラベルが付与される。例えば教師あり学習部153は、異常検知結果54におけるアノマリースコアが所定値以上の取引、またはその取引で利用された口座に、不正の疑いありを示す疑似ラベルを付与する。教師あり学習部153は、疑似ラベルを付与したデータを学習データとする。
 教師あり学習部153は、得られた学習データに対して、教師ありの機械学習モデルで学習させる。例えば教師あり学習部153は、勾配ブースティングなどの木構造による機械学習モデルを使用する。また教師あり学習部153は、説明が得られるAIモデルで学習させることも可能である。
 教師あり学習部153は、学習によって得られたモデルの精度の検証に、ブラックDB120を用いる。例えば教師あり学習部153は、ブラックDB120に示される不正な取引について正しく不正と判定する確率を、精度として計測する。そして教師あり学習部153は、不正な取引について正しく不正と判定できるように、モデルのパラメータを修正する。
 教師あり学習部153は、モデルの精度が所定の条件を満たすまで、モデルの学習と検証とを繰り返す。例えば教師あり学習部153は、モデルの精度が所定値以上になるか、それ以上精度が向上しなくなるまで、モデルの学習と検証を繰り返す。教師あり学習部153は、モデルの学習と検証の繰り返しの終了条件が満たされたときのモデルを、学習済みのモデル153aとする。
 このようにして生成されたモデル153aを用いて推論を行うことで、運用フェーズ42において、各取引が不正である可能性をリスクスコアとして算出することができる。
 図15は、教師あり学習による推論処理の一例を示す図である。例えばトランザクションDB110には、調査済み取引レコード群112と未調査取引レコード群113とが含まれているものとする。調査済み取引レコード群112は、既に調査官によって不正か否かの調査が行われた取引のレコードの集合である。未調査取引レコード群113は、調査官による調査が行われていない取引のレコードの集合である。
 教師あり学習部153は、未調査取引レコード群113に含まれる取引のレコードを学習済みのモデル153aへの入力として、その取引が不正か否かの推論を行う。教師あり学習部153は、推論により、例えば取引ごとのリスクスコア55a,55b,・・・を含む推論結果55を得る。推論結果は、優先順位付け部154による、疑わしい取り取引の優先順位付けに用いられる。
 <疑わしい取り取引の優先順位付け>
 図16は、疑わしい取引の優先順位付けの一例を示す図である。例えば優先順位付け部154には、優先順位付けについての複数のシナリオ61,62,63,64,・・・が登録されている。シナリオ61は、不正取引金額「阻止」最大化を目標として優先順位付けを行うシナリオである。シナリオ62は、不正取引件数「阻止」最大化を目標として優先順位付けを行うシナリオである。シナリオ63は、不正取引調査率最大化を目標として優先順位付けを行うシナリオである。シナリオ64は、不正取引”Risk-Adjusted”金額「阻止」最大化を目標として優先順位付けを行うシナリオである。”Risk-Adjusted”金額は、取引金額をリスクスコアに応じて調整した値である。例えばリスクスコアが大きいほど、”Risk-Adjusted”金額も大きくなる。
 優先順位付け部154は、トランザクションDB110に示される未調査の取引について、推論結果55などの情報を用い、調査官から指定された1または複数のシナリオに従って優先順位を決定する。例えば優先順位付け部154は、シナリオ61が指定されている場合、リスクスコアが所定値以上となる取引について、取引金額が高い順に優先順位を付与する。また優先順位付け部154は、例えばシナリオ62が指定されている場合、リスクスコアが所定値以上となる取引で使用されている回数が多い口座を利用した取引ほど、優先順位を高く設定する。また優先順位付け部154は、シナリオ63が指定されている場合、調査官の人員に応じて調査可能な最大数以下の取引を、他のシナリオによる優先順の上位から選択し、調査対象として提示する。また優先順位付け部154は、シナリオ64が指定されている場合、リスクスコアが所定値以上となる取引について、取引金額をリスクスコアに応じて修正した値が高い順に優先順位を付与する。
 優先順位付け部154は、例えば優先順位付けによって設定された優先順位と、その優先順位の取引の識別情報(例えばトランザクションID)との対応関係を示す優先順位情報56を出力する。例えば優先順位情報56では、優先順位によって昇順に取引の識別情報がソートされている。
 このように調査官は、調査業務の目標に応じて、シナリオ61,62,63,64,・・・の中から適切なシナリオを選択することができる。すなわち、調査官は、調査業務の目標に応じた優先順位の最適化を、シナリオ選択によって容易に実現することができる。その結果、リスクスコアによる疑わしい取引の検出範囲を、取引金額、誤検知率、調査可能量などによって調整することが可能となる。例えば業務ROI(Return On Investment)の最適化を図ることもできる。
 優先順位情報56を調査官に提示すれば、調査官は、効率的に調査を進めることができる。調査を効率的に行うことができれば、調査時間が短縮される。また優先順位情報56を用いれば、例えば金融庁提出のレポートの生成も容易となる。
 <疑わしい取引の根拠とルールを提示>
 根拠・ルール提示部155は、例えば疑わしい取引の根拠を調査官に提示する。根拠・ルール提示部155は、教師あり学習部153が生成したモデルに対して、例えば説明可能AI(例えばSHAP(SHapley Additive exPlanations)など)を利用して、取引1つ1つに対して、どの特徴がどれくらい疑わしさに寄与したかを可視化する。また根拠・ルール提示部155は、教師あり学習部153が説明可能AIによってモデルを作成している場合、そのモデルを用いて得られる推論の結果の根拠を可視化する。
 図17は、疑わしい取引の根拠の可視化の一例を示す図である。例えば根拠・ルール提示部155は、調査官が使用する端末30に根拠表示画面71を表示させる。根拠表示画面71には、例えば取引の特徴ごとに、その取引について不正の疑いがあるとの判断結果への寄与度が示されている。調査官は、根拠表示画面71を確認し、該当する取引が不正であるか否かの効率的な調査手順などを判断することができる。
 このようにして調査官は、疑わしい取引全体での特徴の寄与度をみることができる。また、説明可能AIを用いれば、予測値に対してある特徴が正の相関関係があることを見つけ出すこともできる。説明可能AIを用いれば、金融データの複雑性に対応する高度な根拠説明も可能である。例えば根拠・ルール提示部155は、連続して5回の取引があることでリスクコストが所定量増加する、取引間隔が短いほどリスクコストが高くなるなどの情報を、調査官に提示することができる。また説明可能AIを用いることにより、取引1単位あたりで根拠を提示でき、不正取引に関する情報の信頼性を向上させることもできる。さらに説明可能AIによって不正の疑いがあるとの根拠が分かることにより、調査のあたりを付け業務の効率化が可能となる。さらに説明可能AIを用いれば、不正取引の傾向をデータから立証することも可能となる。
 また根拠・ルール提示部155は、疑わしい取引のルールを提示することもできる。例えば教師あり学習部153が勾配ブースティングモデルで学習を行った場合、根拠・ルール提示部155は、勾配ブースティングモデルの中の木構造(例えば決定木)を取り出す。そして根拠・ルール提示部155は、木構造の各分岐をルールと見なし、それぞれの分岐で取引がいくつ弾かれたか(疑わしい取引ではないと判定された数)を可視化する。なお根拠・ルール提示部155は、分岐ごとに検知率と誤検知率を表示してもよい。
 図18は、ルール可視化の一例を示す図である。例えば根拠・ルール提示部155は、調査官が使用する端末30にルール表示画面72を表示させる。ルール表示画面72には、勾配ブースティングモデルによる学習時に生成された木構造が示されている。木構造のノードは、取引の特徴を示している。木構造のエッジは、特徴の値が閾値以上か未満かによる不正検知判断の分岐を示している。ルール表示画面72では、ノードごとに、対応する特徴と閾値以上と判断した割合、閾値未満と判断した割合が示されている。木構造の末端のノードには、最終的に不正と判断するか否かの情報が設定される。
 勾配ブースティングモデルでは、いくつかの木がモデル内に存在する。根拠・ルール提示部155は、木ごとの寄与度を算出し、順位付けることで、各ルールの重要度として順位付けして提示してもよい。木ごとの重要度は、例えば以下の式で算出される。
Figure JPOXMLDOC01-appb-M000001
 Ψは、勾配ブースティングモデルによって生成されたすべての木に付与したインデックスの集合である。X={x1,x2,...,xn}は、不正であるとの疑似ラベルが付与されたデータポイントの集合である。i∈Ψであり、x∈Xである。treePredi(x)は、i番目の木によって得られた不正であることの予測値である。
 木ごとの重要度の平均値は、以下の式で算出される。
Figure JPOXMLDOC01-appb-M000002
 このようにルールが明確化されることで、調査官は、不正との疑いがある取引についての調査を効率的に実施することができる。
 疑わしい取引であると判定するルールは、例えば調査官の分かりやすい変数で提示することができる。例えば根拠・ルール提示部155は、取引4回以上連続で合計金額10万円以上にというルールによって、不正の疑いのある取引が10件検出されたことを、調査官に提示できる。
 また根拠・ルール提示部155によってルールが提示されることで、調査官は、経験によるルール策定ではなく、データドリブン(蓄積されたデータの分析結果に基づくこと)なルール策定が可能となる。また根拠・ルール提示部155によってルールが提示されることで、新しい犯罪手口のルールの発見が可能となる。その結果、ルールの陳腐化を防ぐことができる。さらに、根拠・ルール提示部155が、ルールに適合した取引の数を提示することで、どのルールの過程でどれくらい不正な取引が検出できるのかを明確にでき、ルールベースでの不正検知において組み合わせるルールの選定が容易となる。
 <不正ネットワーク学習>
 図19は、不正ネットワーク学習の一例を示す図である。説明可能AI部156は、例えば優先順位付け部154がシナリオに応じて出力した優先順位情報56に基づいて、該当する取引に利用されている送金口座と受領口座とに疑似ラベルを設定する。
 また説明可能AI部156は、トランザクションDB110およびメタデータ130内の情報を用いて、ユーザが理解できる口座の特徴量を生成し、口座間の関係を示すグラフデータを生成する。グラフデータの生成方法は、例えばグラフ構造学習部151によるグラフ構造の生成方法と同様である。
 なお説明可能AI部156は、金融間や業者間でグラフデータを統合する場合は、特徴の意味を合わせる。また説明可能AI部156は、グラフに付与するデータとして、それぞれの取引の種別や分類、または帰属する対象やそのカテゴリなどを追加してもよい。
 説明可能AI部156は、グラフデータと疑似ラベルを入力データとして、教師ありグラフ深層学習を行う。この教師ありグラフ深層学習では、口座ごとの不正の疑わしさの度合いを示すリスクスコアが得られる。説明可能AI部156は、教師ありグラフ深層学習において、ブラックDB120に基づいて検証を行い、学習の精度を向上させることもできる。
 説明可能AI部156は、例えば不正の疑わしさ度合いが所定の閾値以上の口座に対して、不正の疑い有りを示すラベル(疑似ラベル)を設定する。説明可能AI部156は、教師ありグラフ深層学習で得た疑似ラベルに基づいて、不正の疑いのある口座間のネットワークの説明を備えた教師あり学習を行い、説明を加える処理を行う。その結果、例えば、不正な取引に使用されている疑いのある口座間の関係(不正ネットワーク)を説明する不正ネットワーク説明情報57を得ることができる。
 なお、疑似ラベルを付与するか否かのリスクスコアの閾値は、複数設定することができる。その場合、説明可能AI部156は、閾値ごとに、各口座に疑似ラベルを付与するか否かを決定する。そして説明可能AI部156は、閾値ごとに、口座の疑似ラベルに基づいて、不正の疑いのある口座間のネットワークの説明を備えた教師あり学習を行う。これにより、疑似ラベルを付与するか否かのリスクスコアの閾値ごとに、不正ネットワークが生成される。
 例えば不正の疑わしさの度合いが高い口座ほど、リスクスコアの値が小さいものとする。そしてリスクスコアの閾値が「500」、「600」、「700」の場合、これらの閾値ごと、口座に疑似ラベル(例えば閾値未満の口座に「1」、閾値以上の口座に「0」のフラグ)が設定される。そして、リスクスコアの閾値ごとに、その閾値で不正の疑いありとされた口座間のネットワークを予測対象として、教師ありグラフ深層モデルによる学習が行われる。その結果、閾値「500」に応じた疑似ラベルで学習した不正ネットワーク、閾値「600」に応じた疑似ラベルで学習した不正ネットワーク、閾値「700」に応じた疑似ラベルで学習した不正ネットワークが得られる。
 <不正取引可視化>
 説明可視化部157は、不正ネットワークを、例えば調査官が使用する端末30に表示させる。例えば説明可視化部157は、ドローワーによってリスクの許容範囲(リスクスコアの閾値)を「500」→「600」→「700」と広げていった際の不正ネットワークの変化を可視化することができる。
 図20は、不正ネットワーク表示方法の一例を示す図である。例えば説明可視化部157は、各口座を、その口座のリスクスコアでソートする。調査官が可視化するリスクスコアの閾値(許容するリスクスコア)を指定すると、指定された閾値に応じて得られた不正ネットワークを示す可視化グラフ81~83が生成され、その可視化グラフ81~83が表示される。例えば調査官が、「500」→「600」→「700」とリスクスコアの許容範囲を広げていくと、表示される可視化グラフが、可視化グラフ81→可視化グラフ82→可視化グラフ83と遷移する。
 このように説明可視化部157は、許容するリスクスコアに応じたサイズの不正ネットワーク構造を可視化することができる。このような可視化処理を、例えば調査のシナリオごとに行うことで、調査官は、複数のシナリオそれぞれの調査範囲を変化させた場合における重複する口座を容易に特定できる。また調査官は、リスクスコアの許容範囲を拡げたり、狭めたりして、可視化グラフ81~83に示される検知範囲の広がりを確認することができる。これにより、調査官は、マネーロンダリング特有の送金のサイクルまたは口座間の関係のループの有無を特定し、関連の口座を特定することができる。不正な取引に利用された口座を容易に特定できることで、不正に利用された口座の見逃しを抑止でき、不正な取引の始点と終点との口座の特定も容易となる。
 また説明可視化部157は、特定の口座1つに対して、疑わしいと判断された根拠を提示することができる。例えば、表示された可視化グラフからノードまたはエッジが選択されると、説明可視化部157は、選択されたノードまたはエッジに対応する口座または口座間の関係について、不正の疑いがあると判定した根拠を表示する。
 図21は、不正の疑いがあると判定した根拠の表示方法の一例を示す図である。例えば可視化グラフ81が表示されているときに、リスクスコアで口座がソートされたリスク表示テーブル84において、調査官が1つの口座を選択したものとする。すると、説明可視化部157は、選択された口座に関連する口座(疑わしいか否かとは無関係に)への繋がりを示す可視化グラフ85を表示させる。調査官により、可視化グラフ85のノードが選択されると、選択されたノードに対応する口座に不正の疑いがあると判断した根拠が表示される。また可視化グラフ85のエッジが選択されると、そのエッジの両端の口座間で行われた取引に不正の疑いがあると判断した根拠が示される。
 このように不正取引が可視化されることにより、取引単位でなく関連する不正口座の特定による包括的な対処が容易となる。また、グラフによって不正ネットワークを可視化したことで、取引の始点の口座と終点の口座とが明確化され、調査が容易となる。
 [その他の実施の形態]
 第2の実施の形態では、金融機関の口座を利用したマネーロンダリングなどの不正取引の検知をしているが、金融機関の口座間の取引以外の不正の検知にも利用できる。例えば金融取引以外の用途で使用されるコンピュータシステムを利用するユーザによる不正なデータ更新を伴うトランザクションの検知にも利用できる。
 第2の実施の形態におけるトランザクションDB110、ブラックDB120、およびメタデータ130は、複数の金融機関のデータを統合したデータであってもよい。複数の金融機関のデータを統合することで、例えば複数の金融機関を跨いだマネーロンダリングの検知が容易となる。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 コンピュータシステム
 10 情報処理装置
 11 記憶部
 11a 不正情報
 11b 履歴情報
 12 処理部

Claims (9)

  1.  コンピュータシステムにおける複数のトランザクションの履歴を示す履歴情報を入力データとする教師なしの第1の機械学習により、前記複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出し、
     前記複数のトランザクションそれぞれの前記アノマリースコアに基づいて、前記複数のトランザクションの履歴に不正の疑いの有無を示す疑似ラベルを設定し、
     前記疑似ラベルが付与された前記複数のトランザクションの履歴を訓練データとする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、前記一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する、
     処理をコンピュータに実行させる機械学習プログラム。
  2.  前記モデルを生成する処理では、調査によって不正であると判明した不正トランザクションを示す不正情報を用いて前記モデルの検証を行い、検証結果が所定の条件を満たすまで前記モデルの修正を繰り返す、
     請求項1記載の機械学習プログラム。
  3.  調査によって不正であると判明した不正トランザクションを示す不正情報に基づいて、前記不正トランザクションに利用されたアカウントそれぞれの特徴を表す特徴ベクトルを生成する処理をコンピュータにさらに実行させ、
     前記アノマリースコアを算出する処理では、前記履歴情報における前記不正トランザクションに対して、利用しているアカウントの前記特徴ベクトルを付与したデータを、前記第1の機械学習の前記入力データとする、
     請求項1記載の機械学習プログラム。
  4.  生成された前記モデルに基づいて、未調査のトランザクションに不正の疑いがあるか否かを判定する、
     処理をコンピュータにさらに実行させる請求項1記載の機械学習プログラム。
  5.  前記モデルを用いて不正の疑いがあると判定された不正疑義トランザクションについて、不正の疑いがあると判定した根拠を特定し、前記根拠を出力する、
     処理をコンピュータにさらに実行させる請求項4記載の機械学習プログラム。
  6.  前記モデルを用いて不正の疑いがある判定された不正疑義トランザクションについて、所定の指標に基づいて並べ替えて出力する、
     処理をさらに実行させる請求項4記載の機械学習プログラム。
  7.  前記モデルの生成では、木構造を用いた前記第2の機械学習により前記モデルを生成し、
     前記モデルの生成に用いた前記木構造に基づいて、前記未調査のトランザクションに不正の疑いがある判定するためのルールを出力する処理を、コンピュータにさらに実行させる、
     請求項4記載の機械学習プログラム。
  8.  コンピュータシステムにおける複数のトランザクションの履歴を示す履歴情報を入力データとする教師なしの第1の機械学習により、前記複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出し、
     前記複数のトランザクションそれぞれの前記アノマリースコアに基づいて、前記複数のトランザクションの履歴に不正の疑いの有無を示す疑似ラベルを設定し、
     前記疑似ラベルが付与された前記複数のトランザクションの履歴を訓練データとする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、前記一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する、
     処理をコンピュータが実行する機械学習方法。
  9.  コンピュータシステムにおける複数のトランザクションの履歴を示す履歴情報を入力データとする教師なしの第1の機械学習により、前記複数のトランザクションそれぞれについて、異常である度合いを示すアノマリースコアを算出し、前記複数のトランザクションそれぞれの前記アノマリースコアに基づいて、前記複数のトランザクションの履歴に不正の疑いの有無を示す疑似ラベルを設定し、前記疑似ラベルが付与された前記複数のトランザクションの履歴を訓練データとする教師ありの第2の機械学習により、一のトランザクションの履歴を入力として、前記一のトランザクションに不正の疑いがあるか否かを判別するモデルを生成する処理部、
     を有する情報処理装置。
PCT/JP2022/027725 2022-07-14 2022-07-14 機械学習プログラム、機械学習方法、および情報処理装置 WO2024013939A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/027725 WO2024013939A1 (ja) 2022-07-14 2022-07-14 機械学習プログラム、機械学習方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/027725 WO2024013939A1 (ja) 2022-07-14 2022-07-14 機械学習プログラム、機械学習方法、および情報処理装置

Publications (1)

Publication Number Publication Date
WO2024013939A1 true WO2024013939A1 (ja) 2024-01-18

Family

ID=89536335

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/027725 WO2024013939A1 (ja) 2022-07-14 2022-07-14 機械学習プログラム、機械学習方法、および情報処理装置

Country Status (1)

Country Link
WO (1) WO2024013939A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3866087A1 (en) * 2020-02-12 2021-08-18 KBC Groep NV Method, use thereoff, computer program product and system for fraud detection
JP2022514509A (ja) * 2018-12-13 2022-02-14 データロボット, インコーポレイテッド データ異常を検出および解釈するための方法、ならびに関連システムおよびデバイス

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022514509A (ja) * 2018-12-13 2022-02-14 データロボット, インコーポレイテッド データ異常を検出および解釈するための方法、ならびに関連システムおよびデバイス
EP3866087A1 (en) * 2020-02-12 2021-08-18 KBC Groep NV Method, use thereoff, computer program product and system for fraud detection

Similar Documents

Publication Publication Date Title
US20220405860A1 (en) Artificial intelligence transaction risk scoring and anomaly detection
KR101828503B1 (ko) 앙상블 모델 생성 장치 및 방법
JP2022514509A (ja) データ異常を検出および解釈するための方法、ならびに関連システムおよびデバイス
US20210182859A1 (en) System And Method For Modifying An Existing Anti-Money Laundering Rule By Reducing False Alerts
WO2010037030A1 (en) Evaluating loan access using online business transaction data
KR101706136B1 (ko) 이상 패턴 분석 방법, 이를 수행하는 이상 패턴 분석 장치 및 이를 저장하는 기록매체
US11538044B2 (en) System and method for generation of case-based data for training machine learning classifiers
Noviandy et al. Credit Card Fraud Detection for Contemporary Financial Management Using XGBoost-Driven Machine Learning and Data Augmentation Techniques
US20220335517A1 (en) Systems and methods for analyzing documents using machine learning techniques
WO2020118019A1 (en) Adaptive transaction processing system
JP2022548501A (ja) 暗号通貨取引を分析するためのデータ取得方法及び装置
Agarwal et al. Sentiment Analysis in Stock Price Prediction: A Comparative Study of Algorithms
US20240154975A1 (en) Systems and methods for accelerating a disposition of digital dispute events in a machine learning-based digital threat mitigation platform
WO2024013939A1 (ja) 機械学習プログラム、機械学習方法、および情報処理装置
US20170293863A1 (en) Data analysis system, and control method, program, and recording medium therefor
JP2003323601A (ja) 信頼性尺度付き予測装置
Kaur Development of Business Intelligence Outlier and financial crime analytics system for predicting and managing fraud in financial payment services
Lee et al. Application of machine learning in credit risk scorecard
CN111325350A (zh) 可疑组织发现系统和方法
Prakash et al. ATM Card Fraud Detection System Using Machine Learning Techniques
Settipalli et al. Provider profiling and labeling of fraudulent health insurance claims using Weighted MultiTree
Shihembetsa Use of artificial intelligence algorithms to enhance fraud detection in the Banking Industry
Yeh et al. Predicting failure of P2P lending platforms through machine learning: The case in China
JP5946949B1 (ja) データ分析システム、その制御方法、プログラム、および、記録媒体
Sağlar et al. A review on data mining methods used in internal audit and external audit

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: 22951153

Country of ref document: EP

Kind code of ref document: A1