# US 10,769,136 B2 · Generalized linear mixed models for improving search

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,136 B2
- Document ID: US10769136B2
- Status: Granted
- Kind: B2
- Application number: 15/826,279
- Filed: 2017-11-29
- Published: 2019-05-30
- Granted: 2020-09-08
- Earliest claimed: 2017-11-29
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Cagri Ozcaglar; Xianren Wu; Jaewon Yang; Abhishek Gupta; Anish Ramdas Nair
- Web page: https://patentgrep.com/patent/US10769136B2

## CPC

- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/248: Presentation of query results
- G06F 16/25: Integrating or interfacing systems involving database management systems
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9536: Search customisation based on social or collaborative filtering
- G06Q 10/1053: Employment or hiring
- G06Q 10/42: Determination of affinities or common interests between users
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Techniques for improving search using generalized linear mixed models are disclosed herein. In some embodiments, a computer-implemented method comprises: receiving a search query comprising at least one search term and being associated with a user; extracting features from corresponding profiles of a plurality of candidates; for each one of the candidates, generating a corresponding score based on a generalized linear mixed model comprising a generalized linear query-based model and a random effects user-based model; selecting a subset of candidates from the plurality of candidates based on the corresponding scores; and causing the selected subset of candidates to be displayed to the user in a search results page for the search query.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by a computer system having at least one hardware processor, a search query from a computing device of a user, the search query comprising at least one search term and being received in association with a user identification identifying the user;
for each one of a plurality of candidates, extracting, by the computer system, features from a corresponding profile of the candidate stored in a database of a social networking service;
for each one of the plurality of candidates, generating, by the computer system, a corresponding score based on a generalized linear mixed model comprising a query-based model and a user-based model, the query-based model being a generalized linear model based on a search for the at least one search term in the profile of the one of the plurality of candidates, and the user-based model being a random effects model based on a history of user actions by the user directed towards candidates having profiles with features matching the features of the corresponding profile of the one of the plurality of candidates and indications of whether the candidates to whom the user actions were directed responded to the user actions with at least one of one or more specified responses;
selecting, by the computer system, a subset of candidates from the plurality of candidates based on the corresponding scores of the subset of candidates; and
causing, by the computer system, the selected subset of candidates to be displayed on the computing device of the user in a search results page for the search query.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the search query is received in association with a task identification identifying an agreement by the user to perform a specific task for an entity, and the generalized linear mixed model further comprises a task-based model, the task-based model being a random effects model based on a history of user actions associated with the task identification directed towards candidates having profiles with features matching the features of the corresponding profile of the one of the plurality of candidates and indications of whether the candidates to whom the user actions were directed responded to the user actions with at least one of one or more specified responses.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the query-based model is a fixed effects model.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the query-based model is based on at least one of term frequency and term frequency-inverse document frequency.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the features comprise at least one of educational background, employment history, industry, interests, and skills.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the user actions comprise sending messages to the candidates, and the one or more specified responses comprise at least one of reading the message and sending a reply message to the user.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein:
the generating the corresponding score for each one of the plurality of candidates is performed prior to the receiving of the search query from the computing device of the user;
the computer-implemented method further comprises storing, by the computer system, the generated scores in the database of the social networking service prior to the receiving of the search query from the computing device of the user; and
the selecting of the subset of candidates comprises retrieving the generated scores from the database in response to the receiving of the search query, and selecting the subset of candidates based on the retrieved scores.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the generating the corresponding score for each one of the plurality of candidates is performed in response to the receiving of the search query from the computing device of the user.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the selecting the subset of candidates comprises:
ranking the plurality of candidates based on their corresponding scores; and
selecting the subset of candidates based on the ranking of the plurality of candidates.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, by the computer system, an instruction from the computing device of the user to perform an action directed towards at least one of the subset of candidates;
performing, by the computer system, the action directed towards the at least one of the subset of candidates based on the instruction;
determining, by the computer system, whether the at least one of the subset of candidates to whom the action was directed responded to the action with at least one of the one or more specified responses;
for each one of the at least one of the subset of candidates to whom the action was directed, storing, by the computer system, an indication of whether the at least one of the subset of candidates responded to the action with at least one of the one or more specified responses in the database of the social networking service; and
using, by the computer system, a machine learning algorithm to modify the user-based model based on the stored indications of whether the at least one of the subset of candidates responded to the action with at least one of the one or more specified responses.

### Claim 11

