case-based reasoning: an introduction

6
Expert Systems With Applications, Vol. 6, pp. 3-8, 1993 0957-4174/93 $5.00 + .00 Printed in the USA. © 1993 Pergamon PressLtd. Case-Based Reasoning: An Introduction KAREN KETLER Computer and Operations Management Department, Eastern Illinois University, Charleston, IL Abstract--Case-based reasoning is a method of solving a current problem by studying the solutions to previous, similar problems. This article presents an introduction to the case-based reasoning process, including an example of the creation and consultation use of the case base. Construction tools for case-based reasoning are identified, and key concepts in case-based reasoning are discussed. 1. INTRODUCTION A DEFINITION OF KNOWLEDGE in Webster's II New Riverside Dictionary is "understanding acquired through experience." It is this definition of knowledge that is the basis for expert systems. The knowledge base contains the facts or understanding that the expert has learned through experience. By tradition, knowledge has been represented as rules or frames (and hybrid). This rule-based approach has advantages such as mod- ularity and flexibility in the use of knowledge. In some domains, however, it is difficult to code the knowledge in rules. In such cases, decision makers rely heavily upon their experiences rather than upon explicit-stated rules. Case-based reasoning (CBR) is a computerized method that attempts to study solutions that were used to solve problems in the past to solve, by analogy or association, current problems. CBR is a branch of ma- chine learning and an approach designed to alleviate the limitations of the rule-based systems, as well as that of manual knowledge acquisition. Compared to rule- based systems, CBR has several advantages. First, it is closer to actual human decision processes. When a problem is presented to an expert, similar problems from the past are "replayed" in his/her mind. The mind can flutter from one case to another. A second advantage of CBR is the automation of the process of incorporating new knowledge into an existing knowledge base. When a rule-based system fails to obtain a desirable solution to a problem, new rules must be created and entered into the knowledge base. With CBR, each case, as described to the expert system, is recorded in the case base. The ultimate solution, whether determined by the system or the expert, is re- corded with the case. The CBR system will automati- Requests for reprints should be sent to Karen Ketler, Assistant Pro- fessor, Computer and Operations Management Department, Eastern Illinois University, Charleston, IL 61920, USA. cally utilize this additional knowledge for the solution of future problems. CBR solves the problem of knowl- edge acquisition associated with the rule-based systems. Third, creation of a case base is usually more rapid than the creation of a knowledge base. With rule-based systems, the expert must be questioned by the knowl- edge engineer to obtain the rules behind the expert's reasoning. This can be a labor-intensive process for both the human expert and the knowledge engineer. The task is further complicated by the interrelationships among the rules. With CBR, the knowledge engineer must identify, store, and index the key features of the previous problems so that these features can be recalled. Collecting cases for a CBR system may not take much time because many organizations have already docu- mented their previous cases. Thus, the developers of CBR systems may simply have to reformat the existing documentation to ensure the accurate retrieval of prior cases. It may be difficult to develop an appropriate in- dexing technique; however, once an inferencing algo- rithm is defined, the case base can be rapidly created. The fourth advantage is the speed of running a CBR. In running large rule-based systems, a difficulty may be in firing (or invoking) the applicable rules from the knowledge base. However, one algorithm, the Rete matching algorithm, developed by Forgy (1982), has been shown to be an efficient rule-matching algorithm. In CBR, there is no need to invoke rules. Similar cases from the past, as identified by the indices, are retrieved. With recent hardware advances, the CBR retrieval processes can be rapid. CBR also provides better explanation and justifi- cation. In the rule-based system, the explanation facility usually consists of the identification of the chain of rules that lead to the solution. With CBR, the system can justify its solution by describing the rules, generated through the indexing process, and showing examples that support the conclusion (Badetta, 1991 ). Finally, CBR can be used in problems with poorly understood domains. A rule-based system is not ap-

Upload: karen-ketler

Post on 26-Jun-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Case-based reasoning: An introduction

Expert Systems With Applications, Vol. 6, pp. 3-8, 1993 0957-4174/93 $5.00 + .00 Printed in the USA. © 1993 Pergamon Press Ltd.

Case-Based Reasoning: An Introduction

KAREN KETLER

Computer and Operations Management Department, Eastern Illinois University, Charleston, IL

