IP Library Granted Patent US 12,198,021
Granted Patent B2
US 12,198,021 · App. 17/190,751 · Granted Jan 14, 2025

Automatic generation of data analysis queries

Inventors: Manish Sainani (Kirkland, WA); Sergey Slepian (Vancouver, CA); Iman Makaremi (North Vancouver, CA); Adam Jamison Oliner (San Francisco, CA); Jacob Leverich (San Francisco, CA); Di Lu (Vancouver, CA)
Assignee: Cisco Technology, Inc
G06N20/00G06N5/025H04L41/16H04L41/20H04L41/22
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 12,198,021
App. No.
17/190,751
Granted
Jan 14, 2025
Kind
B2
Abstract

Disclosed herein is a computer-implemented tool that facilitates data analysis by use of machine learning (ML) techniques. The tool cooperates with a data intake and query system and provides a graphical user interface (GUI) that enables a user to train and apply a variety of different ML models on user-selected datasets of stored machine data. The tool can provide active guidance to the user, to help the user choose data analysis paths that are likely to produce useful results and to avoid data analysis paths that are less likely to produce useful results.

Claims (59)

1. A method of enabling validation of a machine learning model for data search and analysis, the method comprising:

receiving, by a computer system, first user input specifying a selected training dataset and parameters for training a selected machine learning model for data search and analysis, the parameters including one or more data fields;

training, by the computer system, the selected machine learning model on the selected training dataset based on the parameters including the one or more data fields;

generating, by the computer system, a plurality of queries, in a pipelined search language, that are executable against stored data without having received any user request to generate any of the queries and prior to receiving a user request for validation analysis of the selected machine learning model, each of the queries being generated based on a separate stored query template and being customized to the selected training dataset by the computer system replacing one or more variables in the stored query template with a corresponding one or more user-specified values, the one or more user-pecified values including the one or more data fields, each of the queries capable of being executed against the selected training dataset, wherein each of the queries is designed to produce a different one of a plurality of different validation analyses that can be invoked on the stored data to allow validation of the selected machine learning model, and wherein the queries are generated without any user request to generate the queries;

causing, by the computer system, display of a separate user control for each of the plurality of different validation analyses;

receiving, by the computer system, second user input selecting one of the controls for a selected validation analysis of the plurality of different validation analyses;

executing, by the computer system, a query of the plurality of queries, designed to produce the selected validation analysis of the plurality of different validation analyses, on the stored data in response to the second user input; and

causing, by the computer system, display of a result of executing the query to allow validation by a user of the selected machine learning model.

2. The method of claim 1 , wherein the selected training dataset comprises timestamped machine data events.

3. The method of claim 1 , wherein the parameters for training a machine learning model comprise a user-selected field of the selected dataset.

4. The method of claim 1 , wherein generating the plurality of queries comprises causing each of the queries to be displayed with explanatory comments.

5. The method of claim 1 , causing display of a user input field in which a user can specify a new search query to be executed against the stored data.

6. The method of claim 1 , wherein each of the queries is generated based on a different one of a plurality of stored query templates.

7. The method of claim 1 , wherein each of the queries is generated based on a different one of a plurality of stored query templates, and wherein each of the query templates comprises a query that contains a variable.

8. The method of claim 1 , further comprising:

generating an indication to a user of a suggested data field of the selected training dataset upon which to base training of the machine learning model.

9. The method of claim 1 , further comprising providing a plurality of user input fields to receive user inputs that specify particular data fields of the selected training dataset, for training the selected machine learning model.

10. The method of claim 1 , further comprising:

providing a plurality of user input fields to receive user inputs that specify particular data fields for applying the selected machine learning model.

11. The method of claim 1 , wherein the method comprises providing an indication to a user of a plurality of selectable machine learning models and enables the user to select the machine learning model to be trained from among the plurality of selectable machine learning models.

12. The method of claim 1 , wherein the method comprises enabling a user to view data indicative of the trained machine learning model.

13. The method of claim 1 , wherein the selected training dataset comprises a plurality of data fields, the method further comprising:

identifying a subset of the data fields in the selected training dataset as satisfying a predetermined criterion for relevance to the selected machine learning model.

14. The method of claim 1 , further comprising:

providing a user input field for receiving user input that specifies a particular data field of the selected training dataset, based on which the machine learning model is to be trained;

