# US 10,503,767 B2 · Computerized natural language query intent dispatching

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

- Number: US 10,503,767 B2
- Document ID: US10503767B2
- Status: Granted
- Kind: B2
- Application number: 15/264,568
- Filed: 2016-09-13
- Published: 2018-03-15
- Granted: 2019-12-10
- Earliest claimed: 2016-09-13
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Hubert Van Hoof; David J. Brennan; Vidyaraman Sankaranarayanan; Ruchita Bhargava; Roberto Sonnino
- Web page: https://patentgrep.com/patent/US10503767B2

## CPC

- G06F 16/3334: {Selection or weighting of terms from queries, including natural language queries}
- G06F 16/2471: {Distributed queries}
- G06F 16/3329: Natural language query formulation
- G06F 16/3344: {using natural language analysis}
- G06F 40/205: Parsing
- G06F 40/253: Grammatical analysis; Style critique
- G06F 40/35: Discourse or dialogue representation
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A natural language query can be processed via a main natural language processor. A request to produce an intent of the query can be dispatched from the main natural language processor to an extension natural language processor. An intent of the query can be generated via the extension natural language processor in response to the dispatched request, with the generating of the intent being performed independently of the main natural language processor. The intent of the natural language query can be passed from the extension natural language processor to the main natural language processor in response to the request to produce the intent of the query. A selection of a conversation query processor for responding to the intent can be produced via the main natural language processor. Additionally, an instruction to respond to the intent of the query can be passed to the selected conversation query processor.

## Claims

### Claim 1

A computer system comprising:
at least one hardware processor; and
memory comprising instructions stored thereon that when executed by at least one hardware processor cause at least one hardware processor to perform acts comprising:
registering an extension natural language processor with a main natural language processor after the main natural language processor is operational;
processing a natural language query via a main natural language processor after the registering of the extension natural language processor;
dispatching a request to produce an intent of the query from the main natural language processor to an extension natural language processor, wherein the extension natural language processor is configured to determine an intent of the query;
generating an intent of the query via the extension natural language processor in response to the dispatched request, with the generating of the intent being performed independently of the main natural language processor;
passing the intent of the natural language query from the extension natural language processor to the main natural language processor in response to the request to produce the intent of the query;
producing, via the main natural language processor, a computer-readable selection of a conversation query processor for responding to the intent; and
passing to the selected conversation query processor a computer-readable instruction to respond to the intent of the query, with the computer-readable instruction identifying the intent of the query.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the acts further comprise:
receiving the natural language query from a computer client;
receiving, via the main natural language processor, an answer to the intent of the query from the selected conversation query processor; and
forwarding the answer from the main natural language processor to the computer client.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein the acts further comprise modifying the answer via the main natural language processor to produce a modified answer, and wherein the forwarding of the answer comprises forwarding the modified answer.

### Claim 4 (depends on 2)

The computer system of claim 2, wherein the acts further comprise producing the answer via the conversation query processor in response to the conversation query processor receiving the instruction to respond to the intent of the query.

### Claim 5 (depends on 4)

The computer system of claim 4, wherein the acts further comprise producing a computerized action requested in the query via the conversation query processor, with the action being different from and in addition to the answer.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein:
the dispatching of the request to produce an intent of the query from the main natural language processor to the extension natural language processor is part of dispatching a plurality of requests to produce an intent of the query from the main natural language processor to a plurality of extension natural language processors in a set of extension natural language processors;
the generating of the intent of the query via the extension natural language processor is part of generating a plurality of intents for the query via the plurality of extension natural language processors, with the generating of the intents being performed independently of the main natural language processor;
the passing of the intent of the natural language query to the main natural language processor is part of passing the plurality of intents from the plurality of extension natural language processors to the main natural language processor; and
the producing of the selection of the conversation query processor comprises producing, via the main natural language processor, a computer-readable selection of the intent from the plurality of intents.

### Claim 7 (depends on 6)

The computer system of claim 6, wherein the producing of the computer-readable selection of the intent comprises ranking the intents based on one or more factors, with the one or more factors comprising confidence values for the intents.

### Claim 8 (depends on 6)

The computer system of claim 6, wherein the producing of the computer-readable selection of the intent comprises ranking the intents based on a plurality of different factors.

