IP Library Granted Patent US 10,984,385
Granted Patent B2
US 10,984,385 · App. 15/168,811 · Granted Apr 20, 2021

Query building for search by ideal candidates

Inventors: Ye Xu (Hanover, NH); Viet Thuc Ha (Milpitas, CA); Xianren Wu (Santa Clara, CA); Satya Pradeep Kanduri (Mountain View, CA); Vijay Dialani (Fremont, CA); Yan Yan (San Jose, CA); Abhishek Gupta (San Francisco, CA); Shakti Dhirendraji Sinha (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
G06Q10/1053G06F16/242G06F16/248G06F16/24575G06F16/24578G06Q50/01
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,984,385
App. No.
15/168,811
Granted
Apr 20, 2021
Kind
B2
Abstract

In an example embodiment, one or more specified ideal candidates are used to perform a search in a database. One or more attributes are extracted from one or more ideal candidate member profiles. A search query is then generated based on the extracted one or more attributes. Then, a search is performed on member profiles in the social networking service using the generated search query, returning one or more result member profiles.

Claims (71)

1. A computer-implemented method, comprising:

causing display, in a graphical user interface, of identifications of a plurality of member profiles, each of the member profiles comprising a page, renderable by a user interface, containing attributes of a different member of an online service:

receiving, via the graphical user interface, a selection of a plurality of the identifications, each of the plurality of identifications corresponding to a different member profile from the plurality of member profiles and identifying the corresponding member profile as one of a plurality of ideal candidate member profiles;

extracting, by a hardware processor, one or more attributes from the plurality of ideal candidate member profiles;

generating, by the hardware processor, a search query based on the extracted one or more attributes, the generating comprising:

forming an expertise matrix, the expertise matrix containing an expertise score for each of a plurality of combinations of member profiles and skills for members of the online service, the expertise score for a given combination of member profile and skill indicating a level of expertise for a corresponding member in a corresponding skill;

factorizing the expertise matrix into a member matrix and a skills matrix;

ranking the one or more attributes from the plurality of ideal candidate member profiles based on the expertise matrix and the skills matrix; and

selecting top N attributes based on the ranking;

modifying the generated search query to include the selected top N attributes; and

performing a search on member profiles in the online service using the modified generated search query, returning one or more result member profiles.

2. The method of claim 1 , wherein the expertise scores are generated using a supervised machine learning algorithm that combines a plurality of signals, the signals comprising a skill-endorsement graph page rank, a skill-profile textual similarity and member seniority.

3. The method of claim 2 , wherein the machine learning algorithm uses logistic regression.

4. The method of claim 1 , wherein the factorizing includes mapping the member matrix and the skill matrix in a K-dimensional latent space.

5. The method of claim 1 , further comprising assigning an expertise score of zero to a particular combination of member profile and skill if a member corresponding to the member profile has a calculated expertise score in the skill below a threshold.

6. The method of claim 5 , further comprising training a machine learning model to make suggestions of query modifications based on one or more facets, the training using usage data indicative of whether users added a suggestion, deleted a suggestion, or ignored a suggestion.

7. The method of claim 2 , wherein the supervised machine learning algorithm classifies each member profile as either an expert or a non-expert in a corresponding skill, based at least partially on publications in respective fields.

8. The method of claim 6 , wherein the training includes using a log from a query-based search.

9. The method of claim 1 , further comprising: calculating a dot product of the expertise matrix and the skill matrix.

10. The method of claim 1 , further comprising:

ranking the one or more result member profiles by:

computing a career path similarity between each of the plurality of ideal candidate member profiles and each of the one or more result member profiles;

feeding the computed career path similarity and each of the one or more result member profile into a machine learned model trained by a machine learning algorithm to output a similarity score based on career path similarity, the similarity score based on trajectory information including a model of a member profile as a sequence of nodes, wherein each node records company, title, industry, and time duration information for a particular position of a corresponding member's career; and

ordering the one or more result member profile by their corresponding similarity score.

11. The method of claim 10 , wherein the machine learned model is a generalized linear model.

12. The method of claim 10 , wherein the machine learned model models each member profile as a sequence of nodes, wherein each node records information about a different position in a members career.

13. A system comprising:

a computer-readable medium having instructions stored thereon, which, when executed by a processor, cause the system to:

receive, via the graphical user interface, a selection of a plurality of the identifications, each of the plurality of identifications corresponding to a different member profile from the plurality of member profiles and identifying the corresponding member profile as one of a plurality of ideal candidate member profiles;

extract, by a hardware processor, one or more attributes from the plurality of ideal candidate member profiles;

generate, by the hardware processor, a search query based on the extracted one or more attributes, the generating comprising:

form an expertise matrix, the expertise matrix containing an expertise score for each of a plurality of combinations of member profiles and skills for members of the online service, the expertise score for a given combination of member profile and skill indicating a level of expertise for a corresponding member in a corresponding skill;

factorize the expertise matrix into a member matrix and a skills matrix;

rank the one or more attributes from the plurality of ideal candidate member profiles based on the expertise matrix and the skills matrix; and

select top N attributes based on the ranking;

modify the generated search query to include the selected top N attributes; and

perform a search on member profiles in the online service using the modified generated search query, returning one or more result member profiles.

14. The system of claim 13 , wherein the generating a search query comprises:

aggregating the one or more attributes across the one or more ideal candidate member profiles; and

selecting top attributes most similar to attributes of all of the one or more ideal candidate member profiles.

15. The system of claim 13 , wherein the generating includes:

calculating a set of expertise scores using a statistical model and a set of features regarding skills of the one or more ideal candidate member profiles, the statistical model trained using a machine learning algorithm;

using the expertise scores to rank skills of the one or more ideal candidate member profiles; and

adding one or more top ranked skills to the search query.

16. The system of claim 15 , wherein the statistical model is a logistic regression model.

17. The system of claim 13 , wherein the generating includes:

referencing a second browse map, the second browse map identifying companies having employees whose corresponding member profiles have been viewed during a same browsing session, to identify co-viewed companies; and

adding, to the search query, one or more companies that have been co-viewed during the same browsing session as a company identified in one or more of the ideal candidate member profiles, using the second browse map.

18. The system of claim 13 , wherein the instructions further cause the system to submit the search query to a searcher for editing.

19. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

causing display, in a graphical user interface, of identifications of a plurality of member profiles, each of the member profiles comprising a page, renderable by a user interface, containing attributes of a different member of an online service;

receiving, via the graphical user interface, a selection of a plurality of the identifications, each of the plurality of identifications corresponding to a different member profile from the plurality of member profiles and identifying the corresponding member profile as one of a plurality of ideal candidate member profiles;

extracting, by a hardware processor, one or more attributes from the plurality of ideal candidate member profiles;

generating, by the hardware processor, a search query based on the extracted one or more attributes, the generating comprising

forming an expertise matrix, the expertise matrix containing an expertise score for each of a plurality of combinations of member profiles and skills for members of the online service, the expertise score for a given combination of member profile and skill indicating a level of expertise for a corresponding member in a corresponding skill;

factorizing the expertise matrix into a member matrix and a skills matrix;

ranking the one or more attributes from the plurality of ideal candidate member profiles based on the expertise matrix and the skills matrix; and

selecting top N attributes based on the ranking;

modifying the generated search query to include the selected top N attributes; and

performing a search on member profiles in the online service using the modified generated search query, returning one or more result member profiles.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the generating the search query comprises:

aggregating the one or more attributes across the one or more ideal candidate member profiles; and

selecting top attributes most similar to attributes of all of the one or more ideal candidate member profiles.

21. The non-transitory machine-readable storage medium of claim 19 , wherein the generating includes:

calculating a set of expertise scores using a statistical model and a set of features regarding skills of the one or more ideal candidate member profiles, the statistical model trained using a machine learning algorithm;

using the expertise scores to rank skills of the one or more ideal candidate member profiles; and

adding one or more top ranked skills to the search query.

22. The non-transitory machine-readable storage medium of claim 21 , wherein the statistical model is a logistic regression model.

23. The non-transitory machine-readable storage medium of claim 19 , wherein the generating includes:

referencing a second browse map, the second browse map identifying companies having employees whose corresponding member profiles have been viewed during a same browsing session, to identify co-viewed companies; and

adding, to the search query, one or more companies that have been co-viewed during the same browsing session as a company identified in one or more of the ideal candidate member profiles, using the second browse map.

Assignments (4)
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 CORRECT SPELLING OF VIET THUC HA'S NAME AS PREVIOUSLY RECORDED ON REEL 038952 FRAME 0219. ASSIGNOR(S) HEREBY CONFIRMS THE FILING OF THE ASSIGNMENT. Recorded Aug 1, 2016
From: XU, YE; THUC HA, VIET; WU, XIANREN; KANDURI, SATYA PRADEEP; DIALANI, VIJAY; YAN, YAN; GUPTA, ABHISHEK; SINHA, SHAKTI DHIRENDRAJI
To: LINKEDIN CORPORATION
Reel/Frame 039534/0885 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF VIET THUC HA'S NAME AS PREVIOUSLY RECORDED ON REEL 038751 FRAME 0622. ASSIGNOR(S) HEREBY CONFIRMS THE FILING OF THE ASSIGNMENT. Recorded Jun 10, 2016
From: XU, YE; HA-THUC, VIET; WU, XIANREN; KANDURI, SATYA PRADEEP; DIALANI, VIJAY; YAN, YAN; GUPTA, ABHISHEK; SINHA, SHAKTI DHIRENDRAJI
To: LINKEDIN CORPORATION
Reel/Frame 038952/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2016
From: XU, YE; HA, VIET THUC; WU, XIANREN; KANDURI, SATYA PRADEEP; DIALANI, VIJAY; YAN, YAN; GUPTA, ABHISHEK; SINHA, SHAKTI DHIRENDRAJI
To: LINKEDIN CORPORATION
Reel/Frame 038751/0622 →
Continuity (1)
Related Publication 20170344954A1 · Nov 30, 2017