Answering complex questions and performing deep reasoning in advance question answering systems Chitta Baral 1, Michael Gelfond 2 and Richard Scherl 3.

Slides:



Advertisements
Similar presentations
CS4026 Formal Models of Computation Part II The Logic Model Lecture 1 – Programming in Logic.
Advertisements

Ontologies and Databases Ian Horrocks Information Systems Group Oxford University Computing Laboratory.
Semantics Static semantics Dynamic semantics attribute grammars
1. An Overview of Prolog.
Logic Programming Automated Reasoning in practice.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 DCP 1172 Introduction to Artificial Intelligence Chang-Sheng Chen Topics Covered: Introduction to Nonmonotonic Logic.
Answer Set Programming Overview Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma de Guadalajara
Knowledge Representation
Copyright © Cengage Learning. All rights reserved.
So What Does it All Mean? Geospatial Semantics and Ontologies Dr Kristin Stock.
Question Answering with deep reasoning Chitta Baral, Arizona State U. Michael Gelfond, Texas Tech U. Richard Scherl, Monmouth Univ.
Knowledge Representation and Reasoning (KR): A vibrant subfield of AI Jia You.
Lecture 9 Descriptors, Events & Event Tables INFO1409 Systems Analysis & Design Module HND Year /9.
Rule Based Systems Michael J. Watts
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Question Answering with deep reasoning Chitta Baral, Arizona State U. Michael Gelfond, Texas Tech U. Richard Scherl, Monmouth Univ.
1 Programming with Constraints Jia-Huai You Constraint programming languages - based on non-monotonic logic - Answer set programming (ASP) Knowledge Representation.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
A Preliminary Study on Reasoning About Causes Pedro Cabalar AI Lab., Dept. of Computer Science University of Corunna, SPAIN.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Introduction to CSE 591: Autonomous agents - theory and practice. Chitta Baral Professor Department of Computer Sc. & Engg. Arizona State University.
Using answer set programming to answer complex queries Chitta Baral (joint work with Michael Gelfond and Richard Scherl) Arizona State University Tempe,
Panel on Knowledge Repositories Organizer: Chitta Baral Panel members: Michael Gelfond Vladimir Lifschitz.
Knowledge Evolution Up to now we have not considered evolution of the knowledge In real situations knowledge evolves by: –completing it with new information.
Describing Syntax and Semantics
Answering complex questions and performing deep reasoning in advance QA systems: ARDA AQUAINT Program Phase 2 Chitta Baral Arizona State university.
Enterprise Privacy Promises and Enforcement Adam Barth John C. Mitchell.
KNOWLEDGE REPRESENTATION, REASONING AND DECLARATIVE PROBLEM SOLVING Chitta Baral Arizona State University Tempe, AZ
1. Motivation Knowledge in the Semantic Web must be shared and modularly organised. The semantics of the modular ERDF framework has been defined model.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
DEDUCTIVE DATABASE.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Algorithms Describing what you know. Contents What are they and were do we find them? Why show the algorithm? What formalisms are used for presenting.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
1 Knowledge Based Systems (CM0377) Lecture 4 (Last modified 5th February 2001)
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Using answer set programming to answer complex queries Chitta Baral (joint work with Michael Gelfond, Texas Tech U and Richard Scherl, Monmouth U) Arizona.
Declarative vs Procedural Programming  Procedural programming requires that – the programmer tell the computer what to do. That is, how to get the output.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Answering Complex Questions and Performing Deep Reasoning in Advance QA Systems – Reasoning with logic and probability Chitta Baral Arizona State university.
Introduction to Earth Science Section 2 Section 2: Science as a Process Preview Key Ideas Behavior of Natural Systems Scientific Methods Scientific Measurements.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
KR A Principled Framework for Modular Web Rule Bases and its Semantics Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris.
LDK R Logics for Data and Knowledge Representation ClassL (Propositional Description Logic with Individuals) 1.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
1 First Order Logic CS 171/271 (Chapter 8) Some text and images in these slides were drawn from Russel & Norvig’s published material.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Lecture 5 Frames. Associative networks, rules or logic do not provide the ability to group facts into associated clusters or to associate relevant procedural.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Artificial Intelligence Knowledge Representation.
Knowledge Engineering. Sources of Knowledge - Books - Journals - Manuals - Reports - Films - Databases - Pictures - Audio and Video Tapes - Flow Diagram.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Integrating SysML with OWL (or other logic based formalisms)
Timing Model Start Simulation Delay Update Signals Execute Processes
Survey of Knowledge Base Content
Computer Programming.
Ontology.
Issues in Knowledge Representation
Presentation transcript:

Answering complex questions and performing deep reasoning in advance question answering systems Chitta Baral 1, Michael Gelfond 2 and Richard Scherl 3 1 Arizona State University, AZ. 2 Texas Tech University, TX. 3 Monmouth University, NJ.

QUERIES Prediction, explanation, planning, cause, counterfactual, etc.

