# US 2014/0258189 A1 · System and method for auto-query generation

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

- Number: US 2014/0258189 A1
- Document ID: US20140258189A1
- Status: Published application
- Kind: A1
- Application number: 14/202,780
- Filed: 2014-03-10
- Published: 2014-09-11
- Earliest claimed: 2012-08-31
- Assignees: Nutonian, Inc.
- Inventors: Michael Schmidt
- Web page: https://patentgrep.com/patent/US20140258189A1

## CPC

- G06N 20/00: Machine learning
- G06F 16/2428: {Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence)}
- G06F 16/2453: Query optimisation
- G06F 40/18: of spreadsheets (form-filling G06F40/174)
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various systems and methods provide an intuitive user interface that enables automatic specification of queries and constraints for analysis by ML component. Various implementations provide methodologies for automatically formulating machine learning (“ML”) and optimization queries. The automatic generation of ML and/or optimization queries can be configured to use examples to facilitate formulation of ML and optimization queries. One example method includes accepting input data specifying variables and data values associated with the variables. Within the input data any unspecified data records are identified, and a relationship between the variables specified in the input data and a variable associated with the at least one unspecified data record is automatically determined. The relationship can be automatically determined based on training data contained within the input data. Once a relationship is established a ML problem can be automatically generated.

## Claims

### Claim 1

A computer implemented method for automatically generating machine learning problems, the method comprising:
accepting, by a computer system, input data specifying variables and data values associated with the variables;
identifying, by the computer system, at least one unspecified data record within the input data;
determining, automatically, by the computer system, a relationship between the variables specified in the input data and a variable associated with the at least one unspecified data record, based on training data contained within the input data; and
generating, automatically, by the computer system a machine learning problem including the relationship between the variables and the training data.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising solving, automatically by the computer system, the machine learning problem to provide a result value for the at least one unspecified data record within the input data.

### Claim 3 (depends on 2)

The method according to claim 2, further comprising assigning a function for calculating the result value to the at least one unspecified data record.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising displaying, by the computer system the machine learning problem.

### Claim 5 (depends on 1)

The method according to claim 1, wherein accepting the input data includes accepting within a spreadsheet display of variables and data values selection of a group of the variables, the data values, and the at least one unspecified data record.

### Claim 6 (depends on 5)

The method according to claim 5, wherein identifying, determining, and generating occur in response to selection of the group.

### Claim 7 (depends on 2)

The method according to claim 2, further comprising determining a confidence value associated with the result value.

### Claim 8 (depends on 7)

The method according to claim 7, further comprising encoding, visually, the confidence level associated with the result value.

### Claim 9 (depends on 8)

The method according to claim 8, wherein encoding visually the confidence level associated with the result value includes displaying a value having a high relative confidence value bolder than a value having a lower relative confidence value.

### Claim 10 (depends on 1)

The method according to claim 1, further comprising converting categorical values from the input data into set membership binary values.

### Claim 11 (depends on 1)

The method according to claim 1, wherein generating, automatically, by the computer system the machine learning problem including the relationship between the variables and the training data, includes generating the machine learning problem based on symbolic regression.

### Claim 12 (depends on 1)

The method according to claim 1, wherein generating, automatically, by the computer system, the machine learning problem includes:
generating one or more possible query patterns that relate a blank cell in a spreadsheet to its surrounding non-blank cells,
collecting data from the spreadsheet that matches that pattern,
running a ML algorithm to find a model and determine its confidence level, and
selecting the model having the highest confidence level.

### Claim 13 (depends on 12)

The method according to claim 12, further comprising filling in values in all blank cells that fit the query pattern using the selected model with the highest confidence level.

### Claim 14 (depends on 12)

The method according to claim 12, wherein generating one or more possible query patterns includes generating possible patterns including both absolute cell positions and cell positions that are relative to the at least one unspecified data record in a spreadsheet.

### Claim 15 (depends on 2)

The method according to claim 2, further comprising identifying at least one second unspecified data record, and calculating a result value for the at least one second unspecified data record according to the input data and the result value for the at least one unspecified data record.

### Claim 16 (depends on 1)

The method according to claim 1, wherein generating, automatically, by the computer system the machine learning problem including the relationship between the variables and the training data includes automatically formulating prediction queries to fill in the at least one unspecified data record.

### Claim 17 (depends on 16)

The method according to claim 16, wherein the at least one unspecified data record is at least one blank cell in a spreadsheet, and wherein the prediction query is generated based on the relationship between the at least one blank cell and cells having data values.

### Claim 18 (depends on 1)

The method according to claim 1, wherein generating, automatically, by the computer system the machine learning problem including the relationship between the variables and the training data includes automatically formulating at least one optimization query to fill in the at least one unspecified data record.

### Claim 19 (depends on 18)

