String Matching via Hash-Based Blocking Groups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The high computational complexity of matching strings in entity resolution tasks, such as data integration and record linkage, due to the need for extensive string comparisons, limits efficiency and scalability, especially when dealing with large datasets and diverse data sources.

Innovation Solution

A computer-implemented method using a string hash function to divide input character strings into n-grams, calculate hash values, and aggregate them into integer values for grouping, significantly reducing computational complexity by pre-sorting strings into blocking groups, allowing for efficient matching using integer comparisons rather than string comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional string comparison methods are used for matching, then matching accuracy is maintained, but computational complexity increases significantly

Engineering Contradiction:
Improvematching accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces hash values as an intermediary representation of strings. Instead of directly comparing strings, the system computes hash values from strings and compares these compact integer representations. This intermediary step reduces the computational burden while maintaining matching accuracy, as hash values preserve the essential characteristics needed for comparison.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a simplified copy of the string data in the form of hash values. Rather than manipulating and comparing the full string data, the system works with these compact hash value copies, which contain the necessary information for matching but require significantly less computational resources to process.

Inventive Principle:
Principle #26Copying

2Reliability

If all string pairs are compared exhaustively, then complete matching is achieved, but processing time increases

Engineering Contradiction:
Improvematching completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by computing hash values for all strings before performing comparisons. This pre-processing step organizes the data into a more efficient structure, allowing the system to quickly identify potential matches without exhaustively comparing every string pair, thus reducing processing time while maintaining completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the comparison task by dividing it into two stages: first comparing hash values (which is computationally efficient), and then performing full string comparison only on pairs with matching or similar hash values. This segmentation reduces the total number of expensive full-string comparisons needed while ensuring no matches are missed.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If string length increases, then more information is captured, but comparison complexity increases

Engineering Contradiction:
Improveinformation contentVSAvoidcomparison complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts the essential information from long strings by computing hash values that capture the key characteristics needed for matching. This extraction process separates the essential matching information from the redundant or less relevant parts of the strings, allowing efficient comparison while preserving the necessary information content.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11507601B2Matching a first collection of strings with a second collection of strings
Publication Date: 2022.11.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11507601B2 patent drawing
  • US11507601B2 patent drawing
  • US11507601B2 patent drawing

AI summary

A method for matching first elements with second elements. Each of the first elements and second elements is a character string. The method comprises: calculating a first integer hash value for each of the first elements using a string hash function, wherein the first integer hash value is an output integer calculated from using each of the first elements as an input character string of the function; calculating second integer hash values for each of the second elements using the function; grouping each of the first elements into at least one group of a set of blocking groups using its first integer hash value; grouping each of the second elements into at the least one group of the set of blocking groups using its second integer hash value; and matching first elements with second elements within each group of the set of blocking groups using a string comparison function.