KANAL: Knowledge ANALysis

Slides:



Advertisements
Similar presentations
1 KANAL: Knowledge ANALysis Jihie Kim Yolanda Gil USC/ISI
Advertisements

Building Knowledge Bases Compositionally Bruce Porter, Peter Clark Ken Barker, Art Souther, John Thompson James Fan, Dan Tecuci, Peter Yeh Marwan Elrakabawy,
Programming Types of Testing.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Part I Overview and Introduction to SHAKEN. Simplified Version of how a Virus Invades a Cell “A virus invades a cell in the following way. First, the.
Knowledge Entry as the Graphical Assembly of Components Peter Clark, John Thompson (Boeing) Ken Barker, Bruce Porter (Univ Texas at Austin) Vinay Chaudhri,
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
1 USC INFORMATION SCIENCES INSTITUTE CALO, 8/8/03 Acquiring advice (that may use complex expressions) and action specifications Acquiring planning advice,
Proactive Acquisition Dialogues Jihie Kim Yolanda Gil
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
1 USC Information Sciences Institute Yolanda GilFebruary 2001 Knowledge Acquisition as Tutorial Dialogue: Some Ideas Yolanda Gil.
1 USC INFORMATION SCIENCES INSTITUTE CAT: Composition Analysis Tool Interactive Composition of Computational Pathways Yolanda Gil Jihie Kim Varun Ratnakar.
1 USC, INFORMATION SCIENCES INSTITUTE An integrated environment for KA An Integrated Environment for Knowledge Acquisition Jim Blythe
1 USC INFORMATION SCIENCES INSTITUTE Expect: COA Critiquing PSM EXPECT: A User-Centered Environment for the Development and Adaptation of Knowledge-Based.
Chapter 4 Decision Support System & Artificial Intelligence.
Enabling Domain Experts to Convey Questions to a Machine: A Modified, Template-Based Approach Peter Clark (Boeing Phantom Works) Ken Barker, Bruce Porter.
Dialog Window Ask a question Enter knowledge Test knowledge Fix errors.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
SLICK: Proactive Acquisition Dialog Jihie Kim Yolanda Gil Varun Ratnakar.
1 USC INFORMATION SCIENCES INSTITUTE EXPECT TEMPLE: TEMPLate Extension Through Knowledge Acquisition Yolanda Gil Jim Blythe Information Sciences Institute.
1 USC INFORMATION SCIENCES INSTITUTE Gil & Kim Interactive Knowledge Acquisition Tools: A Tutoring Perspective Yolanda Gil Jihie Kim USC/Information Sciences.
“Intelligent User Interfaces” by Hefley and Murray.
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
Part III How to use SHAKEN. How to Use SHAKEN These slides walk you through each item in SHAKEN’s main menu We will show how each item works with a demo.
KANAL (Knowledge ANALysis) Jihie Kim Jim Blythe Yolanda Gil
KANAL (Knowledge ANALysis) Status Jihie Kim Yolanda Gil Jim Blythe Varun Ratnakar
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Principles of Programming & Software Engineering
Use Case Analysis Chapter 6.
Advanced Computer Systems
Abstract Factory Pattern
Regression Testing with its types
Testing Tutorial 7.
Chapter 1: Introduction to Systems Analysis and Design
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Use Cases Discuss the what and how of use cases: Basics Benefits
Dialog Manager for COA entry
KANAL: Knowledge ANALysis
Lecture 1 Introduction Richard Gesick.
Building with Numbers Module 4: Investigation 3
Action Editor Storyboard
Chapter 18 Maintaining Information Systems
Object-oriented software testing
Topic for Presentaion-2
The Systems Engineering Context
Chapter 19: Architecture, Implementation, and Testing
Architecture Components
Object oriented system development life cycle
Next Step #2: Acquisition Dialogue
Abstract Factory Pattern
Daniel Amyot and Jun Biao Yan
Intent (Thanks to Jim Fawcett for the slides)
Software Prototyping Animating and demonstrating system requirements.
Applied Software Implementation & Testing
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Software System Integration
Deriving Acquisition Principles from Tutoring Principles
Communication plan.
CS240: Advanced Programming Concepts
Chapter 3 – Agile Software Development
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CP Storyboard Proposal
Chapter 1: Introduction to Systems Analysis and Design
TEMPLE: TEMPLate Enhancement through Knowledge Acquisition
Yolanda Gil Jihie Kim Jim Blythe Surya Ramachandran
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 1: Introduction to Systems Analysis and Design
System Analysis and Design:
Chapter 1: Creating a Program.
Presentation transcript:

KANAL: Knowledge ANALysis Yolanda Gil (PI) Jihie Kim Jim Blythe USC/ISI www.isi.edu/expect/rkf/

Role of Knowledge Analysis To perform checks on the knowledge entered by the user so far To point out to the Interaction Manager what additional K needs to be acquired or what existing K needs to be modified

Approach: Using Interdependency Models Relating different pieces of Knowledge among themselves and to the existing KB (e.g., how different pieces of knowledge are put together to generate an answer) Successfully used in checking problem-solving K in EXPECT (Gil & Melz 96; Kim & Gil 99)

New Challenge: Checking Complex Process Models Lambda Virus Invasion … … Transcribe Assemble Enter … Replicate Arrive … Integrate Divide Disintegrate Circularize Synthesize Copy

