Intelligent assistant for automating recommendations for analytics programs
AssigneeComposable Analytics, Inc.
InventorsAndy Vidan, Lars Henry Fiedler
Life of this patent
Estimating the term…
Abstract
As a user uses a programming system to create programs, data are stored into a computer memory. The data describe actions of the user in creating the programs. The programming system has a user interface and a set of templates for functions. The user interface is designed to receive input from the user to direct the system to assemble functions from the set into the programs, the functions being functions for processing of data. As the user uses the user interface to assemble a program, suggestions to the user are computed, the suggestions recommending functions to be added into the program. The computation of function suggestion is based at least in part on the stored action data.
Claims34
A method comprising the steps of:
- as users of a programming system use the programming system to create programs, storing into a computer memory data describing actions of the users in creating the programs, the programming system having a graphical user interface and a library of templates for functions, the graphical user interface presenting to users functions depicted as templates of blocks to be selected for incorporation into programs, the graphical user interface being programmed to receive input from the users to direct the system to assemble functions from the library into the programs, the functions being functions for processing of data, the graphical user interface depicting the incorporated functions as graphical elements for manipulation in the graphical user interface, the graphical user interface presenting an ability to graphically connect data output connection points of incorporated function graphical elements to input connection points of incorporated function graphical elements;
- and
- as a user from among the users uses the graphical user interface to assemble a program, computing suggestions to the user for:
- functions to be added into the program, the computation of function suggestion being based at least in part on weighted evaluation of the stored action data, stored action data of the user being weighted most heavily, stored action data of other users of the programming system being given lesser weight;
- and
- user data flow paths to be added to connect an output of one function to an input of another function, the computation of data flow suggestions being based at least in part on the stored actions.
A method of comprising the steps of:
- as users of a programming system use the programming system to create programs, storing into a computer memory data describing actions of the users in creating the programs, the programming system having a graphical user interface and a library of templates for functions, the graphical user interface presenting to users functions depicted as templates of blocks to be selected for incorporation into programs, the graphical user interface being programmed to receive input from the users to direct the system to assemble functions from the library into the programs, the functions being functions for processing of data, the graphical user interface depicting the incorporated functions as graphical elements for manipulation in the graphical user interface, the graphical user interface presenting an ability to graphically connect data output connection points of incorporated function graphical elements to input connection points of incorporated function graphical elements;
- and
- as a user from among the users assembles functions from the library into a program, executing a partially-assembled program on input data;
- and
- computing suggestions to the user for functions to be added into the program, the computation of function suggestion being based at least in part on the execution of the partially-assembled program, and on weighted evaluation of the stored action data, stored action data of the user being weighted most heavily, stored action data of other users of the programming system being given lesser weight.
A computer, comprising:
- a processor designed to execute instructions from a memory;
- a nontransitory memory having stored therein instructions to cause the processor:
- as users of a programming system use the programming system to create programs, to store into a computer memory data describing actions of the users in creating the programs, the programming system having a graphical user interface and a library of templates for functions, the graphical user interface presenting to users functions depicted as templates of blocks to be selected for incorporation into programs, the graphical user interface being programmed to receive input from the users to direct the system to assemble functions from the set into the programs, the functions being functions for processing of data, the graphical user interface depicting the incorporated functions as graphical elements for manipulation in the graphical user interface, the graphical user interface presenting an ability to graphically connect data output connection points of incorporated function graphical elements to input connection points of incorporated function graphical elements;
- and
- as a user of the programming system uses the graphical user interface to
- assemble a program, compute suggestions to the user for:
- functions to be added into the program, the computation of function suggestion being based at least in part on weighted evaluation of the stored action data, stored action data of the user being weighted most heavily, stored action data of other users of the programming system being given lesser weight;
- and
- data flow paths to be added to connect an output of one function to an input of another function, the computation of data flow suggestions being based at least in part on the stored actions.
A computer, comprising:
- a processor designed to execute instructions from a memory;
- a nontransitory memory having stored therein instructions to cause the processor:
- as users of a programming system use the programming system to create programs, to store into a computer memory data describing actions of the users in creating the programs, the programming system having a graphical user interface and a library of templates for functions, the graphical user interface presenting to users functions depicted as templates of blocks to be selected for incorporation into programs, the graphical user interface being programmed to receive input from the users to direct the system to assemble functions from the set into the programs, the functions being functions for processing of data, the graphical user interface depicting the incorporated functions as graphical elements for manipulation in the graphical user interface, the graphical user interface presenting an ability to graphically connect data output connection points of incorporated function graphical elements to input connection points of incorporated function graphical elements;
- and
- as a user of the programming system uses the graphical user interface to assemble a program, to:
- execute a partially-assembled program on input data;
- compute suggestions to the user for functions to be added into the program, the computation of function suggestion being based at least in part on:
- weighted evaluation of the stored action data, stored action data of the user being weighted most heavily, stored action data of other users of the programming system being given lesser weight;
- and
- the execution of the partially-assembled program.
Dependencies are inferred from the claim text.