Systems, methods, and computer program products for generating synthetic data

By generating synthetic datasets, the problems of system startup and model training in the absence of measured data are solved, enabling early fraud detection and resource saving.

CN114691932BActive Publication Date: 2026-08-25VISA INTERNATIONAL SERVICE ASSOCIATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111059815.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-29
Filing Date
2021-09-10
Publication Date
2026-08-25
Estimated Expiration
2041-09-10

AI Technical Summary

Technical Problem

Existing technologies cannot generate accurate synthetic data without relying on data measured in the environment, which prevents computer-driven systems from running and training machine learning models in a timely manner.

Method used

By receiving correlations from multiple data types, correlation graphs, directed acyclic graphs, and hierarchical graphs are generated. Path traversal techniques are used to generate synthetic datasets, which are then used to train machine learning models for fraud detection systems.

Benefits of technology

It enables the generation of synthetic data without measured data, reducing system startup time, improving the early detection capability of fraud detection, and saving computing resources and time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114691932B_ABST
    Figure CN114691932B_ABST
Patent Text Reader

Abstract

A system, method, and computer program product for generating synthetic data are provided. The method includes receiving a plurality of data types associated with an environment to be evaluated and receiving a plurality of correlations of one data type to another data type. The method also includes generating a correlation graph of the plurality of data types based on the plurality of correlations and generating a directed acyclic graph of the plurality of data types based on the correlation graph. The method also includes generating a hierarchy graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph and generating a synthetic data set by repeatedly traversing the hierarchy graph to generate a plurality of records of data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to data analysis techniques and applications, and in some non-limiting embodiments or aspects, relates to systems, methods and computer program products for generating synthetic data. Background Technology

[0002] Synthetic data (e.g., data not obtained through direct measurement of the environment) may be needed to test and train various computer-driven models. To ensure that the synthetic data reliably represents the environment (e.g., payment transaction processing networks, computer user systems, etc.), it is typically necessary to use measured data of the environment (e.g., real-time data, historical data, etc.) as reference / input to generate the synthetic data. From a time and / or resource perspective, it may be impossible to obtain the measured data used to generate the synthetic data.

[0003] There is a need in this field for a technical solution that can generate accurate synthetic data about an environment without relying on measured data. Specifically, there is a need for a technical solution that includes synthetic data generation, which can be used to train machine learning models to work in a given environment so that computer-driven systems can be implemented and run without waiting for measured data. Summary of the Invention

[0004] Therefore, the objective of the subject matter currently being disclosed is to provide systems, methods, and computer program products for generating synthetic data.

[0005] According to some non-limiting embodiments or aspects, a computer-implemented method for generating synthetic data is provided. The method may include receiving, using at least one processor, a plurality of data types associated with an environment to be evaluated. The method may also include receiving, using at least one processor, a plurality of correlations, each of the plurality of correlations including a dependency of one data type among the plurality of data types on another data type among the plurality of data types. The method may further include generating a correlation graph of the plurality of data types based on the plurality of correlations using at least one processor. The method may further include generating a directed acyclic graph of the plurality of data types based on the correlation graph using at least one processor. The method may further include generating a hierarchical graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph using at least one processor. The method may further include generating a synthetic dataset by repeatedly traversing the hierarchical graph using at least one processor to generate a plurality of records of data, each of the plurality of records including a value associated with the plurality of data types.

[0006] In some non-limiting embodiments or aspects, the environment to be evaluated may be a payment transaction processing network, which includes a transaction processing system programmed and / or configured to process multiple transactions. The method may also include using at least one processor to train at least one machine learning model of the fraud detection system using the synthetic dataset. The method may also include using at least one processor to receive an authorization request associated with a transaction between a merchant system and a payment device. The method may also include using at least one processor to transmit at least a portion of the authorization request to the fraud detection system during payment processing of the transaction. The method may also include using at least one processor to receive a fraud assessment of the transaction from the fraud detection system. The method may also include using at least one processor to reject the authorization request based on the fraud assessment. The plurality of data types may include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

[0007] In some non-limiting embodiments or aspects, the method may further include displaying the plurality of data types in a user interface or causing the display of the plurality of data types using at least one processor. The method may also include receiving the plurality of correlations based on user input identifying associations within the plurality of data types in the user interface using at least one processor. Path traversal techniques applied to directed acyclic graphs may include random walk techniques or breadth-first search techniques.

[0008] According to some non-limiting embodiments or aspects, a system for generating synthetic data is provided. The system may include a server, the server including at least one processor. The at least one processor may be programmed and / or configured to receive multiple data types associated with an environment to be evaluated. The at least one processor may also be programmed and / or configured to receive multiple correlations, each of the multiple correlations including a dependency of one data type on another of the multiple data types. The at least one processor may also be programmed and / or configured to generate a correlation graph of the multiple data types based on the multiple correlations. The at least one processor may also be programmed and / or configured to generate a directed acyclic graph of the multiple data types based on the correlation graph. The at least one processor may also be programmed and / or configured to generate a hierarchical graph of the multiple data types by applying path traversal techniques to the directed acyclic graph. The at least one processor may also be programmed and / or configured to generate a synthetic dataset by repeatedly traversing the hierarchical graph to generate multiple records of data, each of the multiple records including a value associated with the multiple data types.

[0009] In some non-limiting embodiments or aspects, the environment to be evaluated may be a payment transaction processing network, which includes a transaction processing system programmed and / or configured to process multiple transactions. The at least one processor may also be programmed and / or configured to train at least one machine learning model of the fraud detection system using the synthetic dataset. The at least one processor may also be programmed and / or configured to receive authorization requests associated with transactions between a merchant system and a payment device. The at least one processor may also be programmed and / or configured to transmit at least a portion of the authorization request to the fraud detection system during payment processing of the transaction. The at least one processor may also be programmed and / or configured to receive a fraud assessment of the transaction from the fraud detection system. The at least one processor may also be programmed and / or configured to reject the authorization request based on the fraud assessment. The plurality of data types may include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

[0010] In some non-limiting embodiments or aspects, the at least one processor may also be programmed and / or configured to display the plurality of data types in a user interface or to cause the display of the plurality of data types. In some non-limiting embodiments or aspects, the at least one processor may also be programmed and / or configured to receive the plurality of correlations based on user input identifying associations within the plurality of data types in the user interface. Path traversal techniques applied to directed acyclic graphs may include random walk techniques or breadth-first search techniques.

[0011] According to some non-limiting embodiments or aspects, a computer program product for generating synthetic data is provided. The computer program product may include at least one non-transient computer-readable medium comprising program instructions that, when executed by at least one processor, cause the at least one processor to receive a plurality of data types associated with an environment to be evaluated. The program instructions may also cause the at least one processor to receive a plurality of correlations, each of the plurality of correlations including a dependency of one data type on another of the plurality of data types. The program instructions may further cause the at least one processor to generate a correlation graph of the plurality of data types based on the plurality of correlations. The program instructions may further cause the at least one processor to generate a directed acyclic graph of the plurality of data types based on the correlation graph. The program instructions may further cause the at least one processor to generate a hierarchical graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph. The program instructions may further cause the at least one processor to generate a synthetic dataset by repeatedly traversing the hierarchical graph to generate a plurality of records of data, each of the plurality of records including a value associated with the plurality of data types.

[0012] In some non-limiting embodiments or aspects, the environment to be evaluated may be a payment transaction processing network, which includes a transaction processing system programmed and / or configured to process multiple transactions. The multiple data types may include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof. The program instructions may also cause the at least one processor to use the synthetic dataset to train at least one machine learning model of the fraud detection system. The program instructions may also cause the at least one processor to receive an authorization request associated with a transaction between the merchant system and the payment device. The program instructions may also cause the at least one processor to transmit at least a portion of the authorization request to the fraud detection system during payment processing of the transaction. The program instructions may also cause the at least one processor to receive a fraud assessment of the transaction from the fraud detection system. The program instructions may also cause the at least one processor to reject the authorization request based on the fraud assessment.

