IP Library › Granted Patent US 12,198,026
Granted Patent B2
US 12,198,026 · App. 18/015,976 · Granted Jan 14, 2025

Systems, methods, and computer program products for generating node embeddings

Inventors: Mangesh Bendre (Sunnyvale, CA); Mahashweta Das (Campbell, CA); Fei Wang (Fremont, CA); Hao Yang (San Jose, CA)
Assignee: Visa International Service Association
G06N20/00G06N5/022
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,198,026
App. No.
18/015,976
Granted
Jan 14, 2025
Kind
B2
Abstract

Provided are systems, methods, and computer program products for generating node embeddings. The system includes at least one processor programmed or configured to generate a graph comprising a plurality of nodes, generate an embedding for each node of the plurality of nodes, each embedding comprising at least one polar angle and a vector length, store each embedding of a plurality of embeddings in memory, and in response to processing the graph with a machine-learning algorithm, convert at least one embedding of the plurality of embeddings to Cartesian coordinates.

Claims (42)

1. A method for node embedding, comprising:

generating, with at least one processor, a graph comprising a plurality of nodes;

pre-training a machine-learning model based on the graph by organizing the graph based on negative samples, the negative samples comprising, for a vertex, two hop neighboring nodes that do not share an edge with the vertex;

generating, with the at least one processor, an embedding for each node of the plurality of nodes, each embedding comprising at least one polar angle and a vector length, resulting in a plurality of embeddings in polar representation;

training, with the at least one processor, the machine-learning model based on the plurality of embeddings in polar representation, resulting in a plurality of trained embeddings; and

after training the machine-learning model, converting the plurality of trained embeddings to Cartesian coordinates when storing the plurality of trained embeddings in memory.

2. The method of claim 1 , wherein the vector length of each embedding is a same value.

3. The method of claim 1 , wherein the at least one polar angle for each embedding is represented in a range of integers between a maximum value and a minimum value, further comprising:

linking the maximum value and the minimum value, such that when a polar angle value equal to the minimum value is reduced by a value of one, the polar angle value becomes equal to the maximum value, and when the polar angle value is equal to the maximum value and is increased by a value of one, the polar angle value becomes equal to the minimum value.

4. The method of claim 1 , wherein the at least one polar angle is represented by a 2-byte signed integer.

5. The method of claim 1 , wherein converting the at least one embedding of the plurality of embeddings to the Cartesian coordinates comprises transforming each polar angle of the at least one embedding into two different Cartesian coordinates.

6. The method of claim 1 , wherein the graph is generated using uniform random distributions, and wherein the Cartesian coordinates are embedded using normal distribution with a mean of zero and a variance of 0.5.

7. The method of claim 1 , further comprising:

exporting the trained embeddings.

8. A system for node embedding, comprising at least one processor programmed or configured to:

generate a graph comprising a plurality of nodes;

pre-train a machine-learning model based on the graph by organizing the graph based on negative samples, the negative samples comprising, for a vertex, two hop neighboring nodes that do not share an edge with the vertex;

generate an embedding for each node of the plurality of nodes, each embedding comprising at least one polar angle and a vector length, resulting in a plurality of embeddings in polar representation;

train the machine-learning model based on the plurality of embeddings in polar representation, resulting in a plurality of trained embeddings; and

after training the machine-learning model, convert the plurality of trained embeddings to Cartesian coordinates when storing the plurality of trained embeddings in memory.

9. The system of claim 8 , wherein the vector length of each embedding is a same value.

10. The system of claim 8 , wherein the at least one polar angle for each embedding is represented in a range of integers between a maximum value and a minimum value, the at least one processor is further programmed or configured to:

link the maximum value and the minimum value, such that when a polar angle value equal to the minimum value is reduced by a value of one, the polar angle value becomes equal to the maximum value, and when the polar angle value is equal to the maximum value and is increased by a value of one, the polar angle value becomes equal to the minimum value.

11. The system of claim 8 , wherein the at least one polar angle is represented by a 2-byte signed integer.

12. The system of claim 8 , wherein converting the at least one embedding of the plurality of embeddings to the Cartesian coordinates comprises transforming each polar angle of the at least one embedding into two different Cartesian coordinates.

