IP Library Granted Patent US 10,592,518
Granted Patent B2
US 10,592,518 · App. 15/692,084 · Granted Mar 17, 2020

Suggesting candidate profiles similar to a reference profile

Inventors: Christian Posse (Forster City, CA); Abhishek Gupta (San Francisco, CA); Anmol Bhasin (Los Altos, CA); Monica Rogati (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/24578G06F16/248G06F16/9535H04L67/22H04L67/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,518
App. No.
15/692,084
Granted
Mar 17, 2020
Kind
B2
Abstract

Techniques for identifying and presenting member profiles similar to a source member profile are described. With some embodiments, a general recommendation engine is used to extract features from member profiles, and then store the extracted features, including any computed, derived or retrieved profile features, in an enhanced member profile. In real-time, the general recommendation engine processes client requests to identify member profiles similar to a source member profile by comparing select profile features stored in the enhanced member profile with corresponding profile features of the source member profile, where the comparison results in several similarity sub-scores that are then combined in accordance with directives set forth in a configuration file. Finally, the member profiles with the highest similarity scores corresponding with the user-selected member profile are selected, and in some instances, presented to a user.

Claims (84)

1. A method comprising:

identifying, by one or more processors, a reference profile representing a reference member of a social networking service;

identifying, by one or more processors, a plurality of candidate profiles each representing a different candidate member of the social networking service;

determining, by one or more processors, a separate similarity score for each of the plurality of candidate profiles, wherein the determining of the separate similarity score for a candidate profile in the plurality of candidate profiles comprises:

accessing a plurality of profile features of the candidate profile;

determining for each profile feature in the plurality of profile features a corresponding sub-score by comparing the profile feature with a corresponding profile feature of the reference profile, the sub-score indicating a measure of similarity between the profile feature of the candidate profile and the corresponding profile feature of the reference profile; and

determining the similarity score for the candidate profile based on the sub-scores determined for the plurality of profile features, the similarity score indicating a measure of similarity between the candidate profile and the reference profile;

selecting, by one or more processors, a subset of candidate profiles from the plurality of candidate profiles, based on the similarity scores determined for the subset of candidate profiles; and

sending, by one or more processors to a client device, instructions to display information that identifies one or more candidate members represented by the selected subset of candidate profiles.

2. The method of claim 1 , wherein:

the determining of the separate similarity score for each of the plurality of candidate profiles includes, for each similarity score:

accessing a part of a modified version of the candidate profile for comparison to a corresponding part of a modified version of the reference profile; and

determining a further sub-score that indicates a measure of similarity between the part of the modified version of the candidate profile and the corresponding part of the modified version of the reference profile; and wherein

the determining of the similarity score is based on the further sub-score.

3. The method of claim 2 , wherein:

in the determining of each similarity score, the accessing of the part of the modified version of the candidate profile includes generating the part of the modified version from the candidate profile.

4. The method of claim 2 , wherein:

in the determining of each similarity score, the accessing of the part of the modified version of the candidate profile includes receiving the part of the modified version of the candidate profile from a data source.

5. The method of claim 2 , wherein:

the determining of the separate similarity score for each of the plurality of candidate profiles includes, for each similarity score:

generating the modified version of the reference profile by normalizing a portion of the reference profile.

6. The method of claim 5 , wherein:

in the determining of each similarity score, the generating of the modified version of the reference profile includes normalizing a job title specified in the portion of the reference profile; and

in the determining of each similarity score, the determining of the further sub-score is based on the normalized job title.

7. The method of claim 5 , wherein:

in the determining of the similarity score, the generating of the modified version of the reference profile includes normalizing a company name specified in the portion of the reference profile; and

in the determining of each similarity score, the determining of the further sub-score is based on the normalized company name.

8. The method of claim 1 , further comprising:

accessing data that specifies the plurality of profile features to be accessed; and wherein

in the determining of the separate similarity score for each of the plurality of candidate profiles, the accessing of the plurality of profile features of the candidate profile is based on the accessed data that specifies the plurality of profile features to be accessed.

9. The method of claim 1 , further comprising:

accessing data that specifies a comparison to be performed in comparing the reference profile to one or more of the candidate profiles; and wherein

in the determining of the separate similarity score for each of the plurality of candidate profiles, the determining of the corresponding sub-score for each of the plurality of profile features is based on the comparison specified by the accessed data.

10. The method of claim 1 , further comprising:

accessing data that specifies an algorithm by which a score of the candidate profile is to be generated from sub-scores of profile features of the candidate profile; and wherein

the determining of the separate similarity score for each of the plurality of candidate profiles is based on the algorithm specified by the accessed data.

11. The method of claim 1 , further comprising:

accessing data that specifies separate weighting factors to be applied to corresponding sub-scores of profile features of the candidate profile; and wherein

the determining of the separate similarity score for each of the plurality of candidate profiles is based on the weighting factors specified by the accessed data.

12. The method of claim 1 , wherein:

a candidate profile among the candidate profiles describes a job listing; and

the information identifying candidate members represented by the selected subset of candidate profiles includes an identifier of the candidate profile that describes the job listing.

13. The method of claim 1 , wherein:

a candidate profile among the candidate profiles describes a skill set; and

the information identifying candidate members represented by the selected subset of candidate profiles includes an identifier of the candidate profile that describes the skill set.

14. The method of claim 1 , wherein:

a candidate profile among the candidate profiles describes a group of people; and

the information identifying candidate members represented by the selected subset of candidate profiles includes an identifier of the candidate profile that describes the group of people.

15. The method of claim 1 , wherein:

a candidate profile among the candidate profiles describes an advertisement; and

the information identifying candidate members represented by the selected subset of candidate profiles includes an identifier of the candidate profile that describes the advertisement.

16. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

identifying a reference profile representing a reference member of a social networking service;

identifying a plurality of candidate profiles each representing a different candidate member of the social networking service;

determining a separate similarity score for each of the plurality of candidate profiles, wherein the determining of the separate similarity score for a candidate profile in the plurality of candidate profiles comprises:

accessing a plurality of profile features of the candidate profile;

determining for each profile feature in the plurality of profile features a corresponding sub-score by comparing the profile feature with a corresponding profile feature of the reference profile, the sub-score indicating a measure of similarity between the profile feature of the candidate profile and the corresponding profile feature of the reference profile; and

determining the similarity score for the candidate profile based on the sub-scores determined for the plurality of profile features, the similarity score indicating a measure of similarity between the candidate profile and the reference profile;

selecting a subset of candidate profiles from the plurality of candidate profiles, based on the similarity scores determined for the subset of candidate profiles; and

sending, to a client device, instructions to display information that identifies one or more candidate members represented by the selected subset of candidate profiles.

17. The non-transitory machine-readable storage medium of claim 16 , wherein:

the determining of the separate similarity score for each of the plurality of candidate profiles includes, for each similarity score:

accessing a part of a modified version of the candidate profile for comparison to a corresponding part of a modified version of the reference profile; and

determining a further sub-score that indicates a measure of similarity between the part of the modified version of the candidate profile and the corresponding part of the modified version of the reference profile; and wherein

the determining of the similarity a score is based on the further sub-score.

18. The non-transitory machine-readable storage medium of claim 16 , wherein the operations further comprise:

accessing data that specifies the plurality of profile features to be accessed; and wherein

in the determining of the separate similarity score for each of the plurality of candidate profiles, the accessing of the plurality of profile features of the candidate profile is based on the accessed data that specifies the plurality of profile features to be accessed.

19. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the system to perform operations comprising:

identifying a reference profile representing a reference member of a social networking service;

identifying a plurality of candidate profiles each representing a different candidate member of the social networking service;

determining a separate similarity score for each of the plurality of candidate profiles, wherein the determining of the separate similarity score for a candidate profile in the plurality of candidate profiles comprises:

accessing a plurality of profile features of the candidate profile;

determining for each profile feature in the plurality of profile features a corresponding sub-score by comparing the profile feature with a corresponding profile feature of the reference profile, the sub-score indicating a measure of similarity between the profile feature of the candidate profile and the corresponding profile feature of the reference profile; and

determining the similarity score for the candidate profile based on the sub-scores determined for the plurality of profile features, the similarity score indicating a measure of similarity between the candidate profile and the reference profile;

selecting a subset of candidate profiles from the plurality of candidate profiles, based on the similarity scores determined for the subset of candidate profiles; and

sending, to a client device, instructions to display information that identifies candidate members represented by the selected subset of candidate profiles.

20. The system of claim 19 , wherein:

the determining of the separate similarity score for each of the plurality of candidate profiles includes, for each similarity score:

accessing a part of a modified version of the candidate profile for comparison to a corresponding part of a modified version of the reference profile; and

determining a further sub-score that indicates a measure of similarity between the part of the modified version of the candidate profile and the corresponding part of the modified version of the reference profile; and wherein

the determining of the similarity score is based on the further sub-score.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044779/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2017
From: POSSE, CHRISTIAN; GUPTA, ABHISHEK; BHASIN, ANMOL; ROGATI, MONICA
To: LINKEDIN CORPORATION
Reel/Frame 043461/0452 →
Continuity (4)
Continuation 15364621 · Nov 30, 2016
Continuation 14602661 · Jan 22, 2015
Continuation 13194883 · Jul 29, 2011
Related Publication 20170364521A1 · Dec 21, 2017