Software Dependency Recommendation via Matrix Factorization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face difficulties in selecting appropriate software dependencies from a growing number of available options, as existing algorithms for user recommendations are computationally expensive and inapplicable due to sparse user data and zero entries in behavior matrices.

Innovation Solution

A machine learning model using hierarchical Poisson matrix factorization is trained to quickly calculate software dependency recommendations by assembling sparse user data and generating latent vectors of attributes, reducing the need for processing where behavior matrix entries are zero, thus providing efficient dependency package suggestions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing recommendation algorithms are used, then recommendation accuracy can be achieved, but computational cost becomes excessively high and processing time increases

Engineering Contradiction:
Improverecommendation accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

The patent extracts and processes only the non-zero entries from the sparse behavior matrix, rather than processing the entire matrix including all zero entries. This selective extraction of relevant data (user-item interactions that actually occurred) reduces computational load while maintaining recommendation accuracy, as zero entries provide no useful information for preference learning.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the computational approach by using Poisson matrix factorization with a parameterized model that directly models the expected count of interactions. By parameterizing the user preferences and item attributes and using Poisson distribution properties, the system efficiently handles sparse data without requiring computationally expensive iterations over zero entries.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If existing recommendation algorithms are used, then recommendations can be generated, but processing time becomes unacceptably long

Engineering Contradiction:
Improverecommendation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system extracts only the necessary non-zero interactions from sparse user data, avoiding unnecessary processing of zero entries. This extraction approach significantly reduces the number of computations required while preserving all relevant information for accurate recommendations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary assembly of sparse user data into a structured format that identifies non-zero entries before the main recommendation processing. By pre-organizing the data to highlight only relevant interactions, the system avoids repeated processing of irrelevant zero entries during recommendation generation.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If comprehensive user data is collected, then recommendation accuracy improves, but data sparsity increases with more zero entries

Engineering Contradiction:
Improverecommendation accuracyVSAvoiddata sparsity
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent converts the harmful effect of data sparsity (many zero entries) into a benefit by designing a model that explicitly accounts for the sparse structure. The Poisson matrix factorization model is formulated to work efficiently with sparse data, where the zero entries are naturally handled by the probabilistic framework rather than requiring imputation or ignoring.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The system uses parameterized user preference vectors and item attribute vectors that can be learned from sparse observations. By parameterizing the model, the system can generalize from limited non-zero interactions to make accurate predictions about unobserved user-item pairs, effectively converting data sparsity into a manageable condition rather than a limitation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10996944B2Automated software selection using matrix factorization
Publication Date: 2021.05.04 RED HAT INC
  • US10996944B2 patent drawing
  • US10996944B2 patent drawing
  • US10996944B2 patent drawing

AI summary

A processing device can establish a machine learning model to produce software dependency recommendations. The model can be periodically retrained to update its knowledge of available dependencies. The software dependencies can be incorporated into software by developers who receive the selection or automatically by an intelligent software development platform. A processing device can train the model by assembling sparse user data based on feedback corresponding to software dependencies to produce a vector of preferences for each user. The processing device can also generate a latent vector of attributes for each software dependency. The processing device can then apply matrix factorization to the vectors to produce a behavior matrix that is used to train the machine learning model.