IP Library Granted Patent US 10,572,817
Granted Patent B2
US 10,572,817 · App. 14/663,174 · Granted Feb 25, 2020

Graph-based organization entity resolution

Inventors: Hakan Kardes (Bellevue, WA); Deepak Konidena (Bellevue, WA); Siddharth Agrawal (Bellevue, WA); Micah Huff (Bellevue, WA); Ang Sun (Bellevue, WA); Lin Chen (Bellevue, WA); Andrew Kellberg (Bellevue, WA); Xin Wang (Bellevue, WA)
Assignee: PEOPLECONNECT, INC.
G06N20/00G06F16/285G06F16/355
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,572,817
App. No.
14/663,174
Granted
Feb 25, 2020
Kind
B2
Abstract

A novel entity resolution approach for the organization entity domain can be implemented in the MapReduce framework with low memory requirements so that it may scale to large scale datasets. A new clustering approach, sClust, significantly improves the recall of the pairwise classifier.

Claims (28)

1. An agglomerative clustering system comprising:

a distributed memory arrangement that provides sorted edge lists for each connected component of a set of connected components; and

a distributed processing arrangement coupled to the distributed memory arrangement, the distributed processing arrangement including at least one processor being configured to generate conflict sets in a first pass, the conflict sets comprising sets of connected components that shouldn't appear together in any cluster as derived from the presence of a score that falls below a no-match threshold, and in a second pass to, in response to the generated conflict sets, agglomeratively construct clusters to partition the connected components in the conflict sets,

the distributed processing arrangement agglomeratively constructing clusters by:

setting a maximum allowed cluster size,

applying at least one matching threshold to conditionally add nodes to clusters up to the maximum allowed cluster size, and

upon the size of a cluster at least one of reaching and exceeding the maximum allowed cluster size, partitioning the cluster into smaller clusters.

2. The agglomerative clustering system of claim 1 wherein the distributed processing arrangement comprises a name node, a job submission node and plural of slave nodes.

3. The agglomerative clustering system of claim 2 wherein the plural slave nodes each include a processor that executes at least one mapper and at least one reducer.

4. The agglomerative clustering system of claim 3 wherein the plural slave nodes each include local memory coupled to the processor.

5. The agglomerative clustering system of claim 1 wherein the distributed processing arrangement is further configured to perform graph-based blocking.

6. The agglomerative clustering system of claim 1 wherein for each connected component C i ∈C, where C is the set of disjoint connected components in a graph, there exists a connection path between any two vertices v k and v l where (v k , v l )∈C i .

7. The agglomerative clustering system of claim 6 wherein for any distinct connected component (C i , C j )∈C, where C is the set of disjoint connected components in a graph, there is no path between any pair v k and v l where v k ∈C i , v l ∈C j .

8. The agglomerative clustering system of claim 1 wherein the distributed processing arrangement is further configured to recursively partition oversized clusters into smaller clusters.

9. The agglomerative clustering system of claim 1 wherein the processor arrangement checks the maximum cluster size before merging two clusters or adding a new node to an existing cluster.

10. The agglomerative clustering system of claim 1 wherein upon the size of a cluster at least one of reaching and exceeding the maximum allowed cluster size, the processor arrangement increases the threshold and uses transitive closure to further partition the cluster.

11. The agglomerative clustering system of claim 10 wherein the processor iterates the step of claim 10 until the sizes of all connected components are below the maximum allowed cluster size.

12. The agglomerative clustering system of claim 1 wherein the processor continues to apply a match/no-match threshold to selectively add nodes to clusters up to the maximum allowed cluster size, and upon the size of a cluster at least one of reaching and exceeding the maximum allowed cluster size, partitioning the cluster into smaller clusters, until each cluster corresponds to a single entity.

13. An agglomerative clustering system comprising:

a memory that provides sorted edge lists for each connected component of a set of connected components; and

at least one processor operatively coupled to the memory, the at least one processor being configured to generate conflict sets defining sets of connected components that shouldn't appear together in any cluster as derived from the presence of a score that falls below a no-match threshold and, in response to the generated conflict sets, agglomeratively construct clusters to partition the connected components in the conflict sets,

the at least one processor agglomeratively constructing clusters by:

setting a maximum allowed cluster size;

score connected components;

compare the score to a match threshold above which the connected components are declared to represent the same entity;

compare the score to the no-match threshold below which the connected components are declared to represent different entities, the no-match threshold being different from the match threshold;

using the results of the comparisons, conditionally adding nodes to clusters up to the maximum allowed cluster size; and

upon the size of a cluster at least one of reaching and exceeding the maximum allowed cluster size, partitioning the cluster into smaller clusters.

Assignments (9)
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 35990/788 Recorded Feb 7, 2020
From: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
To: PEOPLECONNECT, INC. (FORMERLY INTELIUS, INC.)
Reel/Frame 051843/0768 →
SECURITY INTEREST Recorded Jan 28, 2020
From: PEOPLECONNECT, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 051643/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: KARDES, HAKAN; KONIDENA, DEEPAK; AGRAWAL, SIDDHARTH; HUFF, MICAH; SUN, ANG; CHEN, LIN; KELLBERG, ANDREW; WANG, XIN
To: PEOPLECONNECT, INC.
Reel/Frame 051261/0314 →
CHANGE OF NAME Recorded Aug 9, 2017
From: INTELIUS, INC.
To: PEOPLECONNECT, INC.
Reel/Frame 043496/0890 →
MERGER Recorded Aug 9, 2017
From: INTELIUS MERGER SUB, INC.; INOME, INC.
To: INTELIUS, INC.
Reel/Frame 043246/0089 →
SECURITY INTEREST Recorded Jul 8, 2015
From: INTELIUS, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 036033/0896 →
SECURITY INTEREST Recorded Jul 6, 2015
From: INTELIUS, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 035990/0788 →
CHANGE OF NAME Recorded Jul 2, 2015
From: INOME, INC.
To: INTELIUS, INC.
Reel/Frame 035972/0446 →
CHANGE OF NAME Recorded May 21, 2015
From: INTELIUS, INC.
To: INOME, INC.
Reel/Frame 035749/0553 →
Continuity (3)
Provisional Application 61955352 · Mar 19, 2014
Provisional Application 62010276 · Jun 10, 2014
Related Publication 20150269494A1 · Sep 24, 2015
Cited By (2)
US 12,197,438 US 12,640,259