IP Library › Granted Patent US 12,216,710
Granted Patent B2
US 12,216,710 · App. 17/080,660 · Granted Feb 4, 2025

Graph search and visualization for fraudulent transaction analysis

Inventors: Maria Inês Silva (Lisbon, PT); Bernardo José Amaral Nunes de Almeida Branco (Lisbon, PT); Pedro Gustavo Santos Rodrigues Bizarro (Lisbon, PT); João Tiago Barriga Negra Ascensão (Lisbon, PT); Saurabh Bajaj (San Mateo, CA); Maria Beatriz Malveiro Jorge (Lisbon, PT); Sandro Daniel Sabudin Nunes (Lisbon, PT); Rodolfo Cristóvão (Lisbon, PT); Joel Carvalhais (Leiria, PT)
Assignee: Feedzai—Consultadoria e Inovação Tecnológica, S.A.
G06F16/9024G06F18/214G06F18/217G06F18/22G06F18/24147G06F18/29
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,216,710
App. No.
17/080,660
Granted
Feb 4, 2025
Kind
B2
Abstract

In an embodiment, a process for graph search and visualization includes receiving a query graph, and calculating one or more vectors for the query graph, where the one or more vectors each identifies a corresponding portion of the query graph. The process includes identifying one or more graphs similar to the query graph including by comparing the calculated one or more vectors for the query graph with one or more previously-calculated vectors for a different set of graphs and outputting the identified one or more similar graphs. The comparison with the previously-calculated vector(s) may be based on previously-calculated vector(s) processed by grouping the one or more vectors into at least one group of vectors, identifying a representative graph for each of the at least one group of vectors; and storing the at least one group of vectors and a respective identified representative graph.

Claims (37)

1. A system, comprising:

one or more processors configured to:

receive data, wherein the data includes transaction data entries;

generate one or more graphs using the received data;

calculate one or more vectors for the one or more graphs, wherein each of the one or more vectors represents a respective graph embedding corresponding to at least a portion of the one or more graphs, wherein the calculated one or more vectors are aggregated with one or more previously determined graph embeddings corresponding to previous transaction data entries;

determine that the one or more vectors belongs to at least one group of vectors based at least on the one or more vectors matching a data pattern associated with the at least one group of vectors including by building a hierarchy of clusters based at least on the aggregated one or more vectors with the one or more previously determined graph embeddings; and

identify a representative graph for each of the at least one group of vectors; and

a memory coupled to at least one of the one or more processors and configured to store the at least one group of vectors and a respective identified representative graph.

2. The system of claim 1 , wherein the one or more processors are configured to calculate the one or more vectors including by being configured to calculate the one or more vectors for the one or more graphs, each vector including a component that is a percentage of nodes of each node type in a corresponding graph.

3. The system of claim 1 , wherein the one or more processors are configured to calculate the one or more vectors including by being configured to perform unsupervised learning to calculate the one or more vectors for the one or more graphs, each vector including a first component that is a unique descriptor of a corresponding graph based on a topology of the corresponding graph and a second component that is a percentage of nodes of each node type in the corresponding graph.

4. The system of claim 1 , wherein building the hierarchy of clusters includes using successively aggregating learned node representations into clusters to obtain a single representation of each of the one or more graphs.

5. The system of claim 1 , wherein the one or more processors are configured to group the one or more vectors into the at least one group of vectors and to identify the representative graph for each of the at least one group of vectors including by being configured to use a clustering model.

6. The system of claim 5 , wherein at least one of model performance metrics and model diagnosis analysis is determined for the clustering model.

7. The system of claim 6 , wherein the clustering model is tuned in response to user input in response to the model performance metrics and the model diagnosis analysis.

8. The system of claim 1 , wherein:

the one or more processors are configured to update the at least one group of vectors including by:

receiving new data, wherein the new data includes transaction data entries;

generating one or more new graphs using the received new data;

calculating one or more new vectors for the one or more new graphs, wherein the one or more new vectors each identifies a corresponding portion of the one or more new graphs; and

updating the at least one group of vectors based on the calculation of the one or more new vectors; and

the memory is configured to store the updated at least one group of vectors.