identifying a subset of data fields in the selected training dataset as satisfying a predetermined criterion for relevance to the machine learning model; and

suggesting to the user the identified subset of the data fields of the selected training dataset, for possible selection by the user in the user input field.

15. The method of claim 1 , further comprising:

providing a user input field for receiving user input that specifies at least one of:

a particular data field of the selected training dataset, based on which the selected machine learning model is to be trained; or

a particular data field of a second dataset, for applying the selected machine learning model; and

suggesting to the user a subset of data fields of the selected training dataset or a subset of the data fields of the second dataset, for possible selection by the user in the user input fields.

16. The method of claim 1 , wherein the selected training dataset comprises a plurality of data fields, the method further comprising:

identifying a subset of the data fields in the selected training dataset as satisfying a predetermined criterion for relevance to the selected machine learning model;

providing a plurality of user input fields to receive user input specifying fields to use in training the machine learning model; and

indicating to the user the subset of the data fields in the selected training dataset identified as satisfying the predetermined criterion for relevance, in relation to at least one of the user input fields.

17. The method of claim 1 , wherein the selected training dataset includes a plurality of data fields, each having one or more corresponding data values;

the method further comprising:

applying a transformation to data values of a plurality of data fields of the selected training dataset, to produce new data values;

training the selected machine learning model based on the transformed data values; and

identifying a data field to suggest to the user, for possible selection by the user, based on a result of the training the selected machine learning model in relation to a predetermined quality criterion.

18. A computer system comprising:

a communication device through which to communicate on a computer network; and

at least one processor operatively coupled to the communication device and configured to execute operations to enable validation of a machine learning model for data search and analysis, the operations including

receiving first user input specifying a selected training dataset and parameters for training a selected machine learning model for data search and analysis, the parameters including one or more data fields;

training the selected machine learning model on the selected training dataset based on the parameters;

generating a plurality of queries, in a pipelined search language, that are executable against stored data without having received any user request to generate any of the queries and prior to receiving a user request for validation analysis of the selected machine learning model, each of is the queries being generated based on a separate stored query template and being customized to the selected training dataset by the computer system replacing one or more variables in the stored query template with a corresponding one or more user-specified values, the one or more user-specified values including one or more data fields, each of the queries capable of being executed against the selected training dataset, and wherein each of the queries is designed to produce a different one of a plurality of different validation analyses that can be invoked on the stored data to allow validation of the selected machine learning model, and wherein the queries are generated without any user request to generate the queries;

causing display of a separate user control for each of the plurality of different validation analyses;

receiving second user input selecting one of the controls for a selected one of the plurality of different validation analyses; and

executing a query of the plurality of queries, designed to produce the selected one of the plurality of different validation analyses, on the stored data in response to the second user input; and

causing, display of a result of executing the query to allow validation by a user of the selected machine learning model.

19. A non-transitory machine-readable storage medium storing instructions, execution of which in a processing system causes the processing system to perform operations to enable validation of a machine learning model for data search and analysis, the operations comprising:

receiving first user input specifying a selected training dataset and parameters for training a selected machine learning model for data search and analysis, the parameters including one or more data fields;

training the selected machine learning model on the selected training dataset based on the parameters;

generating a plurality of queries, in a pipelined search language, that are executable against stored data without having received any user request to generate any of the queries and prior to receiving a user request for validation analysis of the selected machine learning model, each of the queries being generated based on a separate stored query template and being customized to the selected training dataset by the processing system replacing one or more variables in the stored query template with a corresponding one or more user-specified values, the one of more user-specified values including the one or more data fields, each of the queries capable of being executed against the selected training dataset, and wherein each of the queries is designed to produce a different one of a plurality of different validation analyses that can be invoked on stored data to allow validation of the selected machine learning model, and wherein the queries are generated without any user request to generate the queries;

causing display of a separate user control for each of the plurality of different validation analyses;

receiving second user input selecting one of the controls for a selected one of the plurality of different validation analyses; and

executing a query of the plurality of queries, designed to produce the selected one of the plurality of different validation analyses, on the stored data in response to the second user input; and

