# Arboretum This chapter describes briefly an inference mechanism, implemented in the Arboretum prototype; this is included here to show the results achieved in the author's early work on explanation, on which it is hoped to build in the current work. A fuller description of this mechanism, and of the Arboretum prototype, will be found in \[Mott & Brooke 87\], from which this chapter is largely drawn. Arboretum was written in InterLisp-D\[4\] using LOOPS \[5\] object oriented facilities, to allow people to manipulate DTree structures through graphical representations: to build arbitrarily large knowledge bases, to use these to provide answers to questions about objects in domains admitting incomplete information - and to provide natural language explanations of these answers. The inference process by which answers are produced is shown as an animated graph. The user can ask the system how the value of any particular feature was arrived at, and what that value was. . It was developed for the Alvey DHSS Large Demonstrator Project, and sought to meet early perceptions of the needs of DHSS Adjudication Officers. Adjudication Officers decide claimants' eligibility over a wide range of welfare benefits. There is a very large volume of work to be done, so they work under considerable pressure. The Adjudication process within the DHSS has its own levels of authority culminating in the Office of the Chief Adjudication Officer. This monitors the quality of the decision making of Adjudication Officers, issues written guidelines to assist them in their decision making, and distributes information about changes in the benefit rules. These modifications occur frequently, both to correct local anomalies and of course to reflect more substantial political changes in the provision of welfare. A static support system could not be useful because it would become outdated almost immediately. What is required is a system that can be modified and updated easily by the officials in the O.C.A.O. The general context is then of a large organisation in which relatively numerous junior officials apply extensive and frequently changed legislation in limited time under the supervision of relatively few senior officials. The task of an IKBS support system is to maintain and if possible improve the decision making quality of the former and render more effective the supervision exercised by the latter. We designed a system to meet these perceived needs around the DTree algorithm devised by Peter Mott. This algorithm interprets graphical data-structures (called 'DTrees') as rules of a non-monotonic (default) logic. Our intention was that the system should access a legislative rule base composed of such rules, should propose a decision for the case in question, and should then draft a letter explaining that decision to the claimant. If the case was straightforward the Adjudication Officer would accept the suggestion offered by the machine. Otherwise (s)he could study a graphically presented trace of the machine's inference process to assist in formulating an alternative decision. One of the most significant advantages we would claim for the system as implemented is that it is extremely simple for relatively naive users to build knowledge bases. Knowledge engineering with this system requires no understanding of computer language, no very abstruse knowledge about the machine, and no complex calculation of weightings and probabilities. The logic is designed to facilitate a methodology which we call Elicitation by Exception. The knowledge engineer's task, using this methodology to build a rule, is simply to ask: is a given predicate normally true? If it were true, would it normally be a T sufficient condition? And having got this far, is there anything at all which would overturn the decision? If nothing could, the process terminates; but if there is some more abstruse factor which could still cause a change of mind, then that is added as a new condition and once more one asks if there is anything further that could cause a change of mind. Thus we proceed down a conceptual tree where at each level the decision just made is reversed. Intuitively the deeper the level, the more unlikely the situations that occupy that level. It is our suggestion that the structure of exceptions that can explicitly be recovered by the knowledge engineer in this way is what is implicitly and imperfectly represented by the certainty factors in classical expert systems. These trees can then be directly interpreted as rules by the DTree algorithm, the root idea of which is that a decision has always been made, there is always an answer available, but one which the system is currently trying to refute. The eventual decision is simply the last one made, the one that the system has failed to refute. At any point it tries to "change its mind", and when it can no longer do so that is the decision it delivers. After all, if there is nothing as yet unexamined that could make you change your mind why deliberate further, while if there is how may you legitimately stop? The idea of an alternating 'yes/no' with decision characterised simply by its position at the end is a very old one indeed due to Thomas Hobbes (16\]. The emphasis on trying to refute rather than trying to confirm is of course Popperian (passim, but see for example his \[17\]). Let us summarise how to read a DTree rule structure. The basic units are nodes and the edges between them. An edge should always be read downwards, and, when connecting different colours, as meaning 'unless'. Thus the most basic structure is "hypothesis is false unless condition is true": ![Simplest possible DTree](../img/simplest-possible-dtree.svg) fig 1: simplest possible rule Conjunctions are represented by columns of nodes, only the last of which has the colour to be returned if all are true and disjunctions by branches, each of which terminates in the colour to be returned if any are true. These can be combined in any fashion desired, although we consider it good practise to keep individual rule structures small. This is shown in the figure below: ![Example DTree](../img/example-dtree.svg) fig 2: example rule, showing syntax The rule would read: "(rootnode) is false unless (first conjunct) is true and (second conjunct) is true, in which case it is true unless either (first disjunct) or (second disjunct) is true". A DTree system contains at any time a number of features, objects and nodes. In a LISP implementation these are litatoms equipped with property lists; the LOOPS implementation is rather different but not in any way that affects the underlying ideas. A feature has the properties: where methods is the list of methods that the feature applies to see if it holds of the given object, DTreeRootnode holds a pointer to a DTree node if the feature is equipped with one (else NIL), default holds the default value of the feature, and activeFlg is simply a semaphore to prevent DTrees calling themselves. A word more about the methods property. This may in principle hold a list of any functions that are to be applied (in the order found) with standard arguments by the feature when it is called. A feature may thus be seen as a local "expert" whose task is to decide whether it holds of a given object by applying the list of methods it has been supplied with (this picture was suggested by Lenat \[18\]). However, for the sake of simplicity, we shall henceforth assume, that the methods property is just the list (DoTree Default) and describe the algorithms accordingly. A DTree for a feature is a list of nodes. A node has the properties: Feature points to a feature of the system, colour is either Yes or No, children point to successor nodes of the node (if any) and parent to the unique predescessor node (NIL for the origin of the DTree). An object is just a litatom. The system updates the property list of the object. The top-level function call is (Decide Feat feature object). This first looks on the property list of object. If it finds (feature. Yes) or (feature . No) it returns Yes or No as the case may be. Otherwise it calls the features's Dtree if there is one (using DoTree) or if not, returns a default value (using Default). Default may be a complicated function (indeed it may initiate a substantial train of activity) but for present purposes it may be thought of as simply recovering 'Yes or 'No from the default property of the feature. The function of DoTree is just clerical, the work is done by DSearch. This function induces a subtree of the DTree, the leaf nodes of which are exactly those nodes from which no exit was possible. They represent the points at which the system can no longer "change its mind". We call them stickNodes, and DSearch passes them to the function Decide. DSearch uses left to right depth first search. which corresponds well with the conceptual structure of the DTree, exploring each possibility exhaustively as it arises; but other traversals are not ruled out. This only leaves the function Decide. This simply scans the nodes submitted to it. If all of them have colour No then Decide returns No. But if even one has colour Yes then Yes is returned instead. This represents the fact that our domain rules provide sufficient conditions for access to a benefit. If you qualify by any of the criteria then the overall decision is Yes. ## The Explanation System The explanation facility is the feature of the system which is of most interest to us here. Arboretum had two innovations in this field. The first was the Natural Language justification of decisions, which is the central matter of interest to us; but the graphical display, and in particular the animated search trace, also contributed to the user's ease of comprehension of the systems decisions. This system provided the equivalent of the more traditional "ask how" and "ask why" queries provided by other inference mechanisms. The user could see why a question was being asked, simply by looking at the display and seeing that the answer was needed in the evaluation of the current rule, whose result was needed by the preceding rule, and so on back to the question originally asked. To ask how a particular value was found, after completion of a run, we could point to a node representing the feature in question and select "How?" from the left button menu. The machine would respond by printing out a message saying whether the value was supplied by the user, evaluated from a DTree, or taken from a default. If a DTree had been called, it was displayed. However, the natural language explanation system was vitally important to the usefulness of the system. Without it, the user must effectively take the decisions of the machine on faith, and in a domain with imperfect information that is dangerous; furthermore, the machine is reduced to giving yes/no answers. We could ask: 'is this person entitled to benefit', but not 'which benefit is this person entitled to'. Of course the system with explanation could still only give 'yes/no' decisions, because that is the nature of the logic; but now it could say: 'yes, this person is entitled to benefit; and the benefit they are entitled to is mobility allowance'. The explanation system depended on and exploited the fact that DTrees are structured through exceptions from the very general to the more abstruse and particular; and that, in consequence, any path through a rule structure follows a line of coherent argument, again from the general to the particular. Thus a sticking node on the DTree for a feature both records a decision and, by its position in the DTree, implies an explanation of why that decision was made. Consequently, we attached to each node in the system a text fragment to explain the consequence for the feature whose rule the node was in, if that node were a sticking node. This explanation fragment was a piece of canned text, written by the knowledge engineer. When writing fragments, the knowledge engineer did not need to look beyond the DTree that was being edited. The task was simply to consider a node and attach text saying why the feature of the DTree obtained (or did not) when that node was conceived as the only sticking node. The structure of the system itself then ensured that in the final text, the fragment would follow sensibly from the preceding one. This is described in more detail, with worked examples, below. We discussed and experimented with several algorithms for the recovery of explanations. The one we used worked as follows: when a search resulted in a 'no' decision (ineligible for a benefit) then we concatenated the explanation fragments from the deepest sticking node in each succesive tree on the search path. The reason was that this represents the "nearest" that the claimant got to succeeding in the claim. This follows from the structure of the DTree, the deeper nodes represent more abstruse conditions: to reach them at all more general requirements for eligibility must have been met. Furthermore, the information given in this explanation should be sufficient to assist in the preparation of an appeal, if the claimant felt there were further relevant facts which hadn't been considered - and this was, indeed, precisely our intention. It is, we think, part of the notion of relevance that it is the "nearest miss" that should be described in such cases. In the case of a 'yes' decision we chose the opposite approach and selected the shallowest sticking node available. This was partly because the claimant who succeeds is less concerned about why, but mostly because it is not relevant to describe how a long and tortuous inference path finally delivered 'yes' when a much shorter less involved one did so too. Again this seems in accord with ordinary ideas of relevance. To provide a small worked example of an explanation generated by the system, which is yet large enough to give some flavour, let us assume our knowledge base contains the following rules: ![DTree for 'Entitled to Widows' Allowance](../img/dtree-widows-allowance.svg) fig 3: Rule for "Entitled to Widow's Allowance" ![DTree for Living with Partner](../img/dtree-live-with-partner.svg) fig 4: rule for "Living with Partner" which, together, partially encode the following legislation fragment, from the Social Security Act 1975 \[6\], chapter 14, section 24, as amended by the Social Security (Miscellaneous Provisions) Act 1977, chapter 5, .section 22(2). This reads: 24.-(1) A woman who has been widowed shall be entitled to widow's allowance at the weekly rate specified in relation thereto in Schedule 4, Part I, paragraph 5, if - \(a) she was under pensionable age at the time when her late husband died, or he was then not entitled to a Category A retirement pension (section 28); and \(b) her late husband satisfied the contribution requirement for a widow's allowance specified in Schedule 3, Part I, paragraph 4. \(2) The period for which widow's allowance shall be payable shall be the 26 weeks next following the husband's death: Provided that the allowance shall not be payable for any period after the widow's death or remarriage or for any period during which she and a man to whom she is not married are living together as man and wife. Let us further assume we have entered at least the following explanation fragments, each providing an explanation simply in the context of the rule in which it appears: 1\. on the node for "Living with Partner" in the rule for "Entitled to Widow's Allowance", the text: > Although you satisfy the basic conditions for eligibility for Widow's Allowance, you are not eligible, as we understand that you now have another partner." 2\. on the node for "Remarried" in the rule for "Living with Partner", the text: > "We understand that you have remarried." Of course we would also enter text fragments for all the other nodes in our rules. Now assume we are dealing with the case of a widow whose previous husband had paid his National Insurance stamps as required, and who had not reached pensionable age at the time of his death. Assume further that, within the first six months of her bereavement, our claimant has remarried. The text that would be generated would be: > Dear \[name of claimant\] > Although you satisfy the basic conditions for eligibility for Widow's Allowance, you are not eligible, as we understand that you now have another partner. We understand that you have remarried. > Yours Sincerely > \[your name\] There are a number of points to notice. Firstly, we could easily have written far more friendly and less formal fragments; for example, We could have written "we wish you all the best in your new marriage". The formality here is simply to help in understanding the mechanical nature of the concatenation process. Much more significantly, note that although the inference engine must have known or discovered, for example, that her previous husband had indeed been regular and conscientious about his national insurance contributions for it to have reached its conclusions, this information has been 'included out of the explanation. It is irrelevant. It is clear that, if our claimant wished to make an appeal, her grounds for doing so would have to be that the information provided had been incorrect, and that she had not, in fact remarried. ## Explanation: a discussion ### Writing explanation fragments Arboretum's explanation fragments are canned text written by the knowledge engineer in constructing the rule system. However, because of the way they are concatenated, they are extremely easy to write. Each is basically just a declarative sentence saying, in natural language is because is true and none of are true. Thus, for the `Remarried -` node referenced above, the automatically generated canned text - had we automatically generated the text, which we did not - would have been > Living with partner is true because remarried is true. which would probably have been good enough. However, because texts are concatenated from the sticking nodes of the successive trees, we know that the previous sentence will have ended with some natural language expression of the proposition > Living with partner is true. Thus, provided we know that the tree for which we are writing the node texts is not the top level tree in the decision system, we can avoid rewriting this proposition. So the declarative sentence becomes simply is true and none of are true. But in this instance there are no children of the node `Remarried +`, so this reduces to is true The actual, manually written text used in the system, as stated above, was > We understand that you have remarried. As you can see, this sentence is a polite and understandable representation of the proposition Remarried is true Thus, the claim I am making here - but mildly, it's not a strong claim - is that even without hand written canned texts, the conceptual design of the DTree engine would allow the automatic construction of perfectly usable explanations. Arboretum was the first deliverable system from the Alvey DHSS Large Demonstrator project actually to be delivered, and, I think, of the systems the project did deliver, the most polished and most functional, if not the most ambitious. However, it was not intended that the systems built by the project would actually be put into front line use, and indeed none ever were. Nevertheless, in designing the system, we took very seriously the idea of how an adjudication officer would use such a system in the real world. It's important for the officer to explain clearly to a claimant why a claim has been disallowed, in language the claimant will understand. Thus, manually written fragments made for much less stilted English, and produced a plausible verisimilitude of an entirely personal letter. As one of the problems that the DHSS was experiencing at the time was appeals made because the claimant had not understood the reasons for a decision not to award benefit, these very simple, clear, apparently-personal letters seemed to us a significant feature in the potential usability of the system. ### Relevance filtering This brings us to the question of how Arboretum managed relevance filtering. The answer, as the intelligent reader will already have spotted, is that we did not. Relevance fell fortuitously out of the process of evaluation. The deepest sticking node on each tree on the path to the final decision represents the 'interesting' reason to refuse, within the context of that tree; the concatenation of the 'interesting' reason to refuse from the successive trees along the path constructed the argument from the general to the particular which is precisely a good explanation of a decision. What's interesting about this was that in our later experience with [KnacqTools](KnacqTools.html), which was essentially a commercialised reimplementation of Arboretum on less illustrious hardware, we found that this explanation algorithm, designed to assist adjudication officers, provided explanations which were welcomed as clear and understandable in domains as diverse as industrial process control and the diagnosis of fish diseases. ## Conclusion Arboretum's ability to abstract relevant information from an inference engine's backtrace represents a partial solution to the problem described in the preceding chapters. ## References: 3\. Xerox Corporation: InterLisp Reference Manual (Xerox Corporation, 1985) 4\. Daniel Bobrow & Mark Stefik: The LOOPS Manual (Xerox Corporation, 1983) 5\. Mark Richer & William Clancey: "Guidon Watch: A Graphic Interface for Viewing a knowledge-Based System" IEEE Computer Gaphics and Applications vol 5 no 11,1985 6\. Social Security Act 1975: Her Majesty's Stationery Office, London, 1975 Social Security (Miscellanous Provisions) Act 1977: Her Majesty's Stationery Office, London, 1977 7\. D. Neligan: Social Security Case Law: Digest of Commisioners' Decisions (Her Majesty's Stationary Office, London, 1979) 8\. Mark Richer: "An Evaluation of Expert System Development Tools" Expert Systems vol 3 no 3 1986 9\. William Swartout: "XPLAIN: a System for Creating and Explaining Expert Consulting Programs" Artificial Intelligence 21, 1983 10\. Peter Jackson: "Explaining Expert Systems Behaviour" paper given at Workshop on Explanation, Alvey IKBS Expert System Theme 20th-21st March 1986: available from the Alvey Directorate. 11\. William Clancey: "The Epistemology of a Rule-Based Expert System - a Framework for Explanation" Artificial Intelligence 20, 1983 12\. E. H. Shortliffe: MYCIN: Computer Based Medical Consultations (Elsevier 1976) 13\. P. Hammond: "APES: A user manual" Research Report DOC 82/9, Imperial College, London 14\. W. van Melle, E. Shortliffe & G. Buchanan: "EMYCIN: A Knowledge Engineer's tool for constructing Rule-Based Expert Systems" (in Rule Based Expert Systems ed Buchanan, G. & Shortliffe, E., Addison-Wesley, 1984) 15\. Diane Warner Hasling, William Clancey & Glenn Rennels: "Strategic Explanations for a Diagnostic Consulting System" International Journal of Man Machine Studies 20, 1984 16\. Thomas Hobbes: Leviathan (ed C. B. MacPherson, Penguin 1968) 17\. Karl Popper: Conjectures and Refutations (Routledge Kegan Paul, 1963)