Knowledge Base Systems - Semantic Scholar

3 downloads 586 Views 112KB Size Report
provide facilities such as search strategies, explanation, and answer ... acquires knowledge from experts and users and integrates the acquired ... Constraints can be used in conjunction with the inference engine to optimize the search activity.
Knowledge Base Systems A Deductive Database Approach

Terry Gaasterland1

Jack Minker1 2 ;

Arcot Rajasekar2

Department of Computer Science1 Institute for Advanced Computer Studies2 University of Maryland, College Park, MD 20740

1 Introduction Existing knowledge base systems (KBS) are based on manipulating data at a syntactic level. They provide facilities such as search strategies, explanation, and answer generation primarily through symbol manipulation and pattern matching. Such systems use knowledge stored as rules and factual data in a `knowledge base' [12, 2]. When the de nition of a KBS is extended to include the representation and use of semantic knowledge, and a more expressive language to allow the use of incomplete and inde nite information, the KBS o ers improved and more sophisticated support for the development, validation, use, and maintenance of a knowledge base system application. To achieve the extended KBS, the traditional KBS can be augmented with integrity constraints (ICs), null value handling and disjunctive data processing; features which are borrowed from the eld of deductive databases. We contend that an integrity constraint handling mechanism is an integral part of a knowledge base system. Furthermore, a KBS with the ability to process null values and to handle disjunctive data can achieve the expression of more complex knowledge. This paper consists of four sections. In the next section we de ne our notion of what constitutes a knowledge base system and discuss how it di ers from the anatomy of a conventional KBS. Section 3 provides a discussion of how integrity constraints contribute to each part of the system. Section 4 discusses how null value processing and disjunctive processing add to the expressive properties of the knowledge base system.

2 Anatomy of a KBS Traditionally, a knowledge base system consists of the following main components: 1. 2. 3. 4. 5.

Intensional Database (or rules) (IDB) Extensional Database (or facts) (EDB) Knowledge Acquisition module (KA) Inference Engine (IE) User Interface (UI)

Together, the IDB and EDB contain the information in the knowledge base system; collectively, they are called the knowledge base (KB). The inference engine (IE) uses the KB to provide answers to queries posed by the user through the user interface (UI). The knowledge acquisition module acquires knowledge from experts and users and integrates the acquired knowledge into the KB. In our view, the KB has additional components: integrity constraints (IC), a model of the user (UM), disjunctive rules and data, and null value arguments. Thus, the KB module consists of four

KA KB: IC

IDB

UM

EDB

CH IE

UI

Figure 1: Anatomy of a Knowledge Base System parts: the IDB, EDB, UM and IC. The IDB consists of deductive rules which are made of Horn and/or disjunctive rules. The EDB consists of Horn and disjunctive data, possibly with null values. We discuss disjunctive rules and null values in section 4. The inference engine, the knowledge acquisition module and the user interface need to be augmented to handle such data. The IDB and EDB capture syntactic information. In contrast, the ICs and user models contribute semantic information about the represented knowledge. Although they add no deductive knowledge, they allow the description of impossible states, necessary states, and dependencies between knowledge base predicates and restrictions of relevance to particular users. In a traditional KBS, ICs are used primarily by the knowledge acquisition module to check whether a requested update to the data violates dependencies between predicates and whether the updated database is consistent. Integrity constraints can augment each of the fundamental processing modules of a conventional KBS. Not only do they provide a formalism for knowledge acquisition, reasoning, and user interface features, but a constraint handler (CH) can perform much of the work which is traditionally allocated to the inference engine { in some cases, much more eciently than the inference engine. As shown in Figure 1 in our view of a KBS, each KBS component interacts with the CH.

3 Using Constraints When integrity constraints and user models are added to the knowledge base and a constraint handler is added to the processing components of the KBS, integrity constraint information and information about the user of the knowledge base about can be used by the inference engine for more ecient reasoning, by the user interface for more cooperative interaction with the user, and by the knowledge acquisition module for managing the knowledge in the system.

3.1 Using Constraints with the Inference Engine Constraints can be used in conjunction with the inference engine to optimize the search activity for a query. A query to the knowledge base may be unnecessarily general or may hold redundant information. Or it may ask for an answer which cannot be derived from the database. We can

detect such cases by checking whether the query or any subquery in its search tree contains part of an integrity constraint. If a subquery is subsumed by a constraint, it will necessarily fail. For example, suppose that a query asks \Does the factory oor have any No. 100-A controllers?" and a constraint says that \No. 100 series controllers do not exist any more". Assuming that a No. 100-A controller is a particular No. 100 series controller, the constraint subsumes the query and tells us us that there cannot be any No. 100-A controllers. If part of the constraint subsumes part of the subquery, the leftover partial constraint can be used to guide the search process. For example, if the query asks \Does the factory oor have any No. 100-B controller and No. 200 series I/O module pairs?" and the constraint says \ No. 100-B controllers can be paired only with No. 200-A and No. 200-B I/O modules", then the query can be restricted to search only for (No. 100-B,No. 200-A) and (No. 100-B,No. 200-B) pairs rather than searching for No. 100-B modules paired with any No. 200 series I/O module. Semantic compilation [1] incorporates constraints into queries in order to optimize the search space before query processing begins. [7] developed an alternative method to use constraint information at runtime. [3] analyzes the relative performance of the two systems. The constraint handler in a knowledge base system would need to be equipped with both constraint processing techniques in order to handle all types of queries to the system.

3.2 Using Constraints in the User Interface Constraints can be used in the user interface of a knowledge base system to provide cooperative answers, to explain the nature of an answer, and to describe user models. All three facilities utilize the constraint handler's ability to compile integrity constraints into the query and into nodes of the query's search tree. Cooperative answering techniques [5, 10, 4] take advantage of integrity constraint information to provide appropriate answers to queries. The constraint handler can merge queries with the knowledge base's integrity constraints to allow the detection of presuppositions, misconceptions, redundancies, and restrictions on the query. Then, the cooperative answering method uses the information to supplement the answer. For example, if the query \List all grad-students who failed CS400 last Fall" is given to a knowledge base containing the integrity constraint \No gradstudents take undergraduate courses", a cooperative answer is \None, because grad-students do not take undergraduate courses". A conventional database system will give the literally correct but cryptic answer, \None". When a query succeeds, constraint information can help explain the answer. For example, given the query \What courses does Professor White teach?" and the constraint \Each professor teaches one course per semester", the answer \Professor White teaches CS110. No professor teaches more than one class per semester" not only provides the answer data, but it explains the nature of the data. Similar constraint information can be gathered for each node in the query's search tree, and incorporated into a traditional explanatory answer { that is, one which marches down the tree to report how an answer was derived. Supplementing the knowledge in the database with knowledge about speci c and stereotypical users, their interests and their goals, can impact the generation of cooperative answers at several stages: selection of answer content, content organization, and word choice in a natural language version of the answer. A user's intentions can be modelled as a set of constraints which may be used both to expand and restrict queries. Consider a query to a database \What is the cheapest way to go to Paris from Lisbon?", a database integrity constraint \Weekday international ights are less expensive than weekend international ights", and a user constraint \I absolutely refuse

to take a Spanish train". An answer that satis es the user's constraints and provides the cheapest method of transportation other than a train from Paris to Lisbon may be more suitable to the user than an answer that does not consider the user's interests. In addition to knowledge about user intentions, knowledge about a user's level of expertise, vocabulary, and goals can help with selection of the contents of the nal answer by guiding the choice of which information should be generalized, summarized, or omitted. Such knowledge about users can also a ect content organization by guiding the complexity of sentences in the natural language version { for example, by setting a depth on the levels of nesting subordinate concepts. Also, the user knowledge can be utilized to choose words that are within the user's vocabulary when realizing text and to supplement answers with de nitions when a term is likely to be outside the user's scope of familiarity.

3.3 Using Constraints in Knowledge Acquisition The use of ICs for checking updates is similar to applications in database systems. Updates are changes made by the user through rules or explicit assertion of facts. During updates ICs can be used to check for consistency (such as part-numbers should be integers) and to enforce consistency. For example, an integrity constraint can be used to enforce that every part entered into the database has a part-number and is not a null value.

4 Expressive Representations Conventional systems allow the representation of if-then rules of the form:

If A1 and A2 and : : : A then A

(E1) where the A's represent predicate (de nite) information. In a KBS it may be required in some cases to represent and reason with information which is not complete. This may be due to unavailability of data or due to inde niteness of data. This section shows how the expressive power of a system would be greatly enhanced by allowing the KB to represent data which are inde nite and null and increasing the power of the IE to reason with such data. Disjunctive rules and data allow the incorporation of inde nite information into a KBS. For example, consider that we know the pH value of a solution is either 3 or 5, but we are not sure which and we would like to represent this inde nite data in a chemical KBS. We can represent this information as the following disjunction: pHvalue(solution; 3) or pHvalue(solution; 5) (D1) Disjunctive rules are similar to the if-then rules used in conventional systems except that the consequence part of the rule is a disjunction. This type of information is useful because inde nite as well as de nite conclusions can be made using inde nite information. For example from the data given by (D1), it is possible to conclude that the solution is acidic without worrying about its exact value. Representing and reasoning with disjunctive knowledge would increase the expressive powers of knowledge base systems. Null values are a kind of incomplete information encountered in relational databases. For example, in a medical KB, if a patient's blood group is unknown, we can either represent it with a disjunctive formula: bloodgroup(joe,A+) or bloodgroup(joe,B+) or ... (N0) or we can represent it with a null value: bloodgroup(joe, w) : w is in < D > (N1) n

The meaning of (N1) is that there exists a value in the domain D for the blood group of Joe but is unknown at this time. Instead of using the facility for a general disjunctive database to deal with (N0), we could use something simpler with (N1) since (N1) still has the appearance of a de nite program. Allowing null values in a KBS would make it useful for representing and using this particular kind of incomplete information.

5 Conclusion In this paper we have argued that the versatility and expressive power of a knowledge base system can be improved with the use of integrity constraints, disjunctive data and rules, and null values. Our experience at the University of Maryland with a parallel logic programming system called PRISM [6] has shown that integrity constraints are useful for controlling the inference engine. Our experience in using integrity constraints with natural language processing has shown that the user interface can be enhanced by providing appropriate and cooperative answers [5, 10]. It has also been shown that semantic compilation of user queries with integrity constraints optimizes query processing during run time [9]. We have also developed procedures for handling disjunctive rules and data [14, 11, 13] and for processing null values [8] Our experience in these areas is the basis for proposing an enhanced anatomy for a knowledge base system and we contend that a system incorporating these facilities would be a viable and useful tool for knowledge base applications.

References [1] U. Chakravarthy. Semantic Query Optimization in Deductive Databases. PhD thesis, University of Maryland, Department of Computer Science, College Park, 1985. [2] Li-Min Fu. Combining Neural and Knowledge Base Approaches to Arti cial Intelligence. In Zbigniew W. Ras, editor, Methodologies for Intelligent Sustems, 4. 1989. [3] T. Gaasterland, M Giuliano, Anne Litcher, Y. Liu, , and J. Minker. Using Integrity Constraints to Control Search in Knowlege Base Systems. Technical Report UMIACS-TR-90-27, CS-TR2416, University of Maryland, College Park, Dept. of Computer Science., 1990. [4] A. Gal. Cooperative Responses in Deductive Databases. PhD thesis, Department of Computer Science, University of Maryland, College Park, 1988. [5] A. Gal and J. Minker. Informative and cooperative answers in databases using integrity constraints. In V. Dahl and P. Saint-Dizier, editors, Natural Language Understanding and Logic Programming, pages 277{300. North Holland, 1988. [6] M. Giuliano, M. Kohli, J. Minker, and I. Durand. Prism: A testbed for parallel control. In L. Kanal and V. Kumar, editors, Parallel Algorithms for Machine Intelligence, page (to appear). 1990. [7] M. Kohli. Controlling the Execution of Logic Programs. PhD thesis, University of Maryland, Department of Computer Science, College Park, 1987. [8] Y. Liu and J. Minker. Null values in de nite programs. Technical Report UMIACS-TR-90-48, CS-TR-2447. To appear in: Proceedings of NACLP, 1990, University of Maryland, College Park, Dept. of Computer Science., 1990.

[9] J. Lobo and J. Minker. A metainterpreter to semantically optimize queries in deductive databases. In L. Kerschberg, editor, Proc. Workshop on Expert Database Systems, pages 387{420, Tysons Corner, Virginia, April 1988. [10] J. Minker and A. Gal. Producing cooperative answers in deductive databases. In P. SaintDizier and S. Szpakowics, editors, Logic and Logic Grammar for Language Processing. L.S. Horward, Ltd., to appear, 1990. [11] J. Minker, A. Rajasekar, and J. Lobo. Theory of disjunctive logic programs. In J. Lassez, editor, Computational Logic: Essays in Honor of Alan Robinson. MIT Press, 1990. [12] T. Moko-Oka. Challenge For Knowledge Information Processing Systems (Preliminary Report on Fifth Generation Computer Systems). In Proc. International Conference on Fifth Generation Computer Systems, pages 1{85, 1981. [13] A. Rajasekar. Semantics for Disjunctive Logic Programs. PhD thesis, University of Maryland, Department of Computer Science, 1989. [14] A. Rajasekar, J. Lobo, and J. Minker. Skeptical Reasoning and Disjunctive Programs. In Proceedings of First Internationla Conference on Knowledge Representation and Reasoning, pages 349{357, 1989.