Abstract--Case-based reasoning is a method of solving a current problem by studying the solutions to previous, similar problems. This article presents an introduction to the case-based reasoning process, including an example of the creation and consultation use of the case base. Construction tools for case-based reasoning are identified, and key concepts in case-based reasoning are discussed.

1. INTRODUCTION

A DEFINITION OF KNOWLEDGE in Webster's II New Riverside Dictionary is "understanding acquired through experience." It is this definition of knowledge that is the basis for expert systems. The knowledge base contains the facts or understanding that the expert has learned through experience. By tradition, knowledge has been represented as rules or frames (and hybrid). This rule-based approach has advantages such as mod- ularity and flexibility in the use of knowledge. In some domains, however, it is difficult to code the knowledge in rules. In such cases, decision makers rely heavily upon their experiences rather than upon explicit-stated rules.

Case-based reasoning (CBR) is a computerized method that attempts to study solutions that were used to solve problems in the past to solve, by analogy or association, current problems. CBR is a branch of ma- chine learning and an approach designed to alleviate the limitations of the rule-based systems, as well as that of manual knowledge acquisition. Compared to rule- based systems, CBR has several advantages.

First, it is closer to actual human decision processes. When a problem is presented to an expert, similar problems from the past are "replayed" in his/her mind. The mind can flutter from one case to another.

A second advantage of CBR is the automation of the process of incorporating new knowledge into an existing knowledge base. When a rule-based system fails to obtain a desirable solution to a problem, new rules must be created and entered into the knowledge base. With CBR, each case, as described to the expert system, is recorded in the case base. The ultimate solution, whether determined by the system or the expert, is re- corded with the case. The CBR system will automati-

Requests for reprints should be sent to Karen Ketler, Assistant Pro- fessor, Computer and Operations Management Department, Eastern Illinois University, Charleston, IL 61920, USA.

cally utilize this additional knowledge for the solution of future problems. CBR solves the problem of knowl- edge acquisition associated with the rule-based systems.

Third, creation of a case base is usually more rapid than the creation of a knowledge base. With rule-based systems, the expert must be questioned by the knowl- edge engineer to obtain the rules behind the expert's reasoning. This can be a labor-intensive process for both the human expert and the knowledge engineer. The task is further complicated by the interrelationships among the rules. With CBR, the knowledge engineer must identify, store, and index the key features of the previous problems so that these features can be recalled. Collecting cases for a CBR system may not take much time because many organizations have already docu- mented their previous cases. Thus, the developers of CBR systems may simply have to reformat the existing documentation to ensure the accurate retrieval of prior cases. It may be difficult to develop an appropriate in- dexing technique; however, once an inferencing algo- rithm is defined, the case base can be rapidly created.

The fourth advantage is the speed of running a CBR. In running large rule-based systems, a difficulty may be in firing (or invoking) the applicable rules from the knowledge base. However, one algorithm, the Rete matching algorithm, developed by Forgy (1982), has been shown to be an efficient rule-matching algorithm. In CBR, there is no need to invoke rules. Similar cases from the past, as identified by the indices, are retrieved. With recent hardware advances, the CBR retrieval processes can be rapid.

CBR also provides better explanation and justifi- cation. In the rule-based system, the explanation facility usually consists of the identification of the chain of rules that lead to the solution. With CBR, the system can justify its solution by describing the rules, generated through the indexing process, and showing examples that support the conclusion (Badetta, 1991 ).

Finally, CBR can be used in problems with poorly understood domains. A rule-based system is not ap-

Page 2: Case-based reasoning: An introduction

4 K. Ketler

propriate if contradicting rules apply in different sit- uations. Such domains are suitable for CBR. In addi- tion, a CBR system does not require understanding of why a previous solution was successful

2. APPLICATIONS

Problem diagnosis, legal precedence, and strategic planning were the initial areas targeted for CBR (Ross, 1986, 1989). Other target application areas include tactical planning, political analysis, situation assess- ment, fraud detection, design / configuration, and mes- sage classification (Turban, 1992).

As the CBR tools begin to be available for general use and as knowledge of CBR expands, there will be more applications of CBR. Presently, only a few ap- plications have been reported. Table 1 summarizes representative CBR applications.

3. CONSTRUCTION OF CASE BASE

The basic approach to CBR has two phases. First, the case base must be constructed, and second the case base is used to solve new problems. Construction of the case base is described in this section, while the use of the case base is described in Section 4.

