# US 2020/0401627 A1 · Embedding layer in neural network for ranking candidates

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

- Number: US 2020/0401627 A1
- Document ID: US20200401627A1
- Status: Published application
- Kind: A1
- Application number: 16/449,110
- Filed: 2019-06-21
- Published: 2020-12-24
- Earliest claimed: 2019-06-21
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Dan Liu; Daniel Sairom Krishnan Hewlett; Qi Guo; Wei Lu; Xuhong Zhang; Wensheng Sun; Mingzhou Zhou; Anthony Hsu; Keqiu Hu; Yi Wu; Chenya Zhang; Baolei Li
- Web page: https://patentgrep.com/patent/US20200401627A1

## CPC

- G06F 16/9038: Presentation of query results
- H04L 67/125: involving control of end-device applications over a network
- G06N 3/02: Neural networks
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/53: using third party service providers
- H04L 67/306: User profiles
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

In an example embodiment, a platform is provided that utilizes information available to a computer system to feed a neural network. The neural network is trained to determine both the probability that a searcher would select a given potential search result if it was presented to him or her and the probability that a subject of the potential search result would respond to a communication from the searcher. These probabilities are essentially combined to produce a single score that can be used to determine whether to present the searcher with the potential search result and, if so, how high to rank the potential search result among other search results. In a further example embodiment, embeddings used for the input features are modified during training to maximize an objective.

## Claims

### Claim 1

A system for returning search results in an online computer system, the system comprising:
a computer readable medium having instructions stored there on, which, when executed by a processor, cause the system to:
retrieve a plurality of sample member profiles of members of an online service, a plurality of sample member labels, and activity and usage information pertaining to actions taken by those members on the online service;
for each sample member profile in the plurality of sample member profiles:
parse the sample member profile and the activity and usage information pertaining to actions taken by a member corresponding to the sample member profile on the online service to extract a first set of one or more features;
parse an associated query to obtain one or more query features;
feed sample member labels, the extracted first set of one or more features and the extracted one or more query features into a first machine learning algorithm to train a neural network to output a score indicative of a probability that a searcher will select a potential search result corresponding to the first sample member profile and a probability that a member corresponding to the sample member profile will respond to a communication from a searcher, the neural network containing an embedding layer that, during training of the neural network, adjusts one or more embeddings of values of features, each embedding indicating a representation of a value of a feature in a dimensional space.

### Claim 2

The system of claim, wherein the instructions further cause the system to:
obtain a plurality of candidate search results in response to a query corresponding to a searcher;
obtain a member profile, in an online service, corresponding to the searcher;
for each candidate search result from the plurality of candidate search results:
obtain activity and usage information for a member corresponding to the candidate search result;
parse the candidate search result, the activity and usage information for the member corresponding to the candidate search result, and the member profile corresponding to the searcher to extract a second set of one or more features and a third set of one or more features;
parse the query to obtain one or more query features;
feed the extracted and one or more query features into the neural network, outputting a score for the candidate search result;
rank the plurality of candidate search results by their corresponding scores; and
return one or more of the plurality of candidate search results based on the ranking.

### Claim 3 (depends on 1)

The system of claim 1, wherein the embedding layer is designed to share embeddings across sets of features.

### Claim 4 (depends on 1)

The system of claim 1, wherein the neural network further comprises a rescaling layer, the rescaling layer learning rescaling transformations for one or more features during the training of the neural network.

### Claim 5 (depends on 1)

The system of claim 1, wherein the neural network further contains one or more hidden layers.

### Claim 6 (depends on 1)

The system of claim 1, wherein the neural network is a deep neural network.

### Claim 7 (depends on 1)

The system of claim 1, wherein the neural network is a convolutional neural network.

### Claim 8