[0013] In some non-limiting embodiments or aspects, the program instructions may also cause the at least one processor to display the plurality of data types in a user interface or cause the display of the plurality of data types. The program instructions may also cause the at least one processor to receive the plurality of correlations based on user input identifying associations within the plurality of data types in the user interface. Path traversal techniques applied to directed acyclic graphs may include random walk techniques or breadth-first search techniques.

[0014] Other embodiments or aspects are set forth in the following numbered clauses:

[0015] Article 1: A computer-implemented method includes: receiving, using at least one processor, a plurality of data types associated with an environment to be evaluated; receiving, using at least one processor, a plurality of correlations, each of the plurality of correlations including a dependency of one data type of the plurality of data types on another data type of the plurality of data types; generating, using at least one processor, a correlation graph of the plurality of data types based on the plurality of correlations; generating, using at least one processor, a directed acyclic graph of the plurality of data types based on the correlation graph; generating, using at least one processor, a hierarchical graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph; and generating, using at least one processor, a synthetic dataset by repeatedly traversing the hierarchical graph to generate a plurality of records of data, each of the plurality of records including a value associated with the plurality of data types.

[0016] Article 2: The computer-implemented method according to Article 1, wherein the environment to be evaluated is a payment transaction processing network, the payment transaction processing network including a transaction processing system programmed and / or configured to process multiple transactions.

[0017] Article 3: The computer-implemented method according to Article 1 or Article 2 further includes using at least one processor to train at least one machine learning model of the fraud detection system using the synthetic dataset.

[0018] Article 4: The computer-implemented method according to any one of Articles 1 to 3 further comprises: receiving, using at least one processor, an authorization request associated with a transaction between a merchant system and a payment device; transmitting, using at least one processor, at least a portion of the authorization request to the fraud detection system during payment processing of the transaction; receiving, using at least one processor, a fraud assessment of the transaction from the fraud detection system; and rejecting the authorization request based on the fraud assessment.

[0019] Article 5: A computer-implemented method according to any one of Articles 1 to 4, wherein the plurality of data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

[0020] Article 6: The computer-implemented method according to any one of Articles 1 to 5 further includes: displaying or causing the display of the plurality of data types in a user interface using at least one processor; and receiving the plurality of correlations using at least one processor based on user input identifying correlations among the plurality of data types in the user interface.

[0021] Article 7: The computer-implemented method according to any one of Articles 1 to 6, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

[0022] Article 8: A system including a server, the server including at least one processor, the at least one processor being programmed and / or configured to: receive a plurality of data types associated with an environment to be evaluated; receive a plurality of correlations, each of the plurality of correlations including a dependency of one data type of the plurality of data types on another data type of the plurality of data types; generate a correlation graph of the plurality of data types based on the plurality of correlations; generate a directed acyclic graph of the plurality of data types based on the correlation graph; generate a hierarchical graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph; and generate a synthetic dataset by repeatedly traversing the hierarchical graph to generate a plurality of records of data, each of the plurality of records including a value associated with the plurality of data types.

[0023] Article 9: The system described in Article 8, wherein the environment to be evaluated is a payment transaction processing network, which includes a transaction processing system programmed and / or configured to process multiple transactions.

[0024] Article 10: In a system according to Article 8 or 9, wherein the at least one processor is further programmed and / or configured to use the synthetic dataset to train at least one machine learning model of the fraud detection system.

[0025] Article 11: In a system according to any one of Articles 8 to 10, wherein the at least one processor is further programmed and / or configured to: receive an authorization request associated with a transaction between a merchant system and a payment device; transmit at least a portion of the authorization request to the fraud detection system during payment processing of the transaction; receive a fraud assessment of the transaction from the fraud detection system; and reject the authorization request based on the fraud assessment.

[0026] Article 12: A system according to any one of Articles 8 to 11, wherein the plurality of data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

[0027] Article 13: A system according to any one of Articles 8 to 12, wherein the at least one processor is further programmed and / or configured to: display the plurality of data types in a user interface or cause the display of the plurality of data types; and receive the plurality of correlations based on user input in the user interface that identifies associations within the plurality of data types.

[0028] Article 14: The system according to any one of Articles 8 to 13, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

[0029] Article 15: A computer program product comprising at least one non-transient computer-readable medium, the at least one non-transient computer-readable medium comprising program instructions, which, when executed by at least one processor, cause the at least one processor to: receive a plurality of data types associated with an environment to be evaluated; receive a plurality of correlations, each of the plurality of correlations including a dependency of one data type of the plurality of data types on another data type of the plurality of data types; generate a correlation graph of the plurality of data types based on the plurality of correlations; generate a directed acyclic graph of the plurality of data types based on the correlation graph; generate a hierarchical graph of the plurality of data types by applying a path traversal technique to the directed acyclic graph; and generate a synthetic dataset by repeatedly traversing the hierarchical graph to generate a plurality of records of data, each of the plurality of records including a value associated with the plurality of data types.

[0030] Article 16: The computer program product described in Article 15, wherein the environment to be evaluated is a payment transaction processing network, the payment transaction processing network including a transaction processing system programmed and / or configured to process multiple transactions, and wherein the multiple data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

[0031] Article 17: A computer program product pursuant to Article 15 or 16, wherein the program instructions further cause the at least one processor to use the synthetic dataset to train at least one machine learning model of the fraud detection system.

[0032] Article 18: A computer program product according to any one of Articles 15 to 17, wherein the program instructions further cause the at least one processor to: receive an authorization request associated with a transaction between a merchant system and a payment device; transmit at least a portion of the authorization request to the fraud detection system during payment processing of the transaction; receive a fraud assessment of the transaction from the fraud detection system; and reject the authorization request based on the fraud assessment.

[0033] Article 19: A computer program product according to any one of Articles 15 to 18, wherein the program instructions further cause the at least one processor to: display the plurality of data types in a user interface or cause the display of the plurality of data types; and receive the plurality of correlations based on user input identifying correlations among the plurality of data types in the user interface.

[0034] Article 20: A computer program product according to any one of Articles 15 to 19, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

[0035] The operational methods and manufacturing economics of these and other features and characteristics of this disclosure, as well as the combinations of related structural elements and parts, will become more apparent after considering the following description and appended claims with reference to the accompanying drawings and appendices, all of which form part of this specification, wherein similar reference numerals in the drawings indicate corresponding parts. However, it should be clearly understood that the drawings are for illustrative and descriptive purposes only and are not intended to be construed as limiting the scope of this disclosure. Unless the context clearly requires otherwise, the singular forms “a” and “above” as used in this specification and claims include plural indicators. Attached Figure Description

[0036] Additional advantages and details of this disclosure are explained in more detail below with reference to exemplary embodiments or aspects illustrated in the accompanying diagrams, in which:

[0037] Figure 1 A diagram is a non-limiting embodiment or aspect of an environment in which the systems, apparatus and / or methods described herein may be implemented;

[0038] Figure 2 This is a flowchart illustrating a non-limiting embodiment or aspect of a method for generating synthetic data according to the principles of this disclosure;

[0039] Figure 3 This is a flowchart illustrating a non-limiting embodiment or aspect of a method for generating synthetic data according to the principles of this disclosure;

[0040] Figure 4 yes Figure 1 A diagram of a non-limiting embodiment or aspect of a component of one or more devices;

[0041] Figure 5 This is a flowchart illustrating a non-limiting embodiment or aspect of a method for generating synthetic data according to the principles of this disclosure;

[0042] Figure 6 This is a correlation diagram of a non-limiting embodiment or aspect of a method for generating synthetic data based on the principles of this disclosure;

[0043] Figure 7 This is a directed acyclic graph of a non-limiting embodiment or aspect of a method for generating synthetic data based on the principles of this disclosure;

[0044] Figure 8 It is the first step to traverse the paths in a directed acyclic graph of a method for generating synthetic data according to the principles of this disclosure;

[0045] Figure 9 It is the second step of traversing paths in a directed acyclic graph of a method for generating synthetic data according to the principles of this disclosure in a non-limiting embodiment or aspect of the method.

[0046] Figure 10 It is the third step of traversing paths in a directed acyclic graph of a method for generating synthetic data according to the principles of this disclosure in a non-limiting embodiment or aspect of the method.

[0047] Figure 11 It is the fourth step of traversing paths in a directed acyclic graph of a method for generating synthetic data according to the principles of this disclosure in a non-limiting embodiment or aspect of the method.

