IP Library Granted Patent US 11,568,463
Granted Patent B2
US 11,568,463 · App. 17/037,470 · Granted Jan 31, 2023

Heterogeneous graph embedding

Inventor: Runhua Zhao (Mountain View, CA)
Assignee: INTUIT INC.
G06Q30/0623G06F16/24578G06N20/00
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,568,463
App. No.
17/037,470
Granted
Jan 31, 2023
Kind
B2
Abstract

A computer-implemented system and method for generating heterogeneous graph feature embeddings for feature learning and prediction. An application server may receive and process a plurality of feature datasets to generate a graph data structure comprising a plurality of interconnected transaction pairs. The application server processes the graph data structure to determine a first-order transaction pair corresponding to a maximum transaction frequency based on a user identifier; executes a jumping probability algorithm to process the graph data structure to determine a second-order transaction pair jumping from a first-order transaction pair; and generates a transaction sequence associated with the user identifier.

Claims (69)

1. A method implemented by a server computing device, the server computing device comprising a processor and a memory, the memory storing executable instructions that when executed by the processor cause the server computing device to perform processing comprising:

receiving, from a database in communication with the processor, a plurality of feature datasets, each feature dataset being associated with a transaction corresponding to a user identifier and a merchant identifier;

processing, based on a transaction characteristic and a merchant category, the feature datasets to generate a graph data structure comprising a plurality of interconnected transaction pairs;

processing the graph data structure to determine a first-order transaction pair corresponding to a maximum transaction frequency associated with a first user identifier, the first-order transaction pair comprising a first user node associated with the first user identifier and a first merchant node associated with a first merchant;

processing the graph data structure to determine a second set of transaction pairs from the first merchant node to one or more additional user nodes based on a ranking of transaction frequencies associated with the first merchant node to the one or more additional user nodes;

determining a second-order transaction pair from the first merchant node to a second user node based on each transaction frequency of the second set of transaction pairs and a corresponding predefined hyper-parameter; and

generating a transaction sequence associated with the first user identifier by combining respective feature datasets associated with the first-order transaction pair and the second-order transaction pair.

2. The method of claim 1 , wherein determining the second-order transaction pair comprises:

determining a set of jumping probability scores for the second set of transaction pairs based on each transaction frequency and the predefined hyper-parameter, each jumping probability scores for the second set of transaction pairs being determined by multiplying the predefined hyper-parameter by a square root of each respective transaction frequency of the corresponding transaction pair;

calculating a set of weighted frequency probability scores for the second set of transaction pairs based on each respective jump probability score and a sum of the set of the jumping probability scores; and

determining, from the second set of the transaction pairs, the second-order transaction pair having a maximum standardized jumping probability score.

3. The method of claim 1 , wherein the processing further comprises:

processing the graph data structure to determine a third set of transaction pairs from the second user node to one or more additional merchant nodes based on respective transaction frequencies;

determining a third-order transaction pair from the second user node to a second merchant node based on each transaction frequency of the third set of the transaction pairs and the corresponding predefined hyper-parameter; and

generating a second transaction sequence associated with the first user identifier by combining respective feature datasets associated with the first-order transaction pair, the second-order transaction pair and the third-order transaction pair.

4. The method of claim 1 , wherein each transaction pair corresponds to a feature dataset and comprises a user node associated with a respective user identifier, a merchant node associated with a respective merchant identifier, and a connection band representing a corresponding transaction frequency.

5. The method of claim 1 , wherein the processing further comprises:

executing an embedding model to transform the transaction sequence into a feature embedding;

indexing the feature embedding with the first user identifier; and

storing the feature embedding in the database.

6. The method of claim 1 , wherein the processing further comprises:

modifying the transaction characteristic to process the feature datasets to generate a modified graph data structure comprising a plurality of modified transaction pairs;

processing, based on a second user identifier, the modified graph data structure to determine at least two interconnected transaction pairs to generate a modified transaction sequence; and

executing an embedding model to transform the modified transaction sequence into a modified feature embedding.

7. The method of claim 6 , wherein the processing further comprises applying a skip-gram algorithm to the feature embedding to generate corresponding feature prediction and classification.

8. The method of claim 1 , wherein the predefined hyper-parameter is a value associated with one of a set of payment methods.

9. The method of claim 1 , wherein the transaction characteristic is a type of user feature shared by multiple users, and the transaction characteristic represents a transaction polarity, a zip code, a city, a state, an IP address, or a combination thereof.

10. A computing system, comprising:

an application server, the application server comprising a processor and a memory; and

a database in communication with the processor and configured to store a plurality of transactions between users and merchants, the memory storing computer-executable instructions which are executed by the processor to cause the application server to:

receive from the database, a plurality of feature datasets, each feature dataset being associated with a transaction corresponding to a user identifier and a merchant identifier;

process, based on a transaction characteristic and a merchant category, the feature datasets to generate a graph data structure comprising a plurality of interconnected transaction pairs;

process the graph data structure to determine a first-order transaction pair corresponding to a maximum transaction frequency associated with a first user identifier, the first-order transaction pair comprising a first user node associated with the first user identifier and a first merchant node associated with a first merchant;

process the graph data structure to determine a second set of transaction pairs from the first merchant node to one or more additional user nodes based on a ranking of transaction frequencies associated with the first merchant node to the one or more additional user nodes;

