String Transformation Sub-Program Suggestion via Search Space Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing contexts, users face challenges when specifying declarative constraints for string transformations, as natural language synonyms and imprecise inputs are often not supported, leading to cumbersome programming-by-example approaches, especially for large and diverse datasets.

Innovation Solution

A context-aware method is introduced to suggest string transformation sub-programs that tolerate inexact user inputs and synonyms, reducing the search space based on input and output characteristics, datatypes, and cluster identification, thereby suggesting appropriate sub-programs for transformation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If users specify exact declarative constraints for string transformations, then transformation accuracy is improved, but user input complexity and difficulty increase

Engineering Contradiction:
Improvetransformation accuracyVSAvoiduser input difficulty
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary system that translates natural language user inputs into precise transformation constraints. This mediator layer allows users to express their intent in simple terms while the system handles the complexity of mapping these inputs to accurate transformation operations, resolving the contradiction between precision and ease of use.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs self-service by automatically inferring transformation constraints from user inputs and dataset characteristics without requiring users to specify every detail manually. The system serves itself by generating appropriate transformation sub-programs based on analyzed patterns, reducing user burden while maintaining accuracy.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If programming-by-example is used for string transformations, then ease of use is improved, but computational load and processing time increase for large datasets

Engineering Contradiction:
Improveease of useVSAvoidcomputational load
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent extracts and analyzes only the necessary characteristics from user inputs and dataset samples to infer transformation constraints, rather than processing entire large datasets. This extraction approach maintains ease of use through programming-by-example while significantly reducing computational load by focusing only on relevant features.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial action by analyzing a representative subset of the dataset rather than the complete dataset to infer transformation patterns. This partial processing approach provides sufficient information for accurate transformation while avoiding the excessive computational burden of processing all data points.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If comprehensive search space is used for sub-program selection, then suggestion accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improvesuggestion accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent segments the search space for sub-program selection by categorizing transformations based on dataset characteristics and user input patterns. This segmentation allows the system to search within smaller, more targeted subsets of possible transformations rather than the complete search space, maintaining accuracy while improving processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by pre-analyzing dataset characteristics and user inputs to narrow down the search space before selecting transformation sub-programs. This preliminary filtering step prepares the system to quickly identify relevant transformations without exhaustively searching the entire search space, balancing accuracy and speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11256710B2String transformation sub-program suggestion
Publication Date: 2022.02.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11256710B2 patent drawing
  • US11256710B2 patent drawing
  • US11256710B2 patent drawing

AI summary

Examples are disclosed herein that relate to string transformation sub-program suggestion. One example provides, at a computing device, a method comprising receiving a dataset having a plurality of input strings; receiving a declarative user input associated with a desired string transformation sub-program to be performed using the dataset as input; in a search space having a plurality of string transformation sub-programs, reducing the search space based on (i) the user input and (ii) one or more of the plurality of input strings of the dataset, to thereby form a reduced search space, the reduced search space having at least one string transformation sub-program that is configured to transform one or more of the plurality of input strings of the dataset; and selecting, from the reduced search space, one or more suggested string transformation sub-programs.