This section is part of
Patil, Ramesh S. Causal Representation of Patient Illness for Electrolyte and Acid-Base Diagnosis. MIT Lab for Comp. Sci. TR-267 (1981).

Appendix II - Explanation

The English explanation generator in the ABEL system is implemented using the methodology developed by Swartout [Swartout80] as a part of an interactive system which explains and justifies portions of an expert system for prescription of Digitalis. In this chapter we will review the methodology for generating English from causal paths and XLMS concepts developed by Swartout and discuss techniques for organizing the flow of explanation in translating descriptions contained in a PSM.

II.1 Phrase Generator

The phrase generator generates English phrases from XLMS concepts. An example of an XLMS concept and the phrase generated for it is:

[(severity*u diarrhea)] ==> (the) severity of diarrhea

In XLMS, the tie of a concept indicates the relationship between the ilk and the cue of the concept. Thus, *r indicates that the ilk is a role in the cue, and *f indicates that the cue is a modifier of the ilk. Because the tie indicates the relationship between the ilk and cue, it also determines the primary English form of a concept. Therefore, the phrase generator is organized around the types of the tie. Examples of primary English phrases associated with concepts with different ties is shown in table 1 in appendix I.

The phrase generator contains a set of translation rules; one rule for each type of tie. However, for a labeled concept, the phrase generator prefers the label of the concept over its translation except when the use of the label is explicitly forbidden. This can be done by meta-characterizing the labeled-concept or any of its superiors with [do-not-use-label].

The translation of a causal link into English is initiated when a concept with the tie *e is encountered. However, this translation is also dependent upon whether the link is being traversed forward from source to destination or vice versa. For example,

 [((caused-by*b diarrhea)*e metabolic-acidosis)] 

would be translated while being traversed forward as

diarrhea causes metabolic acidosis

and, while being traversed backwards as

metabolic acidosis is caused by diarrhea 

These low level primitives for translating individual XLMS expressions are used by the higher level of explanation generator which traverses the causal net.

II.2 Higher level explanations

With the ability to translate a state and a link we next focus on describing causal relations occurring in a causal net. First, let us focus on describing simple chains of causal links, such as:

[((caused-by*b A)*e B)], [((caused-by*b B)*e C)], [((caused-by*b C)*e D)]

which is translated into

A causes B, which causes C. C causes D.

Note that this is somewhat of a compromise. It prevents the monotony of having three sentences with identical structures; “A causes B. B causes C. C causes D.”. However, the number of components in any given sentence are restricted to two, therefore, in situations where use of three causal relations in a single sentence is desired, the explanation generated by this method comes out rough.

Let us consider another situation

[((caused-by*b A)*e B)]
[((caused-by*b C)*e B)]

If this situation occurs in the general medical knowledge, then it implies that A and C are two possible causes of B.37 This is translated as

A may cause B. C may also cause B. 

However, if this situation occurs in the PSM, then A and C combine to cause B. This can be stated as

A and C jointly cause B. 

However, if the we are discussing the relation between A and B then this is stated with the help of an adjunct clause, e.g.,

A along with C causes B. 

Conversely, when we have

[(caused-by*b A)*e B)]
[(caused-by*b A)*e C)] 

It is translated as

A causes B and C.

A high level English generator is based on this translation facility. Its primary goal is to organize the medical knowledge or the patient specific knowledge into a sequence of objects which are then translated using the translation facility.

II.3 Organizing causal Explanation

The operation of the higher level explanation generator can be described in three steps: (1) describing a node (state), (2) describing a relation between two nodes, and (3) describing a causal network.

The description for a node is generated in the following way. The translation of the concept associated with the node generates a noun phrase (NP). Each attribute (slot) of this node can be then be described as an adjective which modifies the noun phrase associated with the node. For example;

