# US 11,442,999 B2 · Personalized whole search page organization and relevance

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

- Number: US 11,442,999 B2
- Document ID: US11442999B2
- Status: Granted
- Kind: B2
- Application number: 16/044,112
- Filed: 2018-07-24
- Published: 2020-01-30
- Granted: 2022-09-13
- Earliest claimed: 2018-07-24
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Abhineet Mishra; Venkata Madhu Sravanth Kurumaddali
- Web page: https://patentgrep.com/patent/US11442999B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/24578: {using ranking}
- G06F 16/9038: Presentation of query results
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Representative embodiments disclose mechanisms to assign search results associated with a user query to locations based in part on features associated with the user's Internet of Things (IoT) devices. This results in a search page that presents results in an order and prominence that improves user understanding and information accessibility. Features from IoT devices are used to train a machine learning model that receives as an input information from an IoT entity index, the query, and results from the search engine along with their static rankings. The resultant IoT positioning scores are used to assign an initial location on the search results page. A second machine learning model trained using IoT features is then used to assign a final location on the page. The system causes display of the page to the user.

## Claims

### Claim 1

A computer implemented method, comprising:
receiving, from a search engine, a set of ranked search results that have been determined to be relevant to a search query associated with a user;
extracting a feature value from an entry in an Internet of Things (IoT) entity index based upon the query, the IoT entity index comprises entries that include data pertaining to devices associated with the user, the entry indicated as being associated with a category of entity in the IoT entity index, the feature value extracted based upon the category of entity being identified as relevant to the query;
determining an initial positioning score for a first search result in the set of ranked search results based upon output of a trained machine learning model, wherein the initial positioning score is based upon:
a rank of the first search result in the set of ranked search results;
the query; and
the feature value extracted from the entry in the IoT entity index based upon the query;
determining a final position for the first search result on a search results page based upon output of a classifier, wherein the classifier receives as input:
the initial positioning score;
the query; and
the feature value extracted from the entry in the IoT entity index; and causing display of the search results page to the user, wherein the first search result is presented at the final position on the search results page.

### Claim 2 (depends on 1)

The method of claim 1 wherein the feature value comprises a value pertaining to at least one of:
one or more properties associated with an IoT device associated with the user;
one or more attributes associated with the IoT device; or
data collected from the IoT device.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
assigning a positioning score to a third result in the set of ranked search results based upon:
a rank of the third search result in the set of ranked search results;
the query; and
the feature value extracted from the entry in the IoT entity index; and
assigning a location on the search results page to a third result in the set of ranked search results, wherein assigning the location to the third result comprises:
when the positioning score associated with the third result is lower than a first threshold, failing to assign a location on the search results page to the third result;
when the positioning score associated with the third result is between the first threshold and a second threshold, locating the result at a bottom portion of the search results page;
when the positioning score associated with the third result is between the second threshold and a third threshold, locating the result in a middle portion of the search results page; and
when the positioning score associated with the third result is above the third threshold, locating the result at a top portion of the search results page.

### Claim 4 (depends on 1)

The computer implemented method of claim 1, wherein the feature value is indicative of a brand of an IoT device associated with the user.

### Claim 5 (depends on 1)

The computer implemented method of claim 1, wherein the feature value is indicative of a current status of an IoT device associated with the user.

### Claim 6 (depends on 1)

The computer implemented method of claim 1, wherein the feature value is indicative of a model of an IoT device associated with the user.

### Claim 7 (depends on 1)

The computer implemented method of claim 1, wherein the feature value is indicative of a type of an IoT device associated with the user.

### Claim 8 (depends on 1)

The computer implemented method of claim 1, wherein the category of entity in the IoT entity index is a type of IoT device, the feature value extracted from the IoT entity index based upon the type of IoT device being identified as being relevant to the query.

### Claim 9 (depends on 1)

The method of claim 1, wherein the final position for the first search result is within a first region of the search results page, the first region being associated with a first type of search result.

### Claim 10 (depends on 9)

