IP Library Granted Patent US 11,288,319
Granted Patent B1
US 11,288,319 · App. 16/147,435 · Granted Mar 29, 2022

Generating trending natural language request recommendations

Inventors: Dipock Das (San Carlos, CA); Dayanand Pochugari (Santa Clara, CA); Aungon Nag Radon (Vancouver, CA)
Assignee: SPLUNK INC.
G06F16/90324G06F40/30G06N20/00
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,288,319
App. No.
16/147,435
Filed
Sep 28, 2018
Granted
Mar 29, 2022
Kind
B1
Art Unit
2169
USPC
707/766
Abstract

In various embodiments, a natural language (NL) application implements functionality for recommending trending NL requests to users of the application. The functionality includes generating rating data associated with a plurality of natural language (NL) requests and one or more intents corresponding to the plurality of NL requests, wherein the rating data indicates a preference of at least one user for using at least one of the plurality of NL request to access data, training a trends recommendation model based on the rating data associated with the plurality of NL requests, generating a set of NL request recommendations based on the trends recommendation model, and causing the set of NL request recommendations to be presented in a query recommendation interface.

Claims (87)

1. A computer-implemented method, comprising:

generating rating data associated with a plurality of natural language (NL) requests and one or more intents corresponding to the plurality of NL requests, wherein the rating data indicates a preference of at least one user for using at least one of the plurality of NL requests to access data;

training a trends recommendation model based on the rating data associated with the plurality of NL requests;

generating a set of NL request recommendations based on the trends recommendation model;

causing the set of NL request recommendations to be presented in a query recommendation interface;

receiving a selection of a first NL request recommendation included in the set of NL request recommendations;

selecting a first domain-specific language (DSL) template based on an intent associated with the first NL request recommendation from a plurality of DSL templates, wherein the first DSL template comprises a predetermined plurality of property fields, each property field having an associated value;

determining that the first DSL template comprises a first property field having a first associated value that is unknown;

presenting an inquiry for the first associated value to a current user;

receiving the first associated value from the current user; and

generating a DSL request based on the intent associated with first NL request recommendation, the first associated value, and the first DSL template.

2. The computer-implemented method of claim 1 , further comprising ranking the set of NL request recommendations based on the trends recommendation model.

3. The computer-implemented method of claim 1 , wherein

generating rating data associated with the plurality of NL requests comprises:

identifying the one or more intents corresponding to the plurality of NL requests; and

generating the rating data for each intent in the one or more intents, wherein for a given intent, the rating data indicates a preference of at least one user for using NL requests corresponding to the intent to access data.

4. The computer-implemented method of claim 1 , wherein the set of NL request recommendations comprises a subset of the plurality of NL requests.

5. The computer-implemented method of claim 1 , wherein the trends recommendation model is associated with a first domain, and wherein each of the plurality of NL requests was previously issued to access data associated with the first domain.

6. The computer-implemented method of claim 1 , wherein the preference comprises an implicit preference of the at least one user for using the at least one NL request to access data.

7. The computer-implemented method of claim 1 , wherein generating the rating data comprises deriving the preference for a first NL request based on a frequency with which the first NL request was previously issued to access data.

8. The computer-implemented method of claim 1 , wherein generating the rating data comprises deriving the preference for a first NL request based on a total count of a number of times that the first NL request was previously issued to access data.

9. The computer-implemented method of claim 1 , wherein generating the rating data comprises:

for each of the plurality of NL requests:

determining a set of user-specific frequencies that each indicates a frequency with which a given user previously issued the NL request to access data; and

generating a rating of the NL request based on the set of user-specific frequencies.

10. The computer-implemented method of claim 1 , wherein generating the rating data comprises obtaining session data associated with the plurality of NL requests, wherein the session data encapsulates, for each of the plurality of NL requests, one or more instances of the NL request being issued to access data, and wherein, for a given instance of a first NL request being issued to access data, the session data includes a user identification associated with a user who issued the first NL request, an identifier associated with the first NL request, content of the first NL request, and a timestamp indicating when the first NL request was issued.

