# US 2020/0401582 A1 · Low-latency typeahead with improved recall

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

- Number: US 2020/0401582 A1
- Document ID: US20200401582A1
- Status: Published application
- Kind: A1
- Application number: 16/450,851
- Filed: 2019-06-24
- Published: 2020-12-24
- Earliest claimed: 2019-06-24
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Hitesh Kumar; Michael Mario Jennings
- Web page: https://patentgrep.com/patent/US20200401582A1

## CPC

- G06F 16/2425: {Iterative querying; Query formulation based on the results of a preceding query}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/24575: {using context}
- G06F 16/24578: {using ranking}
- G06F 16/2458: Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F 16/288: {Entity relationship models}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an embodiment, the disclosed technologies include a method for generating a typeahead suggestion list for an input field of a search interface, including receiving, as digital input, a query string that has been extracted from the input field and context data that comprises one or more of: a search term that has been extracted from another input field of the search interface or a search criterion that has been extracted from a member profile that is associated with the query string via an online connection network; executing, on digital data extracted from the online connection network, one or more machine-readable queries that comprise one or more of the query string and the context data, to produce a set of candidate entities; outputting at least part of the set of candidate entities as a suggestion list that the search interface may display in association with the input field to facilitate query formulation via the input field.

## Claims

### Claim 1

A method for generating a typeahead suggestion list for an input field of a search interface, the method comprising:
receiving, as digital input, a query string that has been extracted from the input field and context data that comprises one or more of: a search term that has been extracted from another input field of the search interface or a search criterion that has been extracted from a member profile that is associated with the query string via an online connection network;
executing, on digital data extracted from the online connection network, one or more machine-readable queries that comprise one or more of the query string and the context data, to produce a set of candidate entities;
outputting at least part of the set of candidate entities as a suggestion list that the search interface may display in association with the input field to facilitate query formulation via the input field;
wherein the method is performed by one or more computing devices.

### Claim 2 (depends on 1)

The method of claim 1, comprising traversing a digital taxonomy to determine a canonical name for a non-canonical entity of the set of candidate entities and including the canonical name in the suggestion list in place of the non-canonical entity.

### Claim 3 (depends on 2)

The method of claim 2, comprising, in response to determining that a frequency of occurrence of the non-canonical entity in member profiles of the online connection network exceeds a threshold, adding the non-canonical entity to the suggestion list.

### Claim 4 (depends on 2)

The method of claim 2, comprising traversing the digital taxonomy in volatile memory of the one or more computing devices.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
using a federated search process to coordinate searching of the digital data extracted from the online connection network by a plurality of distributed search services and combine results retrieved by the plurality of distributed search services to generate the set of candidate entities.

### Claim 6 (depends on 5)

The method of claim 5, comprising ranking entities retrieved by search services of the plurality of distributed search services according to a latency bias, wherein the latency bias causes entities retrieved by a search service that has a lower latency to be ranked higher than entities retrieved by a search service that has a higher latency when low latency is preferred and the latency bias causes entities retrieved by a search service that has a higher latency to be ranked higher than entities retrieved by a search service that has a lower latency when search quality is preferred.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
extracting the query string from the input field;
wherein the input field has received the query string via an input device;
displaying the suggestion list in a list box that is adjacent to the input field on the search interface.

### Claim 8 (depends on 1)

The method of claim 1, comprising:
in response to a selection identifying a selected entity in the suggestion list, replacing the query string with the selected entity in the input field.

### Claim 9

A method for generating a typeahead suggestion list for an input field of a search interface, the method comprising:
receiving, as digital input, a query string that has been extracted from the input field;
inputting the query string to an automated search process that outputs, in response to the query string, a set of candidate entities;
wherein the set of candidate entities comprises at least one canonical entity;
ranking entities in the set of candidate entities according to a canonical bias to produce a suggestion list;
wherein the canonical bias causes canonical entities to be ranked higher than non-canonical entities;
wherein an entity is determined to be canonical or non-canonical using a digital taxonomy that has been constructed at least in part using data extracted from an online connection network;
outputting at least part of the set of candidate entities as a suggestion list that the search interface may display in association with the input field to facilitate query formulation via the input field;
wherein the method is performed by one or more computing devices.

### Claim 10 (depends on 9)

The method of claim 9, comprising:
ranking the entities in the set of candidate entities according to a completeness bias;
wherein the completeness bias causes complete entities to be ranked higher than entities that are not complete;
wherein an entity is determined to be complete or incomplete using the digital taxonomy.

### Claim 11 (depends on 10)

The method of claim 10, comprising
ranking the entities in the set of candidate entities according to an attribute bias;
wherein the attribute bias causes entities that contain a value for a particular attribute to be ranked higher than entities that do not contain a value for the particular attribute;
wherein an entity is determined to contain or not contain a value for the particular attribute using the digital taxonomy.

### Claim 12 (depends on 11)

The method of claim 11, wherein an entity of the set of candidate entities contains a job title, the job title has at least one of an occupation attribute, a role attribute, or a specialty attribute, and the method comprises one or more of:
ranking entities that contain a value for the occupation attribute higher than entities that do not contain a value for the occupation attribute, or
ranking entities that contain a value for the role attribute higher than entities that contain a value for the specialty attribute.

### Claim 13 (depends on 9)

The method of claim 9, comprising:
extracting the query string from the input field;
wherein the input field has received the query string via an input device;
displaying the suggestion list in a list box that is adjacent to the input field on the search interface.

### Claim 14 (depends on 9)

The method of claim 9, comprising:
in response to a selection identifying a selected entity in the suggestion list, replacing the query string with the selected entity in the input field.

### Claim 15

An apparatus comprising one or more non-transitory computer-readable storage media storing instructions which, when executed by one or more processors, cause:
receiving, as digital input, a query string that has been extracted from an input field of a search interface and context data that comprises one or more of: a search term that has been extracted from another input field of the search interface or a search criterion that has been extracted from a member profile that is associated with the query string via an online connection network;
executing, on digital data extracted from the online connection network, one or more machine-readable queries that comprise one or more of the query string and the context data, to produce a set of candidate entities;
outputting at least part of the set of candidate entities as a suggestion list that the search interface may display in association with the input field to facilitate query formulation via the input field.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the instructions, when executed by the one or more processors, further cause:
using a digital taxonomy that has been constructed at least in part using data extracted from the online connection network, determining that the set of candidate entities comprises at least one canonical entity;
ranking entities in the set of candidate entities according to a canonical bias to produce a suggestion list;
wherein the canonical bias causes canonical entities to be ranked higher than non-canonical entities.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the instructions, when executed by the one or more processors, further cause, in response to determining that a frequency of occurrence of a non-canonical entity in member profiles of the online connection network exceeds a threshold, increasing a ranking of the non-canonical entity.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the instructions, when executed by the one or more processors, further cause:
ranking entities in the set of candidate entities according to a completeness bias;
wherein the completeness bias causes complete entities to be ranked higher than entities that are not complete;
wherein an entity is determined to be complete or incomplete using a digital taxonomy that has been constructed at least in part using data extracted from the online connection network.

### Claim 19 (depends on 15)

The apparatus of claim 15, wherein the instructions, when executed by the one or more processors, further cause:
extracting the query string from the input field;
wherein the input field has received the query string via an input device;
displaying the suggestion list in a list box that is adjacent to the input field on the search interface.

### Claim 20 (depends on 15)

The apparatus of claim 15, wherein the instructions, when executed by the one or more processors, further cause:
in response to a selection identifying a selected entity in the suggestion list, replacing the query string with the selected entity in the input field.