Queries and Answers Answering queries with respect to databases: various query languages – Relational databases: SQL3 – Object-Oriented Databases: OQL – Web databases, XML Databases: XML-QL – Prolog queries Natural language queries – Often translated to one of the above Complex Queries! – Need knowledge beyond that is present in the given data (or text) to answer. – Need reasoning mechanisms that can not be expressed in standard database query languages or classical logics.

Complex Query example – predictive query Text/Data: John is at home in Boston and has not bought a ticket to Paris yet. Query: – What happens if John tries to fly to Paris? – What happens if John buys a ticket to Paris and then tries to fly to Paris? Missing knowledge: – When can one fly? – What is the result of flying?

Complex Query example: explanation query Text/Data: On Dec 10 th John is at home in Boston and does not have a ticket to Paris yet. On Dec 11 th he is in Paris. Query: – Explain what might have happened in between. Bought a ticket; gone to the Boston airport; taken a flight to Paris.

Complex Query Example: planning query Text/Data: On Dec 10 th John is at home in Boston and does not have a ticket to Paris yet. Query: What does John need to do to be in Paris on Dec 11 th. – He needs to buy the ticket || get to the airport; fly to Paris.

Complex Query Example: Counterfactual Query Text/Data: On Dec 10 th John is at home in Boston. He made a plan to get to Paris by Dec 11 th. He then bought a ticket. But on his way to the airport he got stuck in the traffic. He did not make it to the flight. Query: What if John had not gotten stuck in the traffic?

Complex Query Example: query about narratives Text/Data: John, who always carries his laptop with him, took a flight from Boston to Paris on the morning of Dec 11 th. Queries: – Where is John on the evening of Dec 11 th ? – In which city is John’s laptop that evening?

Complex Query Example: Causal queries Text/Data: On Dec 10 th John is at home in Boston. He made a plan to get to Paris by Dec 11 th. He then bought a ticket. But on his way to the airport he got stuck in the traffic. He reached the airport late and his flight had left. Queries: – What are the causes of John missing the flight?

Complex Query Example: Unusual behavior John flew from Boston to Paris. He did not check in any luggage in Boston. When he got out of the plane in CDG he did not have anything in his hand. Was there anything unusual about John’s behavior when he checked in? – Need information on normal behavior of people who check in for an international flight – Normal inertia with respect to hand luggage (from checking in to getting out of the plane)

Our approach to answer such queries Develop various knowledge modules in an appropriate knowledge representation and reasoning language. – Travel module (includes flying, driving) – Geography Module – Time module – Reasoning about actions module – Planning module – Explanation module – Counterfactual module – Cause finding module – Most of the above modules with defaults and exceptions.

Knowledge Representation and Reasoning: AnsProlog

What properties should an appropriate KR & R language have Should be non-monotonic. So that the system can revise its earlier conclusion in light of new information. Should have the ability to represent normative statements, exceptions, and default statements, and should be able to reason with them. Should be expressive enough to express and answer problem solving queries such as planning queries, counterfactual queries, explanation queries and diagnostic queries. Should have a simple and intuitive syntax so that domain experts (who may be non-computer scientists) can express knowledge using it. Should have enough existing research (or building block results) about this language so that one does not have to start from scratch. Should have interpreters or implementation of the language so that one can indeed represent and reason in this language. (I.e., it should not be just a theoretical language.) Should have existing applications that have been built on this language so as to demonstrate the feasibility that applications can be indeed built using this language.

AnsProlog – a suitable knowledge representation language AnsProlog – Programming in logic with answer sets – Language (and semantics) was first introduced in the paper ``The Stable Model Semantics For Logic Programming - Gelfond, Lifschitz (1988)’’, among the most cited source documents in the CiteSeer database. Stable Model Semantics For Logic Programming - Gelfond, Lifschitz (1988) Syntax: Set of statements of the form: A 0 or … or A k  B 1, …, B m, not C 1, … not C n. Intuitive meaning of the above statement: – If B 1, …, B m is known to be true and C 1, …, C n can be assumed to be false then at least one of A 0,…, A k must be true. It satisfies all the properties mentioned in the previous slide (and much more)! – Details in my Book ``Knowledge Representation, Reasoning and Declarative Problem Solving’’. Cambridge University Press, 2003.

AnsProlog vs Prolog Differences: – Prolog is sensitive to ordering of rules and ordering of literals in the body of rules. – Inappropriate ordering leads to infinite loops. (Thus Prolog is not declarative; hence not a knowledge representation language) – Prolog stumbles with recursion through negation – No disjunction in the head (less power) Similarities: For certain subclasses of AnsProlog Prolog can be thought of as a top-down engine.

AnsProlog vs other KR & R languages AnsProlog has a simple syntax and semantics Syntax has structure that allows defining sub-classes More expressive than propositional and first-order logic; propositional AnsProlog is as expressive as default logic. Yet much simpler. It has a very large body of support structure (theoretical results as well as implementations) among the various knowledge representation languages – Description logic comes close. But its focus is somewhat narrow, mostly to represent and reason about ontologies. …

Illustration of Complex Question Answering John flying to Baghdad to meet Bob example.

