Programming by Example Hints for Data Transformation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programming by example (PBE) systems require a large set of user examples to identify desired data transformations, which can be inefficient and cumbersome, especially with heterogeneous data, as they struggle to determine specific transformation conditions from ambiguous user inputs.
Innovation Solution
The introduction of a hints feature that allows users to provide additional information or conditions alongside their transformation examples, enabling the PBE system to identify the intended transformation conditions more accurately and reducing the need for numerous examples, such as indicating specific characters or conditions like 'starts with' or 'contains', thereby streamlining the transformation process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a PBE system relies solely on user-provided transformation examples without hints, then the system can operate with simpler input requirements, but it requires a large set of examples to accurately identify transformation conditions, reducing efficiency
Solution Approach 1:
The patent introduces hints as an intermediary element between user examples and transformation condition identification. These hints act as mediating information that bridges the gap between simple user input and accurate transformation rule detection, allowing the system to converge on the correct transformation with fewer examples
2Adaptability or versatility
If the PBE system processes heterogeneous data without hints, then the system maintains uniform processing logic, but it struggles to determine specific transformation conditions from ambiguous user inputs, requiring more examples
Solution Approach 1:
The patent applies local quality by allowing hints to provide specific, localized information about transformation conditions for particular data elements. Instead of requiring the entire system to handle all heterogeneity uniformly, hints provide targeted information about specific characters, positions, or patterns that are relevant to each transformation case
3Reliability
If users provide numerous transformation examples without hints, then the PBE system can gather more data for analysis, but the number of human-machine interactions increases, reducing overall efficiency
Solution Approach 1:
The patent implements preliminary action by having users provide hints in advance alongside their transformation examples. This preliminary information about transformation conditions allows the system to process fewer examples to achieve the same level of accuracy, reducing the time users spend interacting with the system
Data Source
AI summary
A user interface displays: a first column comprising non-editable input strings retrieved from a data field; a second column comprising editable output strings initialized from the data field; and an expression window displaying a transformation function ƒ. The computer iteratively processes user inputs, each user input i providing a sample row transformation to edit an ith output string ti. Some user inputs i designate a contiguous substring ssi of the corresponding input string si. The contiguous substring expresses a causal basis for transforming the input string si. into the output string ti. The computer updates the transformation function ƒ according to the provided sample row transformations so that: ƒ(s1)=t1, . . . , ƒ(si)=ti; the transformation function ƒ specifies text or string position of at least one contiguous substring; and ƒ has minimal branching among possible transformation functions that satisfy the samples. The computer displays the updated transformation function ƒ in the expression window.


