Classification Rules Engine API Generator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database and query design, implementing complex logic to prioritize search results or classify inputs is prone to programmer errors due to the need for intricate if-then-else statements and case switching, which can lead to missed combinations or incorrect paths, necessitating automated solutions for generating code to handle classification techniques effectively.

Innovation Solution

A system that stores classification rules with attributes ordered by priority, using a scoring function to determine a unique best match for input queries, allowing for automated generation of APIs to prioritize classification rules without human intervention, and providing a graphical user interface for setting attribute orderings and entering new rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex if-then-else statements and case switching statements are used to implement classification logic, then the system can handle prioritized classification criteria, but the complexity of the code increases and programmer errors become more likely

Engineering Contradiction:
Improveclassification capabilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces manual programming of classification logic (mechanical system of if-then-else statements) with an automated code generation system that uses templates and metadata to generate the classification logic automatically. This substitution eliminates the need for programmers to manually write complex branching logic, thereby reducing code complexity and programmer errors while maintaining full classification capability.

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

2Reliability

If comprehensive classification rules are implemented to cover all possible input combinations, then classification accuracy improves, but the time required to implement and maintain the system increases

Engineering Contradiction:
Improveclassification accuracyVSAvoidimplementation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining classification templates and metadata schemas that encode common classification patterns and rules. These templates are prepared in advance and can be automatically instantiated for different classification scenarios, eliminating the need to manually implement comprehensive classification logic from scratch for each new application, thereby reducing implementation time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service through automated code generation that takes metadata and templates as input and automatically produces the classification logic code. This self-service capability allows the system to generate and update its own classification implementation without requiring manual programming for each scenario, significantly reducing implementation and maintenance time while ensuring comprehensive rule coverage.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If manual programming of classification logic is used, then flexibility in handling different classification scenarios is achieved, but programmer errors such as missed combinations or incorrect paths increase

Engineering Contradiction:
Improvehandling flexibilityVSAvoidcode correctness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent replaces manual programming with automated code generation that uses templates and metadata to produce classification logic. This automation eliminates human errors such as missed combinations or incorrect logic paths while maintaining flexibility through configurable templates and metadata that can be adjusted for different classification scenarios without manual reprogramming.

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

4Adaptability or versatility

If extensive manual programming is required to implement classification rules, then custom classification logic can be created, but the productivity of the development process decreases

Engineering Contradiction:
Improvecustomization capabilityVSAvoiddevelopment speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system enables self-service through automated code generation that produces custom classification logic from metadata and templates without requiring extensive manual programming. This automation maintains full customization capability while dramatically increasing development productivity, as the system can generate complete classification implementations automatically rather than requiring manual coding for each scenario.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies universality through reusable classification templates and metadata schemas that can serve multiple classification scenarios. These universal components can be configured and instantiated for different classification needs without requiring separate manual programming for each case, thereby maintaining customization capability while significantly improving development speed and productivity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11741162B2Classification rules engine and API generator
Publication Date: 2023.08.29 MORGAN STANLEY SERVICES GROUP INC
  • US11741162B2 patent drawing
  • US11741162B2 patent drawing
  • US11741162B2 patent drawing

AI summary

A computer-implemented method is disclosed for providing an interface to prioritize classification rules for an unclassified input. A set of classification rules for input queries are stored as a plurality of records, each record comprising a plurality of values, each value being associated with an attribute from a plurality of attributes ordered by priority from most important to least important, at least one record comprising a value consisting of a wildcard operator, and each record representing a classification rule that applies to an input query if and only if each value of the plurality of values is matched by a corresponding value for a same associated attribute in the input query. A GUI enables setting the ordering of the plurality of attributes; receiving an input query; and based on the ordering, automatically determining and outputting a unique best match among all classification rules that satisfy the input query.