Bloom Filter Spelling Correction for Social Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Social networking systems face challenges in accurately detecting and correcting misspelled search queries, particularly in complex social graph environments, which can lead to incorrect spell corrections and resource inefficiencies.

Innovation Solution

The implementation of a bloom filter combined with user-specific language models, grammar models, and context models based on social graph data to detect and correct misspelled n-grams in search queries, reducing resource usage and preventing incorrect corrections of rare usernames or entities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional spell correction methods are used in social networking systems, then spelling errors can be detected and corrected, but computational resources and storage resources are excessively consumed

Engineering Contradiction:
Improvespelling correction accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the spelling correction task into multiple components: (1) bloom filter for rapid existence checking of corrected terms, (2) n-gram analysis for identifying potential spelling errors, (3) social graph context analysis for verifying corrections. This segmentation allows each component to handle specific aspects efficiently, reducing overall computational overhead while maintaining correction accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-processing and storing spelling correction data in bloom filters before actual search queries occur. The system pre-analyzes social graph data to build context models and pre-computes correction possibilities. This preliminary preparation enables rapid response to actual spelling correction needs without performing heavy computations in real-time, thus reducing computational resource consumption during query processing.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If comprehensive spell correction is performed on all search queries, then spelling accuracy improves, but system processing time increases

Engineering Contradiction:
Improvespelling detection accuracyVSAvoidquery processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by selectively performing spell correction only on queries that contain actual spelling errors rather than processing every query uniformly. The system uses bloom filters to quickly determine if correction is needed, and only then proceeds with full correction analysis. This selective approach maintains high spelling detection accuracy while minimizing unnecessary processing time for already-correct queries.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements skipping by using bloom filters to rapidly skip over queries that do not require correction. The bloom filter provides O(1) time complexity checks that allow the system to immediately bypass full correction procedures for valid queries, rushing through the filtering stage efficiently. This skipping mechanism significantly reduces average query processing time while maintaining comprehensive correction coverage for actual errors.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If rare usernames and entities are subjected to spell correction, then spelling errors are corrected, but real but rare usernames may be incorrectly modified

Engineering Contradiction:
Improvespelling correction reliabilityVSAvoidusername integrity
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent employs feedback mechanisms where the bloom filter and social graph context model continuously verify correction candidates against actual social networking data. When a potential correction is proposed for a rare username, the system checks feedback from multiple sources: bloom filter existence checks, n-gram frequency analysis, and social graph relationship validation. This multi-layered feedback ensures that corrections are only applied when confidently verified, preventing incorrect modification of real but rare usernames while maintaining correction reliability for actual errors.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10303731B2Social-based spelling correction for online social networks
Publication Date: 2019.05.28 META PLATFORMS INC
  • US10303731B2 patent drawing
  • US10303731B2 patent drawing
  • US10303731B2 patent drawing

AI summary

In one embodiment, a method includes, receiving, from a client system of a user, a search query including n-grams. The method includes associating each n-gram with verticals based on an analysis of the n-grams by language models. The method includes determining, for each n-gram, if a bloom filter for a vertical associated with the n-gram indicates, based on sub-bloom filters of the bloom filter, the n-gram does exist or does not exist in a set of object names associated with the vertical. Each sub-bloom filter is associated with a subset of the set of object names and indicates the n-gram does exist or does not exist in its subset of object names. The method includes sending, to the client system, an indication that an n-gram of the n-grams is misspelled if a bloom filter indicates the n-gram does not exist in the set of object names associated with the vertical.