Object oriented case-based reasoning framework mechanism
First Claim
1. A computer system comprising:
- a central processing unit;
a user interface; and
a main memory having an operating system that supports an object oriented programming environment containing a framework that provides an extensible case-based reasoning system that evaluates a user query by determining a set of case instance descriptions that most closely match properties of a query object corresponding to the user query and thereby produces a solution to the user query, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework, the customized framework then being compiled to generate a desired run-time case-based reasoning system.
4 Assignments
0 Petitions
Accused Products
Abstract
A framework for use with object-oriented programming systems provides a case-based reasoning (CBR) system shell that permits a framework user to develop a case base having case histories and generates a case-based reasoning system that receives user requests for query solutions and produces a query solution that can be incorporated into the case base. The framework includes a Session component that controls processing of the CBR system, a Control Flow component that manages the extension of the categories and classes of the OO framework, a Data Store component that stores persistent case structure definitions, case instances, and a change log, a Presentation component that manages the user interface to the CBR system user, and a Query Engine that evaluates a received query against the case base. The case definitions and case base descriptions comprise a set of object oriented classes that are organized into an inheritance hierarchy. Also disclosed is a case-based reasoning system that permits dynamic adjustment of property weights in either object oriented programming implementations or procedural programming implementations. This permits users to control which properties and weights are used and whether missing items should penalize case matching.
-
Citations
70 Claims
-
1. A computer system comprising:
-
a central processing unit; a user interface; and a main memory having an operating system that supports an object oriented programming environment containing a framework that provides an extensible case-based reasoning system that evaluates a user query by determining a set of case instance descriptions that most closely match properties of a query object corresponding to the user query and thereby produces a solution to the user query, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework, the customized framework then being compiled to generate a desired run-time case-based reasoning system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
- 17. An object oriented framework for use in a computer system having an operating system that supports an object oriented programming environment that defines a case set class having case instance objects that include property objects, value objects, and attributes comprising case instance descriptions and provides an extensible case-based reasoning system that evaluates a user query by determining a set of the case instance objects that most closely match a query object corresponding to the user query and thereby produces a solution to the user query, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework, the customized framework then being compiled to generate a desired run-time case-based reasoning system.
-
32. A program product for use in a computer system having an operating system that supports an object-oriented programming environment, the program product comprising:
-
a signal bearing media; and a framework recorded on the signal bearing media, the framework providing an extensible case-based reasoning system that evaluates a user query by determining a set of case instance descriptions that most closely match properties of a query object corresponding to the user query and thereby produces a solution to the user query, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework, the customized framework then being compiled to generate a desired run-time case-based reasoning system. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A method of executing an application program in a computer system having a central processing unit that controls processing in the computer system, a user interface, and a main memory having an operating system that supports an object oriented programming environment, the method comprising the steps of:
-
providing an object oriented framework that provides an extensible case-based reasoning system, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework, the customized framework then being compiled to generate a desired run-time case-based reasoning system; and evaluating a user query by determining a set of case instance descriptions that most closely match properties of a query object corresponding to the user query and thereby produces a solution to the user query. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
-
66. A method of executing an application program in a computer system having a central processing unit that controls processing in the computer system, a user interface, and a main memory having an operating system that supports a programming environment, the method comprising the steps of:
-
providing an extensible case-based reasoning framework that operates in the programming environment, the framework including at least one core class that cannot be modified by a user and at least one extensible class that is defined by a user to customize the framework and thereby define a desired case-based reasoning system; extending the framework to define the desired case-based reasoning system; compiling the extended framework to generate a run-time case-based reasoning system; and executing the run-time case-based reasoning system to perform the step of evaluating a user query by determining a set of case instance descriptions that most closely match properties of a user query and thereby produces a solution to the user query;
wherein;the case instances comprise data structures that include properties, values, and attributes; the user query specifies a pattern of properties, values, and attributes, and is evaluated in a match scoring operation that compares the properties, values, and attributes of the user query with the corresponding properties, values, and attributes of a case instance and computes a match score indicating the similarity of the user query and the case instance; and the match scoring operation comprises a dynamically weighted operation in which weight multiplier values are applied to designated properties of the user query and the case instance, wherein each weight multiplier value indicates an importance ranking of the designated property relative to the other properties of the respective user query and case instance. - View Dependent Claims (67, 68, 69, 70)
-
Specification