The method according to claim 18, wherein the at least one unspecified data record is at least one blank cell in a spreadsheet, and wherein the optimization query is generated based on the relationship between the at least one blank cell and cells having data values.

### Claim 20 (depends on 18)

The method according to claim 18, wherein generating, automatically, by the computer system a machine learning problem including the relationship between the variables and the training data includes:
generating a model that relates a target value to the blank value; and
performing a search to identify the optimal value of the blank cells that minimize the difference between the target value and the value predicted by the model.

### Claim 21 (depends on 20)

The method according to claim 20, further comprising holding constant at least some of the non-blank cells corresponding to independent variables as search constraints.

### Claim 22 (depends on 20)

The method according to claim 20, wherein multiple target values are optimized simultaneously using a multi-objective optimization technique.

### Claim 23 (depends on 1)

The method according to claim 1, further comprising accepting constraints defined against the at least one unspecified data record.

### Claim 24

A system for automatically generating machine learning problems, the system comprising:
at least one processor operatively connect to a memory, the at least one processor when executing is configured to:
accept input data specifying variables and data values associated with the variables;
identify at least one unspecified data record within the input data;
determine, automatically, a relationship between the variables specified in the input data and a variable associated with the at least one unspecified data record, based on training data contained within the input data; and
generate, automatically, a machine learning problem including the relationship between the variables and the training data.

### Claim 25 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to solve, automatically, the machine learning problem to provide a result value for the at least one unspecified data record within the input data.

### Claim 26 (depends on 25)

The system according to claim 25, wherein the at least one processor is configured to assign a function for calculating the result value to the at least one unspecified data record.

### Claim 27 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to display the machine learning problem.

### Claim 28 (depends on 24)

The system according to claim 24, wherein accepting the input data includes accepting within a spreadsheet display of variables and data values a selection of a group of the variables, the data values, and the at least one unspecified data record.

### Claim 29 (depends on 28)

The system according to claim 28, wherein identifying, determining, and generating occur in response to selection of the group.

### Claim 30 (depends on 25)

The system according to claim 25, wherein the at least one processor is configured to determine a confidence value associated with the result value.

### Claim 31 (depends on 30)

The system according to claim 30, wherein the at least one processor is configured to encode, visually, the confidence level associated with the result value.

### Claim 32 (depends on 31)

The system according to claim 31, wherein encoding visually the confidence level associated with the result value includes displaying a value having a high relative confidence value bolder than a value having a lower relative confidence value.

### Claim 33 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to convert categorical values from the input data into set membership binary values.

### Claim 34 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to generate the machine learning problem based on symbolic regression.

### Claim 35 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to
generate one or more possible query patterns that relate a blank cell in a spreadsheet to its surrounding non-blank cells,
collect data from the spreadsheet that matches that pattern,
execute a ML algorithm to find a model and determine its confidence level, and
select the model having the highest confidence level.

### Claim 36 (depends on 35)

The system according to claim 35, wherein the at least one processor is configured to fill in values in all blank cells that fit the query pattern using the selected model with the highest confidence level.

### Claim 37 (depends on 35)

The system according to claim 35, wherein the at least one processor is configured to generate possible patterns including both absolute cell positions and cell positions that are relative to the at least one unspecified data record in a spreadsheet.

### Claim 38 (depends on 25)

The system according to claim 25, wherein the at least one processor is configured to identify at least one second unspecified data record, and calculate a result value for the at least one second unspecified data record according to the input data and the result value for the at least one unspecified data record.

### Claim 39 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to automatically formulate prediction queries to fill in the at least one unspecified data record.

### Claim 40 (depends on 39)

The system according to claim 39, wherein the at least one unspecified data record is at least one blank cell in a spreadsheet, and wherein the prediction query is generated based on the relationship between the at least one blank cell and cells having data values.

### Claim 41 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to automatically formulate at least one optimization query to fill in the at least one unspecified data record.

### Claim 42 (depends on 41)

The system according to claim 41, wherein the at least one unspecified data record is at least one blank cell in a spreadsheet, and wherein the optimization query is generated based on the relationship between the at least one blank cell and cells having data values.

### Claim 43 (depends on 41)

The system according to claim 41, wherein the at least one processor is configured to
generate a model that relates a target value to the blank value; and
perform a search to identify the optimal value of the blank cells that minimize the difference between the target value and the value predicted by the model.

### Claim 44 (depends on 43)

The system according to claim 43, wherein the at least one processor is configured to hold constant at least some of the non-blank cells corresponding to independent variables as search constraints.

### Claim 45 (depends on 43)

The system according to claim 43, wherein the at least one processor is configured to optimize multiple target values simultaneously using a multi-objective optimization technique.

### Claim 46 (depends on 24)

The system according to claim 24, wherein the at least one processor is configured to accept constraints defined against the at least one unspecified data record.