[0048] Figure 12 It is the fifth step of traversing the paths in a directed acyclic graph of a non-limiting embodiment or aspect of the method for generating synthetic data according to the principles of this disclosure;

[0049] Figure 13 This is a hierarchy diagram of non-limiting embodiments or aspects of a method for generating synthetic data based on the principles of this disclosure; and

[0050] Figure 14 This is a schematic diagram associated with a data type of a non-limiting embodiment or aspect of a method for generating synthetic data according to the principles of this disclosure. Detailed Implementation

[0051] For descriptive purposes, the terms “end,” “upper,” “lower,” “right,” “left,” “vertical,” “horizontal,” “top,” “bottom,” “lateral,” “longitudinal,” and their derivatives are intended to refer to the orientation of this disclosure as shown in the accompanying drawings. However, it should be understood that this disclosure may take various alternative variations and sequences of steps, except where explicitly specified otherwise. It should also be understood that the specific apparatus and processes illustrated in the drawings and described in the following description are merely exemplary embodiments or aspects of this disclosure. Therefore, unless otherwise indicated, specific dimensions and other physical characteristics associated with the embodiments or aspects of the embodiments disclosed herein should not be considered limiting.

[0052] The terms "aspects," "components," "elements," "components," "structures," "actions," "steps," "functions," and "instructions" used herein should not be construed as critical or essential unless explicitly stated otherwise. Furthermore, as used herein, the article "a" is intended to include one or more items and is interchangeable with "one or more" and "at least one." Additionally, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and is interchangeable with "one or more" or "at least one." Where only one item is desired, the term "a" or similar language is used. Furthermore, as used herein, the terms "having" and similar expressions are intended to be open-ended terms. Additionally, unless explicitly stated otherwise, the phrase "based on" is intended to mean "at least partially based on."

[0053] As used herein, the terms "communication" and "transmission" can refer to the receipt, acceptance, transmission, delivery, provision, etc., of information (e.g., data, signals, messages, instructions, commands, etc.). Communication between one unit (e.g., apparatus, system, component of an apparatus or system, combination thereof, etc.) and another unit means that the first unit is able to receive information directly or indirectly from and / or send (e.g., transmit) information to the other unit. This can refer to a direct or indirect connection that is inherently wired and / or wireless. Furthermore, the two units can communicate with each other even if the transmitted information may be modified, processed, relayed, and / or routed between the first and second units. For example, the first unit can communicate with the second unit even if it passively receives information and does not actively send information to the second unit. As another example, the first unit can communicate with the second unit if at least one intermediate unit (e.g., a third unit located between the first and second units) processes information received from the first unit and sends the processed information to the second unit. In some non-limiting embodiments or aspects, a message can refer to a network packet (e.g., a data packet, etc.) that includes data.

[0054] As used herein, the terms “issuer,” “issuer institution,” “issuer bank,” or “payment device issuer” can refer to one or more entities that provide accounts to individuals (e.g., users, customers, etc.) for making payment transactions such as credit payment transactions and / or debit payment transactions. For example, an issuer institution may provide a customer with an account identifier, such as a primary account number (PAN), that uniquely identifies one or more accounts associated with said customer. In some non-limiting embodiments or aspects, an issuer may be associated with a bank identification number (BIN) that uniquely identifies the issuer institution. As used herein, “issuer system” can refer to one or more computer systems operated by or on behalf of an issuer, such as a server executing one or more software applications. For example, an issuer system may include one or more authorization servers for authorizing transactions.

[0055] As used herein, the term "account identifier" can include one or more types of identifiers associated with an account (e.g., a PAN associated with an account, a card number associated with an account, a payment card number associated with an account, a token associated with an account, etc.). In some non-limiting embodiments or aspects, the issuer may provide an account identifier (e.g., a PAN, a token, etc.) to a user (e.g., an account holder) that uniquely identifies one or more accounts associated with that user. The account identifier may be embodied in a payment device (e.g., a physical instrument for making payment transactions, such as a payment card, credit card, debit card, gift card, etc.) and / or may be electronic information transmitted to a user that the user can use for electronic payment transactions. In some non-limiting embodiments or aspects, the account identifier may be an original account identifier, wherein the original account identifier is provided to the user when an account associated with the account identifier is created. In some non-limiting embodiments or aspects, the account identifier may be a supplementary account identifier, which may include an account identifier provided to the user after the original account identifier has been provided to the user. For example, a supplementary account identifier may be provided to the user if the original account identifier has been forgotten, stolen, etc. In some non-limiting embodiments or aspects, the account identifier may be directly or indirectly associated with an issuing authority, such that the account identifier may be a token mapped to a PAN or other type of account identifier. The account identifier may be any combination of alphanumeric characters, characters, and / or symbols, etc.

[0056] As used herein, the term "merchant" can refer to one or more entities (e.g., operators of retail businesses) that provide goods, services, and / or access to goods and / or services to users (e.g., customers, clients, etc.) based on transactions such as payment transactions. As used herein, the term "merchant system" can refer to one or more computer systems operated by or on behalf of a merchant, such as servers executing one or more software applications. As used herein, the term "product" can refer to one or more goods and / or services offered by a merchant.

[0057] As used herein, the term "point-of-sale (POS) device" can refer to one or more electronic devices, such as transaction terminals, that a merchant can use to initiate a transaction (e.g., a payment transaction). A POS device may include peripheral devices, card readers, scanning devices (e.g., barcode scanners, etc.). Communication receivers, near-field communication (NFC) receivers, radio frequency identification (RFID) receivers and / or other contactless transceivers or receivers, contact-based receivers, payment terminals, etc. As used herein, the term "point-of-sale (POS) system" can refer to one or more client devices and / or peripheral devices used by a merchant to conduct transactions. For example, a POS system may include one or more POS devices, and / or other similar devices that can be used to conduct payment transactions. In some non-limiting embodiments or aspects, a POS system (e.g., a merchant POS system) may include one or more server computers programmed or configured to process online payment transactions via web pages, mobile applications, etc.

[0058] As used herein, the term "transaction service provider" can refer to an entity that receives transaction authorization requests from merchants or other entities and, in some cases, provides payment guarantees through an agreement between the transaction service provider and the issuing institution. In some non-limiting embodiments or aspects, the transaction service provider may include credit card companies, debit card companies, etc. American This refers to a payment transaction processing network, or any other entity that processes transactions. As used herein, the term "transaction processing system" can refer to one or more computer systems operated by or on behalf of a transaction service provider, such as a transaction processing system executing one or more software applications. A transaction processing system may include one or more processors and, in some non-limiting embodiments or aspects, may be operated by or on behalf of a transaction service provider. A transaction processing system may process transactions within a payment transaction processing network, which may include one or more merchant systems, acquiring systems, issuing systems, payment gateways, etc.

[0059] As used herein, the term "computing device" can refer to one or more electronic devices configured to process data. In some examples, a computing device may include the necessary components for receiving, processing, and outputting data, such as a processor, display, memory, input device, network interface, etc. A computing device can be a mobile device. As examples, a mobile device may include a cellular phone (e.g., a smartphone or standard cellular phone), a portable computer, a wearable device (e.g., a watch, glasses, lenses, clothing, etc.), a personal digital assistant (PDA), and / or other similar devices. A computing device can also be a desktop computer or other forms of non-mobile computer.

[0060] As used herein, the term "server" may refer to or include one or more computing devices operated by or facilitating communication and processing among multiple parties in a network environment such as the Internet, but it should be understood that communication may be facilitated through one or more public or private network environments, and various other arrangements may be possible. Furthermore, multiple computing devices (e.g., servers, POS devices, mobile devices, etc.) communicating directly or indirectly in a network environment may constitute a "system." As used herein, references to "server" or "processor" may refer to a previously stated server and / or processor, different servers and / or processors, and / or combinations of servers and / or processors that perform a prior step or function. For example, as used in the specification and claims, a first server and / or first processor stated to perform a first step or function may refer to the same or different servers and / or processors stated to perform a second step or function.

