# US 2019/0171728 A1 · Contextual predictive type-ahead query suggestions

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

- Number: US 2019/0171728 A1
- Document ID: US20190171728A1
- Status: Published application
- Kind: A1
- Application number: 15/922,043
- Filed: 2018-03-15
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Swanand Wakankar; Dhruv Arya; Saurabh Kataria; Ada Cheuk Ying Yu
- Web page: https://patentgrep.com/patent/US20190171728A1

## CPC

- G06F 16/90324: {using system suggestions}
- G06F 9/453: {Help systems}
- G06F 16/24578: {using ranking}
- G06F 16/3322: {using system suggestions (G06F16/3325 takes precedence)}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06N 5/046: Forward inferencing; Production systems
- 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

In some embodiments, the disclosed subject matter involves techniques for generating type-ahead query suggestions for a user in a specific subject or application domain that are ranked using confidence levels and contextual scoring. Partial query strings may be parsed for literal matching and be processed for spell checks, acronym expansion, and other expansion and rewriting of the partial query to a known possible query suggestion. Possible query suggestions are weighted using global feature metrics. Various weighting, confidence levels and merging based on scoring may be used to rank the suggestions. A machine learning model may be used to assist in assigning scores based on metrics on interaction in the search domain. Other embodiments are described and claimed.

## Claims

### Claim 1

A method for providing type-ahead query suggestions, comprising:
receiving a partial query entered by a user in a user interface, wherein the partial query is specific to a search domain;
identifying one or more type-ahead query candidates from the partial query, wherein each of the one or more type-ahead query candidates has a corresponding confidence level, and wherein the confidence level is a measure of how relevant the type-ahead query candidate is to the partial query, wherein at least one of the type-ahead query candidates is an expansion of the partial query using spelling correction or acronym expansion;
for each of the one or more type-ahead query candidates, identifying at least one query suggestion corresponding to the type-ahead query candidate and having a suggestion score based on at least one of click-through-rate or context associated with global features of the search domain;
scoring of the query suggestions, wherein a score of the query suggestion is based on both the suggestion score associated with the query suggestion and the confidence level of the corresponding type-ahead query candidate;
comparing the scores of the query suggestions corresponding to type-ahead candidates;
ranking the query suggestion based on the score of each query suggestion; and
providing the ranked query suggestions to the user in a selectable user interface corresponding to an application within the search domain to allow the user to select a desired query suggestion before a full query has been entered by the user.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein providing the ranked query suggestions to the user further comprises:
selecting a subset of the ranked query suggestions as top ranked type-ahead suggestions, where the top ranked type-ahead suggestions comprise an N threshold highest ranking query suggestions, wherein N is a pre-determined threshold; and
providing the top ranked query suggestions to the user in the selectable user interface.

### Claim 3 (depends on 1)

The method as recited in claim 1, further comprising:
generating one or more type-ahead query candidates from probable spelling correction candidates for the partial query, when a spelling correction candidate exists; and
generating one or more type-ahead query candidates by treating the partial query and the one or more type-ahead query candidates generated during spelling correction as an acronym and identifying probable acronym expansions using a database of known global acronym expansions corresponding to the search domain.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein key-value vectors for a literal string corresponding to the partial query are pre-generated and stored in database where each key-value vector includes the literal string, the one or more type-ahead query candidates, and a confidence level that each of the one or more type-ahead query candidates is relevant to the partial query.

### Claim 5 (depends on 1)

The method as recited in claim 1, further comprising:
dynamically updating the ranked query suggestions presented to the user, responsive to the user modifying the partial query.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the search domain is in a field of job searching within ajob-related professional social network, and wherein the search domain includes contextual information for at least one of industry, company, job title, skill or pre-defined job-related keywords.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein acronym expansion of the partial query is inferred based on context of the partial query and the search domain.

### Claim 8 (depends on 1)

The method as recited in claim 1, further comprising:
deriving a set of type-ahead query candidates by calculating a weighted OR of a literal matching of the partial query and the one or more type-ahead query candidates.

### Claim 9

At least one computer readable storage medium having instructions stored thereon, the instructions when executed on a machine cause the machine to:
receive a partial query entered by a user in a user interface, wherein the partial query is specific to a search domain;
identify one or more type-ahead query candidates from the partial query, wherein each of the one or more type-ahead query candidates has a corresponding confidence level, and wherein the confidence level is a measure of how relevant the type-ahead query candidate is to the partial query, wherein at least one of the type-ahead query candidates is an expansion of the partial query using spelling correction or acronym expansion;
for each of the one or more type-ahead query candidates, identify at least one query suggestion corresponding to the type-ahead query candidate and having a suggestion score based on at least one of click-through-rate or context associated with global features of the search domain;
score the query suggestions, wherein a score of the query suggestion is based on both the suggestion score associated with the query suggestion and the confidence level of the corresponding type-ahead query candidate;
compare the scores of the query suggestions corresponding to type-ahead candidates and partial query;
rank the query suggestions based on the score of each query suggestion; and
provide the ranked query suggestions to the user in a selectable user interface corresponding to an application within the search domain to allow the user to select a desired query suggestion before a full query has been entered by the user.

