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 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;
wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects, value objects, and attributes.
2 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
98 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 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects, value objects, and attributes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. 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 properities of a query object corresponding to the user query and thereby produces a solution to the user query; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects, value objects, and attributes; the framework permits a user to provide a case structure definition class that specifies an inheritance data structure for the case instance objects; and wherein a user may change the case structure definition class and the computer system, in response, records the change in a change log. - View Dependent Claims (17)
-
-
18. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects, value objects, and attributes; and wherein the framework permits a user to provide a tracking definition class of objects that specify a case instance attribute status condition that is to be detected and upon which a tracking count is incremented.
-
-
19. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects, value objects, and attributes; and wherein the framework permits a user to provide a parsing definition class of objects that specify a parsing scheme to be used in a parsing operation on text or property values in a query object. - View Dependent Claims (20)
-
-
21. A computer system comprising:
-
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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include property objects value objects, and attributes; wherein the query object includes a pattern of attributes and property objects and value objects corresponding to the attributes, property objects, and value objects of the case instance class of objects, and is evaluated in a match scoring operation that compares the attributes, properties, and values of the query object with the corresponding attributes, properties, and values of a case instance object and computes a match score indicating the similarity of the query object and the case instance object; and wherein the match scoring operation comprises calculating a raw match score indicative of the similarity between the properties of the query object and the case instance object and multiplying the raw match score by a delta factor that is a function of property ranking values that indicate an importance ranking of each property relative to the other properties of the respective query object and case instance object, and the delta factor is defined as ##EQU3## where the ignored ranking values comprise properties that are not specified in a query or case instance and the additional ranking values comprise the remaining properties, and the summation symbols indicate the sum of the corresponding ranking values. - View Dependent Claims (22)
-
- 23. 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.
-
38. An object oriental 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;
-
wherein the framework permits a user to provide a case structure definition class that specifies an inheritance data structure for the case instance objects; and wherein a user may change the case structure definition class and the computer system, in response, records the change in a change log. - View Dependent Claims (39)
-
-
40. 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;
wherein the framework permits a user to provide a tracking definition class of objects that specify a case instance attribute status condition that is to be detected and upon which a tracking count is incremented.
-
41. 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;
wherein the framework permits a user to provide a parsing definition class of objects that specify a parsing scheme to be used in a parsing operation on text or property values in a query object. - View Dependent Claims (42)
-
43. 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;
-
wherein the query object includes a pattern of attributes and property and value objects corresponding to the attributes, property objects, and value objects of the case instance class of objects, and is evaluated in a match scoring operation that compares the attributes, properties, and values of the query object with the corresponding attributes, properties, and values of a case instance object and computes a match score indicating the similarity of the query object and the case instance object; and wherein the match scoring operation comprises calculating a raw match score indicative of the similarity between the properties of the query object and the case instance object and multiplying the raw match score by a delta factor that is a function of property ranking values that indicate an importance ranking of each property relative to the other properties of the respective query object and case instance object, and the delta factor is defined as ##EQU4## where the ignored ranking values comprise properties that are not specified in a query or case instance and the additional ranking values comprise the remaining properties, and the summation symbols indicate the sum of the corresponding ranking values. - View Dependent Claims (44)
-
-
45. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
-
-
62. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; and wherein the framework permits a user to provide a case structure definition class that specifies an inheritance data structure for the case instance objects; wherein a user may change the case structure definition class and the computer system, in response, records the change in a change log. - View Dependent Claims (63)
-
-
64. A program product for use in a computer system having an operating system that supports an object-oriented programming environment, the programming 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; and wherein the framework permits a user to provide a tracking definition class of objects that specify a case instance attribute status condition that is to be detected and upon which a tracking count is incremented.
-
-
65. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; and wherein the framework permits a user to provide a parsing definition class of objects that specify a parsing scheme to be used in a parsing operation on text or property values in a query object. - View Dependent Claims (66)
-
-
67. 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; wherein the case instance descriptions comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; wherein the query object includes a pattern of attributes and property and value objects corresponding to the attributes, property objects, and value objects of the ease instance class of objects, and is evaluated in a match scoring operation that compares the attributes, properties, and values of the query object with the corresponding attributes, properties, and values of a case instance object and computes a match score indicating the similarity of the query object and the case instance object; wherein the match scoring operation comprises a dynamically weighted operated in which weight multiplier values are applied to designated properties of the query object and the ease instance object, wherein each weight multiplier value indicates an importance ranking of the designated property relative to the other properties of the respective query object and case instance object; and wherein the match scoring operation comprises calculating a raw match score indicative of the similarity between the properties of the query object and the case instance object and multiplying the raw match score by a delta factor that is a function of property ranking values that indicate an importance ranking of each property relative to the other properties of the respective query object and case instance object, and the delta factor is defined as ##EQU5## where the ignored ranking values comprise properties that are not specified in a query or case instance and the additional ranking values comprise the remaining properties, and the summation symbols indicate the sum of the corresponding ranking values. - View Dependent Claims (68)
-
-
69. 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; 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; wherein the case instance descriptions of the provided object oriented framework comprise an object oriented programming case set class having case instance object that include attributes, property objects, and value objects. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83)
-
-
84. 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; 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; wherein the case instance descriptions of the provided object oriented framework comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; wherein the provided framework permits a user to provide a case structure definition class that specifies and inheritance data structure for the case instance objects; and wherein a user may change the case structure definition class and the computer system, in response, records the change in a change log. - View Dependent Claims (85)
-
-
86. 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; 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; wherein the user instance descriptions of the provided object oriented framework comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; and wherein the provided framework permits a user to provide a tracking definition class of objects that specify a case instance attribute status condition that is to be detected and upon which a tracking count is incremented.
-
-
87. 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; 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; wherein the case instance descriptions of the provided object oriented framework comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; and wherein the provided framework permits a user to provide a parsing definition class of objects that specify a parsing scheme to be used in a parsing operation on text or property values in a query object. - View Dependent Claims (88)
-
-
89. 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; 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; wherein the case instance descriptions of the provided object oriented framework comprise an object oriented programming case set class having case instance objects that include attributes, property objects, and value objects; wherein the query object includes a pattern of attributes and property objects and value objects corresponding to the attributes, property objects, and value objects of the case instance class of objects, and is evaluated in a match scoring operation that compares the attributes, properties, and values of the query object with the corresponding attributes, properties, and values of a case instance object and computes a match score indicating the similarity of the query object and the case instance object; and wherein the match scoring operation of the provided framework comprises calculating a raw match score indicative of the similarity between the properties of the query object and the case instance object and multiplying the raw match score by a delta factor that is a function of property ranking values that indicate an importance ranking of each property relative to the other properties of the respective query object and case instance object, and the delta factor is defined as ##EQU6## where the ignored ranking values comprise properties that are not specified in a query or case instance and the additional ranking values comprise the remaining properties, and the summation symbol indicate the sum of the corresponding ranking values. - View Dependent Claims (90)
-
-
91. 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 a case-based reasoning system that operates in the programming environment; and 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 (92, 93, 94, 95)
-
-
96. 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 a case-based reasoning system that operates in the programming environment; and 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 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; wherein the match scoring operation comprises calculating a raw match score indicative of the similarity between the properties of the user query and the case instance and multiplying the raw match score by a delta factor that is a function of property ranking values that indicate an importance ranking of each property relative to the other properties of the respective user query and case instance, and the delta factor is defined as ##EQU7## where the ignored ranking values comprise properties that are not specified in a user query or case instance and the additional ranking values comprise the remaining properties, and the summation symbols indicate the sum of the corresponding ranking values. - View Dependent Claims (97, 98)
-
Specification