IP Library Granted Patent US 10,592,535
Granted Patent B2
US 10,592,535 · App. 15/229,956 · Granted Mar 17, 2020

Data flow based feature vector clustering

Inventors: Yong-Yeol Ahn (Bloomington, IN); Azadeh Nematzadeh Chekuvar (Bloomington, IN); Ian Benjamin Wood (Bloomington, IN); Jaehyuk Park (Bloomington, IN); Yizhi Jing (Bloomington, IN); Michael David Conover (San Francisco, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/285G06F16/24575G06F16/24578G06F16/9024G06F16/9535G06Q30/0251G06Q50/01H04L67/306
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,592,535
App. No.
15/229,956
Granted
Mar 17, 2020
Kind
B2
Abstract

Methods and systems for generating tailored user interface presentations based on microindustry clustering. According to various embodiments, the system accesses a set of entity profiles and a set of member profiles. The system determines a set of feature vectors for each entity of the set of entity profiles and identifies a set of movement data representing changes in association of one or more members from a first entity to a second entity. The system generates an entity graph for the set of entities and the set of members. The systems generate a first set of clusters in the entity graph, a second set of clusters by partitioning one or more of the first clusters, and a set of third clusters from the set of second clusters, combining one or more of the second clusters.

Claims (92)

1. A method comprising:

performing operations for populating a query result user interface with a portion of a set of user profiles based on lead quality scores associated with the set of user profiles, the operations comprising:

accessing a set of social network data including a set of entity profiles and the set of user profiles, each entity profile being associated with one or more of the set of user profiles;

determining a set of feature vectors for each entity of the set of entity profiles, the set of feature vectors representing an attribute of the associated user profiles;

identifying a set of movement data representing a change of association of one or more users of the set of user profiles from a first entity to a second entity of the set of entity profiles;

generating an entity graph including a set of nodes and a set of edges, each node of the set of nodes representing an entity and the set of edges representing movement data of one or more users changing associations between entities of the set of entities;

generating a set of first clusters in the entity graph, the set of clusters identified based on the set of feature vectors of the set of entity profiles and the movement data;

generating a set of second clusters by partitioning one or more of the first clusters of the set of first clusters;

generating a set of third clusters from the set of second clusters, the set of third clusters combining one or more of the second clusters of the set of second clusters, the third set of clusters representing a set of microindustries;

generating a lead quality score based on an interest value representing an interest of a first user in a microindustry of the set of microindustries and importance score representing an importance of a second user with respect to the microindustry; and

performing the populating of the query result user interface with the portion of the set of user profiles, the populating including listing the second user in an order that is based on the lead quality score.

2. The method of claim 1 , wherein determining the set of feature vectors for each entity further comprises:

identifying one or more attributes specified in one or more user profiles of the set of user profiles associated with the entity;

determining a proportion of user profiles including each of the one or more attributes; and

generating a data structure associated with the entity indicating the one or more attributes and a value indicating, for each attribute of the one or more attributes, a proportion of the user profiles associated with the entity including the attribute.

3. The method of claim 1 , wherein generating the first set of clusters further comprises:

generating a weight for an edge extending between a first node and a second node based on movement data of the set of movement data between the first node and the second node; and

normalizing the weight for the edge based on movement data associated with one or more edges extending between the first node and a set of neighboring nodes.

4. The method of claim 1 , wherein identifying the set of movement data further comprises:

continuously monitoring the set of social network data to identify the change, within one or more user profiles of the set of user profiles, of association from the first entity to the second entity.

5. The method of claim 4 , wherein the change of association is a first change of association and further comprising:

in response to a subsequent change of association, generating a subsequent first set of clusters in the entity graph based on the subsequent change of association;

generating a subsequent second set of clusters based on the subsequent first set of clusters; and

generating a subsequent third set of clusters based on the second set of clusters.

6. The method of claim 1 , wherein generating the second set of clusters further comprises:

determining a cluster threshold of a specified number of entities for a cluster;

identifying a number of entities within each cluster of the set of first clusters; and

determining whether the number of entities of each cluster of the set of first clusters exceeds the cluster threshold.

7. The method of claim 6 ; wherein generating the second set of clusters further comprises:

for each entity, identifying an entity feature vector selected from the set of feature vectors;

for each first cluster of the set of first clusters, identifying one or more cluster feature vectors based on proportions of entity feature vectors for the entities included within the set of first clusters; and

segmenting the set of first clusters into the set of second clusters based on the one or more cluster feature vectors of the first clusters of the set of first clusters.

8. The method of claim 1 further comprising:

generating a dendrogram from the set of first clusters and the set of second clusters, the dendrogram identifying one or more clusters of the set of second clusters as subordinate to one or more clusters of the set of first clusters.

9. The method of claim 8 , wherein generating the set of third clusters further comprises:

identifying an entropy threshold indicating a measure of a relation between feature vectors of two or more entities;

determining a set of entropy values between the set of entities within the set of second clusters; and

determining whether the set of entropy values exceed the entropy threshold.

10. The system of claim 9 further comprising:

determining an entropy value of the set of entropy values exceeds the entropy threshold; and

generating a cluster of the set of third clusters including entities associated with the entropy value exceeding the entropy threshold.

11. A system, comprising:

one or more processors; and

a non-transitory processor-readable storage medium comprising processor executable instructions that, when executed by the one or more processors, causes the one or more processors to perform operations for populating a query result user interface with a portion of a set of user profiles based on lead quality scores associated with the set of user profiles, the operations comprising:

accessing a set of social network data including a set of entity profiles and the set of user profiles, each entity profile being associated with one or more of the set of user profiles;

determining a set of feature vectors for each entity of the set of entity profiles, the set of feature vectors representing an attribute of the associated user profiles;

identifying a set of movement data representing a change of association of one or more users of the set of user profiles from a first entity to a second entity of the set of entity profiles;

generating an entity graph including a set of nodes and a set of edges, each node of the set of nodes representing an entity and the set of edges representing movement data of one or more users changing associations between entities of the set of entities;

generating a set of first clusters in the entity graph, the set of clusters identified based on the set of feature vectors of the set of entity profiles and the movement data;

generating a set of second clusters by partitioning one or more of the first clusters of the set of first clusters;

generating a set of third clusters from the set of second clusters, the set of third clusters combining one or more of the second clusters of the set of second clusters, the third set of clusters representing a set of microindustries;

generating a lead quality score based on an interest value representing an interest of a first user in a microindustry of the set of microindustries and importance score representing an importance of a second user with respect to the microindustry; and

performing the populating of the query result user interface with the portion of the set of user profiles, the populating including listing the second user in an order that is based on the lead quality score.

12. The system of claim 11 , wherein determining the set of feature vectors for each entity further comprises:

identifying one or more attributes specified in one or more user profiles of the set of user profiles associated with the entity;

determining a proportion of user profiles including each of the one or more attributes; and

generating a data structure associated with the entity indicating the one or more attributes and a value indicating, for each attribute of the one or more attributes, a proportion of the user profiles associated with the entity including the attribute.

13. The system of claim 11 , wherein generating the first set of clusters further comprises:

generating a weight for an edge extending between a first node and a second node based on movement data of the set of movement data between the first node and the second node; and

normalizing the weight for the edge based on movement data associated with one or more edges extending between the first node and a set of neighboring nodes.

14. The system of claim 11 , wherein identifying the set of movement data further comprises:

continuously monitoring the set of social network data to identify the change, within one or more user profiles of the set of user profiles, of association from the first entity to the second entity.

15. The system of claim 14 , wherein the change of association is a first change of association and further comprising:

in response to a subsequent change of association, generating a subsequent first set of clusters in the entity graph based on the subsequent change of association;

generating a subsequent second set of clusters based on the subsequent first set of clusters; and

generating a subsequent third set of clusters based on the second set of clusters.

16. The system of claim 11 , wherein generating the second set of clusters further comprises:

determining a cluster threshold of a specified number of entities for a cluster;

identifying a number of entities within each cluster of the set of first clusters; and

determining whether the number of entities of each cluster of the set of first clusters exceeds the cluster threshold.

17. A non-transitory processor-readable storage medium comprising processor executable instructions that, when executed by one or more processors, causes the one or more processors to perform operations for populating a query result user interface with a portion of a set of user profiles based on lead quality scores associated with the set of user profiles, the operations comprising:

accessing a set of social network data including a set of entity profiles and the set of user profiles, each entity profile being associated with one or more of the set of user profiles;

determining a set of feature vectors for each entity of the set of entity profiles, the set of feature vectors representing an attribute of the associated user profiles;

identifying a set of movement data representing a change of association of one or more users of the set of user profiles from a first entity to a second entity of the set of entity profiles;

generating an entity graph including a set of nodes and a set of edges, each node of the set of nodes representing an entity and the set of edges representing movement data of one or more users changing associations between entities of the set of entities;

generating a set of first clusters in the entity graph, the set of clusters identified based on the set of feature vectors of the set of entity profiles and the movement data;

generating a set of second clusters by partitioning one or more of the first clusters of the set of first clusters;

generating a set of third clusters from the set of second clusters, the set of third clusters combining one or more of the second clusters of the set of second clusters, the third set of clusters representing a set of microindustries;

generating a lead quality score based on an interest value representing an interest of a first user in a microindustry of the set of microindustries and importance score representing an importance of a second user with respect to the microindustry; and

performing the populating of the query result user interface with the portion of the set of user profiles, the populating including listing the second user in an order that is based on the lead quality score.

18. The non-transitory processor-readable storage medium of claim 17 , wherein determining the set of feature vectors for each entity further comprises:

identifying one or more attributes specified in one or more user profiles of the set of user profiles associated with the entity;

determining a proportion of user profiles including each of the one or more attributes; and

generating a data structure associated with the entity indicating the one or more attributes and a value indicating, for each attribute of the one or more attributes, a proportion of the user profiles associated with the entity including the attribute.

19. The non-transitory processor-readable storage medium of claim 17 , wherein generating the first set of clusters further comprises:

generating a weight for an edge extending between a first node and a second node based on movement data of the set of movement data between the first node and the second node; and

normalizing the weight for the edge based on movement data associated with one or more edges extending between the first node and a set of neighboring nodes.

20. The non-transitory processor-readable storage medium of claim 19 , wherein identifying the set of movement data further comprises:

continuously monitoring the set of social network data to identify the change, within one or more user profiles of the set of user profiles, of association from the first entity to the second entity, the change of association being a first change of association;

in response to a subsequent change of association, generating a subsequent first set of clusters in the entity graph based on the subsequent change of association;

generating a subsequent second set of clusters based on the subsequent first set of clusters; and

generating a subsequent third set of clusters based on the second set of clusters.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF AZADEH NEMATZADEH CHEKUVAR'S NAME AS PREVIOUSLY RECORDED ON REEL 039357 FRAME 0393. ASSIGNOR(S) HEREBY CONFIRMS THE ASSSIGNMENT. Recorded Aug 12, 2016
From: AHN, YONG-YEOL; NEMATZADEH CHEKUVAR, AZADEH; WOOD, IAN BENJAMIN; PARK, JAEHYUK; JING, YIZHI; CONOVER, MICHAEL DAVID
To: LINKEDIN CORPORATION
Reel/Frame 039669/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: AHN, YONG-YEOL; CHEKUVAR, AZADEH NEMATZADEN; WOOD, IAN BENJAMIN; PARK, JAEHYUK; JING, YIZHI; CONOVER, MICHAEL DAVID
To: LINKEDIN CORPORATION
Reel/Frame 039357/0393 →
Continuity (1)
Related Publication 20180039688A1 · Feb 8, 2018
Cited By (86)
US 12,206,696 US 12,244,621 US 12,267,345 US 12,309,185 US 12,323,449 US 12,335,286 US 12,335,348 US 12,341,797 US 12,348,545 US 12,355,626 US 12,355,787 US 12,355,793 US 12,363,148 US 12,368,745 US 12,368,746 US 12,368,747 US 12,375,573 US 12,395,573 US 12,401,669 US 12,405,849 US 12,407,701 US 12,407,702 US 12,418,552 US 12,418,555 US 12,425,428 US 12,425,430 US 12,445,474 US 12,452,279 US 12,457,231 US 12,463,995 US 12,463,996 US 12,463,997 US 12,464,003 US 12,470,577 US 12,470,578 US 12,483,576 US 12,489,770 US 12,495,052 US 12,500,910 US 12,500,911 US 12,500,912 US 12,505,126 US 12,506,762 US 12,513,221 US 12,537,836 US 12,537,837 US 12,537,839 US 12,537,840 US 12,537,884 US 12,549,575 US 12,549,577 US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,932 US 12,706,933 US 12,712,897 US 12,719,896