Context-Based Feature Search Recommendation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional feature search systems in applications rely on static lists of search terms, which can be inadequate as they require accurate term identification and frequent manual updates due to changes in features, leading to user frustration in locating tools or help pages.

Innovation Solution

A context-based recommendation system that generates a code workflow graph from application program code, collects data such as help and analytics data, and uses machine learning to predict relevant sentences in response to user queries, allowing for dynamic and context-specific search term recommendations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a static list of search terms is used, then the search system is simple to implement, but it requires frequent manual updates and cannot adapt to feature changes

Engineering Contradiction:
Improveease of implementationVSAvoidadaptability to feature changes
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static search term list into a dynamic system that automatically updates based on feature changes. The search system now dynamically generates recommendations by analyzing code comments, documentation, and usage patterns, allowing it to adapt to new features without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs self-updating by automatically learning from code comments, documentation files, and usage data. Instead of requiring manual maintenance of search term lists, the system self-adjusts to accommodate feature changes through automated analysis of code repositories and usage patterns.

Inventive Principle:
Principle #25Self-service

2Device complexity

If a static list of search terms is used, then the system has low complexity, but users cannot find features when they use different terminology

Engineering Contradiction:
Improvesystem complexityVSAvoidease of feature location
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer between user queries and actual features. This intermediary is a machine learning model that translates various user terms and phrases into accurate feature identifiers, serving as a mediator that handles terminology variations without increasing visible system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system incorporates feedback mechanisms by analyzing user interactions, search patterns, and usage data to continuously improve recommendation accuracy. This feedback loop allows the system to learn from actual usage and refine its term mapping over time.

Inventive Principle:
Principle #23Feedback

3Reliability

If developers manually update search term lists, then the system can be kept accurate, but it requires significant time and effort for maintenance

Engineering Contradiction:
Improvesearch accuracyVSAvoidmaintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically maintains search accuracy by self-updating its term mappings through analysis of code comments, documentation changes, and usage patterns. This eliminates the need for manual maintenance while preserving and improving search reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of code comments and documentation to proactively update search terms before they are needed. By continuously monitoring code changes and documentation updates, the system prepares accurate search mappings in advance, eliminating reactive maintenance.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If developers add new features to the application, then the functionality is enhanced, but the search system requires manual updates to accommodate new terms

Engineering Contradiction:
Improvefeature functionalityVSAvoidsearch system update efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The search system automatically adapts to new features by analyzing code comments, documentation, and usage patterns. When developers add new features, the system self-updates its search mappings without requiring manual intervention, maintaining productivity while enabling feature enhancement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of code changes and documentation to proactively add new search terms before users need them. By monitoring code repositories and documentation files, the system prepares search mappings in advance of actual user queries for new features.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12032607B2Context-based recommendation system for feature search
Publication Date: 2024.07.09 ADOBE INC
  • US12032607B2 patent drawing
  • US12032607B2 patent drawing
  • US12032607B2 patent drawing

AI summary

A context-based recommendation system for feature search automatically identifies features of a feature-rich system (e.g., an application) based on the program code of the feature-rich system and additional data corresponding to the feature-rich system. A code workflow graph describing workflows in the program code is generated. Various data corresponding to the feature-rich system, such as help data, analytics data, social media data, and so forth is obtained. The code workflow graph and the data are analyzed to identify sentences in the workflow. These sentences are used to a train machine learning system to generate one or more recommendations. In response to a user query, the machine learning system generates and outputs as recommendations workflows identified based on the user query.