IP Library › Granted Patent US 11,106,683
Granted Patent B2
US 11,106,683 · App. 16/050,259 · Granted Aug 31, 2021

System architecture for interactive query processing

Inventors: Shiv Kumar (Bangalore, IN); Ranjana Bhalchandra Narawane (Mumbai, IN); Vinay Avinash Dorie (Bangalore, IN); Suchit Vishnupant Bhatwadekar (Pune, IN)
Assignee: ACCENTURE GLOBAL SOLUTIONS LIMITED
G06F16/24575G06F9/451G06F16/2428G06F16/3329G06F16/90332G06F16/9537G06N5/02G06Q30/0613
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,106,683
App. No.
16/050,259
Filed
Jul 31, 2018
Granted
Aug 31, 2021
Kind
B2
Examiner
VU, BAI DUC
Art Unit
2165
USPC
707/722
Abstract

An interactive query processing system provides a user interface, including a “chat bot,” capable of receiving natural language queries from users, processing those queries to determine intents and entities, extracting data from applications and portals, synthesizing the data, and displaying the data to the user via the user interface in a useful, easy to understand, and unified format. The user utilizes a singular UI to receive data responsive to queries rapidly instead of manually extracting and synthesizing data from multiple different portals or dashboards. Additionally, the system provides actionable insights without requiring a user to sort or analyze data from multiple sources.

Claims (167)

1. A method comprising:

in a query processing hardware system:

obtaining a first query from a user device;

communicating the first query to artificial intelligence (AI) engine circuitry, wherein the AI engine circuitry executes a pre-trained natural language processing model on the first query, the pre-trained natural language processing model having been trained with a plurality of terminologies and a plurality of primary queries;

receiving, from the AI engine circuitry, a first parsed query response, the first parsed query response including at least one of a first intent in the first query or a first entity in the first query;

determining a first application associated with the at least one of the first entity or the first intent based on a plurality of decision trees and a plurality of mappings, wherein the plurality of decision trees provides pre-programmed actions responsive to the at least one of the first entity or the first intent, and the plurality of mappings maps the at least one of the first entity or the first intent to the first application;

determining a first application query associated with the at least one of the first entity or the first intent based on the plurality of decision trees and the plurality of mappings, wherein the plurality of mappings maps the at least one of the first entity or the first intent to the first application query;

communicating the first application query to the first application;

receiving first result information from the first application responsive to the first application query;

communicating the first result information to the user device;

obtaining a second query from the user device, wherein the second query is subsequent to the first query and a context of the second query is selected from the first result information;

communicating the second query to the AI engine circuitry;

receiving, from the AI engine circuitry, a second parsed query response, the second parsed query response including a second intent in the second query;

determining that an action corresponding to the second intent requires a corresponding entity field;

determining that the second parsed query response did not include a second entity;

when it is determined that the second parsed query response did not include the second entity, reviewing the first query to determine a first context of the first query and using the determined first context as a current context of the second query, wherein the first context includes the first entity;

determining a second application associated with the second intent and the first entity;

determining a second application query associated with the second intent and the first entity;

communicating the second application query to the second application;

receiving second result information from the second application responsive to the second application query, wherein the second application provides the second result information that is more detailed than the first result information provided by the first application; and

communicating the second result information to the user device.

2. The method of claim 1 , further comprising:

in user interface circuitry:

providing a dynamic user interface to the user device, the dynamic user interface including a query entry element;

receiving the first query from the user device via the dynamic user interface;

generating a first graphical element representing the first result information; and

providing the first graphical element to the user device via the dynamic user interface.

3. The method of claim 1 , further comprising:

in the query processing hardware system:

determining a first actionable insight based on the first result information, the first actionable insight corresponding to the first entity;

communicating the first actionable insight to the user device;

receiving a positive actionable insight response from the user device;

determining a second application associated with the first entity and the first actionable insight;

determining a second application query associated with the first entity and the first actionable insight;

communicating the second application query to the second application;

receiving second result information from the second application responsive to the second application query; and

communicating the second result information to the user device.

4. The method of claim 1 , further comprising:

receiving a request for additional data corresponding to the first result information from the user device;

determining a second application associated with the first entity and the request for additional data;

determining a second application query associated with the first entity and the request for additional data;

communicating the second application query to the second application;

receiving second result information from the second application responsive to the second application query; and

communicating the second result information to the user device.