11. The computer-implemented method of claim 1 , wherein training the trends recommendation model comprises applying the rating data to an alternating least square machine learning algorithm.

12. The computer-implemented method of claim 1 , wherein training the trends recommendation model comprises applying the rating data to a machine learning algorithm executed in a distributed cluster computing environment.

13. The computer-implemented method of claim 1 , wherein generating the set of NL request recommendations comprises applying the trends recommendation model to a user context, wherein the user context identifies at least one of a first domain associated with the user, a device with which a user accesses the query recommendation interface, a job function of the user, a location of the user, a time of day, or a user preference.

14. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps of:

generating rating data associated with a plurality of natural language (NL) requests and one or more intents corresponding to the plurality of NL requests, wherein the rating data indicates a preference of at least one user for using at least one of the plurality of NL requests to access data;

training a trends recommendation model based on the rating data associated with the plurality of NL requests;

generating a set of NL request recommendations based on the trends recommendation model;

causing the set of NL request recommendations to be presented in a query recommendation interface;

receiving a selection of a first NL request recommendation included in the set of NL request recommendations;

selecting a first domain-specific language (DSL) template based on an intent associated with the first NL request recommendation from a plurality of DSL templates, wherein the first DSL template comprises a predetermined plurality of property fields, each property field having an associated value;

determining that the first DSL template comprises a first property field having a first associated value that is unknown;

presenting an inquiry for the first associated value to a current user;

receiving the first associated value from the current user; and

generating a DSL request based on the intent associated with first NL request recommendation, the first associated value, and the first DSL template.

15. The one or more non-transitory computer readable media of claim 14 , further comprising ranking the set of NL request recommendations based on the trends recommendation model.

16. The one or more non-transitory computer readable media of claim 14 , wherein generating rating data associated with the plurality of NL requests comprises:

identifying the one or more intents corresponding to the plurality of NL requests; and

generating the rating data for each intent in the one or more intents, wherein for a given intent, the rating data indicates a preference of at least one user for using NL requests corresponding the intent to access data.

17. The one or more non-transitory computer readable media of claim 14 , wherein the set of NL request recommendations comprises a subset of the plurality of NL requests.

18. The one or more non-transitory computer readable media of claim 14 , wherein the trends recommendation model is associated with a first domain, and wherein each of the plurality of NL requests was previously issued to access data associated with the first domain.

19. The one or more non-transitory computer readable media of claim 14 , wherein the preference comprises an implicit preference of the at least one user for using the at least one NL request to access data.

20. The one or more non-transitory computer readable media of claim 14 , wherein generating the rating data comprises deriving the preference for a first NL request based on a frequency with which the first NL request was previously issued to access data.

21. The one or more non-transitory computer readable media of claim 14 , wherein generating the rating data comprises deriving the preference for a first NL request based on a total count of a number of times that the first NL request was previously issued to access data.

22. The one or more non-transitory computer readable media of claim 14 , wherein generating the rating data comprises:

for each of the plurality of NL requests:

determining a set of user-specific frequencies that each indicates a frequency with which a given user previously issued the NL request to access data; and

generating a rating of the NL request based on the set of user-specific frequencies.

23. The one or more non-transitory computer readable media of claim 14 , wherein generating the rating data comprises obtaining session data associated with the plurality of NL requests, wherein the session data encapsulates, for each of the plurality of NL requests, one or more instances of the NL request being issued to access data, and wherein, for a given instance of a first NL request being issued to access data, the session data includes a user identification associated with a user who issued the first NL request, an identifier associated with the first NL request, content of the first NL request, and a timestamp indicating when the first NL request was issued.

24. The one or more non-transitory computer readable media of claim 14 , wherein training the trends recommendation model comprises applying the rating data to an alternating least square machine learning algorithm.

25. The one or more non-transitory computer readable media of claim 14 , wherein training the trends recommendation model comprises applying the rating data to a machine learning algorithm executed in a distributed cluster computing environment.