### Claim 10 (depends on 9)

The medium as recited in claim 9, wherein instructions to provide the ranked query suggestions to the user further comprise:
select a subset of the ranked query suggestions as top ranked type-ahead suggestions, where the top ranked type-ahead suggestions comprise an N threshold highest ranking query suggestions, wherein N is a pre-determined threshold; and
provide the top ranked query suggestions to the user in the selectable user interface.

### Claim 11 (depends on 9)

The medium as recited in claim 9, further comprising instructions to:
generate one or more type-ahead query candidates from probable spelling correction candidates for the partial query, when a spelling correction candidate exists; and
generate one or more type-ahead query candidate by treating the partial query and the one or more type-ahead query candidates generated during spelling correction as an acronym and identifying probable acronym expansions using a database of known global acronym expansions corresponding to the search domain.

### Claim 12 (depends on 9)

The medium as recited in claim 9, wherein key-value vectors for a literal string corresponding to the partial query are pre-generated and stored in database where each key-value vector includes the literal string, the one or more type-ahead query candidates, and a confidence level that each of the one or more type-ahead query candidates is relevant to the partial query.

### Claim 13 (depends on 9)

The medium as recited in claim 9, further comprising instructions to:
dynamically update the ranked query suggestions presented to the user, responsive to the user modifying the partial query.

### Claim 14 (depends on 9)

The medium as recited in claim 9, wherein the search domain is in a field of job searching within ajob-related professional social network, and wherein the search domain includes contextual information for at least one of industry, company, job title, skill or pre-defined job-related keywords.

### Claim 15 (depends on 9)

The medium as recited in claim 9, wherein acronym expansion of the partial query is inferred based on context of the partial query and the search domain.

### Claim 16 (depends on 9)

The medium as recited in claim 9, further comprising instructions to:
derive a set of type-ahead query candidates by calculating a weighted OR of a literal matching of the partial query and the one or more type-ahead query candidates.

### Claim 17

A system for providing type-ahead query suggestions, comprising:
a processor configured to execute an application corresponding to a search domain, the application coupled to a user interface configured to enable a user to enter a search query corresponding to the search domain; and
a contextual type-ahead query suggestion engine communicatively integrated with the user interface of the application and executing on at least the processor or an additional processor, the contextual type-ahead query suggestion engine configured to:
receive the search query entered by the user in the user interface, wherein the search query is specific to the search domain;
identify one or more type-ahead query candidates from the search query, wherein each of the one or more type-ahead query candidates has a corresponding confidence level, and wherein the confidence level is a measure of how relevant the type-ahead query candidate is to the search query, wherein at least one of the one or more type-ahead query candidates is an expansion of the search query using spelling correction or acronym expansion, wherein the corresponding confidence level is accessed from a database of key-value vectors, each key-value vector comprising a literal string associated with the search query, the one or more type-ahead query candidates, and a confidence level that each of the one or more type-ahead query candidates is relevant to the search query, and wherein the confidence levels are calculated offline based on the search domain and historical user searches;
for each of the one or more type-ahead query candidates, identify at least one query suggestion corresponding to the type-ahead query candidate and having a suggestion score based on at least one of click-through-rate or context associated with global features of the search domain;
score the query suggestions, wherein a score of the query suggestion is based on both the suggestion score associated with the query suggestion and the confidence level of the corresponding type-ahead query candidate;
compare the scores of the query suggestion corresponding to type-ahead query candidate and search query;
rank the query suggestions based on the score of each query suggestions; and
provide the ranked query suggestions to the user in the user interface to allow the user to select a desired query suggestion from the ranked query suggestions before a full query has been entered by the user.

### Claim 18 (depends on 17)

The system as recited in claim 17, wherein the contextual type-ahead query suggestion engine is further configured to:
dynamically update the ranked query suggestions presented to the user, responsive to the user modifying the search query.

### Claim 19 (depends on 17)

The system as recited in claim 17, wherein the search domain is in a field of job searching within ajob-related professional social network, and wherein the search domain includes contextual information for at least one of industry, company, job title, skill or pre-defined job-related keywords.

### Claim 20 (depends on 17)

The system as recited in claim 17, wherein the contextual type-ahead query suggestion engine is further configured to:
generate one or more type-ahead query candidates from probable spelling correction candidates for the search query, when a spelling correction candidate exists; and
generate one or more type-ahead query candidates by treating the search query and the one or more type-ahead query candidates generated during spelling correction as an acronym and identify probable acronym expansions using a database of known global acronym expansions corresponding to the search domain.
