IP Library Granted Patent US 11,048,705
Granted Patent B2
US 11,048,705 · App. 15/827,308 · Granted Jun 29, 2021

Query intent clustering for automated sourcing

Inventors: Vijay Dialani (Fremont, CA); Sahin Cem Geyik (Redwood City, CA); Abhishek Gupta (San Francisco, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/24575G06F15/76G06F16/285G06N20/00G06Q10/06G06Q50/01H04L67/20H04L67/306H04L67/42
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 11,048,705
App. No.
15/827,308
Granted
Jun 29, 2021
Kind
B2
Abstract

Techniques for query intent clustering for automated sourcing are described. In an example embodiment, disclosed is a system comprising a processor, a storage device, and a memory device holding an instruction set executable on the processor to cause the system to perform operations. The system obtains one or more recent hire member profiles used as a basis for a search on member profiles in a social networking service. Additionally, the system extracts one or more attributes from the one or more recent hire member profiles and stores the attributes on the storage device. Moreover, the system identifies skills clusters based on the extracted attributes retrieved from the storage device. Furthermore, the system generates a search query based on the identified skills clusters. Then, a search can be performed on member profiles in the social networking service using the generated search query, returning one or more result member profiles as candidates.

Claims (60)

1. A computer system, comprising:

a processor;

a storage device;

an attribute extractor;

a query generator; and

a memory device holding an instruction set executable on the processor to cause the computer system to perform operations comprising:

retrieving, from a database, one or more search attributes based on a mapping of the one or more search attributes to a given attribute submitted to an online networking service from a client system;

based on one or more search attributes, performing a search to identify one or more recent hire member profiles that contain a search attribute from the one or more search attributes, the one or more recent hire member profiles having been modified with a preset period of time to add the search attribute;

extracting, by the attribute extractor, one or more attributes from the one or more recent hire member profiles;

storing, on the storage device, the extracted one or more attributes;

identifying skills clusters based on the extracted one or more attributes retrieved from the storage device, the skills clusters based at least partially on skills shared by the identified one or more recent hire member profiles as compared to skills shared by member profiles that have not been modified within the preset period of time to add the search attribute; and

generating, by the query generator, a search query based on the identified skills clusters.

2. The computer system of claim 1 , the memory device to perform the operations comprising:

causing presentation of the generated search query on a display device of the client system;

subsequent to the presentation, receiving from the client system, a modified version of the generated search query; and

executing the modified version of the generated search query to retrieve search results.

3. The computer system of claim 1 , wherein identifying the skills clusters comprises:

performing latent Dirichlet allocation (LDA) for the given attribute and one or more search attributes; and

obtaining topic vectors resulting from performing the LDA.

4. The computer system of claim 1 , wherein extracting the one or more attributes comprises:

extracting skills from the one or more recent hire member profiles; and

mapping the extracted skills to skill identifiers.

5. The computer system of claim 4 , wherein identifying the skills clusters comprises performing query intent clustering for the skill identifiers.

6. The computer system of claim 4 , wherein identifying the skills clusters comprises:

creating a skills taxonomy for the skill identifiers; and

representing each skill identifier in the skills taxonomy as a categorical variable that is either absent or present in a member profile.

7. The computer system of claim 4 , wherein identifying the skills clusters comprises:

performing latent class analysis (LCA) to create the skills clusters as clusters of the skill identifiers.

8. A computer-implemented method, comprising:

retrieving, from a database, one or more search attributes based on a mapping of the one or more search attributes to a given attribute submitted to an online networking service from a client system;

based on one or more search attributes, performing a search to identify one or more recent hire member profiles that contain a search attribute from the one or more search attributes, the one or more recent hire member profiles having been modified with a preset period of time to add the search attribute;

extracting, by the attribute extractor, one or more attributes from the one or more recent hire member profiles;

storing, on the storage device, the extracted one or more attributes;

identifying skills clusters based on the extracted one or more attributes retrieved from the storage device, the skills clusters based at least partially on skills shared by the identified one or more recent hire member profiles as compared to skills shared by member profiles that have not been modified within the preset period of time to add the search attribute; and

generating, by the query generator, a search query based on the identified skills clusters.

9. The computer-implemented method of claim 8 , comprising:

causing presentation of the generated search query on a display device of the client system;

subsequent to the presentation, receiving from the client system, a modified version of the generated search query; and

executing the modified version of the generated search query to retrieve search results.

10. The computer-implemented method of claim 8 , wherein identifying the skills clusters comprises:

performing latent Dirichlet allocation (LDA) for the given attribute title and one or more search attributes; and

obtaining topic vectors resulting from performing the LDA.

11. The computer-implemented method of claim 8 , further comprising:

performing the search on the member profiles in the online networking service using the generated search query, returning one or more result member profiles as candidates.

12. The computer-implemented method of claim 8 , wherein extracting the one or more attributes comprises:

extracting skills from the one or more recent hire member profiles; and

mapping the extracted skills to skill identifiers.

13. The computer-implemented method of claim 12 , wherein identifying the skills clusters comprises performing query intent clustering for the skill identifiers.

14. The computer-implemented method of claim 12 , wherein identifying the skills clusters comprises:

creating a skills taxonomy for the skill identifiers; and

representing each skill identifier in the skills taxonomy as a categorical variable that is either absent or present in a member profile.

15. The computer-implemented method of claim 12 , wherein identifying the skills clusters comprises:

performing latent class analysis (LCA) to create the skills clusters as clusters of the skill identifiers.

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:

retrieving, from a database, one or more search attributes based on a mapping of the one or more search attributes to a given attribute submitted to an online networking service from a client system;

based on one or more search attributes, performing a search to identify one or more recent hire member profiles that contain a search attribute from the one or more search attributes, the one or more recent hire member profiles having been modified with a preset period of time to add the search attribute;

extracting, by the attribute extractor, one or more attributes from the one or more recent hire member profiles;

storing, on the storage device, the extracted one or more attributes;

identifying skills clusters based on the extracted one or more attributes retrieved from the storage device, the skills clusters based at least partially on skills shared by the identified one or more recent hire member profiles as compared to skills shared by member profiles that have not been modified within the preset period of time to add the search attribute; and

generating, by the query generator, a search query based on the identified skills clusters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2018
From: DIALANI, VIJAY; GEYIK, SAHIN CEM; GUPTA, ABHISHEK
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044628/0356 →