[(diarrhea*i 1)
      [severity:u #v 0.7 #c severe] 
      [duration:u #v 60.0 #c chronic]] 
==> severe chronic diarrhea 

In addition the explanation generator distinguishes between the first time a concept is described from all subsequent references to the concept. At the first time every attribute of the concept that has been specified in the instance is described whereas on subsequent references only those attributes are mentioned which are necessary to distinguish this instance from other references to other instances of the same concept. For example, if during the discussion we had also made reference to “severe acute diarrhea” then in a later reference to the [(diarrhea*i 1)] the program will distinguish this from the others by specifying “chronic diarrhea”.

A description of the relation between given two nodes in a causal network is generated as follows. (1) Identify all loop free paths from the first node to the second. This generates a partial order graph (acyclic graph). (2) Impose a linear order on the partial order graph of step 1. (3) Translate this linear order of concepts using the translator described above. However, we must note that there may be a causal path between the two nodes in each direction — that is, the two nodes might be part of a feedback cycle. This is handled by repeating step 1 with each of the two nodes as the starting nodes. If both of the partial order graphs are null, we know that the two nodes are unrelated, if one of them is null and the other non-null, then the relation between them is one directional, and if both of them are non-null, then we know that there is a feedback relation between the two nodes. Luckily, the above algorithm has already decomposed the feedback relation between the forward and the feedback components. Thus we can divide the explanation of the relation into two parts: from first node to second and from second to first. An example of the relation between acidemia and hypocapnia for hypothesis 1 of example 1 in chapter 6 is shown in figure 58.

Fig. 58. Feedback relation between acidemia and hypocapnia
The forward path: acidemia causes hypocapnia.

The feedback path: The hypocapnia along with metabolic-acidosis causes hypobicarbonatemia. Hypocapnia and hypobicarbonatemia jointly cause acidemia.

The English description for a given causal network is organized in three parts: (1) a one line introduction describing the primary causes and the important electrolyte and acid-base states in the causal network being explained, (2) a detailed description of the causal network being explained, (3) a one or two line summary of the causal network which focuses on the nodes in the causal network that cannot be adequately explained by the network. As the first step in organizing the explanation the program divides the nodes in the given causal network into one of the following groups: (1) ultimate etiologies, (2) acid-base nodes (3) fully unaccounted nodes (4) partially unaccounted nodes, and (5) other nodes.

The one line introduction to the causal network is generated by describing the age, sex and weight of the patient and all the ultimate etiologies and the acid-base nodes that have not been accounted for by any of the ultimate etiologies.

The generation of the detailed description of the causal network closely follows the procedure used for describing the relation between two states. The program takes each of the ultimate etiologies and fully unaccounted nodes and identifies all loop free paths from these nodes to all other nodes reachable from them. As discussed before, these paths impose a partial order on the causal network. The program then imposes a linear order on the partial order graph generated in the previous step. Finally it translates this linear order sequence of nodes and links into English as discussed before.

Finally, the program summarizes the description of the causal network by listing all the fully and partially unaccounted nodes. That is, it summarizes the inadequacies in the causal explanation and points out the nodes that need further diagnostic exploration.

In this appendix we have briefly discussed the techniques used by ABEL in organizing explanations of ABEL's medical and patient specific knowledge and have reviewed the English translation methodology developed by Swartout [Swartout80]. The primitive explanation capabilities of ABEL, in spite of their inadequacies, have already proved to be valuable to the developers of the program. Substantial further developments in improving the quality of the English generated, identifying the level at which the explanation should be provided, and in tailoring the explanations to users' needs using modeling of user's understanding of the program and the domain of medical expertise are needed.


This section is part of

Patil, Ramesh S. Causal Representation of Patient Illness for Electrolyte and Acid-Base Diagnosis. MIT Lab for Computer Science Technical Report TR-267. October 1981. Also: Ph.D. Thesis, MIT Dept. of Electrical Engineering and Computer Science.

The document was reconstructed for the Web in April 2002 by Peter Szolovits.