5. The method of claim 1 , further comprising:

at the AI engine circuitry:

receiving the first query from the query processing hardware system;

processing the first query with a pre-trained natural language processing model to parse the first query into the first parsed query response including the at least one of the first intent or the first entity;

determining a first confidence level corresponding to the first parsed query response; and

communicating the first parsed query response and the first confidence level to the query processing hardware system.

6. The method of claim 5 , further comprising, prior to receiving the first query from the query processing hardware system, training a natural language processing model with training data to generate the pre-trained natural language processing model, the training data comprising at least one term included in the first query and a corresponding natural language processing response including at least one of the first intent or the first entity.

7. The method of claim 6 further comprising training the natural language processing model with:

a plurality of terminologies and corresponding intents, and

a plurality of primary queries and corresponding intents.

8. The method of claim 1 , further comprising:

prior to determining the first application and the first application query associated with the at least one of the first entity or the first intent:

receiving a confidence level corresponding to the first parsed query response from the AI engine circuitry;

determining that the confidence level does not exceed a confidence threshold level;

communicating a confirmation query to the user device, the confirmation query requesting confirmation that the first query corresponded to the at least one of the first intent and the first entity; and

receiving a confirmation query response from the user device.

9. The method of claim 1 , further comprising:

receiving a location of the user device;

determining a customer sales account located geographically closest to the location of the user device;

communicating a geographically contextual query to the user device regarding the customer sales account;

receiving a positive geographically contextual response from the user device; and

setting a current query context to include the customer sales account.

10. The method of claim 1 , further comprising:

communicating, by the query processing hardware system, a feedback query to the user device requesting for feedback as to helpfulness of a previous response;

receiving a positive feedback query response from the user device;

logging the positive feedback query response as corresponding to the previous response and a corresponding previous query; and

retraining the pre-trained natural language processing model using the positive feedback query response, the previous response, and the corresponding previous query.

11. A system comprising:

a non-transitory memory storing instructions executable to process a query; and

a processor configured to execute the instructions and to:

receive a first query from a user device;

communicate the first query to artificial intelligence (AI) engine circuitry, wherein the AI engine circuitry executes a pre-trained natural language processing model on the first query, the pre-trained natural language processing model having been trained with a plurality of terminologies and a plurality of primary queries;

receive, from the AI engine circuitry, a first parsed query response, the first parsed query response including at least one of a first intent in the first query or a first entity in the first query;

determine a first application of a plurality of applications associated with the at least one of the first entity or the first intent based on a plurality of decision trees and a plurality of mappings, wherein the plurality of decision trees provides pre-programmed actions responsive to the at least one of the first entity or the first intent, and the plurality of mappings maps the at least one of the first entity or the first intent to the first application;

determine a first application query associated with the at least one of the first entity or the first intent based on the plurality of decision trees and the plurality of mappings, wherein the plurality of mappings maps the at least one of the first entity or the first intent to the first application query;

communicate the first application query to the first application;

receive first result information from the first application responsive to the first application query;

communicate the first result information to the user device;

receive a second query from the user device, wherein the second query is subsequent to the first query and a context of the second query is selected from the first result information;

communicate the second query to the AI engine circuitry;

receive, from the AI engine circuitry, a second parsed query response, the second parsed query response including a second intent in the second query;

determine that an action corresponding to the second intent requires a corresponding entity field;

determine that the second parsed query response did not include a second entity;

when it is determined that the second parsed query response did not include the second entity, review the first query to determine a first context of the first query and use the determined first context as a current context of the second query, wherein the first context includes the first entity;

determine a second application associated with the second intent and the first entity;

determine a second application query associated with the second intent and the first entity;

communicate the second application query to the second application;

receive second result information from the second application responsive to the second application query, wherein the second application provides the second result information that is more detailed than the first result information provided by the first application; and

communicate the second result information to the user device.

12. The system of claim 11 , wherein the processor is configured to cause user interface circuitry to:

provide a dynamic user interface to the user device, the dynamic user interface including a query entry element;

receive the first query from the user device via the dynamic user interface;

generate a first graphical element representing the first result information; and

provide the first graphical element to the user device via the dynamic user interface.

13. The system of claim 11 , wherein the processor is further configured to:

determine a first actionable insight based on the first result information, the first actionable insight corresponding to the first entity;

communicate the first actionable insight to the user device;

receiving a positive actionable insight response from the user device;