The method of claim 9, further comprising assigning a second search result in the set of ranked search results to a second region of the search results page based upon the second search result being a second type of search result.

### Claim 11 (depends on 9)

The method of claim 9 further comprising:
determining, based upon the feature value extracted from the IoT entity index, that the first search result is of the first type and that the second search result is of the second type.

### Claim 12 (depends on 11)

The method of claim 11 wherein the determining that the first search result is of the first type is based upon output of a second trained machine learning model that is trained using features associated with IoT devices.

### Claim 13

A system comprising:
a processor and device-storage media having executable instructions which, when executed by the processor, perform acts comprising:
receiving, from a search engine, a set of ranked search results that have been determined to be relevant to a search query associated with a user;
extracting a feature value from an entry in an Internet of Things (IoT) entity index based upon the query, the IoT entity index comprises entries that include data pertaining to devices associated with the user, the entry indicated as being associated with a category of entity in the IoT entity index, the feature value extracted based upon the category of entity being identified as relevant to the query;
determining an initial positioning score for a first search result in the set of ranked search results based upon output of a trained machine learning model, wherein the initial positioning score is based upon:
a rank of the first search result in the set of ranked search results;
the query; and
the feature value extracted from the entry in the IoT entity index based upon the query;
determining a final position for the first search result on a search results page based upon output of a classifier, wherein the classifier receives as input:
the initial positioning score;
the query; and
the feature value extracted from the entry in the IoT entity index; and causing display of the search results page to the user, wherein the first search result is presented at the final position on the search results page.

### Claim 14 (depends on 13)

The system of claim 13 wherein the feature value comprises a value pertaining to at least one of:
one or more properties associated with an IoT device associated with the user;
one or more attributes associated with the IoT device; and
data collected from the IoT device.

### Claim 15 (depends on 13)

The system of claim 13, the acts further comprising:
prior to causing display of the search results page, determining, based upon the feature value extracted from the IoT entity index, that the first search result is of a first type and that a second search result is of a second type, wherein the final position of the first search result is based upon the first search result being of the first type, and wherein a position of the second search result on the search results page is based upon the second search result being of the second type.

### Claim 16 (depends on 13)

The system of claim 13, wherein the feature value is based upon at least one of:
one or more properties associated with the IoT device;
one or more attributes associated with the IoT device; and
data collected from the IoT device.

### Claim 17 (depends on 13)

The system of claim 13, wherein the first type of results comprises webpage results, and wherein the second type of results is one of video results, audio results, image results, or task pane results.

### Claim 18 (depends on 13)

The system of claim 13, wherein the category of entity in the IoT entity index is a type of IoT device, the feature value extracted from the IoT entity index based upon the type of IoT device being identified as being relevant to the query.

### Claim 19

A computer storage medium comprising executable instructions that, when executed by a processor of a machine, cause the machine to perform acts comprising:
receiving, from a search engine, a set of ranked search results that have been determined to be relevant to a search query associated with a user;
extracting a feature value from an entry in an Internet of Things (IoT) entity index based upon the query, the IoT entity index comprises entries that include data pertaining to devices associated with the user, the entry indicated as being associated with a category of entity in the IoT entity index, the feature value extracted based upon the category of entity being identified as relevant to the query;
determining an initial positioning score for a first search result in the set of ranked search results based upon output of a trained machine learning model, wherein the initial positioning score is based upon:
a rank of the first search result in the set of ranked search results;
the query; and
the feature value extracted from the entry in the IoT entity index based upon the query;
determining a final position for the first search result on a search results page based upon output of a classifier, wherein the classifier receives as input:
the initial positioning score;
the query; and
the feature value extracted from the entry in the IoT entity index; and causing display of the search results page to the user, wherein the first search result is presented at the final position on the search results page.

### Claim 20 (depends on 19)

The medium of claim 19 wherein the feature value is based upon at least one of:
one or more properties associated with the IoT device;
one or more attributes associated with the IoT device; and
data collected from the IoT device.