Current Focus: Checking Process Models Verification checks: model is correct (e.g., no steps missing Validation checks: model is as user intended (e.g., alert user of impossible paths) KANAL Interaction Manager UI KM Interaction Plans for fixing errors

Describing Process Models (Composed Concepts) Each individual step has Preconditions, Add-list, Delete-list Assignments to the roles (e.g., Agent) Links among the steps Decomposition links between steps and substeps Disjunctive alternatives Temporal links …

Checks on Process Models All the steps are properly linked (substep, nextstep, disjunctive nextstep, conjunctive nextstep, …) All the preconditions of each step are satisfied during the simulation All the expected effects can be achieved There are no unexpected effects There are no impossible paths . . .

Current Focus: Dynamic Checks Simulation (or symbolic execution) results show how substeps of the process model are related each other (Interdependency Model) Perform various kinds of checks unachieved preconditions expected/unexpected effects disjunctive branches loops causal links proper execution of steps references to undefined objects

Checking unachieved preconditions Run KM simulator with Skolem instances Collect unachieved preconditions of failed steps Suggest fixes Add a step that can achieve the condition Add ordering constraint between the step and a subsequent step that asserts the condition Add ordering constraint between the step and a previous step that undoes the condition Modify the failed step

Example Scenario in RNA Transcription Demo Suppose user forgets to specify that Transcribe implies a Move Detected when KANAL checks unachieved preconditions during simulation RNA Transcription Failed Precondition of Detach Polymerase at Terminator location Proposed Fixes: Add a Move step before Detach Modify Make-Contact Modify Move-Through Modify Detach . . . . . . Transcribe Detach Move

Fixing Problems: Using Interaction Plans Interaction Plan: describes how to proceed with the user interaction direct what to do next based on the results from K Analysis KANAL’s dialogue for fixing errors is implemented with interaction plans Will be integrated with the Interaction Manager

Keeping Track of Interaction History ... Choose what to simulate choose model: RNA-Transcription-Scenario choose substep to test: RNA-Transcription-Scenario Simulate model RNA-Transcription-Scenario simulate-steps-&-find-failed-events ask-to-fix-failed-event: (failed preconditions of Detach) propose-fixes-for-failed-event ask-what-to-fix-for-failed-event : ; location of Polymerase ((the location of (the major-object of Detach)) = (the location of Detach)) ; Terminator ask-how-to-fix-failed-event (add Move before Detach)

Debugging process models with KANAL KANAL found a few errors (now fixed) in the RNA Transcription scenario developed by hand by the SRI team: Recognize had no effects Detach had no effects that applied to situation Break-Contact had two failed preconditions Recognize had no preconditions defined KANAL will also be useful as a tool to help k engineers debug the component library and add pump-priming knowledge

Preliminary Evaluations As an isolated module that checks process models We plan to evaluate it within the E2E system Artificially generated test cases As if user had forgotten to specify some links and role assignments Correct process model: n links & role assigmts Create test cases by removing 1, 2, 3 of those at random

Results: User “forgets” one link/assmt VI LVI HPAC Total # test cases # errors # errors detected # errors w/direct fixes total # fixes # direct fixes avg # fixes per error 19 18 16 82 17 4.56 28 26 139 31 4.96 9 8 23 2.56 56 55 50 230 4.18

Results: User “forgets” two links/assmts VI LVI HPAC Total # test cases # errors # errors detected # errors w/direct fixes total # fixes # direct fixes avg # fixes per error 10 20 13 76 17 5.85 10 20 14 13 28 12 2 10 20 15 13 23 1.53 30 60 42 39 127 3.02

Results: User “forgets” three links/assmts VI LVI HPAC Total # test cases # errors # errors detected # errors w/direct fixes total # fixes # direct fixes avg # fixes per error 10 30 13 12 62 14 4.77 10 30 16 58 3.63 10 30 18 15 54 3 30 90 47 43 174 45 3.70

Summary of Results KANAL virtually always detected some error and made suggestions to user (115/116 cases) Detecting an error impairs detecting others KANAL detected 98%, 70%, and 52% of the errors (1, 2, and 3 cases respectively) Once error was fixed, the next was always found For 91.6% of the errors detected, KANAL’s fixes pointed directly to the source of the errors (direct fixes)

Future Extensions to KANAL (I): Static Checks on Process Models Let user pose questions about various features of the process model to test the model KANAL will maintain test suites User picks from sample query templates How does the <slot> of <object> change during <process>? During <process>, does <event> occur>? During <process>, is it the case that <object> plays role<r>? User may specify the answers they expect User may vary the initial situations Explanation or trace of the answer to a query shows how different pieces of K are used to generate the answer (Interdependency Model)

Future Extensions to KANAL (II): New Areas Keep track of what questions/tests were correctly answered before the user made an update Exploiting history and evolution of Interdependency Models (for both simulations and queries) Using heuristics to focus K analysis as the number of errors and fixes grows Extend KANAL to help users define concepts through composition Ex: “bacterial RNA”, “promoter region”

Grounding the Design of the Interaction Manager: ITSs ? Intelligent Tutoring System (ITS) teaches Intelligent Studious System teaches ?

Structuring Student-Teacher Interaction in ITSs Start by presenting student with a scenario and lesson overview (“advanced organizer”), end with summary Useful to draw prior k (can state an analogy), detect missing prior k, give context to the new k High bandwith interfaces where students can explicate reasoning (e.g., “goal trees”) Strategies to encourage “deep learning” Check that student does right thing for the right reasons Teach domain language, qualitative skills

Using EXPECT to Acquire Problem Solving Knowledge A-7-18A: estimate the time to produce titin given a translation rate and the average number of amino acids in a protein Adding problem solving knowledge: how to estimate the size of a protein how to estimate the duration of a translation Adding roles and values needed for problem solving define average number of aminoacids in a protein Blythe, Kim, Ramachandran & Gil, “An Integrated Architecture for Knowledge Acquisition”, IUI 2001: Best Paper Award

See our EXPECT demo!