IP Library Granted Patent US 10,565,196
Granted Patent B2
US 10,565,196 · App. 15/663,726 · Granted Feb 18, 2020

Determining a user-specific approach for disambiguation based on an interaction recommendation machine learning model

Inventors: Dipock Das (San Carlos, CA); Dayanand Pochugari (Santa Clara, CA); Neeraj Verma (Fremont, CA); Nikesh Padakanti (Fremont, CA); Aungon Nag Radon (Vancouver, CA); Anand Srinivasabagavathar (Fremont, CA); Adam Oliner (San Francisco, CA)
Assignee: SPLUNK INC.
G06F16/24534G06F16/248G06F16/24522G06N3/08G06N5/022G06N5/046G06N20/00G06N20/10
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 10,565,196
App. No.
15/663,726
Filed
Jul 29, 2017
Granted
Feb 18, 2020
Kind
B2
Examiner
VY, HUNG T
Art Unit
2163
USPC
707/765
Abstract

In various embodiments, a natural language (NL) application implements functionality that enables users to more effectively access various data storage systems based on NL requests. As described, the operations of the NL application are guided by, at least in part, on one or more templates and/or machine-learning models. Advantageously, the templates and/or machine-learning models provide a flexible framework that may be readily tailored to reduce the amount of time and user effort associated with processing NL requests and to increase the overall accuracy of NL application implementations.

Claims (68)

1. A computer-implemented method, comprising:

generating an inquiry based on a first ambiguous natural language (NL) query received from a user and a first interaction model that associates the first ambiguous NL query and the user with the inquiry, wherein the first interaction model is generated via a machine learning algorithm;

causing the inquiry to be provided to the user;

generating a clarification based on a second ambiguous NL query received from the user and a second interaction model that associates the second ambiguous NL query with the clarification, wherein the second interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the inquiry;

causing the clarification to be provided to the user;

generating a disambiguated query based on the second ambiguous NL query and the clarification, wherein the disambiguated query is written in a domain-specific language (DSL) associated with a data storage system; and

causing the disambiguated query to be applied to the data storage system.

2. The computer-implemented method of claim 1 , wherein generating the disambiguated query comprises:

generating a disambiguated NL query based on the second ambiguous NL query and the clarification; and

translating the disambiguated NL query to the DSL.

3. The computer-implemented method of claim 1 , further comprising:

re-generating the disambiguated query based on a third ambiguous NL query received from the user and a third interaction model that associates the third ambiguous NL query with a disambiguated NL query, wherein the third interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the clarification; and

causing the disambiguated query to be re-applied to the data storage system.

4. The computer-implemented method of claim 1 , wherein the first context includes at least one of a time associated with the first ambiguous NL query, a device with which the user specified the first ambiguous NL query, a job function of the user, and a location of the user.

5. The computer-implemented method of claim 1 , wherein the inquiry includes a plurality of phrases that are ordered based on estimated probabilities of accurately disambiguating the first ambiguous NL query.

6. The computer-implemented method of claim 1 , wherein causing the inquiry to be provided to the user comprises at least one of causing an audio device to output the inquiry, and causing a display device to display the inquiry.

7. The computer-implemented method of claim 1 , further comprising generating a domain-specific language (DSL) query based on the based on the first ambiguous NL query, the one or more user responses, and a different DSL that is associated with a different data storage system.

8. The computer-implemented method of claim 1 , further comprising generating a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses.

9. The computer-implemented method of claim 1 , further comprising:

generating a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses; and

applying the DSL query to the data storage system to generate a search result, wherein the data storage system stores data as a plurality of time-indexed events including respective segments of raw machine data.

10. The computer-implemented method of claim 1 , wherein the one or more user responses indicate how accurately the inquiry disambiguates the first ambiguous NL query.

11. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to perform the steps of:

generating an inquiry based on a first ambiguous natural language (NL) query received from a user and a first interaction model that associates the first ambiguous NL query and the user with the inquiry, wherein the first interaction model is generated via a machine learning algorithm;

causing the inquiry to be provided to the user;

generating a clarification based on a second ambiguous NL query received from the user and a second interaction model that associates the second ambiguous NL query with the clarification, wherein the second interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the inquiry;

causing the clarification to be provided to the user;

generating a disambiguated query based on the second ambiguous NL query and the clarification, wherein the disambiguated query is written in a domain-specific language (DSL) associated with a data storage system; and

causing the disambiguated query to be applied to the data storage system.

12. The non-transitory computer-readable storage medium of claim 11 , wherein generating the disambiguated query comprises:

generating a disambiguated NL query based on the second ambiguous NL query and the clarification; and

