Expert Systems With Applications, Vol. I, pp. I 17-126, 1990
0957--4174/90 $3.00 + .00 © 1990 Pergamon Press plc
Printed in the USA.
A High-Level Representation Language for the Construction and Use of Large Knowledge Bases GIAN PIERO ZARRI CNRS, CERTAL-INALCO, Paris, France
Abstract--The "conceptual" Knowledge Representation Language (KRL) proper to a general environment for the construction of Large Knowledge Bases (LKBs) involves two different but complementary aspects. The coding of the elementary events occurring in the real world ("descriptive" data = "Snoopy is Charlie Brown's beagle") is organized around a "'semantic predicate"," the conceptual units constructed in this way take the name of "'predictive occurrences." Moreover, the predicative occurrences can be associated, giving rise to "binding occurrences. ""On the other hand, the "'classes" representing the "'general categories" to which can be reduced all the basic entities of the application domain which appear in the predicative occurrences, are defined in terms of a specialization hierarchy ("lexicon ''= "A beagle is a sort of hound/a hound is a d o g . . . ) ; analogously, the occurrences (and their generic "templates") are classified according to their own specialized hierarchy ("grammar"). The "lexicon ""and the "grammar, ""together, set up the "definitional" component of the language.
1. INTRODUCTION the "conceptual" Knowledge Representation Language (KRL) which is at the core of a complete environment for the development and use of Large Knowledge Bases (LKBs), characterized by the coexistence of several thousands of "rules" and several millions of "facts"; rules and facts reside on the secondary memory. The environment is built up in the framework of a current, interdisciplinary project carried on at the French National Center for Scientific Research (CNRS); other aspects of the project, concerning, for example, the knowledge acquisition tools or the inference techniques, have been mentioned in Zarri (1988, 1989a). The main characteristic of the LKBs to be produced using this environment is that an essential part of the knowledge to be inserted into these systems, concerning both the proper data ("fact database") and the inference procedures ("rule base"), is coded making use only of this conceptual language, a high-level representation language in the Artificial Intelligence (AI) style ("integral AI approach"). In this respect, our proposal for the construction of LKBs can be seen as a generalization of the "semantic data model" and "hypersemantic data model" approaches (see Brodie, 1984; Hull & King, 1987; and Potter & Trueblood, 1988 for overT H I S PAPER DESCRIBES
Requests for reprints should be sent to Gian Piero Zarri, Director o f Research, Centre National de ia Recherche Scientifique, CERTALINALCO, 2, rue de Lille, 75007 Paris, France.
117
views). On the other hand, the "integral" approach contrasts with the well-known proposals which intend to exploit the association between an AI component and a "traditional" (relational) database, see, for example, the "deductive databases," Leung & Lee, 1988; Ceri et al., 1989, etc., or the "enhanced expert systems/ expert database systems," Jarke & Vassiliou, 1984; Delcambre & Etheredge, 1988, etc. Some benefits of our approach concern, for example, even more clearly than in the semantic data model's case, the reduction of the loss of information caused by the artificial restrictions which affect the coding and formatting operations in conventional databases, the representation of factual data under a form very suitable to the use ofcomplex inference procedures, the solution of those consistency problems ("granularity mismatch") between "data" and "rules" which so much worry the scholars working on the integration of expert systems, and classical databases. 2. MAIN ASSUMPTIONS UNDERLYING THE KRL'S DESIGN Coming back now to the main theme of this paper, setting up a Knowledge Representation Language involves solving problems at two different levels: • At the conceptual level--the "knowledge level," according to the well-known terminology introduced by Newell (see Newell, 1982 & Levesque, 1986) we must first define the descriptive tools of the KRL having in mind only the achievement of an optimal,
118
formal representation of the information to be introduced into the system. Therefore, the representation should be unique and unambiguous, should make evident the role of the different semantic components of the original information in order to facilitate, in particular, the processing by general purpose inference routines, and so forth. • At the implementation level--the "symbol level," according to Newell's terminologymthe K R L must be mapped onto the knowledge representation tools normally used in an AI context; we must emphasize that these tools are nothing but "implementation tools," which cannot guarantee per se the power and the completion of the conceptual representation. In our case, we try to reconciliate a "logic-oriented" with an "object-oriented" approach. In this context, the KRL implementation is centered around the realization of a powerful unification algorithm, capable of dealing directly with the generalization versus specialization aspects of the hierarchies which are typical of an object-oriented approach: Some simple deductions ("level zero inferences") can be done, therefore, at the unification level rather then at the resolution level (see for example, in a logic programming context, A'ft-Kaci & Nasr, 1986 and Montini, 1987). The knowledge taken into account by the KRL's conceptual level can be classified into two categories (see other "hybrid representation systems" like KLTWO [Vilain, 1985], KRYPTON [Brachman, Fikes, & Levesque, 1985; Brachman, Pigman Gilbert, & Levesque, 1985], BACK [Nebel & v o n Luck, 1988], SPHINX [Han et al., 1988], etc.): • We shall refer to the "descriptive component" of the KRL (factual, episodic data) as that part of knowledge which concerns the representation of detailed, particular facts about individual things (i.e., "instances" of the "general entities" (classes) proper to the domain taken into consideration), characters, and events. It is used to represent such facts as: "On the 21st and 22nd October, 1988, the Bluefields town on the Atlantic coast of Nicaragua has been ravaged by the cyclone Joan" or "Snoopy is Charlie Brown's beagle." q, the "definitional component" of the KRL (semantic, terminological data), on the contrary, concerns universal principles. It includes such information as: "ravage is to lay waste by plundering or destroying"; "a cyclone is a storm or a system of winds that rotates about a center of low atmospheric p r e s s u r e . . . " ; "a beagle is a sort of hound/a hound is a dog of any of various hunting breeds/all dogs are animals". The choice of this particular terminology ("descriptive component"/"definitional component") asks for some comments. Woods (1975) introduced the distinction between assertional and structural links: the former are used to state a direct relationship between
G.P. Zami
two nodes which have an a priori existence beyond the setup of the link ("John hits Mary"); the latter have the sole function of creating a (virtual) node like S 13472 permitting the expression of a functional description like: "The node S 13472 represents an instance of an action whose verb is to sell, whose agent is John, whose recipient is Mary and whose patient is a book" ("verb", "agent," etc. are the structural links). This distinction is a little vague, and Woods himself admits (1975:59) that " . . . the above discussion barely suffices to introduce the distinction between structural and assertional links, and certainly does not make the distinction totally clear"; it happens, however, to have been particularly fortunate (see Brachman, 1978; Levesque & Mylopoulos, 1979, etc.). In introducing KRYPTON, Brachman and his colleagues have conserved the term "assertional" to designate the component (ABox) that, in KRYPTON, " . . . a l l o w s . . , to build descriptive theories of domains of interest and to answer questions about those domains"; the other component is the "terminological" one (TBox), allowing " . . . to establish taxonomies of structured terms and answer questions about analytical relationships among these terms" (Brachman et al., 1985a:418). Taking aside Brachman's insistence on the use of "structured" terms in the terminological hierarchies, the knowledge he wants to represent using the TBox tools coincides significantly with the knowledge which concerns our "definitional" component. The same is not true when considering KRYPTON's assertional component and our "descriptive" component: Brachman and his colleagues put on the term "assertional" an emphasis on the logical acceptance of this term ( " . . . our basic ABox is a standard first-order predicate logic . . . (Brachman et al., 1985b:533)) which apparently was not present in the original Wood's formulation. As a result, it is not certain that the "assertional component" of KRYPTON really concerns the knowledge we should aim to insert in our "descriptive component": See the example "every person with at least three children owns a car," which, in Brachman et al. ( 1985a:418), is considered part of the "ABox" and which, according to the characteristics of "universality" of the definitional component (see also 4.2) could be handled by introducing a hypothetical definitional component entity "person_with_at_least_three_children" to which is associated the property "owns a car." This is why, eventually, we prefer to employ the terms "descriptive component" and "definitional component" in order to prevent any confusion. This is not to say that the distribution of knowledge between our descriptive and definitional components constitutes an easy problem (see again Woods' remark) and this matter deserves further investigation. For the time being, we make use of two empirical criteria: • A first criterion consists in verifying that the knowl-
A High-Level Representation Language
edge associated with the definitional component only refers to the permanent (at least in the context of a given application) properties (attributes) of the single entities (concepts) we are describing using this component, and never refers to the particular relationships which can associate several instances of these entities. If we refer again to two examples of Brachman et al. ( 1985a'414-415), a statement such as "either Elsie or Bessie is the cow standing in Farmer Jones' field" must be coded by using the descriptive component tools; "a family with no children" represents the constitutive property of the (possible) entity "childless_family" and must be associated with the definitional component. In some respects, this criterion is not so foreign to the Brachman's differentiation (Brachman et al., 1985a:418) between noun phrases, to be represented using the TBox tools (here, the definitional component tools) and sentences, to be represented using the ABox tools (here, the descriptive component tools); it is also related to more "pragmatic" considerations, as the impracticability of dealing with highly structured networks of interconnected data using only the rigid mechanisms proper to the hierarchical relationships of the definitional component. • A second criterion, strictly related to the first, amounts to verifying if the information to be coded can be associated, implicitly or explicitly, to a welldetermined point or interval on the time axis. In this case, according to the "evolving," "dynamical" characteristics of the descriptive (episodic) knowledge in opposition to the "perennial," "universal" properties of the defifiitional data, we are authorized to insert this information into the descriptive component structures of the LKBs. For example, we will not hesitate to consider the information: "Snoopy is Charlie Brown's beagle" as pertaining to the descriptive component because it seems reasonable to think about this information under a form like: "During a well determined time period, Snoopy has been the Charlie Brown's beagle," or like: "We remark today that Snoopy is still the Charlie Brown's beagle." Coming back to the example "a person with at least . . . . " it becomes now obvious that, if the information to be represented was: "In this room, now, every person with at least three children owns a car," we should use the descriptive tools in order to represent the fact that all the particular instances of the definitional entity "person_with_at_least_three_children" which are now present in the room are (may be provisionally) in possession of a car. 3. DESCRIPTIVE C O M P O N E N T As already said, Brachman and his colleagues propose, for the ABox of KRYPTON, a language structured
119
compositionally like a first-order predicate calculus language. Apart from the considerations already expressed in section 2, we think that this pure "logical level" approach, (see Brachman's classification: Brachman, 1979:27-34), is not suitable for representing efficiently intricate, real situations proper to real-life LKBs: The generality of the assertional language of the ABox makes KRYPTON inherit all the intractability results (from undecidability to NP-completeness) that hold for first-order logic. Moreover, on a very practical ground, it may be difficult to use this "uniform" type of representation in order to structure efficiently the knowledge base, for example, in order to construct powerful "conceptual indexing" schemata. Conceptual indexing is normally realized by conveniently choosing some "significant," "expressive" characteristics of the knowledge representation, some "key slots" (for example, Deering & Faletti, 1986; Zarri, 1984). We make use therefore, for the descriptive component of the KRL, of tools which pertain to the upper levels, "epistemological" and "conceptual," of the Brachman's 1979 classification. One of the main assumptions here is that the informative structure of the descriptive episodes we take into account is relatively stable, so that it is possible to describe those episodes by making use of some sort of a "canonical" representation (see Wilensky, 1987): For example, the "roles" played by the entities (the instances) involved in the episodes are coded by using a (a priori fixed) number of "primitives," such as "SUBJ(ect)," "OBJ(ect)," "SOURCE," "DEST(ination)," "MODAL(ity)," and so forth. Accordingly, the representation of an elementary event pertaining to the descriptive component of the fact database is organized around a "semantic predicate" identifying the "basic" type of action, state, situation, and so forth, described in the event. The "entities" (normally some "instances," but see below the comment on the example of Fig. 2) which are mentioned in the event and which are, at least partly, proper to a particular application domain (corporations, financial transactions, amounts of money, stock certificates, etc., in the case of a financial application) fill the particular "roles" associated with the semantic predicate. In conformity with a "case grammar" view (Fillmore, 1968; Rosner & Somers, 1980; Sowa, 1984) the entities are, therefore, the "arguments" of the semantic predicate. The semantic predicate, the arguments, and the conceptual unit as a whole may be characterized by "determiners" (attributes) which give details about their significant aspects. For example, the predicate may be accompanied by "modulators" that are there to refine or modify the original semantic meaning of the predicate; an obvious example is the "negation" modulator which allows the happening of an elementary event to be denied ("Mary did not get the book from John"). Determiners which are associated with the arguments are the "location attributes"
120
G. P. Zarri
("Mary, in Pensacola, got a book from John, in Kansas City"). Structured arguments ("expansions") can be created in many ways, for example, by associating with the entities (the instances) some "quantifying" ("all, "32" . . .) or "qualifying" ("red", "powerful" . . .) attributes. Determiners which refer to the global representation of the elementary event are the "temporal attributes," which quantify time duration or frequency of the elementary event, or the "identification attributes" giving the origin of the piece of information relating this event, and so forth. This type of coding, a particular realization of a "predicative conceptual unit," takes the name of "predicative occurrence." The general appearance of a predicative occurrence is shown in Figure l (for more details, see Zarri [1989a]). Being able to represent the elementary events in predicative occurrences is not enough to translate the original information completely. It is, in fact, necessary to represent also the logico-semantic links which exist between elementary events, for example, between the two halves of the information: "John went to the post office in order to send a book to Mary." In our KRL, one way to solve this problem is to use "binding occurrences," that is, listsmcharacterized by the presence of binding (ALTERN(ative), the "disjunctive relation," COORD(ination), the "collective relation," ENUM(eration), the "distributive relation," SPECIF(ication), the "attributive relation") and causal roles (CAUSE, CONFER, GOAL and MOTIV(ation))-whose elements are "labels" of predicative conceptual units (Zarri, 1989a). We must emphasize that using a canonical representation does not entail a systematic decomposition into primitive: In fact, according to the views expressed by qualified researchers in the field (see, for example, Sown [1984]; Brachman & Schmolze I1985]; and Wilensky [1987]), the descriptive component of the KRL is represented by using a well-balanced mix of "primitive" and "higher-lever' conceptual objects. As already said, roles are primitive. The entities of the domain, that is, the arguments of the semantic predicate are, on the contrary, high-level conceptual objects which are freely chosen according to the necessities of the
{ PREDICATE :
[ modulators ] ROLE - 1 { < argument • : [ location ] } ROLE - 2 { < argument > : [ location ] } ROLE- n
{ < argument > : [ location ] } }
attributes ] i[ temporal identification attributes
F I G U R E 1.
]
a)
b)
c)
MOVE
['] PRODUCE
SUBJ OBJ SOURCE [ date-1 I date-2
Louis,..de St_Pol : [ Paris ] Louis de_Sl_Pol : [ Cambrai ] Charlea_VI : [ Paris ] after_11_august 1408 ]
SUBJ OBJ DEST [ dare-1 [ date-2
Louis de St Pol : [ Cambrai ] arrest Pierre d'AiUy : [ Cambrai ]
]
] ]
a (GOAL b)
F I G U R E 2.
particular application at hand and which are not decomposed into primitives; their definitions are given in the "definitional" component of the language. The semantic predicate can be chosen according to any "deep" or "surface" option, where the choice is a completely pragmatic one, depending on architectural considerations aimed to optimize the application (very often, in order to facilitate a particular set of useful inferences); see, again, Zarri (1989a) for a discussion in this context. We temporarily use in the project, for experiment's sake, the particular realization of a "descriptive component" language that is represented by the "metalanguage" of RESEDA, a powerful "intelligent" information retrieval system (IIRS), see Zarri (1984); RESEDA has been utilized for several applications, mainly in the historical and sociopolitical fields. An exhaustive description of the formal structures of the RESEDA's metalanguage and of their modalities of use can be found in Stouder (1988); Zarri (1989a) gives some information about the modifications we have already introduced into the metalanguage in order to generalize its logical design. Figure 2 gives the translation, in Resedian terms, of a natural language information to be coded using the descriptive component tools: "In the days following the I lth of August 1408, King Charles VI sent the count of St. Pol to arrest Pierre d'AiUy at Cambrai." In Figure 2, "a" and "b" are "predicative occurrences"; "c" is a "binding occurrence." In "a" and "b," "MOVE" and "PRODUCE" are (deep) semantic predicates; SUBJ(ect), OBJ(ect), SOURCE, DEST(ination) are roles. The arguments of the predicates pertain to two categories: "Louis_de__st_Pol," "Chades_VI," "Pierre_d'Ailly" are "instances"; "arrest" is a "class" which stay for all sorts of possible concrete manifestations of taking or keeping in custody by authority of law. In this context "arrest" acts, therefore, as an "implicit variable"; the recourse to variables is often necessary when the descriptive information represents hypothetical events, that is, the hopes, beliefs, or intentions of the "actors" of the chosen domain. The differentiation between "classes" and "instances"
A High-Level Representation Language is accomplished, as usual, by verifying that a particular proper name can be used to identify each particular instance. "Classes" are defined by using the tools proper to the definitional component of the KRL (see 4.2); when a complex description is associated to an "instance," this is nothing other than the actualization of the definition given to the class to which the instance pertains. "Paris," "Cambrai," "after_l l__august_1408," "*," are all "determiners": The first and second are "location attributes," the third is a "temporal attribute." The last determiner is a "conjectural validity attribute," used to make manifest that occurrence "b" is a "hypothetical" one, that is, it represents only a desire of the actors declared in "a" (the apprehension of Pierre d'Ailly is not confirmed in the original documentation).
4. DEFINITIONAL COMPONENT On the definitional component side, the knowledge to be represented concerns that sort of general information which can be associated as a definition to: • the patterns ("templates") which subsume and generalize the specific "occurrences" translating the elementary events of the descriptive component and their links; • the "classes" representing the "general categories" to which can be reduced all the "entities" of the application domain to be considered. All these definitions are given by making reference to "'specialization hierarchies" ("is_a" hierarchies), which (in general) are represented by an oriented graph characterized by the inheritance of properties and behaviors. The specialization hierarchy concerning the templates takes the name of H_TEMP hierarchy, or "grammar"; the hierarchy concerning the domain entities (classes) is the H_CLAS hierarchy, or "lexicon."
121 Given that the formal expressions implementing these constraints can be really complex, very often constraints are inserted only indirectly into the definitions under the form of an association with some "explicit variables," x, y, v, and so forth. In opposition to the "implicit variables" already introduced in 3 (and which can be considered as "'pure constraints") explicit variables are individualized by using a specific "name." For example, the predicative occurrence "a" of Figure 2 is an instance of the template in Figure 3, which gives the general framework of the displacement of a person or a group of persons (e.g., a delegation); the parent node of this template is the generic "displacement_template." Optional elements are in parentheses; for simplicity's sake, the variables referring to the "descriptors" (see Figure 3) have been indicated only in an implicit form, and the full details of their constraints have been omitted. Constraints delimit the validity domain of the template. Of course, they may also be used to express complex relationships among variables ("semantic integrity management"; see, for example, Chung [1988] in this context): We have developed, for the KRL, a powerful constraint satisfaction system which can compute all the globally consistent assignments for a set of variables by using local propagation, tentative assumptions, and backtracking (see also Guesgen, Junker, and Voss [ 1987], Mackworth [ 1987], etc.). Besides the creation of the occurrences of the descriptive component, the templates are used in the construction of a powerful class of inference procedures in declarative style ("conceptual rules") to be inserted in the rule base parts of our LKBSs (see, for example, the "transformation rules" in Zarri I1986]). They may also be used in the definition of the elements pertaining to the H_ENT (lexicon) hierarchy (see 4.2.) in the construction of complex conceptual structures "fi la Schank" (see, for example, Schank [1980], etc.).
4.1. Grammar
The specialization hierarchy (H_TEMP, or "grammar") concerning the templates which correspond to the predicative and binding occurrences is not specific to a particular LKB, to the extent that this hierarchy defines the general properties of the syntactic structures used in the descriptive component and is, therefore, domain-independent. H_TEMP (at least for the time being) is simply a "tree," that is, multiple inheritance is not admitted here. A common characteristic of the H_TEMP and H_CLAS hierarchies is that one of the main aspects of the "defining information" associated with the nodes of the hierarchies is given by the "constraints" specifying the legal set of concrete values (and their syntax) which can be used to construct the concrete occurrences and to describe the status of the specific instances.
person_displacement_lemplate MOVE
x y z u v
= -
( : I < temporal modulators • ] ) SUBJ x : [ < departure_location • ] OBJ x : [ < arrival_location • ] (SOURCE y : [ ]) ( DEST z : [ < location • ] ) ( MODAL u ) ( EVENT v ) [ date-1 : < d e p a r t u r e d a t e > ] [ date-2 : < arrival_dale • J
< human being > I < person group > < human being • I < socialbody • < h u m a n being • [ < s o c i a l _ b o d y • < displacement modality > < situation f r a m e w o r k •
FIGURE 3.
122
4.2. Lexicon The specialization hierarchy concerning the domain entities (H_CLAS, or"iexicon") is, in contrast to what we have seen for the H_TEMP hierarchy, particular to a specific LKB, to the extent that its elements (and their definitions) give the general background of a particular application field and are subjected to change when another field must be taken into account. The elements of the lexicon can be defined according to several strategies. For example, it is possible to derive a definition of these elements simply by determining their positions inside the graph, that is, by determining, following the "is_.a" links, the ordered set of their "genetic" terms. In this way, "beagle" is defined only by the fact of being a "specific" term of "hound" (the "supertype" of "beagle" is "hound, that is, "beagle" pertains to the type "hound"); "hound" is specific of "hunting._dog", and so forth; all these terms pertain to the subgraph which has "animal" as the top-level node. The nodes are labeled by using only the "coded name" of the corresponding element. Several applications of the RESEDA system have been realized using, for the definition of the classes, only this type of simple semantic definition. On the other hand, the definition of entities which are of particular importance from the point of view of a given application cannot be given satisfactorily by this type of representation only, and must be augmented by a formal description of their outstanding characteristics. The simplest way to furnish these characteristics is to. use some sort of "attributes," that is, to associate a "frame" (a complex label) to the nodes of the oriented graph. Frames are well-known semantic structures used in the knowledge representation domain, see Goldstein and Roberts (1977), Bobrow and Winograd (1977), Szolovits, Hawkinson, and Martin (1977), Sridharan ( i 978), Stefik (1979), Greiner and Lenat (1980), Fikes and Kehler (1985), Sathi, Fox, and Greenberg, and so forth (1985): therefore, I will limit myself to mention here some of the main decisions taken for our KRL in a frame context. • In the definitional component of the KRL, a frame is composed of a name (the label of the class which must be defined) and a set of slots (attributes, properties). In contrast with the decision taken for the roles of the occurrences in the descriptive component, and in accordance with the general philosophy •of the frame languages, no set of primitive attributes has been selected as standard slots (remember that the definitions of the H_CLAS hierarchy change according to the different application domains). To stick to a well-known example, the class "employee" could be defined in term of the nonstandard slots (attributes) "name," "age," "sex," and "hobbies"
G. P. Zarri
(inherited, for example, from the parent-node, the class "person"), in addition to more specific attn'butes which we can define for this specific entity, like "job_title," "division," and "employee_number." • In order to understand correctly the philosophy that inspires the construction of a H_CLAS hierarchy, we must emphasize that the basic building block of this hierarchy is still the "'i.g a" relation, to be interpreted as an operator giving rise to universally quantified sentences ("if someone is an employee, then he necessarily is a person"). The respect of this interpretation could suffice to rule out a lot of very speculative problems such as those discussed in Brachman (1983; 1985), and originated by the use of inconsistent examples in the style of "bird is_.a flying_thing" or "grey_elephant is_a yellow_elephant,'" where these examples, of course, cannot be read as universally quantified sentences. This postulate about universal statements, which is valid in what concerns the relationships between the nodes of the hierarchy, does not apply, on the contrary, to the sets of slots and fillers to be associated with these nodes, and translating our (provisional) knowledge about some interesting properties of the entities of the domain. The values assumed by these properties can, therefore, be overridden. The value "can_fly," which would normally be inherited by "ostrich," is cancelled explicitly for this particular class; this has no consequence on the relationships between "ostrich" and his parent-node "bird," because "ostrich" is still necessarily a "bird." • Wilensky criticizes severely the arbitrary choice of the slots which is characteristic of frame systems: " . . . slots are truly meaningless s y m b o l s . . , the relationship (between frames and slots) is arbitrary and has no epistemological status" (Wilensky, 1987:15-19); " . . . there is no, in principle, way to decide what should be the slots of a given frame . . . we might end up with slots like 'favorite_RoberLDeNiro_movie' " (Wilensky, 1987:38). He is certainly right, even if this "arbitrariness" does not seem to bother excessively the practical use of commercial expert systems; on the other hand, the solution that Wilensky proposes to solve this difficulty, " . . . taking the representational weight off objects and putting it onto relations" (Wilensky, 1987:38) that is, making use of a relation "favorite_Robert_DeNiro_movie" with its two "aspectuals" (arguments-objects) instead of the corresponding frame-slot association does not seem to really remove the problem. In defining the implementation level (symbol level) of our KRL, we have looked at the proposals of Greiner and Lenat (1980) and Sathi et al. (1985) suggesting to associate with each slot an explicit, structured object which can be
A High-Level Representatiorr Language named "metaslot" and which specifies the semantics (ffthe slot. Metaslots contain "methods" which indicate how to retrieve vaIues from the slot and what inheritance technique to use in doing so, how to add values and remove them from the slot, which sort of values the slot can take, and so forth; solutions in this style have been implemented in commercial tools like G-BASE (Graphael), KNOWLEDGE CRAFT (Carnegie Group), and QSL (Quinary). Keeping in mind, however, the imperatives of simplicity and efficiency from a computational point of view which"are imposed by the large dimensions of the LKBs we want to build up we have simply imposed, at least for the time being, that all the labels used to name the slots are, at the same time, the labels of entities (of classes) already defined inside the H__CLAS hierarchy (already associated with their specific definition to one of the subtrees of this hierarchy). This will permit us to adopt later, in case, more sophisticated techniques in the metaslot style for the management and retrieval of the values of the slots. This means also that, coming back to the "'employee" example, the labels "name," "age," "sex," "job_title," and so forth are, at the same time, the labels of "normal" entities (classes) whose instances can be used in the predicative occurrences of the KRL's descriptive component. • An exception to the rule stating that slots are not primitive conceptual objects is given by a series of slots which have been specialized in order to add to the basic "'i~ ~a'" the possibility of using other forms of relations among entities (of defining other rules for inheritance different from the standard generalization/specialization rule). For the time being, we admit the "member_of" ("has__member") and "part_of" ("has_part") slots, corresponding to the well-known abstraction hierarchies, "grouping" (= "member_of")and "aggregation" (= pala___of") used in the "'semantic data models" of the database domain (Smith & Smith, 1977) (see, for example, Sathi et al. [1985] and Schiel [1989] for a formal definition). We can note that the relationships "member_of" and "part_of" can only be used to link classes with classes ("cardinals" member_of "college_of_cardinals") or instances with instances ("cardinaL_Glemp" member_of "college_of_cardinals__27," where this last instance represents the actual composition of the college), but not classes with instances. The relation "'is_a" ("has_specializations") is reserved to the links between classes; classes and instances are linked by the relation "instance_of" ("has_instances") (see also next section, 5). • Another form of specialization consists in using the names of procedures in order to fill some particular slots; in particular, a complete characteriza-
123 tion of an entity can be obtained if the formal description of its typical behavior ("behavioral rules") is added to the normal, "static" attributes. For the "employee" class, typical behavioral rules can be "hiring_procedures," "increase.__salary_procedures," "firing_imacedure~" "social insurance_calculation," and so forth; behavioraI rules have a certain similarity to "scripts" as defined in Chung et al. (1988:476-480). In conformity with the general characteristics of the KRL (see also 4.1) these behavioral rules are normally implemented in a "declarative" style using, as usual, the "templates" of the H_OCR hierarchy. In the definitions of the classes of the H_CLAS hierarchy, the normal slots can be filled simply by using the names of other classes (implicit variables) already defined inside the H_CLAS hierarchy, or the names of some instances. Slots are multivalued: In order to facilitate the establishment of complex associations of fillers, the "binding roles" introduced in 3. can be used, with the same syntax of the "binding occurrences." However, when the expression of the filler becomes too complex, explicit variables (analogous to the variables introduced in 4. I) are normally used. The variables are accompanied, as usual, by constraints indicating the possible ranges of concrete values to be substituted for these variables when the instances occurring in the occurrences of the descriptive component will be created. Variables and constraints can, of course, be inherited. For the "person" and "employee" classes, the constraint on the variable inserted in the "age" slot will specify that, in the concrete instances ("employee_132"), this slot should contain a number between 0 and 120. A last, very important, possibility concerns the use of the H_TEMP elements (with variables and constraints) as fillers; a detailed example of this last possibility which, at the same time, illustrates the general architecture of the H_CLAS hierarchy is given in Zarri (1989c). The H_ENT hierarchy is, in general, an oriented graph admitting multiple inheritance with exceptions (see, for example, Chouraqui & Dugerdil [1988] for a formal definition). The problem linked, with the presence of "exceptions" should be dealt with by using, as usual, an algorithmic expression of the intuitive "specialization principle" stating that subclasses should override superclasses (Touretzky, 1984). We are taking into consideration, for the time bein~ an adaptation of the solution proposed by Brewka (1987), consisting in the use of a three-place "predicate" to indicate that an entity x is "exceptional" with respect to a property of a (very general) parent entity z if x is a specific term of a more specialized entity y for which different information about this property is available (see also Sandewall
124
G. P. Zarri
[1986], Touretzky [1986], Chouraqui & Dugerdil [1988], etc.). 5. SOME FINAL REMARKS ABOUT THE RELATIONSHIPS BETWEEN DESCRIPTIVE AND DEFINITIONAL COMPONENTS OF THE KRL For uniformity's sake, we could consider the occurrences and the instances as totally integrated into, respectively, the H_TEMP (grammar) and H_CLAS (lexicon) hierarchies; more exactly, they could be likened to the "leaves" of these hierarchies. In reality, they represent concrete phenomena occurring in the conceptual domain taken into consideration, and have an epistemological status which only partially coincides with that of the abstract molds of these phenomena represented by the generic templates and classes. In this sense, the information associated with the concrete "occurrences" and "instances" is more a "representation,'~ a "description" (e.g., the description of the current status of the "employee_132" entity) than a "definition," as in the case of "templates" and "classes." This only partial coincidence is mirrored in the architectural organization of the LKBs we are building up. Occurrences and instances have, indeed, their own file systems, in which they are inserted randomly according only to the order of arrival in the environment of a particular LKB (see Zarri [1988]): these files are physically and conceptually disjoint from those implementing the inheritance mechanisms of the "grammar" and the "lexicon." A system of "primary" and "secondary" indexes (see Zarri [ 1989b]) are superimposed to the occurrences and instances files in order to realize efficient conceptual indexing schemata. The links with the corresponding templates and classes are implemented under the form of a system of pointers, which can, therefore, be assumed as an implicit representation of the "instance_of" and "has__instances" relations. All this means that, in reality, occurrences and instances appear only very indirectly as the "leaves" of the hierarchies of the definitional component: as for the "occurrences," the knowledge associated with the specific "instances" of the "classes" defined in the lexicon can be considered, therefore, as part of the descriptive structures of the LKB. 6. CONCLUSION In this paper, some characteristics of the "conceptual" Knowledge Representation Language (KRL) proper to a general environment for the construction of Large Knowledge Bases (LKBs) have been described. This language involves two different aspects. The coding of the elementary events occurring in the real world (descriptive data = "Snoopy is Charlie Brown's beagle")
is organized around a "semantic predicate"; the conceptual predicative units constructed in this way take the name of "predicative occurrences." Moreover, the predicative occurrences can be associated using logical, causal relationships, giving rise to complex conceptual constructions ("binding occurrences"). On the other hand, the "classes" representing the "general categories" to which can be reduced all the basic entities of the application domain which appear in the predicative occurrences are defined in terms of a specialization hierarchy ("lexicon" = "A beagle is a sort of hound/a hound is a d o g . . . ) ; analogously, the occurrences (and their generic "templates") are classified according to their own specialized hierarchy ("grammar"). The "lexicon" and the "grammar, together, set up the definitional component of the language. If we now try to summarize the main characteristics and advantages of the proposal outlined in this paper, we can say that: • The general aim of our project is to contribute to the advent of a new generation of database/knowledge base systems that will replace "traditional" (relational) DBMSs whenever advanced applications must be envisaged--implying, for example, complex inference operations which must make use of very powerful data models. This aim is pursued by making use, mainly, of Artificial Intelligence (AI) tools. • The difference between our approach and other proposals for using AI tools in a Large Knowledge Bases (LKBs) contextmand which make use of the association between an AI component and a "traditional" (relational) database, see the "deductive databases" and the "enhanced expert systems"--is largely that a substantial part of the knowledge to be inserted in the LKB, concerning both the proper data and the inference procedures, is coded making use of the s a m e conceptual language, a high-level Knowledge Representation Language (KRL) in the AI style ("integral AI approach"). In this respect, the "integral" approach can be considered as a generalization of the semantic and hyper-semantic data model approaches. Among the benefits of this approach we have mentioned the reduction of the loss of information caused by the artificial restrictions which affect the coding and formatting operations in conventional databases, the representation of factual data under a form very suitable to the use of complex inference procedures, the solution of those consistency problems ("granularity mismatch") between "data" and "rules" which affect the knowledge base systems making use of traditional databases. • According to the most recent theories in the Knowledge Representation field, our KRL is a "hybrid representation systems" organized around two components, a "descriptive" and a "definitional" component. The main difference with respect to other
A High-Level Representation Language
hybrid languages (see KRYPTON for example) is that the descriptive component is a high-level conceptual language organized around "semantic predicates," "roles" and "arguments," and not a first order predicate calculus language. This permits a very important increase in efficiency (we deal here with "large" knowledge bases), for example regarding the construction of very powerful "conceptual indexing" schemata. The expressive power of the logical calculus is preserved thanks to the richness of the conceptual categories of the descriptive component: Note, for example, the presence of several classes of "determiners" (amongst others, the "quantifying attributes") which compensate largely for the absence of explicit "logical quantifiers." REFERENCES Ait-Kaci, H., & Nasr, R. (1986). LOGIN: A logic programming language with built-in inheritance. The Journal of Logic Programming, 3, 185-215. Bobrow, D.G., & Winograd, T. (1977). "An Overview of KRL, a Knowledge Representation Language", Cognitive Science, 1, 346. Brachman, R.J. (1978). A structural paradigm for representing knowledge (BBN Rep. No. 3605). Cambridge, MA: Bolt, Beranek & Newman. Brachman, R.J. (1979). On the epistemoiogical status of se.mantic networks. In N.V. Findler (Ed.), Associative networks. New York: Academic Press. Brachman, R.J. (1983). What IS-A Is and Isn't: An analysis of taxonomic links in semantic networks. IEEE Computer, 16(10), 3036. Brachman, R.J. (1985). 'I Lied about the Trees' Or, Defaults and Definitions in Knowledge Representation. AI Magazine, 6(3), 80-93. Brachman, R.J., Fikes, R.E., & Levesque, H.J. (1985). KRYPTON: A Functional Approach to Knowledge Representation. In R.J. Brachman & H.J. Levesque (Eds.), Readings in knowledge representation. San Mateo, CA: Morgan Kaufmann. Brachman, R.J., Pigman Gilbert, V., & Levesque, H.J. (1985). An essential hybrid reasoning system: Knowledge and symbol level accounts of KRYPTON. In Proceedings of the Ninth International Joint Conferenceon Artificial Intelligence--IJCAl/85. San Mateo, CA: Morgan Kaufmann. Brachman, R.J., & Schmolze, J.G. (1985). An Overview of the KLONE knowledge representation system. Cognitive Science, 9, 171216. Brewka, G. (1987). The logic of inheritance in frame systems. In
Proceedings of the Tenth International Joint Conference on Artificial lntelligence--IJCAI/87. San Mateo, CA: Morgan Kaufmann. Brodie, M.L. (1984). On the development of data models. In M.L. Brodie, J. Mylopoulos, & J.W. Schmidt (Eds.), On conceptual modelling. New York: SpilngevVerlag. Ceil, S., Gottlob, G., & Tanca, L. (1989). What you always wanted to know about datalog (and never dared to ask). IEEE Transactions on Knowledge and Data Engineering, I, 146-166. Chouraqui, E., & Dugerdil, P. (1988). Conflict solving in a framelike multiple inheritance system. In Proceedings of the 1988 European Conference on Artificial lntelligence--ECAI/88. London: Pitman Publishing. Chung, K.L., Rios-Zertuche, D., Nixon, B.A., & Mylopoulos, J. (1988). Process management and assertion enforcement for a se-
125 mantic data model. In J.W. Schmidt, S. Ceil, & M. Missikoff (Eds.), Advances in database technology---EDBT "88. Berlin: Springer-Verlag. Deering, M., & Faletti, J. (1986). Database support for storage of AI reasoning knowledge. In L. Kerschbcrg (Ed.), Expert database
systems--Proceedings from the First International Workshop. Menlo Park, CA: Benjamin/Cummings. Delcambre, L.M.L., & Etheredge, J.N. (1988). A self-controlling interpreter for the relational production language. In Proceedings
of the 1988 ACM SIGMOD International Conference on Management of Data, special issue of ACM SIGMOD Record, 17(3), 396-403. likes, R., & Kehler, T. (1985). The role of frame-based representation in reasoning. Communications of the ACM, 28, 904-920. Fillmore, C.J. (1968). The case for case. In E. Bach & R.T. Harms (Eds.), Universals in linguistic theory. New York: Holt, Rinehart and Winston. Goidstein, I.P., & Roberts, R.B. (1977). NUDGE, A knowledge-based scheduling program. In Proceedings of the Fifth International Joint Conference on Artificial Intelligence--lJCAl/77. San Mateo, CA: Morgan Kaufmann. Greiner, R., & Lenat, D.B. (1980). A representation language language. In Proceedings of the First National Conference on Artificial lntelligence--AAAl/80. San Mateo, CA: Morgan Kaufmann. Guesgen, H.W., Junker, U., & Voss, A. (1987). Constraints in a hybrid knowledge representation system. In Proceedings of the Tenth
International Joint Conference on Artificial Intelligence--IJCAl/ 87. San Mateo, CA: Morgan Kaufmann. Han, S., Shin, D.W., Kim, Y., Jun, Y.P., Maeng, S.R., & Cho, J.W. (1988). A logic programming approach to hybrid knowledge representation. Applied Artificial Intelligence, 2, 93-127. Hull, R., & King, R. (1987). Semantic database modeling: Survey, applications, and research issues. ACM Computing Surveys, 19, 201-260. Jarke, M., & Vassiliou, Y. (1984). Coupling expert systems with database management systems. In W. Reitman (Ed.), Artificial intelligence applications for business. Norwood, NJ: Ablex. Leung, Y.Y., & Lee, D.L. (1988). Logic approaches for deductive databases. IEEE Expert, 3(4), 64-75. Levesque, H.J. (1986). A view of knowledge representation. In M.L. Brodie & J. Mylopoulos (Eds.), On knowledge base management systems. New York: Springer-Verlag. Levesque, H., & Mylopoulos, J. (1979). A procedural semantics for semantic networks. In N.V. Findler (Ed.), Associative networks. New York: Academic Press. Mackworth, A.K. (1987). Constraint satisfaction. In S. Shapiro (Ed.), Encyclopedia of artificial intelligence. New York: Wiley. Montini, G. (1987). Efficiency considerations on built-in taxonomic reasoning in PROLOG. In Proceedings of the Tenth International Joint Conference on Artificial lntelligence--IJCAl/87. San Matco, CA: Morgan Kaufmann. Nebel, B., & Von Luck, K. (1988). Hybrid reasoning in BACK. In Z.W. Ras & L. Saitta (Eds.), Methodologies for intelligent systems 3. Amsterdam: North-Holland. Potter, W.D., & Trueblood. R.P. (1988). Traditional, semantic, and hyper-semantic approaches to data modeling. IEEE Computer, 21(6), 53-63. Rosner, M., & Somers, H.L. (1980). Case in linguistics and cognitive science (Working Paper No. 40). Genrva: Fondazione Dalle Molle. Sandewall, E. (1986). Non-monotonic inference rules for multiple inheritance with exceptions. Proceedings of the IEEE, 74, 13451353. Sathi, A., Fox, M.S., & Greenberg, M. (1985). Representation of activity knowledge for project management. 1EEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-7, 531-552. Sehank, R.C. (1980). Language and memory. Cognitive Science, 4, 243-284.
126 Schiel, U. (1989). Abstractions in semantic networks: Axiom schemata for generalization, aggregation, and grouping. ACM Sigart Newsletter, 107, 25-26. Smith, J.M., & Smith, D.C.P. (1977). Database abstractions: Aggregation and generalization. ACM Transactions on Database Systems, 2, 105-133. Sowa, J.F. (1984). Conceptual structures: Information processing in mind and machine. Reading, MA: Addison-Wesley. Sddharan, N.S. (1978). AIMDS user manual-- Version 2. (Tech. Rep. CBM-TM-89). New Brunswick, NJ: Rutgers University Department of Computer Science. Stefik, M. (1979). An Examination of a Frame-Structured Representation System. In Proceedings of the Sixth International Joint Conference on Artificial Intelligence--lJCAl/79. San Mateo, CA: Morgan Kaufmann. Stouder, L. (1988). RESEDA, le mdtalangage (Cony. INALCO/ CIMSA SINTRA No. 0223A). V61izy: Division CIMSA SINTRA de Thomson-CSF. Szolovits, P., Hawkinson, L.B., & Martin, W.A. (1977). An overview of OWL, A languagefor knowledge representation (MIT/LCS/ TM-86). Cambridge, MA: MIT Laboratory for Computer Science. Touretzky, D.S. (1984). Implicit ordering of defaults in inheritance systems. In Proceedings of the Fourth National Conference on Artificial lntelligence--AAAl/84. San Mateo, CA: Morgan Kaufmann. Touretzky, D.S. (1986). The mathematics of inheritance systems. San Mateo, CA: Morgan Kaufmann. Vilain, M. (1985). The restricted language architecture of a hybrid representation system. In Proceedings of the Ninth International Joint Conferenceon Artificial Intelligence--IJCAl/85. San Mateo, CA: Morgan Kaufmann.
G.P. Zarri Wilensky, R. (1987). Some problems and proposals for knowledge representation (UCB/CSD Rep. No. 87/351). Berkeley: University of California Computer Science Division. Woods, W.A. (1975). What's in a link: Foundations for semantic networks. In D.G. Bobrow & A. Collins (Eds.), Representation and understanding, studies in cognitive science. New York: Academic Press. Zarri, G.P. (1984). Expert systems and information retrieval: An experiment in the domain of biographical data management. In M.J. Coombs (Ed.), Developments in expert systems. London: Academic Press. Zarri, G.P. (1986). The use of inference mechanisms to improve the retrieval facilities from large relational databases. In F. Rabitti (Ed.), Proceedings of the Ninth International ACM Conference on Research and Development in Information Retrieval. New York: ACM. Zarri, G.P. (1988). Knowledge acquisition for large knowledge bases using natural language analysis techniques. Expert Systems for Information Management, 1, 85-109. Zarri, G.P. (1989a). Conceptual representation for knowledge based systems. In A. Martelli & G. Valle (Eds.), Computational intelligence, 1. Amsterdam: North-Holland. Zarri, G.P. (1989b). Formalizing temporal issues in the framework of the descriptive component of a knowledge representation language. In Proceedings of the 1989 Annual Conference of the International Association of Knowledge Engineers--IA KE'89 Kensington, MD: The Systemsware Corporation. Zarri, G.P. (1989c). A knowledge representation language for the construction and use of large intelligent systems. In Proceedings of the 1989 A.I.C.A. Annual Conference. Milano: Associazione Italiana per rlnformatica ed il Calcolo Automatico.