# US 2021/0240778 A1 · Systems and methods for intelligent responses to queries based on trained processes

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

- Number: US 2021/0240778 A1
- Document ID: US20210240778A1
- Status: Published application
- Kind: A1
- Application number: 17/239,233
- Filed: 2021-04-23
- Published: 2021-08-05
- Earliest claimed: 2018-10-03
- Assignees: The Toronto-Dominion Bank
- Applicants: The Toronto-Dominion Bank
- Inventors: Milos DUNJIC; Martin Albert LOZON; David Samuel TAX; Arthur Carroll CHOW; Peter Glen NAIRN; Edward James HOOD; John Jong-Suk LEE; Arun Victor JAGGA
- Web page: https://patentgrep.com/patent/US20210240778A1

## CPC

- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 16/2455: Query execution
- G06F 9/54: Interprogram communication
- G06F 16/24575: {using context}
- G06N 20/00: Machine learning
- G10L 15/063: {Training}
- G06F 16/3344: {using natural language analysis}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

Systems and methods are provided that use a trained process to reply to a request comprising query data defining a query and context data defining contextual factors for the query from a device. The query is answered by one or more selected APIs of a plurality of APIs that invoke respective services to prepare a response. The trained process determines an execution plan responsive to the query data and the context data and is configured using training to define execution plans comprising selected APIs where a particular API is selected for the plan if it answers at least a portion of the query and the selected APIs together prepare the response optimized for the device according to the context data. The plan is provided to an execution component to execute the plan using the selected APIs and send the response to the requesting device.

## Claims

### Claim 1

A computing device comprising a processor and a storage device coupled to the processor, the storage device storing instructions to configure operation of the computing device when executed by the processor, wherein the computing device is configured to:
provide an execution plan generation component for generating a plan to respond to a request, the plan comprising one or more selected Application Programming Interfaces (APIs) from a plurality of APIs, the plan generated using a trained process trained to select a particular API of the plurality of APIs for the plan if the particular API is configured to answer at least a portion of the request and the selected APIs together prepare a response optimized according to a context the request; and
in response to an update to the plurality of APIs:
retrain the trained process to accommodate the update to the plurality of APIs.

### Claim 2 (depends on 1)

The computing device according to claim 1, wherein the trained process is retrained using applicable training query data and applicable training context data for the update to the plurality of APIs.

### Claim 3 (depends on 1)

The computing device according to claim 1, wherein the update to the APIs comprises one of an addition of a new API, a change to or removal of one of plurality of APIs.

### Claim 4 (depends on 1)

The computing device according to claim 1 configured to provide the plan to an execution handling component to execute the plan to prepare the response for communication to a requesting device.

### Claim 5 (depends on 4)

The computing device according to claim 4 configured to: receive the plan at the execution handling component; prepare the response according to the plan; and send the response to the requesting device.

### Claim 6 (depends on 1)

The computing device according to claim 1, wherein the trained process is retrained using a regression method or a classification method.

### Claim 7 (depends on 6)

The computing device according to claim 6, wherein the classification method is a supervised method, a semi-supervisor method, or an unsupervised method.

### Claim 8 (depends on 7)

The computing device according to claim 7, wherein the supervised method comprises using one or more of a neural network, a support vector machine, linear or quadratic discriminant analysis, and boosting.

### Claim 9 (depends on 7)

The computing device according to claim 7, wherein the unsupervised method comprises using one or more of k-means clustering, Gaussian mixture models, and principal or independent component analysis.

### Claim 10 (depends on 1)

The computing device according to claim 1, wherein the computing device is configured to collect information whether the response was successful as a specific measure of success, and adaptively train the trained process using the specific measure of success.

### Claim 11 (depends on 1)

The computing device according to claim 1, wherein the request is originated by a requesting device and the request comprises query data defining a query and context data defining contextual factors for responding to the query.

### Claim 12 (depends on 11)

The computing device according to claim 11, wherein the context data comprises any of:
device data comprising: make and model data; configuration data; processor speed data; output capabilities data comprising: display type data, sound type data, natural language output data, display screen capabilities data comprising: size data, resolution data, and colour data; size of device storage data; device request interface data comprising native application data browser data or other interface data; and device location data;
communication data comprising: network name data, network type data; speed data; latency data; Quality Of Service (QOS) parameters data; and
user specific data comprising demographic information associated with a user of the requesting device; and a user identifier indicating the user of the requesting device.

### Claim 13 (depends on 11)

The computing device according to claim 11, wherein the computing device is configured to assign default context data when at least some context data is missing from the request.

