Method and system for detecting fraudulent transactions using a fraud detection model trained based on dynamic time segments
Abstract
Certain aspects of the present disclosure provide techniques for detecting fraudulent transactions in a transaction processing system. An example method generally includes receiving a request to process a transaction. An input data set including a vector representing the transaction and a plurality of vectors representing historical transactions is generated. The input data set is divided into a plurality of ragged tensors corresponding to non-overlapping time segments of variable length and having a plurality of vectors associated with dates within each time segment A reduced input data set is generated by generating, for each respective ragged tensor of the plurality of ragged tensors, a respective representative vector using max pooling over vectors in the ragged tensor. A fraudulent transaction score is generated based on the reduced input data set using a fraud detection model. The transaction is processed based, at least in part, on the fraudulent transaction score.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for training a fraud detection model to detect fraudulent transactions in a transaction processing system, comprising:
receiving a training data set including a plurality of vectors, each respective vector being associated with a date at which a transaction associated with the respective vector occurred; dividing the received training data set into a plurality of ragged tensors, each ragged tensor corresponding to a non-overlapping time segment of variable length and having a plurality of vectors associated with dates within the time segment; generating a reduced training data set by generating, for each respective ragged tensor of the plurality of ragged tensors, a respective representative vector using max pooling over vectors in the ragged tensor; and training a fraud detection model based on the reduced training data set.
2 . The method of claim 1 , further comprising:
prior to reducing the respective ragged tensor to a representative vector:
generating embedded categorical features for categorical features in each of the plurality of vectors to values in a range of numerical values, and
concatenating numerical features in each of the plurality of vectors with the generated embedded categorical features, wherein:
the range of numerical values is used in reducing vectors in the respective ragged tensor to the representative vector, and
the embedded categorical features comprise a variable number of embedding values for each categorical feature such that the plurality of vectors comprises vectors having a variable length.
3 . The method of claim 1 , wherein dividing the received training data set into the plurality of ragged tensors comprises dividing the received training data set using a splitting vector storing demarcation indices, each demarcation index identifying a number of ragged tensors to generate, a period of time over the identified number of ragged tensors is to be generated, and a period of time over which each ragged tensor of the identified number of ragged tensors is to include data from.
4 . The method of claim 1 , wherein dividing the received training data set into a plurality of ragged tensors comprises, for each respective ragged tensor:
identifying a maximum vector length for vectors included in the non-overlapping time segment associated with the respective ragged tensor; and generating a padded set of vectors for the non-overlapping time segment associated with the respective ragged tensor by padding vectors included in the non-overlapping time segment other than vectors having the identified maximum vector length such that each vector in the respective ragged tensor has a same length.
5 . The method of claim 4 , further comprising: generating the plurality of ragged tensors by splitting the received training data set using a one-dimensional splitting vector and applying a mapping function to vectors in each plurality of ragged tensors, wherein generating the reduced training data set comprises stacking the respective representative vectors to generate a batch with fixed length vectors.
6 . The method of claim 1 , wherein training the fraud detection model based on the reduced training data set comprises distributing training of the fraud detection model across different processors such that different time periods corresponding to different ragged tensors are processed on different processors.
7 . The method of claim 1 , further comprising: generating the training data set by aggregating transaction data associated with a user and historical transaction data associated with similar users for a time period prior to a first transaction associated with the user.
8 . The method of claim 1 , further comprising: deploying the trained fraud detection model to a transaction processing system.
9 . A processing system, comprising:
a memory having executable instructions stored thereon; and a processor configured to execute the executable instructions to cause the processing system to:
receive a training data set including a plurality of vectors, each respective vector being associated with a date at which a transaction associated with the respective vector occurred;
divide the received training data set into a plurality of ragged tensors, each ragged tensor corresponding to a non-overlapping time segment of variable length and having a plurality of vectors associated with dates within the time segment;
generate a reduced training data set by generating, for each respective ragged tensor of the plurality of ragged tensors, a respective representative vector using max pooling over vectors in the ragged tensor; and
train a fraud detection model based on the reduced training data set.
10 . The processing system of claim 9 , wherein the processor is further configured to cause the processing system to:
prior to reducing the respective ragged tensor to a representative vector:
generate embedded categorical features for categorical features in each of the plurality of vectors to values in a range of numerical values, and
concatenate numerical features in each of the plurality of vectors with the generated embedded categorical features, wherein:
the range of numerical values is used in reducing vectors in the respective ragged tensor to the representative vector, and
the embedded categorical features comprise a variable number of embedding values for each categorical feature such that the plurality of vectors comprises vectors having a variable length.
11 . The processing system of claim 9 , wherein in order to divide the received training data set into the plurality of tensors, the processor is configured to cause the processing system to divide the received training data set using a splitting vector storing demarcation indices, each demarcation index identifying a number of ragged tensors to generate, a period of time over the identified number of ragged tensors is to be generated, and a period of time over which each ragged tensor of the identified number of ragged tensors is to include data from.
12 . The processing system of claim 9 , wherein in order to divide the received training data set into a plurality of ragged tensors, the processor is configured to cause the processing system to, for each respective ragged tensor:
identify a maximum vector length for vectors included in the non-overlapping time segment associated with the respective ragged tensor; and generate a padded set of vectors for the non-overlapping time segment associated with the respective ragged tensor by padding vectors included in the non-overlapping time segment other than vectors having the identified maximum vector length such that each vector in the respective ragged tensor has a same length.
13 . The processing system of claim 12 , wherein the processor is further configured to cause the processing system to: generate the plurality of ragged tensors by splitting the received training data set using a one-dimensional splitting vector and applying a mapping function to vectors in each plurality of ragged tensors, wherein in order to generate the reduced training data set, the processor is configured to cause the processing system to stack the respective representative vectors to generate a batch with fixed length vectors.
14 . The processing system of claim 9 , wherein in order to train the fraud detection model based on the reduced training data set, the processor is configured to cause the processing system to distribute training of the fraud detection model across different processors such that different time periods corresponding to different ragged tensors are processed on different processors.
15 . The processing system of claim 9 , wherein the processor is further configured to cause the processing system to: generate the training data set by aggregating transaction data associated with a user and historical transaction data associated with similar users for a time period prior to a first transaction associated with the user.
16 . The processing system of claim 9 , wherein the processor is further configured to cause the processing system to: deploy the trained fraud detection model to a transaction processing system.
17 . A system for training a fraud detection model to detect fraudulent transactions in a transaction processing system, comprising:
means for receiving a training data set including a plurality of vectors, each respective vector being associated with a date at which a transaction associated with the respective vector occurred; means for dividing the received training data set into a plurality of ragged tensors, each ragged tensor corresponding to a non-overlapping time segment of variable length and having a plurality of vectors associated with dates within the time segment; means for generating a reduced training data set by generating, for each respective ragged tensor of the plurality of ragged tensors, a respective representative vector using max pooling over vectors in the ragged tensor; and means for training a fraud detection model based on the reduced training data set.
18 . The system of claim 17 , further comprising:
means for, prior to reducing the respective ragged tensor to a representative vector:
generating embedded categorical features for categorical features in each of the plurality of vectors to values in a range of numerical values, and
concatenating numerical features in each of the plurality of vectors with the generated embedded categorical features, wherein:
the range of numerical values is used in reducing vectors in the respective ragged tensor to the representative vector, and
the embedded categorical features comprise a variable number of embedding values for each categorical feature such that the plurality of vectors comprises vectors having a variable length.
19 . The system of claim 17 , wherein the means for dividing the received training data set into a plurality of ragged tensors comprises, for each respective ragged tensor:
means for identifying a maximum vector length for vectors included in the non-overlapping time segment associated with the respective ragged tensor; and means for generating a padded set of vectors for the non-overlapping time segment associated with the respective ragged tensor by padding vectors included in the non-overlapping time segment other than vectors having the identified maximum vector length such that each vector in the respective ragged tensor has a same length.
20 . The system of claim 19 , further comprising: means for generating the plurality of ragged tensors by splitting the received training data set using a one-dimensional splitting vector and applying a mapping function to vectors in each plurality of ragged tensors, wherein the means for generating the reduced training data set comprises means for stacking the respective representative vectors to generate a batch with fixed length vectors.Join the waitlist — get patent alerts
Track US2022327544A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.