The development of the case base is a three-step process. First, the problem domain must be under- stood. Second, the indexing mechanism must be op- erationalized. Finally, historic cases must be stored. An example will be used to illustrate these steps.

3.1. Example: Operating a Help Desk

Anyone who has used systems software on a mainframe computer (and sometimes on micros) knows that it is necessary to be familiar with the vendors' telephone numbers for getting assistance. The troubleshooting manuals are frequently incomplete, difficult to under- stand, or even incorrect. Many problems are a result of different software products that are not 100% com- patible with each other or with the hardware. This can be especially troublesome when two different vendors are involved. The client can merely guess which soft- ware product contains the error.

The telephone coordinator at the help desk of the software vendor receives calls from clients with prob- lems and usually solicits limited information at the start of the phone conversation. This information usu- ally consists of." (a) software product(s) involved with the problem, (b) a brief description of the problem (or symptoms), and (c) a code indicating the importance of the problem. If the client indicates an emergency problem, he/she would be connected with a consultant. In most instances, the consultant would solicit addi- tional information from the client.

The first problem from the vendor's point of view is the ability of the telephone coordinator to select the perceived most qualified consultant available to handle the phone call. The second problem concerns the actual knowledge of the consultant in solving the client's problem. The value of the advice the client would ul- timately receive from the consultant is related to the "match" between the problem and the experience of the consultant in the problem area.

The second step entails the development of the in-

TABLE 1 Existing CBR Programs

Sample Other Programs in Domain Program Description of Sample Domain

Resolve disputes MEDIATOR Given a conflict of goals between parties, MEDIATOR PERSUADER proposes alternate compromises

Planning PLEXUS Adapts old plans to new situations, for example, adapting the plan for riding San Francisco's subway system into a plan for riding New York subway

Design COACH Generates new football plays by improving old plans CHEF

Legal HYPO Given a description of a case in patent law with an alleged violation, HYPO generates plausible arguments for the prosecution or defense

Medical diagnosis CASEY Given a description of a patient's symptoms, CASEY PROTOS, MEDIC generates a network of possible internal states and diagnoses heart failures

Note. Data from Inside Case-Based Reasoning by C.K. Riesbeck and R.C. Schank, 1989, New York: Lawrence Erlbaum Associates. Copyright 1989 Lawrence Erlbaum Associates. Reproduced by permission.

Page 3: Case-based reasoning: An introduction

Case-Based Reasoning: An Introduction 5

dexing mechanism. The knowledge engineer and expert must analyze the previous cases and determine the key variables. Building a case base requires recording his- toric information such as that about: (a) the company/ client with the problem, (b) the sottware product(s) involved with the problem, (c) the help desk consultant assigned to the problem, (d) additional information solicited by the consultant, (e) alternate solutions sug- gested by the consultant, and (f) the action(s) that solved the problem. This information would create a record in the case base. The information stored about historic cases is classified with the help of indices. In- dices would be created on the client identification and the software/hardware product(s) involved in the problem and, possibly, keywords in the additional in- formation segment of the case.

Finally, in the third step, this information from pre- vious cases is stored in memory. Other issues related to indexing and memory organization are discussed in Section 6.

4. CONSULTATION PROCESS OF CBR

The philosophy of case-based systems is different from rule-based systems in several aspects, such as (a) knowledge is stored as cases in the case base, (b) de- cisions are made and justified based upon previous ex- perience, and (c) similarity (or association) and ana- logical reasoning plays a major role.

The life cycle of a case-based system is different from rule-based expert systems. An overview of the process of a case-based system is diagrammed in Figure 1.

4.1. Explanation of the Flowchart

The flowchart of CBR includes eight processes designed by ovals and five boxes designating knowledge structure or activities. The eight processes are: 1. Identify the features of the current problem by as-

signing indices to the key features (keywords). 2. Retrieve past cases from the case base with similar

indices. 3. Adapt the solution in the old case to conform to

the new situation. 4. Test the proposed solution.

(A) If the test is not successful, then: 5. The source of the failure is investigated:

(a) If the problem is in the indices and re- trieval algorithm, modify the indexing rules to anticipate (and eliminate) this problem in the future.

(b) (Step 6) If the problem is in the adapting of the solution to the specific problem, identify the reason for the failure, through the use of causal analysis, and attempt to correct the working solution and test the modified solution.