[0061] As used herein, the term "acquiring party" can refer to an entity authorized and approved by a transaction service provider to initiate transactions (e.g., payment transactions) involving payment devices associated with the transaction service provider. As used herein, the term "acquiring party system" can also refer to one or more computer systems, computer devices, etc., operated by or on behalf of the acquiring party. Transactions that an acquiring party can initiate may include payment transactions (e.g., purchases, Original Credit Transactions (OCT), Account Funds Transactions (AFT), etc.). In some non-limiting embodiments or aspects, the acquiring party may be authorized by the transaction service provider to enter into contracts with merchants or service providers to initiate transactions involving payment devices associated with the transaction service provider. The acquiring party may enter into contracts with payment service providers to enable the payment service providers to provide sponsorships to merchants. The acquiring party may monitor the compliance of payment service providers in accordance with the transaction service provider's regulations. The acquiring party may conduct due diligence on payment service providers and ensure that appropriate due diligence occurs before entering into contracts with sponsored merchants. The acquiring party may be responsible for all transaction service provider programs operated or sponsored by the acquiring party. The acquiring party may be responsible for the actions of the acquiring payment service provider, merchants sponsored by the acquiring payment service provider, and so on. In some non-limiting embodiments or aspects, the acquiring party may be a financial institution, such as a bank.

[0062] As used herein, the terms "client" and "client device" can refer to one or more computing devices, such as processors, storage devices, and / or similar computer components that access services provided by a server. In some non-limiting embodiments or aspects, "client device" can refer to one or more devices that facilitate payment transactions, such as point-of-sale (POS) devices and / or POS systems used by merchants. In some non-limiting embodiments or aspects, a client device can include electronic devices configured to communicate with one or more networks and / or facilitate payment transactions, such as, but not limited to, one or more desktop computers, one or more portable computers (e.g., tablet computers), one or more mobile devices (e.g., cellular phones, smartphones, PDAs, wearable devices such as watches, glasses, lenses, and / or clothing), and / or other similar devices. Furthermore, "client" can also refer to an entity that owns, utilizes, and / or operates a client device to facilitate payment transactions with a transaction service provider, such as a merchant.

[0063] As used herein, the terms “e-wallet,” “e-wallet mobile application,” and “digital wallet” can refer to one or more electronic devices configured to initiate and / or conduct transactions (e.g., payment transactions, electronic payment transactions, etc.), including one or more software applications. For example, an e-wallet may include a user device (e.g., a mobile device) executing the application and server-side software and / or a database for maintaining and providing the user device with data to be used during payment transactions. As used herein, the term “e-wallet provider” can include an entity that provides and / or maintains e-wallets and / or e-wallet mobile applications for users (e.g., customers). Examples of e-wallet providers include, but are not limited to, Google. Android Apple and Samsung In some non-limiting examples, a financial institution (e.g., an issuing institution) may be an e-wallet provider. As used herein, the term "e-wallet provider system" may refer to one or more computer systems, computer devices, servers, server groups, etc., operated by or on behalf of an e-wallet provider.