A computer-implemented method for returning search results in an online computer system, the method comprising:
retrieving a plurality of sample member profiles of members of an online service, a plurality of sample member labels, and activity and usage information pertaining to actions taken by those members on the online service;
for each sample member profile in the plurality of sample member profiles:
parsing the sample member profile and the activity and usage information pertaining to actions taken by a member corresponding to the sample member profile on the online service to extract a first set of one or more features;
parsing an associated query to obtain one or more query features;
feeding sample member labels, the extracted first set of one or more features and the extracted one or more query features into a first machine learning algorithm to train a neural network to output a score indicative of a probability that a searcher will select a potential search result corresponding to the first sample member profile and a probability that a member corresponding to the sample member profile will respond to a communication from a searcher, the neural network containing an embedding layer that, during training of the neural network, adjusts one or more embeddings of values of features, each embedding indicating a representation of a value of a feature in a dimensional space.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
obtaining a plurality of candidate search results in response to a query corresponding to a searcher;
obtaining a member profile, in an online service, corresponding to the searcher;
for each candidate search result from the plurality of candidate search results:
obtaining activity and usage information for a member corresponding to the candidate search result;
parsing the candidate search result, the activity and usage information for the member corresponding to the candidate search result, and the member profile corresponding to the searcher to extract a second set of one or more features and a third set of one or more features;
parsing the query to obtain one or more query features;
feeding the extracted and one or more query features into the neural network, outputting a score for the candidate search result;
ranking the plurality of candidate search results by their corresponding scores; and
returning one or more of the plurality of candidate search results based on the ranking.

### Claim 10 (depends on 8)

The method of claim 8, wherein the embedding layer is designed to share embeddings across sets of features.

### Claim 11 (depends on 8)

The method of claim 8, wherein the neural network further comprises a rescaling layer, the rescaling layer learning rescaling transformations for one or more features during the training of the neural network.

### Claim 12 (depends on 8)

The method of claim 8, wherein the neural network further contains one or more hidden layers.

### Claim 13 (depends on 8)

The method of claim 8, wherein the neural network is a deep neural network.

### Claim 14 (depends on 8)

The method of claim 8, wherein the neural network is a convolutional neural network.

### Claim 15

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:
retrieving a plurality of sample member profiles of members of an online service, a plurality of sample member labels, and activity and usage information pertaining to actions taken by those members on the online service;
for each sample member profile in the plurality of sample member profiles:
parsing the sample member profile and the activity and usage information pertaining to actions taken by a member corresponding to the sample member profile on the online service to extract a first set of one or more features;
parsing an associated query to obtain one or more query features;
feeding sample member labels, the extracted first set of one or more features and the extracted one or more query features into a first machine learning algorithm to train a neural network to output a score indicative of a probability that a searcher will select a potential search result corresponding to the first sample member profile and a probability that a member corresponding to the sample member profile will respond to a communication from a searcher, the neural network containing an embedding layer that, during training of the neural network, adjusts one or more embeddings of values of features, each embedding indicating a representation of a value of a feature in a dimensional space.

### Claim 16 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, further comprising:
obtaining a plurality of candidate search results in response to a query corresponding to a searcher;
obtaining a member profile, in an online service, corresponding to the searcher;
for each candidate search result from the plurality of candidate search results:
obtaining activity and usage information for a member corresponding to the candidate search result:
parsing the candidate search result, the activity and usage information for the member corresponding to the candidate search result, and the member profile corresponding to the searcher to extract a second set of one or more features and a third set of one or more features;
parsing the query to obtain one or more query features;
feeding the extracted and one or more query features into the neural network, outputting a score for the candidate search result;
ranking the plurality of candidate search results by their corresponding scores; and
returning one or more of the plurality of candidate search results based on the ranking.

### Claim 17 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the embedding layer is designed to share embeddings across sets of features.

### Claim 18 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the neural network further comprises a rescaling layer, the rescaling layer learning rescaling transformations for one or more features during the training of the neural network.

### Claim 19 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the neural network further contains one or more hidden layers.

### Claim 20 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the neural network is a deep neural network.