determine a second application associated with the first entity and the first actionable insight;

determine a second application query associated with the first entity and the first actionable insight;

communicate the second application query to the second application;

receive second result information from the second application responsive to the second application query; and

communicate the second result information to the user device.

14. The system of claim 11 , wherein the processor is configured to cause the AI engine circuitry to:

receive the first query from the processor;

process the first query with a pre-trained natural language processing model to parse the first query into the first parsed query response including the at least one of the first intent or the first entity;

determine a first confidence level corresponding to the first parsed query response; and

communicate the first parsed query response and the first confidence level to the processor.

15. The system of claim 11 , wherein the processor is configured to cause the AI engine circuitry to:

train a natural language processing model with training data to generate the pre-trained natural language processing model, the training data comprising:

a plurality of terminologies and corresponding intents,

a plurality of primary queries and corresponding intents, and

a plurality of conversation flows.

16. The system of claim 11 , wherein the processor is further configured to;

receive a location of the user device;

determine a customer sales account located geographically closest to the location of the user device;

communicate a geographically contextual query to the user device regarding the customer sales account;

receive a positive geographically contextual response from the user device; and

set a current query context to include the customer sales account.

17. A method comprising:

in artificial intelligence (AI) engine circuitry:

training a natural language processing model with training data to generate a pre-trained natural language processing model, the training data comprising:

a plurality of terminologies and corresponding intents,

a plurality of primary queries and corresponding intents, and

a plurality of conversation flows;

receiving a first query from query processing hardware;

receiving a second query from the query processing hardware, wherein the second query is subsequent to the first query and a context of the second query is selected from first result information;

processing the first query with the pre-trained natural language processing model to parse the first query into a first parsed query response including at least one of a first intent of the first query or a first entity in the first query;

processing the second query with the pre-trained natural language processing model to parse the second query into a second parsed query response including a second intent in the second query; and

communicating the first parsed query response and the second parsed query response to the query processing hardware;

in the query processing hardware:

receiving the first parsed query response;

determining a first application query associated with the at least one of the first entity or the first intent based on a plurality of decision trees and a plurality of mappings, wherein the plurality of decision trees provides pre-programmed actions responsive to the at least one of the first entity or the first intent, and the plurality of mappings maps the at least one of the first entity or the first intent to the first application query;

querying a first application with the first application query;

receiving the first result information from the first application;

receiving the second parsed query response;

determining that an action corresponding to the second intent requires a corresponding entity field;

determining that the second parsed query response did not include a second entity;

when it is determined that the second parsed query response did not include the second entity, reviewing the first query to determine a first context of the first query and using the determined first context as a current context of the second query, wherein the first context includes the first entity;

determining a second application associated with the second intent and the first entity;

determining a second application query associated with the second intent and the first entity;

communicating the second application query to the second application;

receiving second result information from the second application responsive to the second application query, wherein the second application provides the second result information that is more detailed than the first result information provided by the first application; and

communicating the second result information to the query processing hardware.

18. The method of claim 17 , further comprising:

in user interface circuitry:

providing a dynamic user interface to a user device, the dynamic user interface including a query entry element;

receiving the first query from the user device via the dynamic user interface;

generating a first graphical element representing the first result information; and

providing the first graphical element to the user device via the dynamic user interface.

19. The method of claim 17 , further comprising:

in the query processing hardware:

receiving a location of a user device;

determining a customer sales account located geographically closest to the location of the user device;

communicating a geographically contextual query to the user device regarding the customer sales account;

receiving a positive geographically contextual response from the user device; and

setting a current query context to include the customer sales account.

20. The method of claim 17 , further comprising:

in the query processing hardware:

communicating a feedback query to the user device requesting for feedback as to helpfulness of a previous response;

receiving a positive feedback query response from a user device;

logging the positive feedback query response as corresponding to the previous response and a corresponding previous query; and

retraining the pre-trained natural language processing model using the positive feedback query response, the previous response, and the corresponding previous query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: KUMRAR, SHIV; NARAWANE, RANJANA BHALCHANDRA; DORLE, VINAY AVINASH; BHATWADEKAR, SUCHIT VISHNUPANT
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 046676/0759 →
Priority Claims (1)
IN 201741030157 · Aug 25, 2017 · national
Continuity (1)
Related Publication 20190065556A1 · Feb 28, 2019
Cited By (2)
US 12,259,929 US 12,561,379