Similar Data Record Matching With Q-Gram Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fuzzy matching technologies face challenges in scalability, handling different language semantics, and high false positive rates, especially when dealing with large datasets of varying language translations and spellings.
Innovation Solution
A processor-implemented method using q-gram and shared character count filters, along with preprocessing for non-English words, to identify similar data records by generating candidate records and determining similarity scores based on token-level and record-level analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If fuzzy matching is performed on large datasets, then matching accuracy is improved, but processing time and memory requirements increase substantially
Solution Approach 1:
The patent segments the fuzzy matching process into distinct phases: candidate generation using q-gram indexing, filtering using multiple criteria (length filter, q-gram filter, shared character count filter), and final verification using edit distance calculation. This segmentation allows the system to quickly eliminate non-matching records before performing computationally expensive operations, thereby reducing overall processing time while maintaining accuracy.
Solution Approach 2:
The patent applies preliminary filtering actions before the main matching computation. Specifically, it pre-processes records by generating q-grams, calculating length metrics, and creating candidate sets that are likely to match. These preliminary actions reduce the search space significantly, allowing the system to handle large datasets efficiently without sacrificing matching accuracy.
2Measurement precision
If fuzzy matching is performed on large datasets, then matching accuracy is improved, but memory requirements increase substantially
Solution Approach 1:
The patent extracts only the necessary components for matching from the full dataset. Instead of loading and comparing all possible record pairs, it extracts candidate records based on q-gram similarity and other filtering criteria. This extraction approach reduces memory requirements by focusing computational resources only on potentially matching records rather than the entire dataset.
Solution Approach 2:
The patent segments the data processing into manageable chunks through candidate generation and filtering stages. By dividing the large dataset into smaller candidate sets that pass through multiple filtering layers, the system reduces the memory footprint at any given time, allowing accurate fuzzy matching on large datasets without requiring proportional memory increases.
3Adaptability or versatility
If traditional fuzzy matching is used, then spelling variations are handled, but false positive rates increase
Solution Approach 1:
The patent implements a dynamic, multi-stage filtering process that adapts the matching criteria at different stages. The system starts with lenient q-gram-based candidate generation to capture spelling variations, then progressively applies stricter filters (length filter, q-gram filter, shared character count filter) to eliminate false positives. This dynamic approach maintains adaptability to spelling variations while progressively reducing false positive rates.
Solution Approach 2:
The patent incorporates feedback mechanisms through its multi-stage filtering process. Each filtering stage provides feedback to the next stage by eliminating records that fail to meet specific criteria. The shared character count filter and edit distance verification use feedback from previous stages to further refine the candidate set, thereby reducing false positives while maintaining the ability to handle spelling variations.
Data Source
AI summary
Disclosed is a method and apparatus for identifying similar record elements to a query, the method including receiving a query, determining an index for the query, generating candidate records from a reference list to match the query based on the index and applying any one or any combination of a q-gram filter, a length filter, and a shared character count (SCC) filter, determining similarity scores of each of the candidate records identifying records from among the candidate records having a similarity score greater than or equal to a threshold, selecting data records similar to the query based on sorting the selected records according to respective similarity scores, and outputting one or more of the selected data records.