[0064] As used herein, the term "payment device" can refer to payment cards (such as credit or debit cards), gift cards, smart cards, smart media, pay cards, healthcare cards, wristbands, machine-readable media containing account information, keychain devices or pendants, RFID transponders, retailer discount or membership cards, etc. Payment devices may include volatile or non-volatile memory to store information (e.g., account identifiers, account holder's name, etc.).

[0065] As used herein, the term "payment gateway" can refer to an entity and / or a payment processing system operated by or on behalf of such an entity (e.g., a merchant service provider, payment service provider, payment servicer, payment servicer contracted with an acquirer, payment aggregator, etc.) that provides payment services (e.g., transaction service provider payment services, payment processing services, etc.) to one or more merchants. Payment services may be associated with the use of portable financial devices managed by a transaction service provider. As used herein, the term "payment gateway system" can refer to one or more computer systems, computer devices, servers, server clusters, etc., operated by or on behalf of a payment gateway.

[0066] As used herein, the term "system" may refer to one or more computing devices or combinations of computing devices, such as, but not limited to, processors, servers, client devices, software applications, and / or other similar components. Furthermore, as used herein, references to "server" or "processor" may refer to the server and / or processor previously stated to perform the preceding steps or functions, different servers and / or processors, and / or combinations of servers and / or processors. For example, as used in the specification and claims, a first server and / or first processor stated to perform a first step or function may refer to the same or different servers and / or processors stated to perform a second step or function.

[0067] As used herein, the term "token" can refer to an account identifier used as a substitute for or replacement of another account identifier (e.g., a PAN). A token can be associated with a PAN or another original account identifier in one or more data structures (e.g., one or more databases, etc.) such that the token can be used for payment transactions without directly using the original account identifier. In some non-limiting embodiments or aspects, an original account identifier such as a PAN can be associated with multiple tokens for different individuals or purposes. In some non-limiting embodiments or aspects, a token can be associated with a PAN or other account identifiers in one or more data structures such that the token can be used for transactions without directly using the PAN or other account identifiers. In some examples, an account identifier such as a PAN can be associated with multiple tokens for different uses or purposes.

[0068] Non-limiting embodiments or aspects of this disclosure relate to systems, methods, and computer program products for generating synthetic data. The described systems and methods provide technical improvements in reducing computer resources (e.g., uptime, communication volume, bandwidth, processing power, etc.) required to operate a computer networking environment. The described systems and methods eliminate the startup time required for a computer system to be fully operational, which would otherwise be necessary to first monitor environmental events, measure user data, subsequently train / test system components, generate usable synthetic data, and / or manage user interactions. The described systems and methods are also technically adaptable because such synthetic data, independent of measured data, allows for immediate system operation, while the synthetic data can be modified later when the measured data is acquired, thereby eliminating the gap between system setup and operation. Furthermore, because measured data is not necessary, the described systems and methods provide a way to model future datasets through synthetic data generation.

[0069] Synthetic data can be used to train machine learning models, design user interfaces, and assist in end-to-end product development. Synthetic data, not generated from measured data, offers another technical benefit to system security because it eliminates the need to collect personal information of real users in the environment. Furthermore, synthetic data, not generated from measured data, accelerates computer-driven development timelines because it reduces the time required to train and / or test models, programs, etc., before they can be run. For example, a fraud detection system for a payment transaction processing network can be run earlier in a new environment before sufficient measured data becomes available to generate synthetic data in other ways. By using a machine learning model trained on synthetic data generated according to the systems and methods described herein, fraudulent transactions can be detected earlier than those trained on measured data. Earlier detection saves the computing time and resources required for subsequent remedial measures, such as when fraudulent transactions are not detected due to a lack of measured data.

[0070] For reference Figure 1This diagram illustrates an environment 100 according to a non-limiting embodiment or aspect of this disclosure. Environment 100 may include a data generation system 106, which may be associated with a transaction service provider. Environment 100 may include a transaction processing system 118. Transaction processing system 118 and data generation system 106 may be associated with the same transaction service provider. Data generation system 106 may be programmed and / or configured to generate synthetic datasets according to the methods described herein. For example, data generation system 106 may receive multiple data types, receive multiple correlations among the multiple data types, generate a correlation graph from the multiple correlations, generate a directed acyclic graph from the correlation graph, generate a hierarchical graph from the directed acyclic graph, and generate a synthetic dataset by repeatedly traversing the hierarchical graph. Data generation system 106 may use the generated synthetic dataset to train and / or test one or more machine learning models of one or more systems. Environment 100 may include a user interface 108, which may be used to display the multiple data types and receive user input for one or more correlations.

[0071] Environment 100 may include a payment device 112 associated with a holder of payment device 112. Payment device 112 can be used to participate in transactions to make payments from the holder of payment device 112 to a merchant. The environment may include a point-of-sale (POS) device 114 of the merchant's merchant system 116. The POS device 114 of the merchant system 116 may be provided to payment device 112, and / or the payment device may communicate with the POS device to facilitate transactions. Environment 100 may include a transaction processing system 118. The merchant system 116 may transmit authorization requests for transactions to the transaction processing system 118, for example, via an acquiring system and / or a payment gateway, for processing the transactions. Environment 100 may include a fraud detection system 120. The fraud detection system 120 may be programmed and / or configured to communicate with the transaction processing system 118 to receive at least a portion of an authorization request and generate a fraud assessment based on at least a portion of the authorization request. Synthetic data generated by the data generation system 106 may be used to train and / or test one or more machine learning models of the fraud detection system 120. The transaction processing system 118, the fraud detection system 120, and / or the data generation system 106 may be included in the same system.

[0072] Environment 100 may include a communication network 110 through which one or more devices and / or systems of environment 100 can communicate. A payment transaction processing network may include part or all of the communication network 110. The communication network 110 may include one or more channels for communication between subsets of one or more merchant systems 116, transaction processing systems 118, fraud detection systems 120, data generation systems 106, user interfaces 108, etc.

[0073] For reference Figure 2The diagram illustrates a method 200 for generating synthetic data. Method 200 can be executed by one or more computing devices, such as a POS device 114, a merchant system 116, a transaction processing system 118, a fraud detection system 120, a data generation system 106, a user interface 108, and a communication network 110. One or more steps of method 200 can be executed by the same or different computing devices as the preceding or following steps of method 200.

[0074] In step 202, multiple data types may be received. For example, the data generation system 106 may receive multiple data types associated with the environment to be evaluated. In some non-limiting embodiments or aspects, the environment to be evaluated may be a payment transaction processing network. The payment transaction processing network may include a transaction processing system 118 programmed and / or configured to process multiple transactions. For example, multiple data types may be associated with transaction data and may include, but are not limited to: transaction identifier (e.g., a unique identifier for the transaction), debit amount (e.g., an amount to be deducted from the payment device account associated with the transaction), credit amount (e.g., an amount to be added to the merchant account associated with the transaction), transaction description, payment device holder account identifier (e.g., an identifier associated with a payment device holder account managed by the issuer, an account associated with the payment device used in the transaction), payment device holder identifier (e.g., an identifier associated with the payment device holder of the transaction), payment device holder name, merchant account identifier (e.g., the name of the merchant), and merchant account identifier (e.g., the name of the merchant). This includes unilaterally managed merchant account identifiers, accounts associated with the merchant system involved in the transaction, merchant identifiers (e.g., identifiers associated with the merchant involved in the transaction), merchant names, issuer identifiers (e.g., issuer identifiers associated with the payment device account involved in the transaction), acquirer identifiers (e.g., acquirer identifiers associated with the merchant account involved in the transaction), transaction time, transaction tracking number (e.g., a unique number assigned by the acquirer system to identify the transaction), and Standard Entry Category Codes (SEC codes) (e.g., identifiers indicating the specific payment application, such as account / marketplace type, transaction type, credit / data transaction method, etc.). It should be understood that these data types can be customized for the environment being evaluated.

[0075] In step 204, multiple correlations may be received. For example, the data generation system 106 may receive multiple correlations, each of which includes a dependency of one data type on another. For example, in an environment including a payment transaction processing network, multiple data types may be associated with transaction data, and a merchant identifier may be associated with a merchant name. Further, for example, a transaction time may be associated with a tracking number, and the payment device holder's name may be associated with an issuer identifier. These multiple correlations may be computer-generated. Alternatively, the multiple correlations may be input by a user.

[0076] In step 206, a correlation graph can be generated. For example, the data generation system 106 can generate a correlation graph of the multiple data types based on the multiple correlations. The correlation graph may include multiple nodes, each associated with a data type among the multiple data types. The correlation graph may also include multiple edges, each associated with a correlation between two data types. For an example of a correlation graph generated from multiple data types, see [link to relevant documentation]. Figure 6 .

[0077] In step 208, a directed acyclic graph (DAG) may be generated. For example, data generation system 106 may generate a DAG of the multiple data types based on the correlation graph. The DAG may include multiple nodes, each associated with one or more data types, which may include one or more nodes of the correlation graph. Data generation system 106 may combine data types (nodes) from the correlation graph into the same node in the DAG for processing together in the same step. The DAG may include multiple directed edges, each associated with the dependency of one node in the DAG on another node in the DAG. For example, a directed edge may be visually represented by a line with an arrow at one end, where a node adjacent to the arrow end of the directed edge depends on the value of a node connected to the opposite end of the directed edge. The generation of the DAG greatly simplifies the correlation graph, thereby increasing saliency and reducing processing time.

[0078] In step 210, a hierarchical graph can be generated. For example, data generation system 106 can generate a hierarchical graph of the multiple data types by applying path traversal techniques to a DAG. The path traversal techniques may include random walk techniques. Alternatively, the path traversal techniques may include breadth-first search techniques. See also Figures 8 to 13 To learn more about generating hierarchical graphs by applying path traversal techniques to DAGs.

[0079] In step 212, a synthetic dataset may be generated. For example, data generation system 106 may generate a synthetic dataset by repeatedly traversing the hierarchy graph to generate multiple records of data. Each of the multiple records may include a value associated with the multiple data types. For a further description of generating values ​​from the hierarchy graph, see [link to documentation]. Figure 14 .

[0080] In step 214, at least one machine learning model can be trained. For example, data generation system 106 can train one or more machine learning models of the system in environment 100. The synthetic dataset can be used as a training set instead of measured data that could have originally been used to train the machine learning model. In some non-limiting embodiments or aspects, the machine learning model to be trained can be included in the fraud detection system.

[0081] In step 216, an authorization request may be received. For example, transaction processing system 118 may receive an authorization request associated with a transaction between merchant system 116 and payment device 112. The authorization request may include transaction data, including but not limited to transaction identifier, debit amount, credit amount, transaction description, payment device holder account identifier, payment device holder identifier, payment device holder name, merchant account identifier, merchant identifier, merchant name, issuer identifier, acquirer identifier, transaction time, transaction tracking number, SEC code, etc.

[0082] In step 218, at least a portion of the authorization request may be transmitted. For example, transaction processing system 116 may transmit at least a portion of the authorization request (e.g., one or more portions of the transaction data therein) to fraud detection system 120. Alternatively or concurrently, transaction processing system 116 and fraud detection system 120 may be the same system and / or included within the same system.

[0083] In step 220, a fraud assessment may be received. For example, transaction processing system 116 may receive a fraud assessment of a transaction from fraud detection system 120. Fraud detection system 120 may generate the fraud assessment based at least in part on the at least part of the authorization request transmitted to fraud detection system 120.

[0084] In step 222, the authorization request may be rejected. For example, transaction processing system 116 may (e.g., at least in part) reject the authorization request based on a fraud assessment received from fraud detection system 120. In some non-limiting embodiments or aspects, the fraud assessment may include a classification or value associated with the probability that the transaction associated with the authorization request is a fraudulent transaction. Transaction processing system 116 may reject the authorization request associated with the transaction based on the classification or value of the fraud assessment meeting a predetermined threshold classification or value (e.g., a fraud threshold set to minimize false positives).

[0085] For reference Figure 3 The diagram illustrates a method 300 for generating synthetic data. Method 300 can be executed by one or more computing devices, such as a POS device 114, a merchant system 116, a transaction processing system 118, a fraud detection system 120, a data generation system 106, a user interface 108, and a communication network 110. One or more steps of method 300 can be executed by the same or different computing devices as the preceding or following steps of method 300.

[0086] In step 202, multiple data types may be received. For example, the data generation system 106 may receive multiple data types associated with the environment to be evaluated.

[0087] In step 302, multiple data types may be displayed. For example, the data generation system 106 may display or cause the display of the multiple data types in the user interface 108. In some non-limiting embodiments or aspects, the user interface 108 may be implemented on a user's computing device trained to analyze and identify correlations in data types.

[0088] In step 304, multiple correlations may be received. For example, the data generation system 106 may receive multiple correlations based on user input in the user interface 108 that identifies associations within multiple data types. In some non-limiting embodiments or aspects, the user input may include the user selecting at least one set of two or more related data types in the user interface 108. Multiple correlations may be determined and / or generated based on the user input.

[0089] In step 206, a correlation map may be generated. For example, the data generation system 106 may generate a correlation map based on the plurality of correlations determined and / or generated according to user input. Figure 2 The subsequent steps 208 to 222 described in the text can follow step 206 of method 300.

[0090] For reference Figure 4 The diagram illustrates example components of device 400. Device 400 may correspond to one or more devices of payment device 112, one or more devices of POS device 114, one or more devices of merchant system 116, one or more devices of transaction processing system 118, one or more devices of fraud detection system 120, one or more devices of data generation system 106, one or more devices of user interface 108, and / or one or more devices of communication network 110. In some non-limiting embodiments or aspects, the one or more devices described above may include at least one device 400 and / or at least one component of device 400. Figure 4 As shown, the device 400 may include a bus 402, a processor 404, a memory 406, a storage unit 408, an input unit 410, an output unit 412, and a communication interface 414.

[0091] Bus 402 may include components that enable communication between parts of device 400. In some non-limiting embodiments or aspects, processor 404 may be implemented in hardware, software, or a combination of hardware and software. For example, processor 404 may include processors (e.g., central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), etc.), microprocessors, digital signal processors (DSPs), and / or any processing unit that can be programmed to perform functions (e.g., field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), etc.). Memory 406 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by processor 404.

