Intelligent Assistant for Analytics Program Recommendations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programming systems for analytical workflows are inefficient due to the large number of block templates users must sift through, making it time-consuming to develop correct and effective data analysis programs without intelligent assistance.

Innovation Solution

A computer-based method that uses a user interface to recommend function suggestions for programming, leveraging machine learning algorithms like Markov models to predict user actions based on historical data and phase classification of block templates, reducing the complexity of selecting appropriate functions and connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If users manually select functions from a large set of block templates, then they can build analytical workflows, but the process becomes time-consuming and inefficient

Engineering Contradiction:
Improveworkflow development speedVSAvoidtime to select functions
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system automatically generates function recommendations based on observed user actions and workflow context, allowing the system to serve itself by predicting user needs without requiring manual browsing through all available block templates

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system monitors user actions and uses this feedback to dynamically update and refine function recommendations, creating a closed-loop system that learns from user behavior and improves suggestions in real-time

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If the system provides all available block templates to users, then users have complete flexibility, but the interface complexity and difficulty of finding appropriate functions increases

Engineering Contradiction:
Improvefunction selection flexibilityVSAvoidinterface complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the large set of block templates into context-relevant subsets based on user actions and workflow state, presenting only the most relevant functions to the user at each step rather than overwhelming them with all available options

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary filtering and ranking of block templates before presentation to the user, using machine learning models to pre-process and organize functions based on predicted user needs and workflow context

Inventive Principle:
Principle #10Preliminary action

3Reliability

If users assemble programs without intelligent assistance, then they maintain full control, but the accuracy and correctness of program construction decreases

Engineering Contradiction:
Improveprogram construction accuracyVSAvoidprogramming ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system introduces an intelligent assistant as an intermediary between the user and block templates, which mediates the selection process by suggesting appropriate functions and connections based on learned patterns and workflow context

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11422776B2Intelligent assistant for automating recommendations for analytics programs
Publication Date: 2022.08.23 COMPOSABLE ANALYTICS INC
  • US11422776B2 patent drawing
  • US11422776B2 patent drawing
  • US11422776B2 patent drawing

AI summary

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.