causing, display of a result of executing the query to allow validation by a user of the selected machine learning model.

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 Mar 3, 2021
From: SAINANI, MANISH; SLEPIAN, SERGEY; MAKAREMI, IMAN; OLINER, ADAM JAMISON; LEVERICH, JACOB; LU, DI
To: SPLUNK INC.
Reel/Frame 055477/0426 →
Continuity (3)
Continuation 16707845 · Dec 9, 2019
Continuation 15050785 · Feb 23, 2016
Related Publication 20210192395A1 · Jun 24, 2021
References Cited (27)
US 10607150B2 · Sainani et al. · 2020 [cited by applicant]
US 10679142B2 · Ganapathi · 2020 [cited by applicant]
US 20050131847A1 · Weston · 2005 [cited by examiner]
US 20070094360A1 · Forlenza et al. · 2007 [cited by applicant]
US 20070260597A1 · Cramer · 2007 [cited by applicant]
US 20140074850A1 · Noel et al. · 2014 [cited by applicant]
US 20140358825A1 · Phillipps · 2014 [cited by examiner]
US 20140372346A1 · Phillipps · 2014 [cited by examiner]
US 20150039651A1 · Kinsely · 2015 [cited by examiner]
US 20160162803A1 · Amershi et al. · 2016 [cited by applicant]
US 20160358101A1 · Bowers · 2016 [cited by examiner]
US 20170124487A1 · Szeto · 2017 [cited by examiner]
US 20170193333A1 · Cavalin et al. · 2017 [cited by applicant]
US 20170199875A1 · Nevrekar et al. · 2017 [cited by applicant]
US 20200118030A1 · Sainani et al. · 2020 [cited by applicant]
Ribeiro et al., “MLaaS: Machine Learning as a Service”, 2015, 2015 IEEE 14th International Conference on Machine Learning and Applications, pp. 896-902. (Year: 2015). [cited by examiner]
Alspaugh, Sara , et al., “Analyzing Log Analysis: An Empirical Study of User Log Mining”, 28th Large Installation System Administration Conference (LISA14), Nov. 9-14, 2014, 17 pages. [cited by applicant]
Alspaugh, Sara , et al., “Towards a Data Analysis Recommendation System”, Presented as part of the 2012 Workshop on Managing Systems Automatically and Dynamically, Oct. 2012, 6 pages. [cited by applicant]
Asplaugh, S. , “Data analysis interaction record analysis methodology”, GiHub, Inc. [website] [retrived on Jun. 3, 2016], retrieved from: https://gihub.com/salspaugh/lupe/wiki/Data-analysis-interaction-record-analysis-m… [cited by applicant]
Bermudez-Chacon, Roger , et al., “Automatic problem-specific hyperparameter optimization and model selection for supervised machine learning”, ETH Zurich Research Collection; Technical Report, 2015, pp. 1-53. [cited by applicant]
Chau, Michael , et al., “Analysis of the Query Logs of a Web Site Search Engine”, Journal of the American Society for Information Science and Technology: 56(13), 2005, pp. 1363-1376. [cited by applicant]
Dreilinger, Daniel , et al., “Experiences with Selecting Search Engines Using Metasearch”, ACM Transactions on Information Systems (TOIS) 15.3, Jul. 1997, pp. 195-222. [cited by applicant]
Garner, Stephen R., “WEKA: The Waikato Environment for Knowledge Analysis”, Proceedings of the New Zealand Computer Science Research Students Conference, 1995, pp. 57-64. [cited by applicant]
Pirolli, Peter , et al., “The Effects of Information Scent on Visual Search in the Hyperbolic Tree Browser”, ACM Transactions on Computer-Human Interaction (TOCHI) 10.1, Mar. 2003, pp. 20-53. [cited by applicant]
Siddiqi, Sajid , et al., “Fast State Discovery for HMM Model Selection and Learning”, Artificial Intelligence and Statistics, Mar. 2007, 8 pages. [cited by applicant]
Spiliopoulou, Myra , et al., “NOEMON: An Intelligent Assistant for Classifier Selection”, FGML 1998, No. 11 in 98, Dept. of Computer Science, TU Berlin, 1998, pp. 90-97. [cited by applicant]
Talbot, Justin , et al., “EnsembleMatrix: Interactive Visualization to Support Machine Learning with Multiple Classifiers”, CHI 2009 ˜ Visualization 2, Apr. 8, 2009, pp. 1283-1292. [cited by applicant]