[0092] Storage component 408 may store information and / or software related to the operation and use of device 400. For example, storage component 408 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, solid-state disks, etc.), compressed optical disks (CDs), digital versatile optical disks (DVDs), floppy disks, cassettes, magnetic tapes, and / or other types of computer-readable media, as well as corresponding drives.

[0093] Input component 410 may include a component that allows device 400 to receive information, such as through user input (e.g., touchscreen display, keyboard, keypad, mouse, button, switch, microphone, camera, etc.). Alternatively, input component 410 may include sensors for sensing information (e.g., Global Positioning System (GPS) component, accelerometer, gyroscope, actuator, etc.). Output component 412 may include a component that provides output information from device 400 (e.g., display, speaker, one or more light-emitting diodes (LEDs), etc.).

[0094] Communication interface 414 may include transceiver components (e.g., transceivers, separate receivers and transmitters, etc.) that enable device 400 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 414 may allow device 400 to receive information from another device and / or provide information to another device. For example, communication interface 414 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, etc. Interfaces, cellular network interfaces, etc.

[0095] Apparatus 400 can perform one or more processes described herein. Apparatus 400 can perform these processes based on software instructions stored in a computer-readable medium such as memory 406 and / or storage unit 408, executed by processor 404. Computer-readable medium (e.g., non-transient computer-readable medium) is defined herein as a non-transient memory device. A non-transient memory device includes memory space located within a single physical memory device or memory space distributed across multiple physical memory devices.

[0096] Software instructions can be read from another computer-readable medium or from another device into memory 406 and / or storage unit 408 via communication interface 414. When executed, the software instructions stored in memory 406 and / or storage unit 408 cause processor 404 to perform one or more processes described herein. Alternatively or additionally, hard-wired circuitry may be used in place of or in combination with the software instructions to perform one or more processes described herein. Therefore, the embodiments or aspects described herein are not limited to any particular combination of hardware circuitry and software.

[0097] The memory 406 and / or storage component 408 may include a data storage device or one or more data structures (e.g., a database). The device 400 is capable of receiving information from the data storage device or one or more data structures in the memory 406 and / or storage component 408, storing information in the data storage device or one or more data structures, transmitting information to the data storage device or one or more data structures, or searching for information stored therein. For example, the information may include encrypted data, input data, output data, transaction data, account data, or any combination thereof.

[0098] supply Figure 4 The number and arrangement of components shown are examples. In some non-limiting embodiments or aspects, with Figure 4 Compared to those shown, device 400 may include additional components, fewer components, different components, or components arranged in a different manner. Alternatively or additionally, a set of components of device 400 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 400.

[0099] For reference Figure 5 A flowchart is depicted illustrating a method for generating synthetic data according to the principles of this disclosure. The depicted method includes a series of steps that can be performed by one or more computing devices selected from a POS device 114, a merchant system 116, a transaction processing system 118, a fraud detection system 120, a data generation system 106, a user interface 108, a communication network 110, etc. One or more steps of the depicted method can be performed by computing devices that are the same as or different from the preceding or following steps of the depicted method.

[0100] Step 502 includes a correlation process. For example, the environment to be evaluated may be identified, and a set of data types may be defined for said environment. Multiple correlations may be generated by analyzing a sample dataset using data generation system 106. Alternatively, multiple correlations may be generated based on input from a user with expertise in said environment.

[0101] Step 504 includes a statistical distribution process. For example, the statistical distribution of an existing sample dataset can be analyzed by the data generation system 106 to determine the correlations between data types defined for the environment to be evaluated.

[0102] Step 506 includes the process of generating a correlation plot. For example, based on the correlation process in step 502 and / or the statistical distribution process in step 504, the data generation system 106 can generate a correlation plot representing the correlations within multiple data types.

[0103] Step 508 includes the process of generating a directed acyclic graph (DAG). For example, data generation system 106 may generate a DAG based on the correlation graph of step 506.

[0104] Step 510 includes a search algorithm process. For example, data generation system 106 may apply a search algorithm (e.g., path traversal techniques, such as random walk, breadth-first search, etc.) to the DAG to determine the dependency order of values ​​to be generated from the data types in the DAG.

[0105] Step 512 includes a hierarchical graph process. For example, based on step 510, the data generation system 106 may generate a hierarchical graph of the multiple data types based on a search algorithm applied to the DAG.

[0106] Step 514 includes the synthetic dataset generation process. For example, data generation system 106 can generate a synthetic dataset by repeatedly traversing the hierarchical graph generated in step 512 to generate multiple records of the synthetic dataset.

[0107] For reference Figure 6The diagram depicts correlation graphs based on some non-limiting embodiments or aspects of methods used to generate synthetic data. The depicted correlation graphs can be generated for a payment transaction processing network serving as the environment to be evaluated. The various data types shown represent transactions that can be processed by transaction processing system 118 within the payment transaction processing system. These data types include, but are not limited to, transaction identifier, debit amount, credit amount, transaction description, payment device holder account identifier, payment device holder identifier, payment device holder name, merchant account identifier, merchant identifier, merchant name, issuer identifier, acquirer identifier, transaction time, transaction tracking number, and SEC code. Each data type is associated with a node in the correlation graph. Each edge of the correlation graph represents the correlation between two nodes (e.g., the correlation between two data types). It should be understood that the techniques described above for generating correlation graphs can be applied to environments that include other data types.

[0108] For reference Figure 7 This depicts a directed acyclic graph (DAG) based on some non-limiting embodiments or aspects of a method for generating synthetic data. It can be based on... Figure 6 The correlation graph depicted in the diagram generates a depicted DAG. Each node of the DAG represents one or more data types. Figure 6 Certain nodes in the correlation graph have been grouped based on the correlation of data types indicated in the correlation graph (e.g., a strong correlation that may indicate the need for the same generation step). The following data types have been grouped into corresponding identical nodes in the DAG: (i) payment device holder name, payment device holder identifier, merchant name, and merchant identifier; (ii) acquirer identifier and issuer identifier; (iii) payment device holder account identifier and merchant account identifier; and (iv) credit amount and debit amount. Each directed edge in the DAG represents the dependency of a node on the connected nodes (e.g., generation order). For example, a node representing one or more data types at the arrow end of an adjacent directed edge may depend on a node representing one or more data types at the non-arrow end of an adjacent directed edge. As a further example, a transaction time node depends on a transaction tracking number node. It should be understood that the above-described techniques for generating DAGs can be applied to environments that include other data types.

[0109] For reference Figures 8 to 12 It describes the application of Figure 7 The steps of path traversal techniques for the DAG (e.g., breadth-first search, including longest path techniques) are described (e.g., steps one through five). For ease of reference, node letters have been assigned to the data types of the corresponding nodes. For example, Figures 8 to 12 Node A corresponds to Figure 7 It includes nodes for SEC code data types. Figures 8 to 12 Node B corresponds to Figure 7It includes nodes for debit and credit amount data types. Figures 8 to 12 Node C corresponds to Figure 7 It includes nodes that contain the transaction identifier data type. Figures 8 to 12 Node D corresponds to Figure 7 It includes nodes that describe the data type of the transaction. Figures 8 to 12 Node E corresponds to Figure 7 It includes nodes containing data types for payment device holder account identifiers and merchant account identifiers. Figures 8 to 12 The node F corresponds to Figure 7 It includes nodes with data types for acquirer identifier and issuer identifier. Figures 8 to 12 The node G corresponds to Figure 7 It includes nodes for the payment device holder's name, payment device holder identifier, merchant name, and merchant identifier data type. Figures 8 to 12 The node H corresponds to Figure 7 It includes nodes with transaction tracking number data types. Figures 8 to 12 Node I corresponds to Figure 7 It includes nodes that contain transaction time data types. Figures 8 to 12 The tables depicted in each graph show nodes as rows and iterations (steps) as columns. Since the first step of the path traversal technique involves identifying the index node, the first step is designated as iteration 0 in the table.

