IP Library Granted Patent US 10,834,123
Granted Patent B2
US 10,834,123 · App. 16/248,120 · Granted Nov 10, 2020

Generating data clusters

Inventors: Matthew Sprague (Palo Alto, CA); Michael Kross (Palo Alto, CA); Adam Borochoff (New York, NY); Parvathy Menon (Palo Alto, CA); Michael Harris (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
H04L63/145G06F16/23G06F16/244G06F16/2465G06F16/24578G06F16/26G06F16/283G06F16/285G06F16/287G06F16/288G06F16/335G06F16/35G06F16/355G06F16/9535G06Q10/10G06Q20/382G06Q20/4016G06Q30/0185G06Q40/00G06Q40/02G06Q40/025G06Q40/10G06Q40/123
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 10,834,123
App. No.
16/248,120
Granted
Nov 10, 2020
Kind
B2
Abstract

Techniques are disclosed for prioritizing a plurality of clusters. Prioritizing clusters may generally include identifying a scoring strategy for prioritizing the plurality of clusters. Each cluster is generated from a seed and stores a collection of data retrieved using the seed. For each cluster, elements of the collection of data stored by the cluster are evaluated according to the scoring strategy and a score is assigned to the cluster based on the evaluation. The clusters may be ranked according to the respective scores assigned to the plurality of clusters. The collection of data stored by each cluster may include financial data evaluated by the scoring strategy for a risk of fraud. The score assigned to each cluster may correspond to an amount at risk.

Claims (88)

1. A computer-implemented method comprising:

by one or more hardware computer processors configured with specific computer executable instructions:

executing a cluster engine configured to at least:

access one or more electronic data stores, the one or more electronic data stores storing a plurality of data entities and respective data entity attributes;

designate a seed data entity, from the plurality of data entities, as the data entity cluster;

perform first growth of the data entity cluster by executing at least a first search protocol on the one or more electronic data stores to identify one or more data entities;

perform second growth of the data entity cluster by executing at least a second search protocol on the one or more electronic data stores to identify one or more additional data entities, the second search protocol different from the first search protocol;

store the data entity cluster in at least one of the one or more electronic data stores; and

determine scores for the data entity cluster and a plurality of additional data entity clusters generated based on additional seed data entities; and

executing a workflow engine configured to at least:

cause presentation of the data entity cluster and the plurality of additional data entity clusters in a cluster analysis user interface; and

order the presented data entity cluster and the plurality of additional data entity clusters in the cluster analysis user interface based at least in part on the respective determined scores for the data entity cluster and the plurality of additional data entity clusters.

2. The computer-implemented method of claim 1 , wherein executing the first search protocol on the one or more electronic data stores to identify one or more data entities comprises:

by the one or more hardware computer processors configured with specific computer executable instructions:

identifying at least one data entity attribute associated with the seed data entity; and

evaluating the plurality of data entities to determine the one or more data entities sharing the at least one data entity attribute with the seed data entity.

3. The computer-implemented method of claim 2 , wherein executing the first search protocol on the one or more electronic data stores to identify one or more data entities further comprises:

by the one or more hardware computer processors configured with specific computer executable instructions:

applying a filter to the at least one data entity attribute associated with the seed data entity, the filter selected based on a clustering strategy.

4. The computer-implemented method of claim 1 further comprising:

by the one or more hardware computer processors configured with specific computer executable instructions:

executing the cluster engine further configured to at least:

compare data entities associated with the data entity cluster to data entities associated with a second data entity cluster; and

in response to determining that at least one data entity associated with the data entity cluster shares an attribute with and/or is related to at least one data entity associated with the second data entity cluster, merge the data entity cluster and the second data entity cluster.

5. The computer-implemented method of claim 1 , wherein the first search protocol searches for data entities in a first electronic data store and the second search protocol searches for data entities in a second electronic data store.

6. The computer-implemented method of claim 1 , further comprising:

by the one or more hardware computer processors configured with specific computer executable instructions:

executing the cluster engine further configured to at least:

iteratively generate the data entity cluster by at least performing third growth of the data entity cluster by executing at least a third search protocol on the one or more electronic data stores to identify yet one or more additional data entities related to the one or more additional data entities.

7. The computer-implemented method of claim 1 , wherein determining the score for the data entity cluster comprises:

determining a plurality of base scores for the data entity cluster;

determining, based on the plurality of base scores, an overall score for the data entity cluster; and

assigning the overall score to the data entity cluster as the score.

8. The computer-implemented method of claim 7 , wherein the score is based on a scoring strategy, and the score corresponds to an amount of risk.

9. The computer-implemented method of claim 1 further comprising:

by the one or more hardware computer processors configured with specific computer executable instructions:

executing the workflow engine further configured to at least:

generate the cluster analysis user interface configured to be rendered on a computing device; and

receive, via the cluster analysis user interface, a selection of at least one of:

the seed data entity selected from the plurality of data entities, or

a seed generation strategy by which the seed data entity is designated from the plurality of data entities.

10. A system comprising:

a computer readable storage medium having program instructions embodied therewith; and

one or more processors configured to execute the program instructions to cause the system to:

execute a cluster engine configured to at least:

access one or more electronic data stores, the one or more electronic data stores storing a plurality of data entities and respective data entity attributes;

designate a seed data entity, from the plurality of data entities, as the data entity cluster;

perform first growth of the data entity cluster by executing at least a first search protocol on the one or more electronic data stores to identify one or more data entities;

perform second growth of the data entity cluster by executing at least a second search protocol on the one or more electronic data stores to identify one or more additional data entities, the second search protocol different from the first search protocol;

store the data entity cluster in at least one of the one or more electronic data stores; and

determine scores for the data entity cluster and a plurality of additional data entity clusters generated based on additional seed data entities; and

execute a workflow engine configured to at least:

cause presentation of the data entity cluster and the plurality of additional data entity clusters in a cluster analysis user interface; and

order the presented data entity cluster and the plurality of additional data entity clusters in the cluster analysis user interface based at least in part on the respective determined scores for the data entity cluster and the plurality of additional data entity clusters.

11. The system of claim 10 , wherein executing the first search protocol on the one or more electronic data stores to identify one or more data entities comprises:

identifying at least one data entity attribute associated with the seed data entity; and

evaluating the plurality of data entities to determine the one or more data entities sharing the at least one data entity attribute with the seed data entity.

12. The system of claim 11 , wherein executing the first search protocol on the one or more electronic data stores to identify one or more data entities further comprises:

applying a filter to the at least one data entity attribute associated with the seed data entity, the filter selected based on a clustering strategy.

13. The system of claim 10 , wherein the one or more processors are configured to execute the program instructions to further cause the system to:

execute the cluster engine further configured to at least:

compare data entities associated with the data entity cluster to data entities associated with a second data entity cluster; and

in response to determining that at least one data entity associated with the data entity cluster shares an attribute with and/or is related to at least one data entity associated with the second data entity cluster, merge the data entity cluster and the second data entity cluster.

14. The system of claim 10 , wherein the first search protocol searches for data entities in a first electronic data store and the second search protocol searches for data entities in a second electronic data store.

15. The system of claim 10 , wherein the one or more processors are configured to execute the program instructions to further cause the system to:

execute the cluster engine further configured to at least:

iteratively generate the data entity cluster by at least performing third growth of the data entity cluster by executing at least a third search protocol on the one or more electronic data stores to identify yet one or more additional data entities related to the one or more additional data entities.

16. The system of claim 10 , wherein determining the score for the data entity cluster comprises:

determining a plurality of base scores for the data entity cluster;

determining, based on the plurality of base scores, an overall score for the data entity cluster; and

assigning the overall score to the data entity cluster as the score.

17. The system of claim 10 , wherein the one or more processors are configured to execute the program instructions to further cause the system to:

execute the workflow engine further configured to at least:

generate the cluster analysis user interface configured to be rendered on a computing device; and

receive, via the cluster analysis user interface, a selection of at least one of:

the seed data entity selected from the plurality of data entities, or

a seed generation strategy by which the seed data entity is designated from the plurality of data entities.

18. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to:

execute a cluster engine configured to at least:

access one or more electronic data stores, the one or more electronic data stores storing a plurality of data entities and respective data entity attributes;

designate a seed data entity, from the plurality of data entities, as the data entity cluster;

perform first growth of the data entity cluster by executing at least a first search protocol on the one or more electronic data stores to identify one or more data entities;

perform second growth of the data entity cluster by executing at least a second search protocol on the one or more electronic data stores to identify one or more additional data entities, the second search protocol different from the first search protocol;

store the data entity cluster in at least one of the one or more electronic data stores; and

determine scores for the data entity cluster and a plurality of additional data entity clusters generated based on additional seed data entities; and

execute a workflow engine configured to at least:

cause presentation of the data entity cluster and the plurality of additional data entity clusters in a cluster analysis user interface; and

order the presented data entity cluster and the plurality of additional data entity clusters in the cluster analysis user interface based at least in part on the respective determined scores for the data entity cluster and the plurality of additional data entity clusters.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: HARRIS, MICHAEL; KROSS, MICHAEL; BOROCHOFF, ADAM; MENON, PARVATHY; SPRAGUE, MATTHEW
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 049202/0829 →
Cited By (1)
US 12,238,136