Egocentric Collaborative Filtering via Graph Traversal on Large Datasets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing recommendation systems face performance challenges in providing real-time product recommendations due to the need for frequent recomputation of queries on large, dynamically changing datasets, especially when serving multiple users simultaneously, as traditional SQL databases struggle with memory-intensive join operations.

Innovation Solution

Utilizing Hipergraph primitives to perform graph traversals instead of traditional relational database joins, enabling efficient collaborative filtering by generating a graph model from consumer access data and applying Hipergraph operations to traverse vertices and edges, thereby reducing memory requirements and improving computational speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional SQL database joins are used for collaborative filtering, then the system can handle complex relational queries, but memory usage and computation time increase significantly

Engineering Contradiction:
Improvequery accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent replaces the mechanical join operations of traditional SQL databases with a probabilistic sampling mechanism. Instead of performing full relational joins that require loading entire tables into memory, the system uses graph traversal with sampling to estimate join results, dramatically reducing memory requirements while maintaining acceptable query accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the parameter of memory allocation by introducing a sampling rate parameter. By adjusting the sampling rate, the system can control the trade-off between memory usage and query accuracy, allowing it to operate within limited memory constraints while still providing meaningful results.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If traditional SQL database joins are used for collaborative filtering, then the system can handle complex relational queries, but computation time increases significantly

Engineering Contradiction:
Improvequery accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces computationally intensive join operations with efficient graph traversal algorithms. By representing data as a graph structure and using sampling-based traversal, the system avoids the O(n*m) complexity of traditional joins and achieves linear time complexity relative to the number of edges traversed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system performs partial joins by sampling a subset of records rather than processing complete tables. This partial action approach provides sufficiently accurate results for recommendation purposes while dramatically reducing computation time, as the sampling rate can be tuned to balance speed and accuracy requirements.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If graph traversals are performed on large datasets, then real-time recommendations can be provided, but the system complexity increases

Engineering Contradiction:
Improverecommendation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a graph representation as an intermediary data structure between the raw database and the recommendation engine. This graph intermediary simplifies the traversal operations by pre-computing relationships and storing them in an optimized format, making real-time queries feasible without directly complexifying the underlying database system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the large dataset into a graph structure with vertices and edges, allowing independent traversal of different relationship types. This segmentation enables parallel processing of multiple graph traversal operations and simplifies the management of complex relationships by breaking them into discrete, traversable components.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If multiple users are served simultaneously with real-time recommendations, then user satisfaction improves, but the computational load on the server increases

Engineering Contradiction:
Improveuser experienceVSAvoidcomputational load
Core Design Contradiction:
Ease of operationVSPower

Solution Approach 1:

The system serves multiple users simultaneously by performing partial graph traversals for each user query. Instead of computing complete recommendation sets for all users, it samples sufficient paths to provide personalized recommendations, reducing the computational load per user while maintaining overall system throughput and user satisfaction.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary graph construction and indexing during off-peak periods, pre-computing relationship structures that can be quickly traversed during user queries. This preliminary action reduces the computational load during peak usage by moving heavy lifting to background processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12505478B2System and method for a real-time egocentric collaborative filter on large datasets
Publication Date: 2025.12.23 XEROX CORP
  • US12505478B2 patent drawing
  • US12505478B2 patent drawing
  • US12505478B2 patent drawing

AI summary

One embodiment of the present invention provides a system for generating a product recommendation. During operation, the system obtains data indicating vertices and edges of a graph. The vertices represent consumers and products and an edge represents an access relationship. The system may receive a query indicating an ego for determining a product recommendation. The system may then traverse the graph from a vertex representing the ego through a plurality of edges to a plurality of vertices representing products. The system may traverse the graph from the plurality of vertices representing products to a plurality of vertices representing other consumers. The system may then traverse the graph from the plurality of vertices representing other consumers to a plurality of vertices representing other products. The system may generate a recommendation that based on the plurality of vertices representing other products.