13. The system of claim 8 , wherein the graph is generated using uniform random distributions, and wherein the Cartesian coordinates are embedded using normal distribution with a mean of zero and a variance of 0.5.

14. The system of claim 8 , wherein the at least one processor is further programmed or configured to:

export the trained embeddings.

15. A computer program product for node embedding, comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to:

generate a graph comprising a plurality of nodes;

pre-train a machine-learning model based on the graph by organizing the graph based on negative samples, the negative samples comprising, for a vertex, two hop neighboring nodes that do not share an edge with the vertex;

generate an embedding for each node of the plurality of nodes, each embedding comprising at least one polar angle and a vector length, resulting in a plurality of embeddings in polar representation;

train the machine-learning model based on the plurality of embeddings in polar representation, resulting in a plurality of trained embeddings; and

after training the machine-learning model, convert the plurality of trained embeddings to Cartesian coordinates when storing the plurality of trained embeddings in memory.

16. The computer program product of claim 15 , wherein the vector length of each embedding is the same value.

17. The computer program product of claim 15 , wherein the at least one polar angle for each embedding is represented in a range of integers between a maximum value and a minimum value, the program instructions further causing the at least one processor to:

link the maximum value and the minimum value, such that when a polar angle value equal to the minimum value is reduced by a value of one, the polar angle value becomes equal to the maximum value, and when the polar angle value is equal to the maximum value and is increased by a value of one, the polar angle value becomes equal to the minimum value.

18. The computer program product of claim 15 , wherein the at least one polar angle is represented by a 2-byte signed integer.

19. The computer program product of claim 15 , wherein converting the at least one embedding of the plurality of embeddings to the Cartesian coordinates comprises transforming each polar angle of the at least one embedding into two different Cartesian coordinates.

20. The computer program product of claim 15 , wherein the graph is generated using uniform random distributions, and wherein the Cartesian coordinates are embedded using normal distribution with a mean of zero and a variance of 0.5.

21. The computer program product of claim 15 , wherein the program instructions further cause the at least one processor to:

export the trained embeddings.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2023
From: BENDRE, MANGESH; DAS, MAHASHWETA; WANG, FEI; YANG, HAO
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 062366/0718 →
Continuity (2)
Provisional Application 63192721 · May 25, 2021
Related Publication 20230196198A1 · Jun 22, 2023
References Cited (19)
US 3569958A · Gabriel · 1971 [cited by examiner]
US 7242408B1 · Dunn · 2007 [cited by examiner]
US 10482183B1 · Vargas et al. · 2019 [cited by applicant]
US 20050163243A1 · Chung · 2005 [cited by examiner]
US 20190355346A1 · Bellegarda · 2019 [cited by applicant]
US 20200226422A1 · Li · 2020 [cited by examiner]
US 20200250734A1 · Pande et al. · 2020 [cited by applicant]
US 20210049209A1 · Shi · 2021 [cited by applicant]
US 20210064959A1 · Gui · 2021 [cited by examiner]
US 20210109995A1 · Mihindukulasooriya et al. · 2021 [cited by applicant]
US 20220100956A1 · Iwamoto · 2022 [cited by examiner]
US 20220119871A1 · Regev · 2022 [cited by examiner]
CN 112417633A · 2021 [cited by applicant]
Learning Community Embedding with Community Detection and Node Embedding on Graphs (Year: 2017). [cited by examiner]
Sandro et al. Learning Community Embedding with Community Detection and Node Embedding on Graphs, Nanyang Technological University Singapore, [email protected], (Nov. 6-10, 2017, pp. 377-386) (Year: 2017). [cited by examiner]
Orna et.al. Interpreting Neural-Network Results: A Simulation Study, Center for Gerontology and Health Care Research Brown University, Orna [email protected]. (2001, pp. 1-17) (Year: 2001). [cited by examiner]
Chen et al., “A Tutorial on Network Embeddings”, arXiv:1808.02590v1, 2018, pp. 1-23. [cited by applicant]
Mohoney et al., “Learning Massive Graph Embeddings on a Single Machine”, Cornell University Library, 2021, pp. 1-33. [cited by applicant]
Xu, “Understanding Graph Embedding Methods and their Applications”, Cornell University Library, 2020, pp. 1-15. [cited by applicant]