Embedding Cache for Search Feed Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in efficiently determining similarities between a vast number of web documents and entities within a search and feed service, which is computationally intensive and memory-intensive due to the large corpus of data, especially when dealing with long-tail entities that are less frequently requested by users.

Innovation Solution

The implementation of a search and feed service that pre-computes and maintains embeddings for popular entities, using techniques like cosine similarity, dot product, or Euclidean distance to quickly identify similar web documents, while generating embeddings on the fly for long-tail entities to reduce computational and memory burdens.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If embeddings are pre-computed and maintained for all entities in the large corpus, then similarity determination speed is improved, but memory usage and computational costs increase significantly

Engineering Contradiction:
Improvesimilarity determination speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating between popular entities and long-tail entities, pre-computing and storing embeddings only for popular entities that are frequently queried. This selective approach ensures fast similarity determination for common queries while avoiding the memory burden of storing embeddings for all entities in the corpus.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by pre-computing and maintaining embeddings for popular entities in advance. This allows the system to quickly retrieve and compare embeddings when similarity determination is needed for frequently accessed entities, improving response time without preparing all possible embeddings beforehand.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If embeddings are pre-computed for popular entities only, then memory usage is reduced, but similarity determination accuracy may deteriorate for long-tail entities

Engineering Contradiction:
Improvememory usageVSAvoidsimilarity determination accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent uses an intermediary approach by introducing a fallback mechanism for long-tail entities. When an embedding is not found in the pre-computed popular entities cache, the system generates an approximate embedding on-demand using techniques like random projection or by leveraging related popular entities. This mediator approach maintains acceptable accuracy for long-tail entities while preserving memory efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If embeddings are generated on the fly for long-tail entities, then computational costs are reduced, but processing time increases for each query

Engineering Contradiction:
Improvecomputational costVSAvoidprocessing time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent applies partial action by generating embeddings only when necessary for long-tail entities that are not in the pre-computed cache. For the majority of queries involving popular entities, the system uses the pre-stored embeddings, avoiding redundant computation. This selective generation minimizes both computational cost and processing time overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11294974B1Golden embeddings
Publication Date: 2022.04.05 APPLE INC
  • US11294974B1 patent drawing
  • US11294974B1 patent drawing
  • US11294974B1 patent drawing

AI summary

An embedding associated with a query comprising one or more query terms is determined to be not stored in memory. An embedding is generated for the one or more query terms. One or more web documents that are similar to the generated embedding are determined. One or more content cards associated with the one or more web documents that are determined to be similar to the generated embedding are provided in a content feed.