ITA Controlled English and its applications David Mott1, Dave Braines1, Ping Xue2, Stephen Poteet2 1Emerging 2Boeing Technology Services, IBM UK, Hursley, Winchester, UK Research and Technology, The Boeing Company, Seattle, US Abstract. This paper describes our research into ITA Controlled English (CE) to represent knowledge and reasoning in different domains. A basic core of restricted English allowing expression of concepts, entities, and relationships has been extended to express negation, assumptions, uncertainty values, and metalevel reasoning about concepts. We describe a reasoning capability based on CE and provide examples of its application to cognitive tasks such as intelligence analysis and fact extraction from Natural Language text, with provision of rationale to users for conclusions derived. 1 Introduction We describe our research into a Controlled Natural Language (CNL), ITA Controlled English (CE), supporting users in reasoning and representing knowledge for collaborative problem solving and communication between human and machine in a wide range of domains, including planning, allocation of resources, intelligence analysis, fact extraction from Natural Language, and the provision of conversational interfaces. The work is undertaken within the International Technology Alliance (ITA) programme, a 10 year fundamental science research programme by US/UK military research organisations, academic institutions and industry [1], to support the collaborative operation of military coalitions. The work started from a dissatisfaction with using OWL for representing knowledge of planning and intelligence analysis, and we developed a more human understandable representation that was readable by man and machine, ITA Controlled English. Our research expanded into more cognitive aspects of problem solving, including more complex forms of reasoning, use of rationale, and application of CE to language processing itself. We believe that CE, although relatively simple compared to some other CNLs, is "curiously useful", and we provide principles, examples and observations on the cognitive aspects of using a CNL. We have established some research principles to inform our work: "cognitive": to build applications that assist people in performing complex tasks, requiring representation of knowledge, application of knowledge to perform reasoning and analysis, and the explanation of the reasoning to others. We seek ways for human and machine to interact in cognitive tasks. "linguistic": to use a representation that is sufficiently close to English for sentences to be easily understood by native speakers without requiring detailed training, but nevertheless providing formal precision allowing automated reasoning; we require a syntax that is grounded in a logical semantic representation, that will leverage human cognitive capabilities in using text-based language for supporting communication and reasoning. "integrative": to use a representation applicable to many types of domain, supporting different problem solving strategies and fusion of different types of data; we seek a common means to represent domain models and data so that users can rapidly construct new concepts to represent and analyse new information. 2 ITA Controlled English This section defines the basic constructs of CE and extensions to this basic core; see [2] for further details. We do not claim that CE is all powerful, and there are obvious syntactic and semantic extensions that could be made; however our research has focussed on how extensively and usefully such a language can be applied. Nevertheless we require that all CE sentences be grammatically correct English and have unambiguous semantics. In examples we present CE statements, and statement fragments in italic font. 2.1 Basic CE The basic aspects of CE were inspired by work by John Sowa [3]. We express entities, attributes and relationships between two entities, in a syntactic form and with an underlying basis in logic. Linguistic expressions for these structures are defined by the user in a CE "conceptual model" as described below. At this point in the paper we rely upon the reader's intuition to understand the CE expressions given. An entity is defined by a simple noun phrase comprising a unique name and a conceptual type, representing the existence of an individual that belongs to that concept; the person John means that there is an individual in the domain named John that belongs to the person concept. An entity may also belong to more than one concept, for example the person John is a man. A relationship is defined by a phrase with a "subject", an "object" and a "verb" expression; the person John is married to the person Jane means there is an is married to relationship between the individuals. Logically 'is married to' is defined as a set of pairs of related individuals. There are no restrictions on words that express the relationship, as long as the sentences are grammatically correct; we could define the person John is not married to the person Mary. This is treated as a string of words and does not implicitly define any semantic knowedge (e.g. opposition of is married to and is not married to) though a user could define this with logical inference rules. An entity attribute is defined by a phrase with the verb "has", an attribute name, and an attribute value, e.g. the person John has the person Jane as sister. Logically sister is defined as a set of pairs of related entity and attribute values. The user may choose whether to conceptualise a relationship as an attribute or a relation. 2.2 Conceptual Model The user can create linguistic expressions and rules to define concepts and their semantics in a particular domain by a CE "conceptual model". Concepts are defined "by example" through conceptualise statements, where tildes surround new terms. e.g: conceptualise a ~ person ~ P that is a volitional agent and has the person P1 as ~ sister ~ and ~ is married to ~ the person P2. We hold that the semantics of a concept is defined by the relationships that occur between different concepts and by the set of inferences that may be made about the entities. Relationships are defined by conceptualise statements and inferences are defined by explicit rules in the conceptual model and by some implicit inferences, such as sub-classing, where relationships and attributes are inherited by sub-concepts A rule is a logical relationship between premises and conclusions; if the premises are true then the conclusions are true; variables may also be included in the premises and conclusions, bound by matching the premises. However, the inverse inference is not implicitly executed (negation of the conclusion does not cause inference of the negation of the premises). In addition, as extended below, the nature of "truth" is more complex than just existing in a global "factbase". For example, this rule specifies the symmetry of the relationship 'is married to': if ( the person X is married to the person Y ) then ( the person Y is married to the person X ). and this rule relates the type of a person to their familiy relationship: if ( the person X is the sister of the person Y ) then ( the person X is a woman ). 2.3 Meta Model We make extensive use of a meta model, i.e. meta-level concepts and relationships between the concepts themselves. Each basic construct has an equivalent metastatement. For example the existence of the concept "person", in conceptual model "m1" is stated as "the conceptual model m1 contains the entity concept 'person'." Subsumption between relations may be stated as "the relation concept 'is located in' is subsumed by the relation concept 'is contained in'." The meta model can represent structural information about the conceptual model that is not yet available in the basic CE conceptualise syntax, e.g. cardinality of attributes, and even second order rules for reasoning about the concepts. The meta-model is also extensible by users of CE. Application of rules to infer new CE statements is recorded in a rationale graph, an inference from premises to conclusions being held as a "reasoning step". This defines the support for each proposition in the factbase, as a chain of reasoning steps from initial premises to the proposition. Reasoning steps may be expressed by "because" between CE statements: ."the person John is married to the person Mary because the person Mary is married to the person John". We are researching the presentation of rationale to the user, allowing them to understand and review sources of uncertainty, assumptions made or rules applied in the derivation of information, or to challenge reasoning by argumentation [4]. Representing rationale as CE allows collaborating reasoning systems to build up an integrated view of the reasoning [4]. Our research [5] uses mappings between words and concepts, with meta-level reasoning that transforms natural language (NL) sentences to CE facts. Knowing that "the word "|cat|" expresses the entity concept feline" we can build rules to conceptualise things described by the word "cat" as "feline", using meta-syntax such as "the thing T realises the entity concept EC" where EC is a variable holding a concept (e.g. feline, this being equivalent to "the thing T is a feline"). The concept EC assigned to T can thus be determined dynamically. The meta model is used to embed CE sentences inside other CE structures, by use of "statement that". For example we can reify a logical inference as a CE structure with premise and conclusion, where these are defined as sets of CE sentences: the logical inference #1 has the statement that ( the person X is married to the person Y ) as premise and has the statement that ( the person Y is married to the person X ) as conclusion. This allows rules to construct other rules by inferring "logical inference" structures, permitting axiom schemata that convert facts about concepts into rules about individuals that are instances of these concepts. Meta-level constructs are very useful for linguistic processing, as well as for designing generic rules reuseable across different domains, representing generic "theories" about the nature of the reasoning. 2.4 Extensions to the base core CE Basic CE allows definition of simple propositions about entities and their relationships. We have extended CE syntax and semantics to support more advanced reasoning, by providing information about the truth condition of a proposition. For example, to specify that a proposition is false we may write it is false that the person John is married to the person Anne, and we maintain a "negative factbase" to record negated propositions. If a proposition is both "true" and "false", an "inconsistency" is recorded which may affect the reasoning, e.g. to determine invalid assumptions (see below). Users may write rules to assert false propositions, for example: if ( the person X is not married to the person Y ) then ( it is false that the person X is married to the person Y ). A negated proposition "it is false that X" may be a premise of a rule, but there are two interpretations: the premise is "true" when "it is false that X" has explicitly been asserted (X is in the negative factbase); the premise is true when it is NOT the case that "X" has explictly been asserted (X is not in the factbase). These correspond to classical negation and negation as failure, respectively. In constructing reasoning systems, we sometimes wish to hold an "open world assumption" (absence of X does not imply it is false that X), and sometimes a "closed world assumption" (absence of X implies it is false that X) [6]. We have constructed systems that use negated propositions as premises, but this has required a rule-ordering mechanism, and we are currently developing a solution with different syntaxes for the two interpretations together with an option for users to "close the world" on specific sets of propositions. Negation may also be handled (without negated premises) by specifying conditions under which inconsistencies may be inferred, and then using the inconsistencies, for example to rule out invalid assumptions. A rule to infer an inconsistency is: if ( the person X is not married to the person Y ) and ( the person X is married to the person Y ) then ( there is an inconsistency named I ). CE supports assumption-based reasoning to explore and rule out alternative hypotheses about the interpretation of information [7]. A user, or system, may state that a proposition (an "assumed proposition") is supported by an assumption: when the assumption is made the proposition is true; when the assumption is unmade the proposition is not true (unless there is alternative support for its truth). Making an assumed proposition true allows rules to infer the consequences. Unmaking an assumption removes support from the assumed proposition and from all of its consequences, leading to their being untrue unless they have alternative support. If an inconsistency supported by assumptions is detected then these assumptions are incompatible, and at least one must be unmade, making untrue all dependent facts (that do not have alternative support). Whilst our reasoning steps are monotonic and never retracted, we handle propositions that may have to be "retracted" by supporting them with assumptions, which can later be unmade. An assumption is created in CE by an "assumed that" syntax, such as: it is assumed by the agent dm that the person John is married to the person Sophie, which also records the source of the assumption (for knowing who can unmake assumptions). These may be made by users or included as a rule premise allowing rules to construct assumptions dynamically. Using assumptions requires a more complex notion of "truth", specifying circumstances under which a proposition is true or false. We visualise this as a "truth boxe" containing a "factbase" and a "negative factbase" of propositions, with a label for the circumstances, such as "universal", "under assumption 27", "believed by John". A truth box must not contain an inconsistency so may be used to partition different sets of assumptions that are not necessarily consistent with each other. We are exploring the use of assumptions to handle uncertainty values, where a source of uncertainty for a proposition may be represented as an assumption (the one needed to "believe" the proposition) together with associated numerical certainty values., using syntax such as it is certain to degree D that X. The rationale graph is used to calculate support for all of the propositions in a particular truth box leading from the set of propositions that are initially true in that truthbox. Since positive and negative versions of a proposition are independently maintained, it is possible to determine whether a proposition has true support, false support or neither (i.e its truth is unknown). 3 Examples We have used CE to model reasoning in a number of different domains: Planning [8]: the task 'build bridge' occurs after the task 'destroy enemy'. Design of components: the oscillator o1 connects to the filter f1. Crime reporting: the antisocial behaviour #1 occurs during the month 2013-10 and falls within the jurisdiction of the police force 'Hampshire Constabulary'. Sensor Mission matching [9]: the task task_1 requires the intelligence capability detect and is looking for the detectable thing 'wheeled vehicle' and operates in the spatial area Sector3. NL processing [5]: the word "|cat|" expresses the concept feline. Intelligence Analysis [10]: the agent Lion cannot work with the group Azure. Personal Digital Assistant the ibm person 'John Smith' has the email address 'js@ibm.com' as email address and has the blog 'jsblog' as online presence. 3.1 NL processing and Intelligence Analysis in the ELICIT framework As well as using CE to perform analytic inference, we are researching into the use of CE for fact extraction from Natural Language text: 1) as the target of fact extraction (for further inference), 2) for configuring and guiding the Natural Language processing, and 3) to explain the inferences generated from the extracted facts in terms of the linguistic processing used [5]. We use the framework devised by the ELICIT laboratory for studying collaborative decison-making [11], which requires groups of "players" to identify the "who, what, where and when" of a terrorist attack from information contained in a set of NL sentences. We aim to convert the NL sentences into CE facts and to automatically reason with these facts in order to perform the identification task, in a manner that is consistent with human reasoning. We describe these steps in reverse. We first construct a conceptual model of the domain by manually extending existing models of military situations [8] to include concepts found in the sentences, (e.g. agents, targets). To explore reasoning, we initially extracted a set of CE facts from the ELICIT sentences by hand, using the conceptual model [10], leading to CE sentences such as: 1) the operative Lion does not operate in the country Chiland, and 2) there is a financial institution named TaulandFI that is owned by the country Tauland and is located in the country Tauland. Some ELICIT sentences do not state facts, but rules of "habitual behaviour" such as "the Lion will not risk working with locals", which we converted into CE rules: if ( there is an agent named Lion ) and ( the group G is a group using locals ) then ( the agent Lion cannot work with the group G ). Some sentences contained terms that required interpretation, such as "coalition partners" and we recorded our interpretations (e.g. that a coalition partner is one who hosts your embassy) in the rules (in this case called "coalition_embassy"): if ( there is an embassy E that is owned by the country OC and is located in the country HC ) and (the interpretation coalitionembassy can be made by the rule coalition_embassy) then ( the country OC is in coalition with the country HC ). together with an assumption: it is assumed by the agent dm that the interpretation coalitionembassy can be made by the rule coalition_embassy. Should inferences from this interpretation lead to an inconsistency then the assumption may be unmade, lead- ing to the retraction of all of its consequences. Via rationale, the user may be made aware of this assumption, review its effects and consider consequences of its removal. A problem solving strategy was defined using CE rules, based upon the intuition that the problem is constraint-based, where identification of the "who" and "what" involves elimination of inconsistent candidates. The rules lead to a solution, with justification for each inferred fact. For example, the "who" is stated by the attack situation elicitsituation involves the operative 'Lion' and involves the group 'VioletGroup'. Reasoning that eliminated the Gold group as a "who" is given below, where rows are facts, the first three rows are premises, and a column represents a rule linking premises (light/salmon) with a conclusion (dark/red). The proof is based around the fact that the Lion cannot work with the group and the Lion is involved. Our second aim is to extract precise CE facts from the NL sentences automatically. However the sentences exhibit semantic ambiguities that require "common-sense" to disambiguate [12], so we have initially converted the sentences into simpler English. Our NL processing is based on the DELPH-IN English Resource Grammar (ERG) [13] a high-precision grammar for English, the PET parser [14], and Minimal Recursion Semantics [15] to express sentence semantics as logical predicates on entities mentioned in the sentence. Our research focuses on transforming this linguistically-focussed semantics into domain semantics based on the CE conceptual model, resulting in CE facts. The MRS is itself represented as CE sentences describing the predicates and arguments at a low level together with their rationale. The sentence "The Lion is involved" generates MRS predicates that represent a situation where a thing x27 (the Lion) is "involved", expressed as "the mrs elementary predication #ep2 is an instance of the mrs predicate '_involved_a_1_rel' and has the situation e3 as zeroth argument and has the thing x7 as first argument". To view all of the MRS predicates, a table is generated where rows represent MRS predicates and their arguments ("involved_a_1_rel") and columns represent entities (Lion): We convert MRS into a general model based on "situation" and roles of entities; thus "The Lion works with the Azuregroup" is turned into the situation #1 has the agent Lion as first role and has the agent Azuregroup as second role. Given the metamapping "the mrs predicate '_works_v_n_rel' expresses the situation concept 'operating situation'", we can map a generic situation into an "operating situation": if ( the mrs elementary predication EP is an instance of the mrs predicate MRS and has the situation S as zeroth argument and has the thing T as first argument ) and ( the mrs predicate MRS expresses the situation concept C ) then (the situation S has the thing T as first role and realises the situation concept C). where "situation concept" represents a type of situation, Additional CE rules handle prepositional structures and negations. Once a situation is created, rules can generate more readable CE, such as the operative Lion works with the group Azuregroup, mapped in part by the following rule: if ( the operating situation S has the agent T1 as first role and has the agent T2 as second role ) then ( the agent T1 works with the agent T2 ). Our research focuses on how a domain model can assist the transformation of MRS linguistic semantics to domain semantics, and how assumption-based reasoning can extend NL techniques, e.g. into resolving ambiguities [16]. Our approach to the extraction of rules from sentences involves CE meta-language to transform situations into rules. In the sentence "the Lion only works with the Azuregroup", rules create CE sentences, not in the form of the underlying proposition (that the Lion works with the Azuregroup) but as a "logical inference" by negating the proposition (given the relation concept 'cannot work with' is the opposite to the relation concept 'works with') that interprets the sentence as: if ( the agent A is different from the agent Azuregroup ) then ( the agent Lion cannot work with the group A ). Thus our NL processing occurs in a number of steps, a deep parse of the sentence (the ERG), extraction of linguistically-based semantics (MRS), mapping of MRS into generic semantics (situations and roles), and then into domain specific semantics, based upon the CE domain model. CE helps us to quickly build a reasoning system for the ELICIT domain, to explore the making of different assumptions, and also to gain insight in the transformation of linguistic semantics into domain semantics. 3.2 Context Aware Personal Environment (CAPE) a personal digital assistant The CAPE application works in the domain of personal electronic information including email, calendar, instant message history, twitter, browser history, profile, photos, files and academic publications. We aim to create a dynamic CE-based environment where casual users could create their own high-level set of concepts to which these low-level data sources could be easily integrated, and devise ways to analyse the information by application of rules. CAPE uses a "CE Store" [17] providing a factbase and inferencing with agents that automatically convert data sources into CE facts, based upon a conceptual model of the data. Reasoning is required to convert between concepts in the data sources and the user's model of higher-level concepts (e.g. people, projects, organisations and tasks), and to infer new high-level information via the user's CE rules. For example the following rule analyses a person's email address (looking for a specific marker in the email) and infers the organisation to which the person belongs: if ( there is an organisation named O that has the value EM as email address marker ) and ( there is an email address named EA ) and ( the value EA contains EM ) and ( there is a person named P that has the email address EA as email address ) then ( the person P works for the organisation O ). CAPE uses small pieces of information and simple rules in a human-friendly way to enable the end user to build a complex model in a domain of interest to them. We also modeled "goals" in CE, which were used to drive the user interface dynamically, triggering presentation of CE "templates" that could be completed by the user with the relevant information. The power of the system lies in the fact that the higher-level model is entirely within the control of the domain user so if they wish to change or extend it they can do so just by writing CE sentences, leading to new conceptualisations, inferences, and changes to the user interface. In our experiments we found it to be a powerful fusion of automated information extraction (using agents), semiautomated information linkage (through rules) and “local knowledge capture” from the user for information not stored or easily extracted from an existing system. 4 What we have learnt in using CE We offer some observations about what we have learnt which may be applicable to CNLs in general; we do not claim that these are scientifically validated. CE seems to be "curiously useful". Some projects are finding CE useful, though benefits are somewhat difficult to quantify and explain, where human "conceptual thinking" is required (e.g. hypothetical reasoning), where man and machine collaborate in reasoning by exchanging information in a common language, where explanation must be provided, where the domain model must be easily changed by users, and where multiple sources of information must be integrated. Potential benefits seem rooted in cognitive aspects of reasoning, problem solving and communication. Taking time to define how a sentence reads, in the syntax for entities, attributes and relations, is key to domain conceptualisation; if it reads right then it probably is right. If CE is correctly designed then sentences can flow in parallel to the "thoughts in the mind", with a feeling of a communication with the machine. It is not always possible to achieve this, due to limitations in CE syntax or when working with data such as points on a map, but we still aim to conceptualise the data in CE to allow formal representation, integrated inference, and sharing of conceptual models. CE seems to facilitate thinking about how a problem may be represented and solved, by improving understanding of logical linkages between concepts. More complex logics such as assumption-based reasoning, allow the user to imagine more sophisticated problem solving strategies. Use of rationale offers new opportunities for collaboration between man and machine. We feel there is link between conceptualisation and linguistic understanding. In using CE we try to "lift" concepts out of the community's use of words, in the spirit of Ordinary Language Philosophy [18]; though analysis may be required to add precision and avoid inconsistency. The relationship between language and cognition is brought out when we undertake NL processing guided by CE, forcing us to consider philosophical issues such as identity vs description, and how linguistic structures encode situations, and this informs our understanding of how CNLs could operate. However, there is much to do to improve CE's syntax and semantics, to provide tools, and to apply CE to further tasks. We continue this work in the ITA programme. This research was sponsored by the U.S. Army Research Laboratory and the U.K. Ministry of Defence and was accomplished under Agreement Number W911NF-06-3-0001. The views and conclusions contained in this document are those of the author(s) and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Army Research Laboratory, the U.S. Government, the U.K. Ministry of Defence or the U.K. Government. The U.S. and U.K. Governments are authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation hereon. 5 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. References International Technology Alliance, https://www.usukita.org/ Mott, D. Summary of CE, https://www.usukita.org/papers/5658/details.html (2010) Sowa, J., Common Logic Controlled English, http://www.jfsowa.com/clce/clce07.htm Mott, D., Giammanco, C., Dorneich, M.C., & Braines, D. “'Hybrid Rationale for Shared Understanding” 4th Conference of the ITA. London, England. 13-17 September. (2010) Mott, D., Poteet, S., Xue, P., Kao, A, Copestake, A, Fact Extraction using Controlled English and the English Resource Grammar, DELPH-IN Summit, http://www.delphin.net/2013/david.pdf (2013) Mott, D., Harwood, W., “The Representation of Special Logics in Semantic Web languages”, https://www.usukitacs.com/?q=node/5044”, (2009) de Kleer, J. An assumption-based TMS. Artificial Intelligence, 28:127-162. (1986) Dorneich, M., Mott, D., Patel, J., Gentle, E. & Bahrami, A. The Evaluation of a Structured Plan Representation in Multilevel Planning, 3rd ITA Conference Maryland, USA, (2009). Pizzocaro, D., Parizas, C., Preece, A., Braines, D., Mott, D., & Bakdash, J. Z. CE-SAM: a conversational interface for ISR mission support. In SPIE Defense, Security, and Sensing (pp. 87580I-87580I). International Society for Optics and Photonics. (2013) Mott, D.,Conceptualising ELICIT sentences,https://www.usukitacs.com/node/2604. (2014) http://www.dodccrp.org/html4/elicit.html Mott D., On Interpreting ELICIT sentences, https://www.usukitacs.com/node/2603 (2014) Flickinger, D., The English Resource Grammar, LOGON technical report #2007-7, www.emmtee.net/reports/7.pdf The PET parser, http://moin.delph-in.net/PetTop Copestake, Ann., Flickinger, D., Sag, I. A., and Pollard, C., Minimal Recursion Semantics: an introduction. Research on Language and Computation, 3(2-3):281–332. (2005) Mott, D., CE-based mechanisms for handling ambiguity in Natural Language, https://www.usukitacs.com/node/2612. (2014) https://www.ibm.com/developerworks/community/groups/service/html/communityview?c ommunityUuid=558d55b6-78b6-43e6-9c14-0792481e4532 Hanfling, O., Philosophy and Ordinary Language, Routledge (2000)