determine a second-order transaction pair from the first merchant node to a second user node based on each transaction frequency of the second set of transaction pairs and a corresponding predefined hyper-parameter; and

generate a transaction sequence associated with the first user identifier by combining respective feature datasets associated with the first-order transaction pair and the second-order transaction pair.

11. The computing system of claim 10 , wherein determining the second-order transaction pair comprises:

determining a set of jumping probability scores for the second set of transaction pairs based on each transaction frequency and the predefined hyper-parameter, each jumping probability scores for the second set of transaction pairs being determined by multiplying the predefined hyper-parameter by a square root of each respective transaction frequency of the corresponding transaction pair, the predefined hyper-parameter being represented by a value associated with one of a set of payment methods;

calculating a set of weighted frequency probability scores for the second set of transaction pairs based on each respective jump probability score and a sum of the set of the jumping probability scores; and

determining, from the second set of the transaction pairs, the second-order transaction pair having a maximum standardized jumping probability score.

12. The computing system of claim 10 , wherein the instructions are further executed by the processor to cause the application server to:

process the graph data structure to determine a third set of transaction pairs from the second user node to one or more additional merchant nodes based on respective transaction frequencies;

determine a third-order transaction pair from the second user node to a second merchant node based on each transaction frequency of the third set of the transaction pairs and the corresponding predefined hyper-parameter; and

generate a second transaction sequence associated with the first user identifier by combining respective feature datasets associated with the first-order transaction pair, the second-order transaction pair and the third-order transaction pair.

13. The computing system of claim 10 , wherein each transaction pair corresponds to a feature dataset and comprises a user node associated with a respective user identifier, a merchant node associated with a respective merchant identifier, and a connection band representing a corresponding transaction frequency.

14. The computing system of claim 10 , wherein the instructions are further executed by the processor to cause the application server to:

execute an embedding model to transform the transaction sequence into a feature embedding;

index the feature embedding with the first user identifier; and

store the feature embedding in the database.

15. The computing system of claim 14 , wherein the instructions are further executed by the processor to cause the application server to:

modify the transaction characteristic to process the feature datasets to generate a modified graph data structure comprising a plurality of modified transaction pairs;

process, based on a second user identifier, the modified graph data structure to determine at least two interconnected transaction pairs to generate a modified transaction sequence; and

execute an embedding model to transform the modified transaction sequence into a modified feature embedding.

16. The computing system of claim 15 , wherein the instructions are further executed by the processor to cause the application server to apply a skip-gram algorithm to the feature embedding to generate corresponding feature prediction and classification.

17. The computing system of claim 10 , wherein the transaction characteristic is a type of user feature shared by multiple users, and the transaction characteristic represents a transaction polarity, a zip code, a city, a state, an IP address, or a combination thereof.

18. A method implemented by a server computing device, the server computing device comprising a processor and a memory, the memory storing executable instructions that when executed by the processor cause the server computing device to perform processing comprising:

receiving, from a database in communication with the processor, a plurality of feature datasets, each feature dataset being associated with a transaction corresponding to a user identifier and a merchant identifier;

processing, based on a transaction characteristic and a merchant category, the feature datasets to generate a graph data structure comprising a plurality of interconnected transaction pairs;

processing the graph data structure to determine a first-order transaction pair corresponding to a maximum transaction frequency associated with a first user identifier, the first-order transaction pair comprising a first user node associated with the first user identifier and a first merchant node associated with a first merchant;

processing the graph data structure to determine a second set of transaction pairs from the first merchant node to one or more additional user nodes based on a ranking of transaction frequencies associated with the first merchant node to the one or more additional user nodes;

determining a second-order transaction pair from the first merchant node to a second user node based on each transaction frequency of the second set of transaction pairs and a predefined hyper-parameter associated with a corresponding payment method;

generating a transaction sequence associated with the first user identifier by combining respective feature datasets associated with the first-order transaction pair and the second-order transaction pair;

executing an embedding model to transform the transaction sequence into a feature embedding; and

applying a machine learning model to the feature embedding to generate corresponding feature prediction and classification.

19. The method of claim 18 , wherein determining the second-order transaction pair comprises:

determining a set of jumping probability scores for the second set of transaction pairs based on each transaction frequency and the predefined hyper-parameter, each jumping probability scores for the second set of transaction pairs being determined by multiplying the predefined hyper-parameter by a square root of each respective transaction frequency of the corresponding transaction pair;

calculating a set of weighted frequency probability scores for the second set of transaction pairs based on each respective jump probability score and a sum of the set of the jumping probability scores; and

determining, from the second set of the transaction pairs, the second-order transaction pair having a maximum standardized jumping probability score, wherein each transaction pair corresponds to a feature dataset and comprises a user node associated with a respective user identifier, a merchant node associated with a respective merchant identifier, and a connection band representing a corresponding transaction frequency.

20. The method of claim 18 , wherein the transaction characteristic is a type of user feature shared by multiple users, and the transaction characteristic represents a transaction polarity, a zip code, a city, a state, an IP address, or a combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2020
From: ZHAO, RUNHUA
To: INTUIT INC.
Reel/Frame 054223/0237 →
Continuity (1)
Related Publication 20220101401A1 · Mar 31, 2022