Feature Matrix Generation for Recommender Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Classical recommender systems face inefficiencies in feature engineering due to the computation of full feature matrices without exploiting redundancies, leading to high memory usage and computational costs, and lack flexibility in regularization levels.

Innovation Solution

The feature generation process is separated from the feature matrix generation, allowing for the storage of unique primary keys and on-demand matrix production, enabling parallelization and efficient computation of factorized features with flexible regularization levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the full feature matrix is generated without exploiting redundancies, then the feature matrix can be produced in a classical setup, but memory resources are consumed excessively and computational costs increase

Engineering Contradiction:
Improvefeature matrix generationVSAvoidmemory resources
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent segments the feature matrix generation into two independent stages: (1) feature generation stage where only unique primary keys are stored, and (2) feature matrix production stage where the matrix is generated on-demand. This segmentation eliminates the need to store the complete feature matrix in memory, reducing memory requirements while maintaining the ability to generate the matrix when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary computation of features and stores only the unique primary keys and their corresponding feature values before the actual matrix generation. This preliminary action separates the heavy computational workload from the memory storage requirement, allowing features to be pre-computed and stored efficiently without occupying excessive memory resources.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If the full feature matrix is generated without exploiting redundancies, then the feature matrix can be produced in a classical setup, but computational costs increase

Engineering Contradiction:
Improvefeature matrix generationVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

By segmenting the process into feature generation (computational) and feature matrix production (data retrieval), the patent allows computational tasks to be performed once and stored, while subsequent matrix generation becomes a much lighter data retrieval and transformation operation. This segmentation dramatically reduces repeated computational costs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a compressed representation (copy) of the feature matrix by storing only unique primary keys and their features, rather than the full matrix. This compressed copy can be efficiently retrieved and transformed into the full matrix only when needed, reducing computational overhead for repeated operations.

Inventive Principle:
Principle #26Copying

3Measurement precision

If more embeddings are used for matrix reconstruction, then the reconstruction accuracy improves, but the memory resources required increase

Engineering Contradiction:
Improvereconstruction accuracyVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent makes the number of embeddings dynamic rather than fixed. Users can select the appropriate number of embeddings based on their specific needs and available resources. The system can reconstruct the feature matrix with different levels of detail (different numbers of embeddings) without requiring all possible embeddings to be stored in memory simultaneously.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent pre-computes and stores the component matrices (customer and item embeddings) separately, allowing the full feature matrix to be reconstructed on-demand by multiplying these pre-computed components. This preliminary computation of components enables flexible reconstruction at different accuracy levels without storing the complete high-accuracy matrix in memory.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If the feature generation process is separated from the feature matrix generation process, then redundancy can be maximally exploited and memory requirements reduced, but the system complexity increases

Engineering Contradiction:
Improvememory requirementsVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the system into two distinct modules: a feature generation module that computes and stores unique features, and a feature matrix production module that generates the matrix on-demand. While this segmentation increases architectural complexity, it dramatically reduces memory requirements and enables efficient processing by separating computation from data storage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240249296A1Efficient Feature Engineering for Recommender Systems
Publication Date: 2024.07.25 BOSTON CONSULTING GRP INC
  • US20240249296A1 patent drawing
  • US20240249296A1 patent drawing
  • US20240249296A1 patent drawing

AI summary

Described is a recommender engine where a first plurality of customers prospects is exposed to a second plurality of potential actions, the recommender engine filters tuples of customers and actions according to one or more applied business rules, generates features that identify a primary key that characterizes a specific feature to determine a minimum level of representation to eliminate redundancy, the feature generator executes a feature calculation to fit feature values per each primary key that are computed to subsequently reconstruct the feature per each primary key, transforms the features to return the feature values according to a number of primary keys that needs to be fetched, composes a feature matrix that includes a portion of the primary keys that needs to be fetched, scores the portion of the primary keys from feature matrix, and issues recommendations for tuples of customers and actions according to the feature matrix.