[0110] For details, please refer to the following: Figure 8 It describes the traversal Figure 7 The first step of the path traversal technique for the DAG is described. The described path traversal technique is breadth-first search (e.g., longest path), but other path traversal techniques can be applied. Node A can be identified as the start of the path traversal because node A does not depend on any other node. Therefore, the path length to node A can be given as 0 because node A is the index node. This shows that in iteration 0 (first step), the current longest path to every node in the DAG is zero because the furthest traversal reaches node A.

[0111] For details, please refer to the following: Figure 9 It describes the traversal Figure 7 The second step of the path traversal technique for the DAG. Starting from node A, directed edges lead to nodes B, C, D, and E. Therefore, nodes B, C, D, and E can be given a path length of 1 (e.g., the path length of node A plus 1). The drawn table has been updated to reflect that in iteration 1 (the second step), nodes B, C, D, and E now have the longest path length of 1. Given that node A is the index node, node A remains at length 0. In the second step, the remaining nodes have not yet been reached and remain at length 0.

[0112] For details, please refer to the following: Figure 10 It describes the traversal Figure 7 The third step of the DAG path traversal technique. Starting from node C, directed edges lead to nodes B and D. Therefore, nodes B and D can be given a path length of 2 (e.g., the path length of node C plus 1). Starting from node E, directed edges lead to nodes F and G. Therefore, nodes F and G can be given a path length of 2 (e.g., the path length of node E plus 1). The drawn table has been updated to reflect that in iteration 2 (the third step), nodes B and D now have the longest path length of 2. In iteration 2, the reached nodes F and G are also updated to show a path length of 2. Since node A is the index node, node A remains at length 0. In the third step, the remaining nodes have not yet been reached and remain at length 0.

[0113] For details, please refer to the following: Figure 11 It describes the traversal Figure 7 The fourth step of the path traversal technique for the DAG. Starting from node F, directed edges lead to nodes G and H. Therefore, nodes G and H can be given a path length of 3. The drawn table has been updated to reflect the longest path length between nodes G and H in iteration 3 (fourth step). Since node A is the index node, node A remains at length 0. In the fourth step, node I has not yet been reached and remains at length 0.

[0114] For details, please refer to the following: Figure 12 It describes the traversal Figure 7 The fifth step of the path traversal technique for the DAG. Starting from node H, a directed edge leads to node I. Therefore, node I can be given a path length of 4 (e.g., the longest path length to node H plus 1). The depicted table has been updated to reflect the longest path length of node I in iteration 4 (the fifth step). Since node A is the index node, node A remains at length 0. All nodes except A have been reached along the directed edge path, and no node remains unreached. Therefore, the longest path for all nodes has been computed through iteration 4. It should be understood that the above techniques can be applied to other DAGs. It should also be understood that the visual representation of the DAG in this paper can be stored and manipulated as ordered values ​​(e.g., in data objects).

[0115] For details, please refer to the following: Figure 13 It describes the use Figures 8 to 12 The path traversal technique described in the text is from Figure 7The hierarchy graph is generated from the DAG. Each level of the hierarchy graph represents the length of the subsequent path. For example, node A, which is the index node, can be represented as the root of the hierarchy graph at the top level, with a longest path length of 0. Nodes C and E, which can be traversed from node A, have a longest path length of 1 and can be depicted in the next lowest level of the hierarchy graph. Although nodes B and D also depend on node A, nodes B and D have longer longest path lengths. Nodes B and D depend on node C and have a longest path length of 2, and therefore can be depicted in the next lowest level of the hierarchy graph. Node F also has a longest path length of 2 and depends on node E, so node F can be depicted in the same level as nodes B and D. Nodes G and H have a longest path length of 3 and depend on node F, so nodes G and H can be depicted in the next lowest level. Finally, node I depends on node H and has a longest path length of 4, so node I can be depicted in the next lowest level.

[0116] Then, the hierarchical graph can be traversed starting from index node A and proceeding in any order that maintains ordered dependencies to generate values ​​for the data types represented by the nodes of the hierarchical graph (e.g., generating node data types in the following order: A, C, B, D, E, F, G, H, I; and A, E, F, G, H, I, C, B, D; etc.). For example, a series of values ​​for the data type of node A can be generated based on the probabilities of the values ​​for the data type of node A, which can be determined through statistical analysis of the environment, user input, etc. Valid values ​​for the data type can be numerical, categorical, etc. Numerical values ​​can be determined through probability distributions. The correlation between the valid values ​​of the data type of node C and the valid values ​​of the data type of node A can then be determined (e.g., through statistical analysis, user input, etc.). Therefore, a series of valid values ​​for the data type of node C can be determined as conditional probabilities of valid values ​​for the data type of node A. Each consecutively dependent node can be traversed, where the values ​​of consecutive data types are determined based on the conditional probabilities from the nodes that the consecutively dependent nodes depend on. It should be understood that the above techniques can be applied to other hierarchical graphs. It should also be understood that the visual representation of the hierarchy graph can be stored and manipulated as ordered values ​​(e.g., in data objects).

[0117] refer to Figure 14 It describes the use of, according to some non-limiting embodiments or aspects. Figure 13A hierarchical diagram is a schematic representation of values ​​assigned to data types. Each data type in the hierarchical diagram can be assigned a set or series of valid values. As shown, the data type associated with node A may have a set of five values ​​A1 to A5 (e.g., five categories). It should be understood that valid values ​​can be numerical, categorical, etc. The data type associated with node C may have a set of seven values ​​C1 to C7 (e.g., seven categories). The probability of each value of the first data type (e.g., node A) can be initially calculated. For example, the probability of each of the valid values ​​A1 to A5 can be generated based on statistical analysis of an existing dataset. The probabilities of the valid values ​​A1 to A5 can also be input by a user with expertise in the environment to be evaluated. Based on the individual probabilities of the values ​​of the first data type (e.g., node A), the interdependence (e.g., correlation, relationship) between the values ​​of one data type and the values ​​of another data type can be identified (e.g., by the data generation system 106, by the user, etc.). The interdependence between the values ​​of each data type is depicted by lines between the values ​​(e.g., A1 to C1, C3, and C5). The probability (e.g., likelihood) of comparing values ​​for each data type is illustrated by providing the relative size of the field provided for each value.

[0118] Further reference Figure 13 and 14 After generating the hierarchical graph, values ​​can be populated for each node in the graph. Since the nodes in the hierarchical graph represent attributes / variables in the dataset, a composite record can be generated, which is populated with values ​​after traversing the hierarchical graph from the top node to the bottom node. When generating composite data, the interdependencies between nodes in the hierarchical graph can be maintained. For example, consider in... Figure 14 The data presented in a statistical manner from Figure 13 The traversal from node A to node C in the diagram. In this example, consider the case where nodes A and C are categorical variables. It should be understood that the same algorithm can be used for numerical variables. In the depicted non-limiting embodiment or aspect, the variable for node A has 5 categories, and the variable for node C has 7 categories. The line between the two boxes represents interdependence. For example, the depicted line indicates that if the value of A is A1, then the value of C can only be C1, C3, or C5. Each connection / edge between the boxes can also be assigned a weight to indicate a probability. In this example, when node A is A1, the probability that node C is C1 is 50%, the probability that node C is C3 is 30%, and the probability that node C is C5 is 20%. Using this method, a result such as... Figure 14 The depicted graph is used to traverse all nodes in the hierarchy graph. The hierarchy graph and... Figure 14 The combination of methods can generate realistic synthetic data that takes into account the interdependencies between different variables.