A system comprising:
at least one hardware processor; and
a non-transitory machine-readable medium embodying a set of instructions that, when executed by the at least one hardware processor, cause the at least one processor to perform operations, the operations comprising:
receiving a search query from a computing device of a user, the search query comprising at least one search term and being received in association with a user identification identifying the user;
for each one of a plurality of candidates, extracting features from a corresponding profile of the candidate stored in a database of a social networking service;
for each one of the plurality of candidates, generating a corresponding score based on a generalized linear mixed model comprising a query-based model and a user-based model, the query-based model being a generalized linear model based on a search for the at least one search term in the profile of the one of the plurality of candidates, and the user-based model being a random effects model based on a history of user actions by the user directed towards candidates having profiles with features matching the features of the corresponding profile of the one of the plurality of candidates and indications of whether the candidates to whom the user actions were directed responded to the user actions with at least one of one or more specified responses;
selecting a subset of candidates from the plurality of candidates based on the corresponding scores of the subset of candidates; and
causing the selected subset of candidates to be displayed on the computing device of the user in a search results page for the search query.

### Claim 12 (depends on 11)

The system of claim 11, wherein the search query is received in association with a task identification identifying an agreement by the user to perform a specific task for an entity, and the generalized linear mixed model further comprises a task-based model, the task-based model being a random effects model based on a history of user actions associated with the task identification directed towards candidates having profiles with features matching the features of the corresponding profile of the one of the plurality of candidates and indications of whether the candidates to whom the user actions were directed responded to the user actions with at least one of one or more specified responses.

### Claim 13 (depends on 11)

The system of claim 11, wherein the query-based model is a fixed effects model based on at least one of term frequency and term frequency-inverse document frequency.

### Claim 14 (depends on 11)

The system of claim 11, wherein the features comprise at least one of educational background, employment history, industry, interests, and skills.

### Claim 15 (depends on 11)

The system of claim 11, wherein the user actions comprise sending messages to the candidates, and the one or more specified responses comprise at least one of reading the message and sending a reply message to the user.

### Claim 16 (depends on 11)

The system of claim 11, wherein:
the generating the corresponding score for each one of the plurality of candidates is performed prior to the receiving of the search query from the computing device of the user;
the operations further comprise storing the generated scores in the database of the social networking service prior to the receiving of the search query from the computing device of the user; and
the selecting of the subset of candidates comprises retrieving the generated scores from the database in response to the receiving of the search query, and selecting the subset of candidates based on the retrieved scores.

### Claim 17 (depends on 11)

The system of claim 11, wherein the generating the corresponding score for each one of the plurality of candidates is performed in response to the receiving of the search query from the computing device of the user.

### Claim 18 (depends on 11)

The system of claim 11, wherein the selecting the subset of candidates comprises:
ranking the plurality of candidates based on their corresponding scores; and
selecting the subset of candidates based on the ranking of the plurality of candidates.

### Claim 19 (depends on 11)

The system of claim 11, wherein the operations further comprise:
receiving an instruction from the computing device of the user to perform an action directed towards at least one of the subset of candidates;
performing the action directed towards the at least one of the subset of candidates based on the instruction;
determining whether the at least one of the subset of candidates to whom the action was directed responded to the action with at least one of the one or more specified responses;
for each one of the at least one of the subset of candidates to whom the action was directed, storing an indication of whether the at least one of the subset of candidates responded to the action with at least one of the one or more specified responses in the database of the social networking service; and
using a machine learning algorithm to modify the user-based model based on the stored indications of whether the at least one of the subset of candidates responded to the action with at least one of the one or more specified responses.

### Claim 20

A non-transitory machine-readable medium embodying a set of instructions that, when executed by at least one hardware processor, cause the processor to perform operations, the operations comprising:
receiving a search query from a computing device of a user, the search query comprising at least one search term and being received in association with a user identification identifying the user;
for each one of a plurality of candidates, extracting features from a corresponding profile of the candidate stored in a database of a social networking service;
for each one of the plurality of candidates, generating a corresponding score based on a generalized linear mixed model comprising a query-based model and a user-based model, the query-based model being a generalized linear model based on a search for the at least one search term in the profile of the one of the plurality of candidates, and the user-based model being a random effects model based on a history of user actions by the user directed towards candidates having profiles with features matching the features of the corresponding profile of the one of the plurality of candidates and indications of whether the candidates to whom the user actions were directed responded to the user actions with at least one of one or more specified responses;
selecting a subset of candidates from the plurality of candidates based on the corresponding scores of the subset of candidates; and
causing the selected subset of candidates to be displayed on the computing device of the user in a search results page for the search query.
