Transformation Engine for Data Wrangling Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data transformations are often difficult and time-consuming due to the diversity of data formats, requiring users to manually search for and apply different transformation operations for each format, leading to inefficiencies in data wrangling for analysis.

Innovation Solution

A system and method that dynamically generates transformation programs based on example input and output values, using a transformation engine to search and rank relevant tools from a collection, potentially supplemented with additional tools to achieve desired data transformations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual searching and application of transformation operations is performed for each diverse data format, then transformation accuracy can be achieved, but time consumption and operational complexity increase significantly

Engineering Contradiction:
Improvetransformation accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service transformation by automatically inferring transformation operations from example input-output pairs without requiring manual specification. The transformation engine analyzes the examples and autonomously selects appropriate tools from the collection, eliminating the need for users to manually search and apply transformations while maintaining accuracy through example-based learning

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by pre-collecting and organizing a comprehensive collection of transformation tools before they are needed. The tools are annotated with metadata and organized in a searchable repository, so when a transformation task arises, the engine can quickly retrieve and apply the appropriate pre-prepared tools rather than creating them on-demand

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If comprehensive transformation tool collections are maintained to handle diverse data formats, then transformation capability and versatility improve, but system complexity and resource requirements increase

Engineering Contradiction:
Improvetransformation capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The transformation engine acts as an intermediary layer between the diverse data formats and the comprehensive tool collection. Instead of requiring direct user interaction with the complex tool repository, the engine mediates by receiving example pairs, inferring requirements, and automatically selecting appropriate tools. This intermediary function shields users from system complexity while maintaining access to versatile transformation capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system manages complexity through parameter changes by dynamically adjusting search and selection parameters based on the specific transformation task. The engine analyzes example input-output pairs to infer relevant parameters such as data types, formats, and transformation semantics, then uses these parameters to filter and select from the comprehensive tool collection, making the system adaptable without requiring users to understand the underlying complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11809223B2Collecting and annotating transformation tools for use in generating transformation programs
Publication Date: 2023.11.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11809223B2 patent drawing
  • US11809223B2 patent drawing
  • US11809223B2 patent drawing

AI summary

Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a plurality of remote sources is searched to identify candidate transformation tools relevant for performing data transformations. The candidate transformation tools are analyzed to identify tool examples corresponding with each of the candidate transformation tools. For each of the candidate transformation tools, the tool examples are stored in association with the corresponding candidate transformation tool. Based on a comparison of tool examples with example values, a transformation tool is identified as relevant to facilitate transforming example input values to the desired form in which to transform data.