translating the disambiguated NL query to the DSL.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions that, when executed by a processor, further cause the processor to perform the steps of:

re-generating the disambiguated query based on a third ambiguous NL query received from the user and a third interaction model that associates the third ambiguous NL query with a disambiguated NL query, wherein the third interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the clarification; and

causing the disambiguated query to be re-applied to the data storage system.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the first context includes at least one of a time associated with the first ambiguous NL query, a device with which the user specified the first ambiguous NL query, a job function of the user, and a location of the user.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the inquiry includes a plurality of phrases that are ordered based on estimated probabilities of accurately disambiguating the first ambiguous NL query.

16. The non-transitory computer-readable storage medium of claim 11 , wherein causing the inquiry to be provided to the user comprises at least one of causing an audio device to output the inquiry, and causing a display device to display the inquiry.

17. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions that, when executed by a processor, further cause the processor to perform the step of generating a domain-specific language (DSL) query based on the based on the first ambiguous NL query, the one or more user responses, and a different DSL that is associated with a different data storage system.

18. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions that, when executed by a processor, further cause the processor to perform the step of generating a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses.

19. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions that, when executed by a processor, further cause the processor to perform the steps of:

generating a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses; and

applying the DSL query to the data storage system to generate a search result, wherein the data storage system stores data as a plurality of time-indexed events including respective segments of raw machine data.

20. The non-transitory computer-readable storage medium of claim 11 , wherein the one or more user responses indicate how accurately the inquiry disambiguates the first ambiguous NL query.

21. A computing device, comprising:

a memory that includes instructions; and

a processor that is coupled to the memory and, when executing the instructions, is configured to:

generate an inquiry based on a first ambiguous natural language (NL) query received from a user and a first interaction model that associates the first ambiguous NL query and the user with the inquiry, wherein the first interaction model is generated via a machine learning algorithm;

cause the inquiry to be provided to the user;

generate a clarification based on a second ambiguous NL query received from the user and a second interaction model that associates the second ambiguous NL query with the clarification, wherein the second interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the inquiry;

cause the clarification to be provided to the user;

generate a disambiguated query based on the second ambiguous NL query and the clarification, wherein the disambiguated query is written in a domain-specific language (DSL) associated with a data storage system; and

cause the disambiguated query to be applied to the data storage system.

22. The computing device of claim 21 , wherein the processor is configured to generate the disambiguated query by:

generating a disambiguated NL query based on the second ambiguous NL query and the clarification; and

translating the disambiguated NL query to the DSL.

23. The computing device of claim 21 , wherein the processor is further configured to:

re-generate the disambiguated query based on a third ambiguous NL query received from the user and a third interaction model that associates the third ambiguous NL query with a disambiguated NL query, wherein the third interaction model is generated via the machine learning algorithm trained on data produced in conjunction with one or more user responses to the clarification; and

cause the disambiguated query to be re-applied to the data storage system.

24. The computing device of claim 21 , wherein the first context includes at least one of a time associated with the first ambiguous NL query, a device with which the user specified the first ambiguous NL query, a job function of the user, and a location of the user.

25. The computing device of claim 21 , wherein the inquiry includes a plurality of phrases that are ordered based on estimated probabilities of accurately disambiguating the first ambiguous NL query.

26. The computing device of claim 21 , wherein the processor is configured to cause the inquiry to be provided to the user by at least one of causing an audio device to output the inquiry, and causing a display device to display the inquiry.

27. The computing device of claim 21 , wherein the processor is configured to generate a domain-specific language (DSL) query based on the based on the first ambiguous NL query, the one or more user responses, and a different DSL that is associated with a different data storage system.

28. The computing device of claim 21 , wherein the processor is configured to generate a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses.

29. The computing device of claim 21 , wherein the processor is further configured to:

generate a domain-specific language (DSL) query expressed in a pipelined search language based on the first ambiguous NL query and the one or more user responses; and

apply the DSL query to the data storage system to generate a search result, wherein the data storage system stores data as a plurality of time-indexed events including respective segments of raw machine data.

30. The computing device of claim 21 , wherein the one or more user responses indicate how accurately the inquiry disambiguates the first ambiguous NL query.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2017
From: DAS, DIPOCK; POCHUGARI, DAYANAND; VERMA, NEERAJ; PADAKANTI, NIKESH; RADON, AUNGON NAG; SRINIVASABAGAVATHAR, ANAND; OLINER, ADAM
To: SPLUNK INC.
Reel/Frame 043383/0662 →
Continuity (1)
Related Publication 20190034484A1 · Jan 31, 2019
Cited By (3)
US 12,217,000 US 12,499,318 US 12,650,980