Apparatus, systems, and methods for grouping data records
AssigneeFoursquare Labs, Inc.
InventorsBoris Shimanovsky, Manuel Lagang, Leonid Polovets
Life of this patent
Estimating the term…
Abstract
The present application relates to apparatus, systems, and methods for grouping data records based on entities referenced by the data records. The disclosed grouping mechanism can include determining a pair-wise similarity between a large number of data records, and clustering a subset of the data records based on their pair-wise similarity.
Claims18
An apparatus comprising:
- a processor configured to run one or more modules stored in memory, wherein the one or more modules are configured to:
- receive a plurality of pairs of data records;
- determine whether one or more pairs of data records are eligible to be clustered, the determination is based upon an analysis of a set of attributes included in the one or more pairs, wherein the analysis is performed by:
- converting a first data record in the pair of data records into a first hash;
- converting a second data record in the pair of data records into a second hash;
- and
- comparing bits of the first hash and second hash;
- and
- when it is determined that at least one pair of data records can be clustered:
- determine a similarity value for the at least one pair of data records based, at least in part, on a plurality of attributes associated with the at least one pair of data records, wherein the similarity value is determined using a machine learning model trained using a supervised learning function operating on ground-truth clusters of data records;
- and
- associate the at least one pair of data records with one or more clusters, each associated with a unique entity, based on the similarity value for the at least one pair of data records.
A method for clustering a plurality of data records into at least one cluster, the method comprising:
- receiving a plurality of pairs of data records;
- determining whether one or more pairs of data records are eligible to be clustered, the determination is based upon an analysis of a set of attributes included in the one or more pairs, wherein the analysis is performed by:
- converting a first data record in the pair of data records into a first hash;
- converting a second data record in the pair of data records into a second hash;
- and
- comparing bits of the first hash and second hash;
- and
- when it is determined that at least one pair of data records can be clustered:
- determining in communication with the candidate reduction module, a similarity value for the at least one pair based, at least in part, on a plurality of attributes associated with the at least one pair of data records, wherein the similarity value is determined using a machine learning model trained using a supervised learning function operating on ground-truth clusters of data records;
- and
- associating, the at least one pair of data records with one or more clusters, each associated with a unique entity, based on the similarity value for the at least one pair of data records.
A computer program product, tangibly embodied in a non-transitory computer-readable storage medium, the computer program product including instructions operable to cause a data processing system to:
- receive a plurality of pairs of data records;
- determine whether one or more pairs of data records are eligible to be clustered, the determination is based upon an analysis of a set of attributes included in the one or more pairs, wherein the analysis is performed by:
- converting a first data record in the pair of data records into a first hash;
- converting a second data record in the pair of data records into a second hash;
- and
- comparing bits of the first hash and second hash;
- and
- when it is determined that at least one pair of data records can be clustered:
- determine a similarity value for the at least one pair of data records based, at least in part, on a plurality of attributes associated with the at least one pair of data records, wherein the similarity value is determined using a machine learning model trained using a supervised learning function operating on ground-truth clusters of data records;
- and
- associate the at least one pair of data records with one or more clusters, each associated with a unique entity, based on the similarity value for the at least one pair of data records.
Dependencies are inferred from the claim text.