The extracted text and the queries Extracted Text – John spent Dec 10 in Paris and took a plane to Baghdad the next morning. He was planning to meet Bob who was waiting for him there. Queries – Q 1 : Was John in the Middle East in mid- December? – Q 2 : If so, did he meet Bob in the Middle East in mid-December?

Required background and common- sense knowledge Knowledge about geographical objects and their hierarchy. (M1) – Baghdad is a city in Iraq. Iraq is a country in the middle east region. … – A city in a country in a region is a city in that region. Knowledge about travel events. (M2) – If someone is in a city then she is in the country where the city is in and so on. – Executability conditions and effect of travel events – Inertia – Duration of flying Knowledge about time units. (M3) – Relation between various time granularities Knowledge about planned events, meeting events. (M4) – People normally follow through their plans – Executability condition of meeting events

M 1 : The geography Module List of places – is(baghdad,city). – is(iraq,country). –... Relation between places – in(baghdad, iraq). – in(iraq,middle_east). – in(paris,france). – in(france,western_europe). – in(western_europe,europe). –... Transitive closure in(P1,P3)  in(P1,P2), in(P2,P3). Completeness assumption about `in’ -in(P1,P2)  not in(P1,P2)

M 2 : The traveling module Based on theory of dynamic systems – Views world as a transition diagram States are labeled by fluents Arcs labeled by actions Various types of traveling events – instance_of(fly,travel). – instance_of(drive,travel). … Generic description of John flying to Baghdad – event(a1). – type(a1,fly). – actor(a1,john). – destination(a1,baghdad). Actual event is recorded as – occurs(a1,i)

M 2 : The traveling module (cont.) Representation of transition Diagram – State Constraints loc(P2,X,T)  loc(P1,X,T), in(P2,P1). disjoint(P1,P2)  -in(P1,P2), -in(P2,P1), neq(P1,P2). -loc(P2,X,T)  loc(P1,X,T),disjoint(P1,P2). – Causal Laws loc(P,X,T+1)  occurs(E,T), type(E,travel), actor(E,X), destination(E,P), -interference(E,T). -interference(E,T)  not interference(E,T). – Executability Conditions -occurs(E,T)  cond(T). – Inertia Rules (frame axioms) loc(P,X,T+1)  loc(P,X,T), not -loc(P,X,T+1). -loc(P,X,T+1)  -loc(P,X,T), not loc(P,X,T+1).

Reasoning with M1 and M2 Given – loc(paris,john,0). – loc(baghdad,bob,0). – occurs(a1,0). And with M 1 and M 2 AnsProlog can conclude – loc(baghdad,john,1), loc(baghdad,bob,1), – loc(middle_east,john,1), -loc(paris,john,1)

M 3 : Time and durations Duration of actions (additional ones needed for month etc.) time(T+1,day,D)  occurs(E,T), type(E,fly), time(T,day,D), not -time(T+1,day,D). Basic measuring units – day(1..31). month(1..12). part(start). part(end). part(middle). Rules translating between one granularity to another time(T,part,middle)  time(T,d,D), 10 < D < 20. time(T,season,summer)  time(T,month,M), 5 < M < 9. Missing elements from the module – next(date(10,12,03),date(11,12,03)). – next(date(31,12,03),date(1,1,04)).

Reasoning with M 1, M 2 and M 3 Given information about John’s flight – loc(paris,john,0). – loc(baghdad,bob,0). – occurs(a1,0). – time(0,day,11). – time(0,month,12). The query Q1 – ? loc(middle_east,john,T), time(T,month,12), time(T,part,middle). AnsProlog gives the correct answer: yes with T = 1.

M 4 : planning to meet and meeting Describing the event meet – event(a2). type(a2,meet). – actor(a2,john). actor(a2,bob). – place(a2,baghdad). Executability conditions of the meeting event -occurs(E,T)  type(E,meet), actor(E,X), place(E,P), -loc(P,X,T). Planned meeting: planned(a2,1). Planned actions and their occurrence: ``People normally follow their plans’’ occurs(E,T)  planned(E,T), not -occurs(E). People persist with their plans until it happens planned(E,T+1)  planned(E,T), -occurs(E,T). Second query – ? occurs(E,T), type(E,meet), actor(E,john), actor(E,bob), loc(middle_east,john,T), time(T,month,12), time(T,part,middle). Answer: Yes.

Conclusion Answering complex queries need a lot of knowledge and reasoning rules that are not present in the text or data. These reasoning rules and knowledge need to be encoded as modules in an appropriate knowledge representation and reasoning language.

Ongoing and Future Work Further development of Modules (examples) – Travel duration – Time period representation issues (eg. time zones) – Dealing with the case when a planned event fails Further development of the AnsProlog language – Not good when dealing with time or similar features that result in large instantiations. Taking advantage of Prolog execution engine when necessary – Necessity of set notations, aggregates etc.

Acknowledgements Steve Maiorano, Jean-Michel Pomarede Ryan Weddle, Jicheng Zhao, Saadat Anwar, Luis Tari (all from ASU), Greg Gelfond (from Texas Tech University)