String Comparison Tree Structure with Cumulative Error Pruning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the complexity and size of string comparison sets increase, the number of comparison operations grows exponentially, leading to significant complexity and expense, making it impractical to compare input strings against large dictionaries effectively.

Innovation Solution

A tree structure is created to represent the dictionary, where strings sharing common substrings share nodes, allowing for efficient comparison by generating labels with cumulative error metrics and pruning branches based on predefined values, reducing the number of operations needed to identify matching strings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the number of strings in the dictionary increases, then the completeness of string matching improves, but the number of comparison operations increases exponentially

Engineering Contradiction:
Improvecompleteness of string matchingVSAvoidnumber of comparison operations
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the string comparison task by introducing intermediate summary values that represent aggregated comparison results. Instead of comparing each input string against every dictionary string individually, the system divides the dictionary into groups and computes summary values for each group, reducing the total number of direct comparisons needed while maintaining matching completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing summary values for dictionary string groups before actual matching occurs. These summary values are calculated in advance and stored, allowing the system to quickly filter and identify potential matches without performing full string comparisons against all dictionary entries, thus reducing operational complexity.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the number of comparison operations increases, then the accuracy of string matching improves, but the computational expense increases

Engineering Contradiction:
Improveaccuracy of string matchingVSAvoidcomputational expense
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary computation of summary values that capture essential matching characteristics. By pre-calculating these aggregated metrics, the system avoids performing expensive full-string comparisons for every dictionary entry, thereby reducing computational expense while preserving the ability to accurately identify matches through the summary values.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified representations (copies) of the dictionary data in the form of summary values. These summary structures serve as lightweight proxies that retain the essential information needed for accurate matching decisions without requiring the full computational overhead of comparing against complete dictionary strings for every query.

Inventive Principle:
Principle #26Copying

3Reliability

If the number of comparison operations increases, then the completeness of matching improves, but the time required for comparison increases

Engineering Contradiction:
Improvecompleteness of matchingVSAvoidtime required for comparison
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the comparison process into multiple stages: first comparing against group summary values, then only proceeding to full string comparisons for promising candidates. This segmentation reduces the time required by eliminating unnecessary full comparisons while maintaining matching completeness through the multi-stage verification process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary filtering using pre-computed summary values before conducting time-intensive full string comparisons. This preliminary action quickly eliminates non-matching dictionary strings, reducing the overall comparison time while ensuring that no potential matches are missed by the filtering process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8280723B1Technique for comparing a string to large sets of strings
Publication Date: 2012.10.02 INTUIT INC
  • US8280723B1 patent drawing
  • US8280723B1 patent drawing
  • US8280723B1 patent drawing

AI summary

A comparison technique for efficiently comparing an input string to a set of strings is described. This set of strings may be represented in a tree structure as paths from a root of the tree structure to leaves of the tree structure, and strings in the set of strings that share common substrings share nodes in the tree structure. During the comparison technique, labels may be assigned to a given node in the tree structure based at least in part on comparisons between a given character in the input string and a character associated with the given node. These labels may include a position of the given character in the input string, and a cumulative error between the characters in a string that are associated with a branch in the tree structure and the characters in the input string that have been processed. Based at least in part on these labels, an actual string, which corresponds to the input string, may be identified.