9. The system of claim 1 , wherein the calculated one or more vectors includes a list of vectors corresponding to a set of data smaller than the received data.

10. The system of claim 1 , wherein:

at least one of the one or more graphs is represented by at least a subset of the calculated one or more vectors; and

the number of vectors in the at least a subset of the calculated one or more vectors is smaller than the number of transaction data entries.

11. A method, comprising:

receiving data, wherein the data includes transaction data entries;

generating one or more graphs using the received data;

calculating one or more vectors for the one or more graphs, wherein each of the one or more vectors represents a respective graph embedding corresponding to at least a portion of the one or more graphs, wherein the calculated one or more vectors are aggregated with one or more previously determined graph embeddings corresponding to previous transaction data entries;

determining that the one or more vectors belongs to at least one group of vectors based at least on the one or more vectors matching a data pattern associated with the at least one group of vectors including by building a hierarchy of clusters based at least on the aggregated one or more vectors with the one or more previously determined graph embeddings; and

identifying a representative graph for each of the at least one group of vectors.

12. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving data, wherein the data includes transaction data entries;

generating one or more graphs using the received data;

calculating one or more vectors for the one or more graphs, wherein each of the one or more vectors represents a respective graph embedding corresponding to at least a portion of the one or more graphs, wherein the calculated one or more vectors are aggregated with one or more previously determined graph embeddings corresponding to previous transaction data entries;

determining that the one or more vectors belongs to at least one group of vectors based at least on the one or more vectors matching a data pattern associated with the at least one group of vectors including by building a hierarchy of clusters based at least on the aggregated one or more vectors with the one or more previously determined graph embeddings; and

identifying a representative graph for each of the at least one group of vectors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2021
From: SILVA, MARIA INÊS; BRANCO, BERNARDO JOSÉ AMARAL NUNES DE ALMEIDA; BIZARRO, PEDRO GUSTAVO SANTOS RODRIGUES; ASCENSÃO, JOÃO TIAGO BARRIGA NEGRA; BAJAJ, SAURABH; JORGE, MARIA BEATRIZ MALVEIRO; NUNES, SANDRO DANIEL SABUDIN; CRISTÓVÃO, RODOLFO; CARVALHAIS, JOEL
To: FEEDZAI - CONSULTADORIA E INOVAÇÃO TECNOLÓGICA, S.A.
Reel/Frame 055630/0142 →
Continuity (2)
Provisional Application 62927041 · Oct 28, 2019
Related Publication 20210124780A1 · Apr 29, 2021
References Cited (23)
US 8561184B1 · Marsa · 2013 [cited by examiner]
US 10460320B1 · Cao · 2019 [cited by examiner]
US 20110295845A1 · Gao · 2011 [cited by examiner]
US 20120259850A1 · Liu · 2012 [cited by applicant]
US 20140278517A1 · Patel · 2014 [cited by examiner]
US 20170124645A1 · Kortina · 2017 [cited by examiner]
US 20170220587A1 · Srinivasan · 2017 [cited by examiner]
US 20180315229A1 · Kim · 2018 [cited by examiner]
US 20190005049A1 · Mittal · 2019 [cited by examiner]
US 20190132344A1 · Lem · 2019 [cited by examiner]
US 20190179752A1 · Yoo · 2019 [cited by examiner]
US 20190259033A1 · Surendra · 2019 [cited by applicant]
US 20190286943A1 · Leskovec · 2019 [cited by examiner]
US 20190311367A1 · Reddy · 2019 [cited by examiner]
US 20200092166A1 · Sharma · 2020 [cited by examiner]
US 20200099708A1 · Mathews · 2020 [cited by examiner]
US 20200151216A1 · Sevenich · 2020 [cited by examiner]
US 20200177616A1 · Hadar · 2020 [cited by examiner]
US 20200334495A1 · Al-Rfou · 2020 [cited by examiner]
US 20200394707A1 · Guo · 2020 [cited by examiner]
US 20200401696A1 · Ringlein · 2020 [cited by examiner]
US 20200410002A1 · Rossi · 2020 [cited by examiner]
US 20210064751A1 · Li · 2021 [cited by examiner]