### Claim 14 (depends on 1)

The computing device according to claim 1 configured to process the request using natural language processing techniques.

### Claim 15 (depends on 1)

The computing device according to claim 1, wherein one of the selected APIs invokes a respective service which requires user authentication to access the respective service and wherein the computing device is configured to receive a user authentication for the respective service and provide the user authentication to the respective service.

### Claim 16 (depends on 1)

The computing device according to claim 1, wherein query data and context data associated with the request are received according to one or both of: i) directly from a requesting device and ii) on behalf of the requesting device from a third party.

### Claim 17 (depends on 1)

The computing device according to claim 1, wherein the execution plan generation component uses the training process as retrained to generate execution plans.

### Claim 18

A method comprising:
providing an execution plan generating component to generate a plan to respond to a request, the plan comprising one or more selected Application Programming Interfaces (APIs) from a plurality of APIs, the plan generated using a trained process trained to select a particular API of the plurality of APIs for the plan if the particular API is configured to answer at least a portion of the request and the selected APIs together prepare a response optimized according to a context the request; and
in response to an update to the plurality of APIs:
retraining the trained process to accommodate the update to the plurality of APIs.

### Claim 19 (depends on 18)

The method according to claim 18, wherein the trained process is retrained using applicable training query data and applicable training context data for the update to the plurality of APIs.

### Claim 20 (depends on 18)

The method according to claim 18, wherein the update to the APIs comprises one of an addition of a new API, a change to or removal of one of plurality of APIs.

### Claim 21 (depends on 18)

The method according to claim 18 comprising providing the plan to an execution handling component to execute the plan to prepare the response for communication to a requesting device.

### Claim 22 (depends on 21)

The method according to claim 21 comprising receiving the plan at the execution handling component; preparing the response according to the plan; and sending the response to the requesting device.

### Claim 23 (depends on 18)

The method according to claim 18, wherein the trained process is retrained using a regression method or a classification method.

### Claim 24 (depends on 23)

The method according to claim 23, wherein the classification method is a supervised method, a semi-supervisor method, or an unsupervised method.

### Claim 25 (depends on 24)

The method according to claim 24, wherein the supervised method comprises using one or more of a neural network, a support vector machine, linear or quadratic discriminant analysis, and boosting.

### Claim 26 (depends on 24)

The method according to claim 24, wherein the unsupervised method comprises using one or more of k-means clustering, Gaussian mixture models, and principal or independent component analysis.

### Claim 27 (depends on 18)

The method according to claim 18 comprising collecting information whether the response was successful as a specific measure of success, and adaptively training the trained process using the specific measure of success.

### Claim 28 (depends on 18)

The method according to claim 18, wherein the request is originated by a requesting device and the request comprises query data defining a query and context data defining contextual factors for responding to the query.

### Claim 29 (depends on 28)

The method according to claim 28, wherein the context data comprises any of:
device data comprising: make and model data; configuration data; processor speed data; output capabilities data comprising: display type data, sound type data, natural language output data, display screen capabilities data comprising: size data, resolution data, and colour data; size of device storage data; device request interface data comprising native application data browser data or other interface data; and device location data;
communication data comprising: network name data, network type data; speed data; latency data; Quality Of Service (QOS) parameters data; and
user specific data comprising demographic information associated with a user of the requesting device; and a user identifier indicating the user of the requesting device.

### Claim 30 (depends on 28)

The method according to claim 28, comprising assigning default context data when at least some context data is missing from the request.

### Claim 31 (depends on 18)

The method according to claim 18, wherein the request is processed using natural language processing techniques.

### Claim 32 (depends on 18)

The method according to claim 18, wherein one of the selected APIs invokes a respective service which requires user authentication to access the respective service and wherein the method comprises receiving a user authentication for the respective service and providing the user authentication to the respective service.

### Claim 33 (depends on 18)

The method according to claim 18, wherein query data and context data associated with the request are received according to one or both of: i) directly from a requesting device and ii) on behalf of the requesting device from a third party.

### Claim 34

A computer program product comprising a non-transient storage device storing instructions, which when executed by a processor of a computing device configure the computing device to:
providing an execution plan generating component to generate a plan to respond to a request, the plan comprising one or more selected Application Programming Interfaces (APIs) from a plurality of APIs, the plan generated using a trained process trained to select a particular API of the plurality of APIs for the plan if the particular API is configured to answer at least a portion of the request and the selected APIs together prepare a response optimized according to a context the request; and
in response to an update to the plurality of APIs:
retrain the trained process to accommodate the update to the plurality of APIs.
