IP Library Granted Patent US 11,379,501
Granted Patent B2
US 11,379,501 · App. 15/728,461 · Granted Jul 5, 2022

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 11,379,501
App. No.
15/728,461
Granted
Jul 5, 2022
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 (65)

1. A method comprising:

receiving labeled transaction records as training data, the transaction records including token sequences;

forming, from a set of tags each representing a respective different aspect of the transaction records, tag-level sequence data from the token sequences, the tag-level sequence data including tag sequences corresponding to the token sequences, 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;

clustering the tag-level sequence data into a plurality of tag sequence clusters based on distances between the tag sequences, wherein the distances between tag sequences are determined at least in part based on an ordering of the tags in the tag sequences;

training a cluster-level classifier that predicts mappings between i) the transaction records and ii) the tag sequence clusters;

training a plurality of cluster-specific classifiers, wherein:

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

each cluster-specific classifier corresponding to a respective tag sequence 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 the same aspect of the transaction records;

receiving a test transaction record;

predicting a particular tag sequence cluster of the test transaction record using the cluster-level classifier;

determining, from the plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular tag sequence cluster;

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

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

2. The method of claim 1 , wherein:

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

forming the tag-level sequence data comprises merging a plurality of consecutive raw tags that are the same as one another into one tag in the tag-level sequence data.

3. The method of claim 1 , wherein clustering the tag-level sequence data comprises computing tag-level Levenshtein distances between tag sequences and clustering the tag sequences based on the tag-level Levenshtein distances using k-means clustering.

4. The method of claim 1 , wherein training the cluster-specific classifier corresponding to the particular tag sequence cluster comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records whose tag-level sequence data belongs to the particular tag sequence cluster.

5. The method of claim 1 , wherein each label of interest includes a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date.

6. The method of claim 1 , wherein the test 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.

7. The method of claim 1 , wherein:

the ordering of the tags in each tag sequence of the particular tag sequence cluster is the same.

8. The method of claim 1 , wherein 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.

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 labeled transaction records as training data, the transaction records including token sequences;

forming, from a set of tags each representing a respective different aspect of the transaction records, tag-level sequence data from the token sequences, the tag-level sequence data including tag sequences corresponding to the token sequences, wherein for each tag sequence, each tag in the tag sequences is an abstraction of one or more respective tokens of the corresponding token sequence;

clustering the tag-level sequence data into a plurality of tag sequence clusters based on distances between the tag sequences, wherein the distances between tag sequences are determined at least in part based on an ordering of the tags in the tag sequences;

training a cluster-level classifier that predicts mappings between i) the transaction records and ii) the tag sequence clusters;

training a plurality of cluster-specific classifiers, wherein:

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

each cluster-specific classifier corresponding to a respective tag sequence 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 the same aspect of the transaction records;

receiving a test transaction record;

predicting a particular tag sequence cluster of the test transaction record using the cluster-level classifier;

determining, from the plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular tag sequence cluster;

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

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

10. The system of claim 9 , wherein:

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

forming the tag-level sequence data comprises merging a plurality of consecutive raw tags that are the same as one another into one tag in the tag-level sequence data.

11. The system of claim 9 , wherein clustering the tag-level sequence data comprises computing tag-level Levenshtein distances between tag sequences and clustering the tag sequences based on the tag-level Levenshtein distances using k-means clustering.

12. The system of claim 9 , wherein training the cluster-specific classifier corresponding to the particular tag sequence cluster comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records whose tag-level sequence data belongs to the particular tag sequence cluster.

13. The system of claim 9 , wherein each label of interest includes a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date.

14. The system of claim 9 , wherein the test 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.

15. 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 labeled transaction records as training data, the transaction records including token sequences;

forming, from a set of tags each representing a respective different aspect of the transaction records, tag-level sequence data from the token sequences, the tag-level sequence data including tag sequences corresponding to the token sequences, wherein for each tag sequence, each tag in the tag sequences being -is an respective abstraction of one or more respective tokens in the corresponding token sequence;

clustering the tag-level sequence data into a plurality of tag sequence clusters based on distances between the tag sequences, wherein the distances between tag sequences are determined at least in part based on an ordering of the tags in the tag sequences;

training a cluster-level classifier that predicts mappings between i) the transaction records and ii) the tag sequence clusters;

training a plurality of cluster-specific classifiers, wherein:

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

each cluster-specific classifier corresponding to a respective tag sequence 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 the same aspect of the transaction records;

receiving a test transaction record;

predicting a particular tag sequence cluster of the test transaction record using the cluster-level classifier;

determining, from the plurality of cluster-specific classifiers, a particular cluster-specific classifier that corresponds to the particular tag sequence cluster;

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

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

16. The one or more non-transitory storage devices of claim 15 , wherein:

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

forming the tag-level sequence data comprises merging a plurality of consecutive raw tags that are the same as one another into one tag in the tag-level sequence data.

17. The one or more non-transitory storage devices of claim 15 , wherein clustering the tag-level sequence data comprises computing tag-level Levenshtein distances between tag sequences and clustering the tag sequences based on the tag-level Levenshtein distances using k-means clustering.

18. The one or more non-transitory storage devices of claim 15 , wherein training the cluster-specific classifier corresponding to the particular tag sequence cluster comprises training a character-level Recurrent Neural Network (RNN) classifier using labeled transaction records whose tag-level sequence data belongs to the particular tag sequence cluster.

19. The one or more non-transitory storage devices of claim 15 , wherein each label of interest includes a value for at least one of a service provider name, a service provider address, a transaction location, or a transaction date.

20. The one or more non-transitory storage devices of claim 15 , wherein the test 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 Oct 27, 2017
From: YADAV, CHIRAG; ATHOOPALLIL, DIVYA JAMES; PATIL, GANESH; RANJAN, RAKESH KUMAR; KARIMPANA, APARAJITA CHOUDHURY; DESHMUKH, OM DADAJI
To: YODLEE, INC.
Reel/Frame 043975/0425 →
Continuity (1)
Related Publication 20190108593A1 · Apr 11, 2019
Cited By (1)
US 12,688,366