26. The one or more non-transitory computer readable media of claim 14 , wherein generating the set of NL request recommendations comprises applying the trends recommendation model to a user context, wherein the user context identifies at least one of a first domain associated with the user, a device with which a user accesses the query recommendation interface, a job function of the user, a location of the user, a time of day, or a user preference.

27. A computer system, comprising:

one or more non-transitory media storing instructions; and

one or more processors that execute the instructions to perform the steps of:

generating rating data associated with a plurality of natural language (NL) requests and one or more intents corresponding to the plurality of NL requests, wherein the rating data indicates a preference of at least one user for using at least one of the plurality of NL requests to access data;

training a trends recommendation model based on the rating data associated with the plurality of NL requests;

generating a set of NL request recommendations based on the trends recommendation model;

causing the set of NL request recommendations to be presented in a query recommendation interface;

receiving a selection of a first NL request recommendation included in the set of NL request recommendations;

selecting a first domain-specific language (DSL) template based on an intent associated with the first NL request recommendation from a plurality of DSL templates, wherein the first DSL template comprises a predetermined plurality of property fields, each property field having an associated value;

determining that the first DSL template comprises a first property field having a first associated value that is unknown;

presenting an inquiry for the first associated value to a current user;

receiving the first associated value from the current user; and

generating a DSL request based on the intent associated with first NL request recommendation, the first associated value, and the first DSL template.

28. The computer system of claim 27 , further comprising ranking the set of NL request recommendations based on the trends recommendation model.

29. The computer system of claim 27 , wherein generating rating data associated with the plurality of NL requests comprises:

identifying the one or more intents corresponding to the plurality of NL requests; and

generating the rating data for each intent in the one or more intents, wherein for a given intent, the rating data indicates a preference of at least one user for using NL requests corresponding the intent to access data.

30. The computer system of claim 27 , wherein the set of NL request recommendations comprises a subset of the plurality of NL requests.

31. The computer system of claim 27 , wherein the trends recommendation model is associated with a first domain, and wherein each of the plurality of NL requests was previously issued to access data associated with the first domain.

32. The computer system of claim 27 , wherein the preference comprises an implicit preference of the at least one user for using the at least one NL request to access data.

33. The computer system of claim 27 , wherein generating the rating data comprises deriving the preference for a first NL request based on a frequency with which the first NL request was previously issued to access data.

34. The computer system of claim 27 , wherein generating the rating data comprises deriving the preference for a first NL request based on a total count of a number of times that the first NL request was previously issued to access data.

35. The computer system of claim 27 , wherein generating the rating data comprises:

for each of the plurality of NL requests:

determining a set of user-specific frequencies that each indicates a frequency with which a given user previously issued the NL request to access data; and

generating a rating of the NL request based on the set of user-specific frequencies.

36. The computer system of claim 27 , wherein generating the rating data comprises obtaining session data associated with the plurality of NL requests, wherein the session data encapsulates, for each of the plurality of NL requests, one or more instances of the NL request being issued to access data, and wherein, for a given instance of a first NL request being issued to access data, the session data includes a user identification associated with a user who issued the first NL request, an identifier associated with the first NL request, content of the first NL request, and a timestamp indicating when the first NL request was issued.

37. The computer system of claim 27 , wherein training the trends recommendation model comprises applying the rating data to an alternating least square machine learning algorithm.

38. The computer system of claim 27 , wherein training the trends recommendation model comprises applying the rating data to a machine learning algorithm executed in a distributed cluster computing environment.

39. The computer system of claim 27 , wherein generating the set of NL request recommendations comprises applying the trends recommendation model to a user context, wherein the user context identifies at least one of a first domain associated with the user, a device with which a user accesses the query recommendation interface, a job function of the user, a location of the user, a time of day, or a user preference.

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 Oct 31, 2018
From: DAS, DIPOCK; POCHUGARI, DAYANAND; RADON, AUNGON NAG
To: SPLUNK INC.
Reel/Frame 047372/0968 →
Cited By (7)
US 12,321,428 US 12,443,610 US 12,464,311 US 12,482,211 US 12,488,057 US 12,567,213 US 12,681,991