[0119] Although this disclosure has been described in detail for illustrative purposes based on embodiments or aspects currently considered to be most practical and preferred, it should be understood that such details are for the purposes described only, and that this disclosure is not limited to the disclosed embodiments or aspects, but rather is intended to cover modifications and equivalent arrangements that fall within the spirit and scope of the appended claims. For example, it should be understood that this disclosure contemplates, as far as possible, that one or more features of any embodiment may be combined with one or more features of any other embodiment.

Claims

1. A computer-implemented method for generating synthetic training data for testing and training a machine learning model without using measured data, the method comprising: Utilize at least one processor to receive multiple data types associated with the environment to be evaluated; Utilizing at least one processor to receive multiple correlations, each of the multiple correlations including a dependency of one data type of the multiple data types on another data type of the multiple data types; A correlation graph of the multiple data types is generated using at least one processor based on the multiple correlations; A directed acyclic graph of the multiple data types is generated based on the correlation graph using at least one processor; A hierarchical graph of the plurality of data types is generated by applying path traversal techniques to the directed acyclic graph using at least one processor; wherein the hierarchical graph includes a plurality of nodes, and wherein each of the plurality of nodes is associated with a data type among the plurality of data types; Using at least one processor, a set of values ​​associated with each of the plurality of data types is determined to generate multiple sets of values, each data type being associated with each node in the hierarchical graph; wherein determining the set of values ​​associated with each of the plurality of data types includes performing statistical analysis of measured data to determine the probability of each value in each set of values; Using at least one processor, for each connected node pair in the hierarchical graph, determine a set of interdependencies between values ​​in a set of values ​​associated with a first node in each connected node pair and values ​​in a set of values ​​associated with a second node in each connected node pair, to generate multiple sets of interdependencies; and The synthetic training data, comprising multiple records of data, is generated by repeatedly traversing the hierarchical graph using at least one processor. Each of the multiple records includes a value associated with the multiple data types, based on the multiple sets of values ​​and the multiple sets of interdependencies. The environment to be evaluated is a payment transaction processing network, which includes transaction processing systems programmed and / or configured to process multiple transactions. The plurality of data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

2. The computer-implemented method of claim 1 further includes using at least one processor to train at least one machine learning model of the fraud detection system using the synthetic training data.

3. The computer-implemented method according to claim 2, further comprising: Utilize at least one processor to receive authorization requests associated with transactions between the merchant system and the payment device; At least one processor transmits at least a portion of the authorization request to the fraud detection system during the payment processing of the transaction; The fraud assessment of the transaction is received from the fraud detection system using at least one processor; as well as The authorization request may be rejected by at least one processor based on the fraud assessment.

4. The computer-implemented method according to claim 1, further comprising: The plurality of data types are displayed in a user interface or the display of the plurality of data types is caused by using at least one processor; as well as The multiple correlations are received by at least one processor based on user input that identifies associations within the multiple data types in the user interface.

5. The computer-implemented method according to claim 1, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

6. A system for generating synthetic training data for testing and training machine learning models without using measured data, the system comprising a server, the server including at least one processor, the at least one processor being programmed and / or configured to: Receives multiple data types associated with the environment to be evaluated; Receive multiple correlations, each of the multiple correlations including a dependency of one data type in the multiple data types on another data type in the multiple data types; Based on the multiple correlations, a correlation graph of the multiple data types is generated; Based on the correlation graph, a directed acyclic graph of the multiple data types is generated; A hierarchical graph of the multiple data types is generated by applying path traversal techniques to the directed acyclic graph; wherein the hierarchical graph includes multiple nodes, and wherein each of the multiple nodes is associated with a data type among the multiple data types; A set of values ​​is determined to be associated with each of the plurality of data types to generate multiple sets of values, each data type being associated with each node in the hierarchy graph; wherein, in determining the set of values ​​associated with each of the plurality of data types, the at least one processor is programmed and / or configured to: perform statistical analysis of the measured data to determine the probability of each value in each set of values; For each connected node pair in the hierarchical graph, determine a set of interdependencies between values ​​in a set of values ​​associated with the first node in each connected node pair and values ​​in a set of values ​​associated with the second node in each connected node pair, to generate multiple sets of interdependencies; and The synthetic training data, comprising multiple records of data, is generated by repeatedly traversing the hierarchical graph, wherein each of the multiple records includes a value associated with the multiple data types, based on the multiple sets of values ​​and the multiple sets of interdependencies. The environment to be evaluated is a payment transaction processing network, which includes transaction processing systems programmed and / or configured to process multiple transactions. The plurality of data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

7. The system of claim 6, wherein the at least one processor is further programmed and / or configured to use the synthetic training data to train at least one machine learning model of the fraud detection system.

8. The system of claim 7, wherein the at least one processor is further programmed and / or configured to: Receive authorization requests associated with transactions between the merchant system and the payment device; At least a portion of the authorization request is transmitted to the fraud detection system during the payment processing of the transaction; Receive a fraud assessment of the transaction from the fraud detection system; as well as The authorization request was rejected based on the fraud assessment.

9. The system of claim 6, wherein the at least one processor is further programmed and / or configured to: Displaying the multiple data types in the user interface or causing the multiple data types to be displayed; and The multiple correlations are received based on user input that identifies the associations within the multiple data types in the user interface.

10. The system of claim 6, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

11. A computer program product for generating synthetic training data for testing and training machine learning models without using measured data, the computer program product comprising at least one non-transient computer-readable medium, the at least one non-transient computer-readable medium comprising program instructions that, when executed by at least one processor, cause the at least one processor to: Receives multiple data types associated with the environment to be evaluated; Receive multiple correlations, each of the multiple correlations including a dependency of one data type in the multiple data types on another data type in the multiple data types; Based on the multiple correlations, a correlation graph of the multiple data types is generated; Based on the correlation graph, a directed acyclic graph of the multiple data types is generated; A hierarchical graph of the multiple data types is generated by applying path traversal techniques to the directed acyclic graph, wherein the hierarchical graph includes multiple nodes, and wherein each of the multiple nodes is associated with a data type among the multiple data types; A set of values ​​associated with each of the plurality of data types is determined to generate multiple sets of values, each data type being associated with each node in the hierarchy graph; wherein the program instructions that cause the at least one processor to determine the set of values ​​associated with each of the plurality of data types also cause the at least one processor to: perform statistical analysis of the measured data to determine the probability of each value in each set of values; For each connected node pair in the hierarchical graph, determine a set of interdependencies between values ​​in a set of values ​​associated with the first node in each connected node pair and values ​​in a set of values ​​associated with the second node in each connected node pair, to generate multiple sets of interdependencies; and The synthetic training data, comprising multiple records of data, is generated by repeatedly traversing the hierarchical graph, wherein each of the multiple records includes a value associated with the multiple data types, based on the multiple sets of values ​​and the multiple sets of interdependencies. The environment to be evaluated is a payment transaction processing network, which includes transaction processing systems programmed and / or configured to process multiple transactions. The plurality of data types include at least two of the following: transaction time, payment device holder account identifier, transaction description, issuer identifier, acquirer identifier, transaction identifier, merchant account identifier, or any combination thereof.

12. The computer program product of claim 11, wherein the program instructions further cause the at least one processor to use the synthetic training data to train at least one machine learning model of the fraud detection system.

13. The computer program product of claim 12, wherein the program instructions further cause the at least one processor to: Receive authorization requests associated with transactions between the merchant system and the payment device; At least a portion of the authorization request is transmitted to the fraud detection system during the payment processing of the transaction; Receive a fraud assessment of the transaction from the fraud detection system; as well as The authorization request was rejected based on the fraud assessment.

14. The computer program product of claim 11, wherein the program instructions further cause the at least one processor to: Displaying the multiple data types in the user interface or causing the multiple data types to be displayed; and The multiple correlations are received based on user input that identifies the associations within the multiple data types in the user interface.

15. The computer program product of claim 11, wherein the path traversal technique applied to the directed acyclic graph includes a random walk technique or a breadth-first search technique.

Citation Information

Patent Citations

  • Model generation method and device and server

    CN110046706A

  • Generating Campaign Datasets for Use in Automated Assessment of Online Marketing Campaigns Run on Online Advertising Platforms

    US20200273064A1