Automated ML Code Annotation via Stage Classification and Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional automated ML systems fail to replicate the expertise of data scientists, particularly in selecting appropriate ML models and presenting decisions and results to non-technical audiences, leading to a lack of accuracy and explainability in a timely manner.

Innovation Solution

A learning-based automated ML code annotation system that classifies and categorizes executable code within a workflow, generating suggested annotations for user review, which can be interacted with to approve, edit, or reject, and stores user interactions to customize subsequent annotations, mimicking the insights of data scientists on ML models and their presentation to non-technical audiences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If conventional automated ML systems are used, then automation is achieved, but accuracy and explainability are insufficient

Engineering Contradiction:
ImproveautomationVSAvoidaccuracy and explainability
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system implements feedback by tracking user interactions with suggested annotations and using this feedback to improve future annotation suggestions. The ML model learns from user corrections and approvals, continuously improving the accuracy and relevance of generated annotations while maintaining automation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables self-service by allowing users to interact with and refine AI-generated annotations directly. Users can approve, edit, or reject suggestions, and the system automatically incorporates these refinements into future generation, reducing the need for manual intervention while improving quality.

Inventive Principle:
Principle #25Self-service

2Extent of automation

If automated ML systems mimic only technical expertise, then automation is improved, but insights on presenting decisions to non-technical audiences are lost

Engineering Contradiction:
ImproveautomationVSAvoidpresentation insights
Core Design Contradiction:
Extent of automationVSLoss of information

Solution Approach 1:

The system performs multiple functions: it generates technical annotations about data processing and model decisions, and simultaneously creates explanatory annotations suitable for non-technical audiences. This multi-functionality ensures both technical accuracy and communicative effectiveness are captured in the automated annotations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If user interactions are tracked and ML model is updated, then annotation quality improves over time, but system complexity increases

Engineering Contradiction:
Improveannotation qualityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs self-updating by automatically incorporating user feedback into the ML model without requiring manual retraining or intervention. The model autonomously learns from interaction patterns, improving annotation quality while keeping the operational complexity low for end users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11360763B2Learning-based automation machine learning code annotation in computational notebooks
Publication Date: 2022.06.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11360763B2 patent drawing
  • US11360763B2 patent drawing
  • US11360763B2 patent drawing

AI summary

One embodiment of the invention provides a method for automated code annotation in machine learning (ML) and data science. The method comprises receiving, as input, a section of executable code. The method further comprises classifying, via a ML model, the section of executable code with a stage classification label indicative of a stage within a workflow for automated ML that the executable code applies to. The method further comprises categorizing, based on the stage classification label, the section of executable code with a category of annotation that is most appropriate for the section of executable code. The method further comprises generating a suggested annotation for the section of executable code based on the category of annotation. The method further comprises providing, as output, the suggested annotation to a display of an electronic device for user review. The suggested annotation is user interactable via the electronic device.