Toward more efficient and flexible expert systems via database design (abstract only)

Expert systems have now proven their value in a variety of enterprises ranging from medicine to geology. Small expert systems are at work in numerous commercial and industrial sites, but large systems are still rare. Besides the difficulties inherent in the collection of useful and correct domain knowledge, large knowledge bases present special problems in data management. These problems often cause a good pilot system to founder when expanded to an operational size. This paper addresses the difficulties of efficiently handling large knowledge bases. The methods discussed result from viewing a knowledge base as a database and analyzing the knowledge as one would analyze a database application, using Chen's Entity-Relationship (E-R) Diagrams [CHEN76] to build a relational database representation. Besides providing a different perspective on the management of knowledge bases, such a method facilitates the use of a commercial DBMS for this task. Following these ideas the simple assertions of the knowledge base are viewed as one entity type and the rules themselves as another, with IF and THEN being separate relationships between these two types. This decomposition is reasonable for capturing the knowledge represented by the rules and leads to a relational description which is considerably different than usual rule representations. More precisely, the E-R diagram of Figure 1 is taken as the basis of the model, where the rectangles represent entities and the ellipses represent relationships between the entities connected to that ellipse. The unboxed words such as rule# are attributes of the associated entities and correspond to the information to be saved in the database. The E-R diagram in Figure 1 can be converted to the relational database tables shown in Figure 2 where rule# is a name or a number that identifies the rule, if_part is a simple assertion Ai (antecedent), then_part is a simple assertion Ci (conclusion), and conf is a number representing the confidence in that deduction. This results in a very different data organization from the usual collection of knowledge found in rule-based systems. Beyond that analysis, very specific implementation techniques are suggested for knowledge bases, using both standard relational data bases and simpler file-handling techniques such as those available in standard programming languages. Caution must be taken, however, before simply trying to turn knowledge base management over to a commercial DBMS, since the behavior of “queries” within a rule base is very different from that of ordinary database queries. Comparisons are made to such recent works as those of Deering, Debanne, and Bouzegoub which suggest a variety of implementations for knowledge bases. Often in the modeling of a domain, one discovers a hierarchical relation among the basic concepts, vocabulary, or objects of study. Such an IsA or AKindOf hierarchy can be used to create a segmentation of the knowledge base resulting in significant efficiency improvements within the system. This possibility is explored in some detail. Throughout this work, emphasis is given to dynamic rule bases which are subject to frequent changes and which, therefore, require a generalized inference engine and flexible data structures. Often due to execution speed requirements some domain knowledge is encoded as procedures within the inference engine. Although this may improve the efficiency of the system, it undermines the generality and flexibility that are also required. This paper investigates a promising method for incorporating such procedural inclusions within the general knowledge base structure. The approach developed allows the absorption of changes without restructuring of the knowledge base or modifications to the inference engine, and maintains system transparency, simplicity, and expandability.