Employing Cognitive Calculus for Determinations of Relevance in NLU Daniel Arista, Matthew Peveler, Rikhiya Ghosh, Selmer Bringsjord, & Paul Bello {aristd, pevelm, ghoshr3, selmer}@rpi.edu, paul.bello@nrl.navy.mil Presentation Outline Part I : A Use Case & the NLU Challenge it Presents Part II : One Theory of Conditional Reasoning Part III : The Cognitive Calculus Approach Part IV : Implementation Details Part V : Technology Demonstration Part I A Use Case & the NLU Challenge it Presents Use Case MedBot’s mission is to “identify and transport casualties” Human/Robot Interaction Use Case Commander1 at t0: “If you need a MedEvac, it’s at location ECHO!" MedBot at t1: “Copy." Commander2 at t2: “MedBot, do you know where the MedEvac is?“ How should MedBot answer at t3? Where would he transport a casualty to? Human/Robot Interaction Use Case “If you need it, the MedEvac is at location ECHO!" Interpret as a conditional or a ‘relevant’ fact? Part II One Theory of Conditional Reasoning The Mental Model Theory of Deductive Reasoning Phillip Johnson-Laird (1975) Mental Models of Conditionals Johnson-Laird, Byrne (2002) Modulating Meaning of Conditionals The principle of semantic modulation: The meanings of the antecedent and consequent, and coreferential links between these two clauses, can add information to models… The principle of pragmatic modulation: The context of a conditional depends on general knowledge in long-term memory and knowledge of the specific circumstances of its utterance. Johnson-Laird, Byrne (2002) Semantic Relevance Ten Sets of Possibilities for Interpreting Conditionals The relevance interpretation. Content or context precludes the possibility in the conditional interpretation in which the consequent does not occur. Typical examples occur when the antecedent asserts merely a condition to which the consequent may be relevant, for example, “If you are interested in Vertigo, then it is on TV tonight.” Individuals know that the antecedent possibility has no bearing on the occurrence of the consequent, and so the consequent holds in any case… Johnson-Laird, Byrne (2002) The Effect of Modulation … is logically equivalent to c, the consequent MMT Shortcomings …what is relevance? ...how does modulation occur? Desiderata Other capabilities one might find in a cognitive agent: meta-cognition, planning, decision-making, etc. Multi-modal reasoning (epistemic, deontic, bouletic, etc.) Part III The Cognitive Calculus Approach Cognitive Calculi CC purely extensional level: FOL SOL TOL IFOL … … ATPs: SPASS-T SNARK ShadowProver … DyCEC* DCEC* dialects: theories: PA ZFC axiomatic physics… model finders: MACE DCSC* CEC CSC… … … … … … analogico-deductive reasoning … analogico-inductive reasoning inference schemas And NLU in Connection with Cognitive Calculi? purely extensional level: FOL SOL TOL IFOL … … ATPs: SPASS-T SNARK ShadowProver … DyCEC* DCEC* dialects: theories: PA ZFC axiomatic physics… model finders: MACE DCSC* CEC CSC… … … … … … analogico-deductive reasoning … analogico-inductive reasoning inference schemas Event Calculus Kowalski & Sergot (1986) Deontic Cognitive Event Calculus* Excerpt from Original Dialect of CEC Arkoudas-Bringsjord (2009) Towards NLU-infused Cognitive Calculi knowledge-base of a string background theory parse to intermediary form mapping to formulae Part IV Implementation Details Some Definitions Information is relevant if it is a necessary part of a plan, or if it invalidates it. A plan is a proof from an agent’s situation to a goal. A situation is the set of an agent’s beliefs, knowledge (including common knowledge), obligations, intentions, and desires at some time. 0. Parsing “Relevance” Conditionals S(a,b,“If you want to watch Game of Thrones (GoT), I recorded it") AddGoal(a*,Watch(a*,GoT)) → Recorded(a,GoT) 0. Parsing “Relevance” Conditionals S(a,b,“If you need a MedEvac, it's at location ECHO!") AddGoal( ... (a*,MedEvac)) → Location(MedEvac,ECHO) 0.5 Recovering Elided ‘Planning’ Verb S(a,a*“If you need a MedEvac, it's at location ECHO!") AddGoal( ... (a*,MedEvac)) → Location(MedEvac,ECHO) O(a,t,P(a,t,Casualty(a)),happens(action(a*,Transport(a*,a,MedEvac)))) 1.0 Adjudicating Relevance Relation 1.1 Generate a plan from the agent’s situational variables and the goal implied/stated in the antecedent 1.2 Search for the fluent (or its negation) asserted in the consequent. 1.Located(MedBot, "x") Introducing some fluents 2.Located(Casualty, "y") 3.Located(MedEvac, "z") 4. 5.[forall loc, time] Holds(Located(MedBot, loc), time) & Holds(Located(Casualty, loc),time) 6. & Holds(Located(MedEvac, loc),time) -> Holds(Tranpsort(MedBot, Casualty, MedEvac),time) 7. 8.forall([agent,loc1,loc2,time]) Initiates(Move(agent, loc1, loc2), Located(MedBot, loc2), time) 9.forall([agent,loc1,loc2,time]) Terminates(Move(agent, loc1, loc2), Located(MedBot, loc1), time) 10.forall([agent, object, loc1, loc2]) Holds(Grabbed(agent, object),time) -> Initiates(Move(agent, loc1, loc2), Located(object, loc2), time) 11.forall([agent, object, loc1, loc2]) Holds(Grabbed(agent, object),time) -> Terminates(Move(agent, loc1, loc2), Located(object, loc1), time) 12. 13.forall([agent, loc, time]) Holds(Located(Medbot, loc), time) & Holds(Located(Casualty, loc),time) -> happens(Grab(MedBot, Casualty), time) 14.forall([agent,object,time]) Initiates(Grab(agent, object), Grabbed(agent, object), time) 15. 16.forall([loc1, loc2, time]) loc1 != loc2 -> Happens(Move(MedBot, loc1, loc2), time) 17. 18.Goal: exists([time]) Holds(Transport(MedBot, Casualty, MedEvac), time) 19. 20.------21.Required moves: domain 22. 23.Happens(Move(MedBot, "x", "y"), 0) Generated plan 24.Happens(Grab(MedBot, Casualty), 1) 25.Happens(Move(MedBot, "y", "z"), 2) 26. 27.Holds(Trasnport(MedBot, Casualty, MedEvac), 2) axioms The Relevance Relation If the fluent in the consequent is a term in the plan, (or it’s negation) …it is relevant Is_Relevant(a*,Location(MedEvac,ECHO),[plan]) Resulting List of Formulas A successful search leads the hearer to interpret the utterance as meaning that the speaker believes that the consequent holds at the time of utterance, the hearer would find the consequent relevant b/c it is either necessary for the stated (or implied) plan in the antecedent to be valid or b/c it would make it invalid, and the content of the consequent holds. B(b,Location(MedEvac,ECHO) B(b,B(a,Is_Relevant(b,Location(MedEvac,ECHO),[plan])) B(b,Is_Relevant(b,Location(MedEvac,ECHO),[plan])) Human/Robot Interaction Use Case Commander1 at t0: “If you need it, the MedEvac is at location ECHO!" MedBot at t1: “Copy." Commander2 at t2: “MedBot, do you know where the MedEvac is?“ How should MedBot answer at t3? Where would he transport a casualty to? Human/Robot Interaction Use Case “If you need it, the MedEvac is at location ECHO!" Interpret as a conditional or a ‘relevant’ fact! Part V Technology Demonstration PAGI-World Psychometric Artificial General Intelligence (PAGI) World is a simulation environment. It is platform independent, free to use, open-source, compatable with AI programs written in almost any programming language; agnostic as possible regarding which AI approach is used; and easy to set up and get started with. Transporting a Casualty O(a,t,P(a,t,Casualty(a)),happens(action(a*,Transport(a*,a,MedEvac)))) Demo 1: MedBot believes MedEvac is in two locations a the same time! #fail Demo 2: MedBot knows where to go, and transports the casualty! #success Technology Demonstration <<This is where the demo was embedded>> Grazie per tua attenzione! ...domande? Deontic Cognitive Event Calculus* Commander1 says to MedBot, at time t, “ … “. S(Commander1,MedBot*,t,”If you need it, the MedEvac is at location ECHO”) An agent perceives at time t, that an agent is a casualty. P(a,t,Is_Casualty(a)) Agents are obligated to transport any casualty to a MedEvac O(a,t,P(a,t,Is_Casualty(a)),happens(action(a*,Transport(a*,a,MedEvac))))