### Claim 9 (depends on 6)

The computer system of claim 6, wherein the producing of the computer-readable selection of the intent comprises prioritizing the intents based on one or more factors, with the one or more factors comprising tiers of the extension natural language processors.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein the tiers comprise a first party extension natural language processor tier and a third party extension natural language processor tier.

### Claim 11 (depends on 1)

The computer system of claim 1, wherein the extension natural language processor is part of an extension that is separate from the main natural language processor, and wherein the acts comprise:
producing a masked user profile identification for a user profile associated with the natural language query, with the masked user profile identification being specific to the extension; and
sending the masked user profile identification to the extension.

### Claim 12

A computer-implemented method, comprising the following acts:
processing a natural language query via a main natural language processor, with the processing comprising producing a request to produce an intent of the query;
dispatching the request to produce an intent of the query, with the request to produce the intent being dispatched from the main natural language processor to an extension natural language processor that is configured to generate an intent of the query independently of the main natural language processor, the dispatching of the request being part of dispatching a plurality of requests to produce the intent of the query, with the dispatching of the requests comprising dispatching from the main natural language processor to a plurality of extension natural language processors in a set of extension natural language processors;
receiving an intent of the natural language query from the extension natural language processor in response to the dispatching of the request to produce an intent of the extension natural language processor, the receiving of the intent being part of receiving a plurality of intents for the query from the plurality of extension natural language processors;
processing the intent via the main natural language processor, with the processing comprising producing a computer-readable selection of a conversation query processor, the producing of the selection of the conversation query processor comprising producing a computer-readable selection of the intent from the plurality of intents; and
passing to the selected conversation query processor a computer-readable instruction to respond to the intent of the query, with the computer-readable instruction identifying the intent of the query.

### Claim 13 (depends on 12)

The method of claim 12, wherein the acts further comprise generating the intent of the query via the extension natural language processor, with the generating of the intent being performed independently of the main natural language processor.

### Claim 14 (depends on 12)

The method of claim 12, wherein the acts further comprise:
receiving the natural language query from a computer client;
receiving, via the main natural language processor, an answer to the intent of the query from the selected conversation query processor; and
forwarding the answer from the main natural language processor to the computer client.

### Claim 15 (depends on 12)

The method of claim 12, wherein the acts further comprise registering the extension natural language processor with the main natural language processor after the main natural language processor is operational and before the processing of the natural language query via the main natural language processor.

### Claim 16 (depends on 12)

The method of claim 12, wherein the producing of the computer-readable selection of the intent comprises receiving and processing a computer-readable user input selection of the selected intent.

### Claim 17 (depends on 12)

The method of claim 12, wherein the extension natural language processor is part of an extension that is separate from the main natural language processor, and wherein the acts comprise:
producing a masked user profile identification for a user profile associated with the natural language query, with the masked user profile identification being specific to the extension; and
sending the masked user profile identification to the extension.

### Claim 18

One or more computer-readable memory having computer-executable instructions embodied thereon that, when executed by at least one processor, cause at least one processor to perform acts comprising:
processing a natural language query via a main natural language processor, with the processing comprising producing a plurality of requests to produce an intent of the query;
dispatching the requests to produce an intent of the query, with the requests to produce the intent being dispatched from the main natural language processor to a set of extension natural language processors, and with the set of extension natural language processors each being configured to generate an intent of the query independently of the main natural language processor;
receiving, via the main natural language processor, an intent of the natural language query from each of the extension natural language processors in the set in response to the dispatching of the requests to produce an intent of the extension natural language processor;
producing, via the main natural language processor, a computer-readable selection of a selected intent of the received intents and a computer-readable selection of a selected conversation query processor matching the selected intent; and
passing from the main natural language processor to the selected conversation query processor a computer-readable instruction to respond to the selected intent of the query, with the computer-readable instruction identifying the selected intent of the query.

### Claim 19 (depends on 18)

The one or more computer-readable memory of claim 18, wherein the acts further comprise registering the extension natural language processor with the main natural language processor after the main natural language processor is operational and before the processing of the natural language query via the main natural language processor.

### Claim 20 (depends on 18)

The one or more computer-readable memory of claim 18, wherein the producing of the computer-readable selection of the intent comprises receiving and processing a computer-readable user input selection of the selected intent.
