User-Specific ANN Indexing for Efficient Content Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing embedding-based information retrieval systems struggle to effectively filter content items at the candidate retrieval stage, particularly in ensuring that items satisfy specific filtering criteria such as the 'in-network' requirement, leading to inefficiencies and increased complexity when combining approximate nearest neighbor search systems with filtering mechanisms.

Innovation Solution

The implementation of an improved candidate retrieval technique that creates separate approximate nearest neighbor indexing structures for each end-user and activity type, allowing for simultaneous application of filtering and relevance criteria during the retrieval process, thereby simplifying the system architecture and enhancing scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single approximate nearest neighbor index is used for all content items, then the system is simpler to implement, but it cannot efficiently apply filtering criteria such as 'in-network' requirements during candidate retrieval

Engineering Contradiction:
Improvefiltering capabilityVSAvoidindexing structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the single approximate nearest neighbor index into multiple separate indexes, with each index dedicated to a specific end-user. This segmentation enables the system to efficiently retrieve content items that satisfy both approximate nearest neighbor criteria and filtering criteria such as 'in-network' requirements, as each user-specific index can be queried independently with relevant filters already applied.

Inventive Principle:
Principle #1Segmentation

2Productivity

If filtering is applied after approximate nearest neighbor search, then the retrieval process is simpler, but computational overhead increases and system efficiency decreases

Engineering Contradiction:
Improveretrieval efficiencyVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the filtering operation with the approximate nearest neighbor search operation by integrating filtering logic directly into the candidate retrieval process. This combination allows the system to simultaneously perform both operations in a single pass, eliminating the need for separate filtering steps and reducing computational overhead while maintaining architectural simplicity.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If separate indexing structures are created for each end-user and activity type, then filtering and relevance criteria can be applied simultaneously, but the number of indexes increases

Engineering Contradiction:
Improvefiltering accuracyVSAvoidnumber of indexes
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by creating user-specific indexing structures tailored to each end-user's characteristics and requirements. Each user's index is optimized with relevant filtering criteria (such as in-network requirements) already integrated, allowing the system to retrieve highly relevant content items that precisely match both the user's profile and the filtering requirements, thereby improving retrieval accuracy without requiring a single overly complex universal index.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240143668A1Embedding-based retrieval techniques for feeds
Publication Date: 2024.05.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240143668A1 patent drawing
  • US20240143668A1 patent drawing
  • US20240143668A1 patent drawing

AI summary

Described herein is a technique to facilitate filtering during candidate retrieval stage performed by an information retrieval system that utilizes embedding models. An aNN indexing structure is created for each end-user, and in some instances, each activity type. This allows a single request for candidate content items to invoke a single process to obtain content items that satisfy the filtering criteria (e.g., in this case, the in-network requirement) from the separate per-end-user indexes.