IP Library Granted Patent US 12,061,629
Granted Patent B2
US 12,061,629 · App. 17/853,706 · Granted Aug 13, 2024

Hierarchical classification of transaction data

Inventors: Chirag Yadav (Karnataka, IN); Divya James Athoopallil (Karnataka, IN); Ganesh Patil (Karnataka, IN); Rakesh Kumar Ranjan (Karnataka, IN); Aparajita Choudhury Karimpana (Karnataka, IN); Om Dadaji Deshmukh (Karnataka, IN)
Assignee: Yodlee, Inc.
G06F16/285G06F16/355G06F16/906G06N3/088G06Q40/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,061,629
App. No.
17/853,706
Granted
Aug 13, 2024
Kind
B2
Abstract

Methods, systems and computer program products implementing hierarchical classification techniques are disclosed. A hierarchical classification system receives training data including labeled transaction records. The system determines tag sequences from the training data. The system clusters the tag sequences into clusters. The system determines a cluster-level classifier that is trained to predict a cluster for an input transaction record. The system determines a respective cluster-specific classifier for each cluster. The system trains the cluster-specific classifier to predict a label of entity of interest for an input transaction record, given a particular cluster. Upon receiving a test transaction record, the system first applies the cluster-level classifier to determine a particular cluster for the test transaction record, and then determines a label of entity of interest of the test transaction record by applying a cluster-specific classifier of that particular cluster.

Claims (48)

1. A method comprising:

receiving a first transaction record;

processing a first input generated from the first transaction record using a cluster-level classifier to predict a particular cluster, from a plurality of clusters, to which the first transaction record belongs, wherein the cluster-level classifier has been trained by performing operations comprising:

obtaining data representing a plurality of labeled transaction records, the data comprising tag-level sequence data generated from (i) token sequences corresponding to the labeled transaction records and (ii) a set of tags each representing a respective different aspect of the labeled transaction records, wherein the tag-level sequence data comprises tag sequences corresponding to the token sequences, and wherein, for each tag sequence, each tag in the tag sequence is an abstraction of one or more respective tokens in the corresponding token sequence,

determining the plurality of clusters from the data representing the plurality of labeled transaction records, comprising determining the plurality of clusters based at least in part on distances between the tag sequences in the tag-level sequence data, comprising determining the plurality of clusters based at least in part on an ordering of the tags in the tag sequences, and

training the cluster-level classifier to predict mappings between (i) transaction records and (ii) respective clusters from the plurality of clusters;

determining, from a plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular cluster, wherein:

each cluster-specific classifier corresponds to a respective cluster, and

each cluster-specific classifier corresponding to a respective cluster predicts mappings between (i) transaction records that have been classified by the cluster-level classifier as belonging to the respective cluster and (ii) one or more labels of interests, wherein each cluster-specific classifier is configured to generate labels of interest characterizing a same aspect of the transaction records;

predicting a particular label of interest of the first transaction record using the particular cluster-specific classifier; and

providing a representation of the first transaction record in association with the particular label of interest to a data consuming device for storage or data processing.

2. The method of claim 1 , wherein, for at least one of the clusters, the ordering of the tags in each tag sequence corresponding to a transaction record belonging to the cluster is the same.

3. The method of claim 1 , wherein determining the plurality of clusters based at least in part on distances between the tag sequences in the tag-level sequence data comprises computing tag-level Levenshtein distances between tag sequences and clustering the tag sequences based at least in part on the tag-level Levenshtein distances.

4. The method of claim 1 , wherein the respective different aspects of the transaction records represented by the set of tags include one or more of a merchant name corresponding to the transaction record, a card number corresponding to the transaction record, a city corresponding to the transaction record, a state corresponding to the transaction record, or a store ID corresponding to the transaction record.

5. The method of claim 1 , wherein:

for each token sequence corresponding to the labeled transaction records, each token in the token sequence is labeled with a respective raw tag, and

the tag-level sequence data has been generated by merging, for at least one of the token sequences, a plurality of consecutive raw tags of the token sequence that are the same as one another into one tag in the corresponding tag sequence.

6. The method of claim 1 , wherein, for at least one of the cluster-specific classifiers, training the cluster-specific classifier comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records belonging to the cluster corresponding to the cluster-specific classifier.

7. The method of claim 1 , wherein the particular label of interest identifies a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date for the first transaction record.

8. The method of claim 1 , wherein the first transaction record includes a representation of a description from a service provider computer, the description describing a financial transaction between the service provider and a customer or between the service provider and another service provider.

9. A system comprising one or more computers and one or more storage devices which store instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a first transaction record;

processing a first input generated from the first transaction record using a cluster-level classifier to predict a particular cluster, from a plurality of clusters, to which the first transaction record belongs, wherein the cluster-level classifier has been trained by performing operations comprising:

obtaining data representing a plurality of labeled transaction records, the data comprising tag-level sequence data generated from (i) token sequences corresponding to the labeled transaction records and (ii) a set of tags each representing a respective different aspect of the labeled transaction records, wherein the tag-level sequence data comprises tag sequences corresponding to the token sequences, and wherein, for each tag sequence, each tag in the tag sequence is an abstraction of one or more respective tokens in the corresponding token sequence,

determining the plurality of clusters from the data representing the plurality of labeled transaction records, comprising determining the plurality of clusters based at least in part on distances between the tag sequences in the tag-level sequence data, comprising determining the plurality of clusters based at least in part on an ordering of the tags in the tag sequences, and

training the cluster-level classifier to predict mappings between (i) transaction records and (ii) respective clusters from the plurality of clusters;

determining, from a plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular cluster, wherein:

each cluster-specific classifier corresponds to a respective cluster, and

each cluster-specific classifier corresponding to a respective cluster predicts mappings between (i) transaction records that have been classified by the cluster-level classifier as belonging to the respective tag sequence cluster and (ii) one or more labels of interests, wherein each cluster-specific classifier is configured to generate labels of interest characterizing a same aspect of the transaction records;

predicting a particular label of interest of the first transaction record using the particular cluster-specific classifier; and

providing a representation of the first transaction record in association with the particular label of interest to a data consuming device for storage or data processing.

10. The system of claim 9 , wherein, for at least one of the cluster-specific classifiers, training the cluster-specific classifier comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records belonging to the cluster corresponding to the cluster-specific classifier.

11. The system of claim 9 , wherein the particular label of interest identifies a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date for the first transaction record.

12. The system of claim 9 , wherein the first transaction record includes a representation of a description from a service provider computer, the description describing a financial transaction between the service provider and a customer or between the service provider and another service provider.

13. One or more non-transitory storage devices storing instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform operations comprising:

receiving a first transaction record;

processing a first input generated from the first transaction record using a cluster-level classifier to predict a particular cluster, from a plurality of clusters, to which the first transaction record belongs, wherein the cluster-level classifier has been trained by performing operations comprising:

obtaining data representing a plurality of labeled transaction records, the data comprising tag-level sequence data generated from (i) token sequences corresponding to the labeled transaction records and (ii) a set of tags each representing a respective different aspect of the labeled transaction records, wherein the tag-level sequence data comprises tag sequences corresponding to the token sequences, and wherein, for each tag sequence, each tag in the tag sequence is an abstraction of one or more respective tokens in the corresponding token sequence,

determining the plurality of clusters from the data representing the plurality of labeled transaction records, comprising determining the plurality of clusters based at least in part on distances between the tag sequences in the tag-level sequence data, comprising determining the plurality of clusters based at least in part on an ordering of the tags in the tag sequences, and

training the cluster-level classifier to predict mappings between (i) transaction records and (ii) respective clusters from the plurality of clusters;

determining, from a plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular cluster, wherein:

each cluster-specific classifier corresponds to a respective cluster, and

each cluster-specific classifier corresponding to a respective cluster predicts mappings between (i) transaction records that have been classified by the cluster-level classifier as belonging to the respective tag sequence cluster and (ii) one or more labels of interests, wherein each cluster-specific classifier is configured to generate labels of interest characterizing a same aspect of the transaction records;

predicting a particular label of interest of the first transaction record using the particular cluster-specific classifier; and

providing a representation of the first transaction record in association with the particular label of interest to a data consuming device for storage or data processing.

14. The non-transitory storage devices of claim 13 , wherein, for at least one of the cluster-specific classifiers, training the cluster-specific classifier comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records belonging to the cluster corresponding to the cluster-specific classifier.

15. The non-transitory storage devices of claim 13 , wherein the particular label of interest identifies a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date for the first transaction record.

16. The non-transitory storage devices of claim 13 , wherein the first transaction record includes a representation of a description from a service provider computer, the description describing a financial transaction between the service provider and a customer or between the service provider and another service provider.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Aug 26, 2025
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: YODLEE, INC.
Reel/Frame 072118/0612 →
GRANT OF SECURITY INTEREST IN PATENT Recorded Nov 25, 2024
From: YODLEE, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 069441/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: YADAV, CHIRAG; ATHOOPALLIL, DIVYA JAMES; PATIL, GANESH; RANJAN, RAKESH KUMAR; KARIMPANA, APARAJITA CHOUDHURY; DESHMUKH, OM DADAJI
To: YODLEE, INC.
Reel/Frame 060512/0175 →
Continuity (2)
Continuation 15728461 · Oct 9, 2017
Related Publication 20220398266A1 · Dec 15, 2022