Systems and methods for node resolution using multiple fields with dynamically determined priorities based on field values
First Claim
1. A method, comprising:
- maintaining, by one or more processors, a plurality of node profiles, each node profile of the plurality of node profiles corresponding to a respective entity and including node field-value pairs;
accessing, by the one or more processors, data of a plurality of electronic activities transmitted or received via at least one electronic account associated with at least one data source provider;
generating, by the one or more processors, a plurality of activity field-value pairs from data of an electronic activity of the plurality of electronic activities, each activity field-value pair of the plurality of activity field-value pairs including a respective activity value associated with a respective activity field;
determining, by the one or more processors, for a first node field-value pair that matches a first activity field-value pair of the plurality of activity field-value pairs, a first count corresponding to a first number of node profiles of the plurality of node profiles that includes the first node field-value pair;
determining, by the one or more processors, for a second node field-value pair that matches a second activity field-value pair of the plurality of activity field-value pairs, a second count corresponding to a second number of node profiles of the plurality of node profiles that includes the second node field-value pair;
determining, by the one or more processors, a first frequency score of the first activity field-value pair based on the first count and a second frequency score of the second activity field-value pair based on the second count;
assigning, by the one or more processors, a first weight to the first activity field-value pair based on the first frequency score and a second weight to the second activity field-value pair based on the second frequency score, the first weight greater than the second weight responsive to the first frequency score being less than the second frequency score;
generating, by the one or more processors, for each candidate node profile of a plurality of candidate node profiles of the plurality of node profiles, a respective match score of the candidate node profile indicating a likelihood that the electronic activity is transmitted or received by an electronic account corresponding to the candidate node profile based on the first weight assigned to the first activity field-value pair and the second weight assigned to the second activity field-value pair;
selecting, by the one or more processors, from the plurality of candidate node profiles, a node profile based on the respective match score of the node profile; and
storing, by the one or more processors, in one or more data structures, an association between the electronic activity and the node profile.
2 Assignments
0 Petitions
Accused Products
Abstract
The systems and methods described herein can use multiple fields with dynamically determined priorities based on field values for node resolution. The system can generate activity field-value pairs including an activity value associated with an activity field from an electronic activity. The system can determine a frequency score based on a first count of node field-value pairs that match the activity value. The system can assign a weight to the activity value based on the frequency score. The system can generate a match score of a candidate node profile indicating a likelihood that the electronic activity is transmitted or received by an account corresponding to the candidate node profile. The system can store an association between the electronic activity and the node profile selected based on the match score.
325 Citations
16 Claims
-
1. A method, comprising:
-
maintaining, by one or more processors, a plurality of node profiles, each node profile of the plurality of node profiles corresponding to a respective entity and including node field-value pairs; accessing, by the one or more processors, data of a plurality of electronic activities transmitted or received via at least one electronic account associated with at least one data source provider; generating, by the one or more processors, a plurality of activity field-value pairs from data of an electronic activity of the plurality of electronic activities, each activity field-value pair of the plurality of activity field-value pairs including a respective activity value associated with a respective activity field; determining, by the one or more processors, for a first node field-value pair that matches a first activity field-value pair of the plurality of activity field-value pairs, a first count corresponding to a first number of node profiles of the plurality of node profiles that includes the first node field-value pair; determining, by the one or more processors, for a second node field-value pair that matches a second activity field-value pair of the plurality of activity field-value pairs, a second count corresponding to a second number of node profiles of the plurality of node profiles that includes the second node field-value pair; determining, by the one or more processors, a first frequency score of the first activity field-value pair based on the first count and a second frequency score of the second activity field-value pair based on the second count; assigning, by the one or more processors, a first weight to the first activity field-value pair based on the first frequency score and a second weight to the second activity field-value pair based on the second frequency score, the first weight greater than the second weight responsive to the first frequency score being less than the second frequency score; generating, by the one or more processors, for each candidate node profile of a plurality of candidate node profiles of the plurality of node profiles, a respective match score of the candidate node profile indicating a likelihood that the electronic activity is transmitted or received by an electronic account corresponding to the candidate node profile based on the first weight assigned to the first activity field-value pair and the second weight assigned to the second activity field-value pair; selecting, by the one or more processors, from the plurality of candidate node profiles, a node profile based on the respective match score of the node profile; and storing, by the one or more processors, in one or more data structures, an association between the electronic activity and the node profile. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
one or more hardware processors configured by machine-readable instructions to; maintain a plurality of node profiles, each node profile of the plurality of node profiles corresponding to a respective entity and including node field-value pairs; access data of a plurality of electronic activities transmitted or received via at least one electronic account associated with at least one data source provider; generate a plurality of activity field-value pairs from data of an electronic activity of the plurality of electronic activities, each activity field-value pair of the plurality of activity field-value pairs including a respective activity value associated with a respective activity field; determine, for a first node field-value pair that matches a first activity field-value pair of the plurality of activity field-value pairs, a first count corresponding to a first number of node profiles of the plurality of node profiles that includes the first node field-value pair; determine, for a second node field-value pair that matches a second activity field-value pair of the plurality of activity field-value pairs, a second count corresponding to a second number of node profiles of the plurality of node profiles that includes the second node field-value pair; determine a first frequency score of the first activity field-value pair based on the first count and a second frequency score of the second activity field-value pair based on the second count; assign a first weight to the first activity field-value pair based on the first frequency score and a second weight to the second activity field-value pair based on the second frequency score, the first weight greater than the second weight responsive to the first frequency score being less than the second frequency score; generate for each candidate node profile of a plurality of candidate node profiles of the plurality of node profiles, a respective match score of the candidate node profile indicating a likelihood that the electronic activity is transmitted or received by an electronic account corresponding to the candidate node profile based on the first weight assigned to the first activity field-value pair and the second weight assigned to the second activity field-value pair; select, from the plurality of candidate node profiles, a node profile based on the respective match score of the node profile; and store in one or more data structures, an association between the electronic activity and the node profile. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method comprising:
-
maintaining a plurality of node profiles, each node profile of the plurality of node profiles corresponding to a respective entity and including node field-value pairs; accessing data of a plurality of electronic activities transmitted or received via at least one electronic account associated with at least one data source provider; generating a plurality of activity field-value pairs from data of an electronic activity of the plurality of electronic activities, each activity field-value pair of the plurality of activity field-value pairs including a respective activity value associated with a respective activity field; determining, for a first node field-value pair that matches a first activity field-value pair of the plurality of activity field-value pairs, a first count corresponding to a first number of node profiles of the plurality of node profiles that includes the first node field-value pair; determining, for a second node field-value pair that matches a second activity field-value pair of the plurality of activity field-value pairs, a second count corresponding to a second number of node profiles of the plurality of node profiles that includes the second node field-value pair; determining a first frequency score of the first activity field-value pair based on the first count and a second frequency score of the second activity field-value pair based on the second count; assigning a first weight to the first activity field-value pair based on the first frequency score and a second weight to the second activity field-value pair based on the second frequency score, the first weight greater than the second weight responsive to the first frequency score being less than the second frequency score; generating for each candidate node profile of a plurality of candidate node profiles of the plurality of node profiles, a respective match score of the candidate node profile indicating a likelihood that the electronic activity is transmitted or received by an electronic account corresponding to the candidate node profile based on the first weight assigned to the first activity field-value pair and the second weight assigned to the second activity field-value pair; selecting, from the plurality of candidate node profiles, a node profile based on the respective match score of the node profile; and storing in one or more data structures, an association between the electronic activity and the node profile. - View Dependent Claims (16)
-
Specification