Rules Input + Indices

Mem°rY I - ~ . . . . . . 22 I a u l ~ [ Retrieved

~. ~o c ~ e ( ~ ' ~ , . ~ daptatio~ \ . . . . J I R.les /

/ Vropo.~ed

Case I Failure / New ~ ion

Predictive ~,~ . / ¢Jausai Features Analysis T

/ Rrlmir R.ies I

FIGURE 1. CBR flowchart. Note. From Inaide Cue-Based Rea- soning by C. K. Riesbeck and R. C. Schank, 1989, New York: Lawrence Edbaum Associates. Copyright 1989 Lawrence Erl-

baum Associates. Reproduced by permission.

(B) If the test is successful, then: 7. Assign indices to the current situation and 8. Store the current situation in the case base

for future retrieval.

4.2. Example

Further discussion of the advisory system described in the previous section will illustrate the eight processes of the CBR flowchart.

4.2.1. Identify the features of the current problem by assigning indices to the key features. The key features in the new problem must be identified. Values must be assigned to these features so that an attempt can be made to match the current case with previous problems in the case base. The telephone coordinator must ques- tion the client to obtain the values for these key features.

4.2.2. Retrieve similar past cases from memory with similar indices. The indices assigned to the key vari- ables of the current case are matched with similar past cases in memory. Recall that the telephone coordina- tor's job is to find an appropriate consultant. When the client calls with a problem, the telephone coordi- nator must solicit enough information for the advisory system to identify, from the case base, consultants as- signed to similar previous cases. A list of recommended consultants would be matched with the consultants on

Page 4: Case-based reasoning: An introduction

6 K. Ketler

duty. Then, the telephone operator can direct the call to an appropriate consultant.

The consultant would then question the client about the details or symptoms of his/her problem. Previous cases with similar indices are retrieved and the solutions noted. A detailed description of retrieval algorithms and similarity metrics can be found in Section 6.

4.2.3. Adapt the solution in the old case to conform to the new situation. If an exact problem has already been reported by other clients in the past and a "fix" is known, then the solution will be communicated to the client for testing and implementation. However, in some instances only similar problems have been reported. In such cases, the consultant selects the most likely solution and modifies it to adapt it to the current situation. He/she then recommends the proposed so- lution to the client to be tested.

4.2.4. Test the proposed solution. The client performs the tasks necessary to test the solution at his/her setting. That test may either be successful or unsuccessful. Feedback to the consultant is essential so that cases can be updated. If the test was unsuccessful, causal analysis must take place before another alternate so- lution can be recommended to the client. The expla- nation of the failure is discussed in Step 5 and the modification of the solution is explained in Step 6. In the case of the successful solution, Step 7, assigning indices to the current case, and Step 8, storing the cur- rent situation in the case base, are finally implemented.

Step 5 investigates the reason for the failure of the proposed solution. The consultant and advisory system require feedback about the outcomes of the proposed solution. Two areas need to be analyzed. The first in- volves questions such as: Were the indices to the current problem assigned correctly? How similar were the re- trieved cases to the current situation? Could the prob- lem lie within the indices and retrieval algorithm?

The second problem area would be the proposed solution itself. For example, what was the outcome of the proposed solution? The solution may need adjust- ing to obtain the desired results. This modification of the proposed solution is included in Figure 1 as Step 6.

If none of the alternate solutions proves to remedy the client's problem, the possibility of an undetected bug in the software package is studied. Even the most reliable software package may include undetected bugs. In these instances, the phone calls usually become long and numerous as the consultant gathers additional in- formation from the client. Once a new possible solution is obtained, it must be tested.

The successful recommended solution may be as simple as reloading or reinstalling a modified software

package. Once the solution is found, the current prob- lem should be stored in the case base for future retrieval (Steps 7 and 8).

5. CONSTRUCTION TO O LS

Several construction tools are available for the speedy construction of CBR. Representative examples are CBR Express, Esteem, and ReMind.

CBR Express, by Inference Corporation, has a large range of matching algorithms for comparing text strings and /o r numeric values. The system can distinguish when the text for the current case, although not a per- fect match, has similar meaning to a previous case (Vrooman, 1991 ). In addition, CBR Express allows new incidents to be added to the case base to increase the likelihood of a correct response. Thus, the more the system is used the more powerful it becomes.

Esteem, by Esteem Software Incorporated, is a CBR development tool that has four major features. The CBR Application Process Flow allows the knowledge engineer to identify the problem domain and the in- formation the end user must enter. Second, the knowl- edge engineer can specify which features of the case are to be stored. Third, the similarity metrics can be tailored for each application. By selecting an appro- priate algorithm, the knowledge engineer can control which cases are retrieved. Finally, Esteem allows rule- oriented case manipulation (information obtained from literature supplied by Esteem Software Incor- porated).

Cognitive Systems, Inc. also has a CBR development tool, named ReMind. This tool has inductive learning capabilities.

To reduce the search through a large case base, Fal- kenhainer, Forbus, and Gentner (1990) created a Structure-Mapping Engine (SME) to assist in finding and measuring analogical similarities. Thinking Ma- chines built memory-based reasoning software to locate the nearest match(es) using user-defined and statistical metrics.

6. KEY ISSUES INVOLVED IN CBR

Whether or not a case-based system would be a success or a failure may depend upon the knowledge represen- tation, clustering of cases, memory organization, or the metrics for retrieving similar historic cases. These issues, with reference to our illustrative example, are discussed next.

6.1. Knowledge Representation

An appropriate and consistent vocabulary is necessary for the client, consultant, and expert system. It is im- perative that the same keywords are used by all parties.

Page 5: Case-based reasoning: An introduction

Case-Based Reasoning: An Introduction 7

Some case-based systems have an explanation or help facility to communicate the proper vocabulary for the indices.

6.2. Cluster Analysis

Computer storage is a limited resource. Therefore, not all cases need to be maintained in the CBR. For ex- ample, when a bug is discovered in a software package numerous clients might call to report the same prob- lem. Storing all such cases is not essential to the success of the system. Thus, procedures are needed to allow the system to cluster related cases and eliminate the redundant cases.

6.3. Memory Organization

With an associative memory approach to CBR (e.g., see Riesbeck & Schank, 1989), all features of the case would be indexed. Purely associative storage and re- trieval occurs where all features of a case are indexed independently of the other features. There is little structure to the memory organization.

At the opposite end of the spectrum is hierarchical memory organization, in which the case features are highly organized into a general to specific concept structure. Decision trees are an example of this memory organization (Barletta, 1991 ).

Between these two memory organizations are the discrimination networks (Feigenbaum, 1963). With discrimination networks, there is some structure to the network but greater retrieval flexibility exists because they have a greater number of links between potential indexing features (Barletta, 1991 ).

In addition, discrimination networks allow storage of abstract summary descriptions in the network. With this option, it is possible for the expert system to de- termine what cases with different details can be treated in a similar fashion. This allows generalization beyond individual cases.

6.4. Similarity Metrics for the Retrieval Algorithm

As new cases are accumulated, the retrieval processing becomes time consuming. Therefore, the storage and retrieval algorithms are critical. The indices in our il- lustrative example would likely include: (a) software product(s), (b) client organization, (c) keywords from the problem description, (d) the type of "bug," and (e) the consultant.

If associative memory is utilized, an exact match between all indices would rarely occur. Thus, the rel- ative importance of each index must be specified in the evaluation function of the retrieval algorithm. De-

termining the importance of each index and the as- sociated weight in the evaluation function is a task for the knowledge engineer and the expert. The cases with the higher value of the evaluation function are pre- sented to the consultant for further analysis.

Another method for retrieval is based upon hier- archical memory organization. The retrieval starts with the most general description of the problem. More de- tails are added to reduce the number of cases retrieved. When there is no further matching between the current case and the historic cases, the retrieval algorithm ends.

6.5. Caveats

CBR is no panacea. It has its caveats and limitations. As previously discussed, the creation of the indices, and their appropriate values, is essential to success. A poorly created index, or an unstructured vocabulary, would likely result in a poor selection of previous cases for analysis.

The second caveat involves the creation of proce- dures for clustering of data. A large number of cases would not only cost more for additional storage and slower response times but also time for the analysis and inference involved with a large number of retrieved cases for a given scenario. Representative cases, as op- posed to all cases, must be included in the case base.

Although most historic cases will shed some insight into a current or future problems, some cases can lead to wrong conclusions. There needs to be a mechanism to identify and delete these harmful cases from the case base. The process of CBR automatically adding the current problem, once it is solved, to the case base is also a drawback if that case is already represented in the case base or if it is a harmful case that can lead to incorrect future solutions.

The final caveat involves the creation of an evalu- ation formula for the retrieved cases. It is important to answer questions such as: Which keywords are more important7 How much more important? The knowl- edge engineer and the expert must evaluate the re- trieved cases for similarity with the current situation. Were appropriate cases retrieved? If not, the evaluation formula needs to be refined.

7. CONCLUSIONS

CBR will not replace rule-based expert systems. It will, however, expand the expert system concepts to areas with incomplete or contradicting information (Kolod- net, 1991). Case-based systems will not compete with rule-based systems but will complement them.

The similarity of CBR with human reasoning allows the consultant to assist more directly in the creation of the case base than he/she had in other application

Page 6: Case-based reasoning: An introduction

8 K. Ketler

areas with the creation of the rule base. Thus, less time of the knowledge engineer is required. The inductive learning capability of CBR systems will reduce the maintenance problems associated with new situations.

CBR has the potential for a tremendous impact on knowledge systems; however, this impact will not be realized until advantages of CBR become more widely known.

Ross, B.H. (1989). Some psychological results on case-based rea- soning. In S. Vosniadou & A. Ortony (Eds.), Proceedings of the Second Workshop on Case-based Reasoning, Pensacola Beach, FL (pp. 144-147). New York: Cambridge University Press.

Turban, E. ( 1992 ). Expert systems and applied artificial intelligence. New York: Macmillan.

Vrooman, G. ( 1991, Summer). Commercializing case based reason- ing technology. AI Review, pp. 43--47.

Webster's H New Riverside Dictionary. (1984). New York: Houghton Mifflin.

REFERENCES

Barletta, R. ( 1991, August). An introduction to case-based reasoning. AI Expert, pp. 43-49.

Esteem Software Incorporated. ( 1991 ). Cambridge City, IN: Esteem Software Inc.

Falkenhainer, B., Forbus, K.D., & Gentner, D. (1987). The structure mapping engine. In Proceedings of the Sixth National Conference on Artificial Intelligence, Philadelphia, PA. Menlo Park: Associ- ation for Artificial Intelligence.

Feigenbaum, E.A. (1963). The simulation of verbal learning behavior. In E.A. Feigenbaum & J. Feldman (Eds.), Computers andthought (pp. 297-309). New York: McGraw Hill.

Forgy, C.L. ( 1982, September). Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelli- gence, pp. 17-37.

Kolodner, J.L. (1991, Summer). Improving human decision making through case-based decision aiding. AI Magazine, pp. 52-68.

Riesbeck, C.K., & Schank, R.C. (1989). Inside case-based reasoning. New York: Lawrence Erlbaum Associates.

Ross, B.H. (1986). Remindings in learning: Objects and tools. In S. Vosniadou & A. Ortony (Eds.), Similarity and analogical rea- soning (pp. 438-469). Cambridge, UK: Cambridge University Press.

Additional References

Abraham, D.M., Spangler, W.E., & May, J.H. (1991). Expertech: Issues in the design and development of an intelligent help desk system. Expert Systems With Applications, 2, 305-319.

Gentner, D. (1989). Finding the needle: Accessing and reasoning from prior cases. In K. Hammond (Ed.), Proceedings of the DARPA Workshop on Case-Based Reasoning (Vol. 2, pp. 137- 143). San Mateo, CA: Morgan Kauffmann.

Liang, T. (1989). Modeling by analogy. A case-based approach to model construction (Working Paper No. 89-1524). Urbana- Champaign, IL: University of Illinois at Urbana-Champaign.

Shafer, D. ( 1991, July/August). CBR Express: Getting down to cases. PC AI, pp. 42-45.

Slade, S. ( 1991, Spring). Case-based reasoning: A research paradigm. AI Magazine, pp. 42-55.

Sycara, K.P. (1990). Negotiation planning: An AI approach. Eu- ropean Journal of Operational Research (Netherlands), 216-234.

Trowbridge, D. (1991, June). Breaking through tech support's Chinese wall. Computer Technology Review, pp. 1, 4.

Vrooman, G. ( 1991, July 18). Case-based reasoning means programs can learn. Computing Canada, p. 28.