1 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 TAILOR*: Modifying Calo’s Procedure Knowledge through Instruction Jim Blythe, Yolanda Gil, Jihie Kim.

Slides:



Advertisements
Similar presentations
1 USC INFORMATION SCIENCES INSTITUTE Interactive Knowledge Capture Interactive Knowledge Capture for Problem-Solving Systems Jim Blythe Yolanda Gil Jihie.
Advertisements

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Brian A. Harris-Kojetin, Ph.D. Statistical and Science Policy
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Copyright Irwin/McGraw-Hill Data Modeling Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Mixed-Initiative Planning Yolanda Gil USC CS 541 Fall 2003.
1 USC INFORMATION SCIENCES INSTITUTE Tailor, Spring 07 Task Learning by Instruction: Benefits and Challenges for Intelligent Interactive Systems Jim Blythe,
Sept-Dec w1d21 Third-Generation Information Architecture CMPT 455/826 - Week 1, Day 2 (based on R. Evernden & E. Evernden)
ISBN Chapter 3 Describing Syntax and Semantics.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Chapter 2: Algorithm Discovery and Design
Knowledge Acquisition CIS 479/579 Bruce R. Maxim UM-Dearborn.
Describing Syntax and Semantics
Common Core State Standards Professional Learning Module Series
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
Requirements Engineering Process – 1
31 st October, 2012 CSE-435 Tashwin Kaur Khurana.
© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1 August 15th, 2012 BP & IA Team.
Integrative Model Designed to help students develop a deep understanding of organized bodies of knowledge while simultaneously developing critical thinking.
1 USC Information Sciences Institute Jihie Kim Yolanda Gil Jim Blythe Intelligent Systems Division USC/Information Sciences Institute
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
MSF Requirements Envisioning Phase Planning Phase.
Standards-Based Science Instruction. Ohio’s Science Cognitive Demands Science is more than a body of knowledge. It must not be misperceived as lists of.
Author: James Allen, Nathanael Chambers, etc. By: Rex, Linger, Xiaoyi Nov. 23, 2009.
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
1 USC INFORMATION SCIENCES INSTITUTE TEMPLE meeting, July 2000 TEMPLE: TEMPLate Enhancement through Knowledge Acquisition Yolanda Gil Jim Blythe Jihie.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
1 USC INFORMATION SCIENCES INSTITUTE TEMPLE meeting, July 2000 Specifying Planning Objectives Yolanda Gil Jim Blythe Jihie Kim Surya Ramachandran
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Word Sense Disambiguation in Queries Shaung Liu, Clement Yu, Weiyi Meng.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
1 USC INFORMATION SCIENCES INSTITUTE CALO, 8/8/03 Acquiring advice (that may use complex expressions) and action specifications Acquiring planning advice,
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
MD – Object Model Domain eSales Checker Presentation Régis Elling 26 th October 2005.
UML-1 3. Capturing Requirements and Use Case Model.
BAA - Big Mechanism using SIRA Technology Chuck Rehberg CTO at Trigent Software and Chief Scientist at Semantic Insights™
Using and modifying plan constraints in Constable Jim Blythe and Yolanda Gil Temple project USC Information Sciences Institute
1 USC, INFORMATION SCIENCES INSTITUTE An integrated environment for KA An Integrated Environment for Knowledge Acquisition Jim Blythe
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
Using and modifying plan constraints in Constable Jim Blythe and Yolanda Gil Temple project USC Information Sciences Institute
1 USC INFORMATION SCIENCES INSTITUTE Expect: COA Critiquing PSM EXPECT: A User-Centered Environment for the Development and Adaptation of Knowledge-Based.
Human Computer Interaction
Harvesting Social Knowledge from Folksonomies Harris Wu, Mohammad Zubair, Kurt Maly, Harvesting social knowledge from folksonomies, Proceedings of the.
Requirements Validation
Ian F. C. Smith Writing a Journal Paper. 2 Disclaimer / Preamble This is mostly opinion. Suggestions are incomplete. There are other strategies. A good.
1 USC INFORMATION SCIENCES INSTITUTE EXPECT TEMPLE: TEMPLate Extension Through Knowledge Acquisition Yolanda Gil Jim Blythe Information Sciences Institute.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
UML (Unified Modeling Language)
You Can’t Afford to be Late!
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Concept mining for programming automation. Problem ➲ A lot of trivial tasks that could be automated – Add field Patronim on Customer page. – Remove field.
KANAL (Knowledge ANALysis) Jihie Kim Jim Blythe Yolanda Gil
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Big Data: Every Word Managing Data Data Mining TerminologyData Collection CrowdsourcingSecurity & Validation Universal Translation Monolingual Dictionaries.
KANAL (Knowledge ANALysis) Status Jihie Kim Yolanda Gil Jim Blythe Varun Ratnakar
Elaboration popo.
KANAL: Knowledge ANALysis
Human Computer Interaction Lecture 21,22 User Support
Action Editor Storyboard
KANAL: Knowledge ANALysis
Yolanda Gil Jihie Kim Jim Blythe Surya Ramachandran
Presentation transcript:

1 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 TAILOR*: Modifying Calo’s Procedure Knowledge through Instruction Jim Blythe, Yolanda Gil, Jihie Kim USC Information Sciences Institute *Task Acquisition through Interaction in a Learning, Organizing assistant

2 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Outline Mapping user instruction to the procedure KB Tailor Year 1 operational prototype in the Calo demo Year 2: migrate to a robust system  opportunities for group collaboration

3 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Mapping user instruction to the procedure KB User instructions may relate to several different kinds of knowledge:  About objects, constraints, preferences, advice, procedures Instructions about procedures must be aligned with existing procedure definitions  Which procedure to modify, what predicates, variable bindings  Follow-up questions to clarify or complete the instruction A modification to a procedure will have ripple effects on other procedure definitions Several possible modifications capture the same behavior

4 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Users need to update and customize the way tasks are accomplished by modifying:  Object knowledge (Jim works at institution X on project Y)  Preferences (normally prefer to purchase a ThinkPad)  Constraints (the laptop cost must be below $3000)  Procedure definitions purchase spare bulbs along with any projector get a visa when traveling out of the country you don’t need divisional authorization to purchase a PDA ask the user to make the choice when purchasing a laptop, but choose the cheapest option for pencils. Different kinds of knowledge about procedures Procedure knowledge

5 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Must be able to modify procedure knowledge to handle all instruction {defprocedure "Buy Laptop" cue: [do: (purchase $item $criteria)] precondition: (= laptop $item) body: [context: (and (User $user) (Called $user $username)) seq: [do: (find_laptop $item $criteria $seln)] [do: (complete_form req_form $this_form $seln)] [do: (obtain_authorizations $this_form $seln)] [do: (place_order $seln)] [context: (= (list_index $seln 0) $pseln) do: (print " %s: *** Purchase of laptop %s completed " [$username $pseln])]]} {defprocedure "Buy Laptop“ …. body: [context: (and (User $user) (Called $user $username)) seq: [do: (find_laptop $item $criteria $seln)] [do: (complete_form req_form $this_form $seln)] [select: (and (Computer_Total_Price $seln $val) (< $val 2000)) do: (obtain_authorizations $this_form $seln)] [do: (place_order $seln)] # Also modified by Tailor [context: (= (list_index $seln 0) $pseln) do: (print " %s: *** Purchase of laptop %s completed " [$username $pseln])]]} Some knowledge can be represented in separate advice structures, some needs to be encoded in the procedure definition

6 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 TAILOR: Helping users modify procedure knowledge through instruction Tailor takes user instructions and makes modifications to Spark’s procedure knowledge.  Year 1 focus: modify existing procedures by adding conditions to subtasks. Main challenges addressed:  Maps user instruction to existing procedure knowledge based on the context (e.g. currently executing structures)  Asks follow-up questions to help complete the instruction and resolve ambiguity

7 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Overview of Tailor’s use in the Calo Year 1 demo 1. While purchasing a laptop, Calo warns the user of the approaching deadline for purchase authorization. 2. User: “You don’t need authorization, since the cost is less than $2000” 3. Tailor finds an interpretation based on the context and suggests it in user terms: 4. Tailor warns that more instruction may be needed: the subsequent ‘place order’ task has precondition ‘received authorization’ which may be false. 5. Tailor presents options complete the instruction, leading to a successful modification. Modification: make execution of depend on Candidate conditions: The cost of submitting the form < 2000, The total price of the selected item < 2000, The shipping cost < 2000, … Candidate tasks/items: Obtain all required authorizations Get authorization from project manager Conclude that authorization has been received

8 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Key ideas in Tailor Global Procedure Analysis (GPA):  Captures the relationship between the procedures used.  Provides context for mapping user instruction  Detects side-effects of a modification indicating the instruction is incomplete Similar in spirit to Static [Etzioni 90] and Expect IMs [Kim & Gil 01] Expression mapper: Search for valid expressions that match the user’s instruction based on the current goals and activities (from the GPA), as well as domain objects and relations. [Blythe, IJCAI 01; Blythe & Gil, WWW 04] Purchase $item $criteria Find_laptop $item $criteria $selection complete_form Requisition_form $form $selection obtain_authorizations $form $selection place_order $selection get_authorization $manager1 $form get_authorization $manager2 $form $item = “laptop” $selection has type Laptop Stalling task $form has type Form Adds “received_authorization $selection” Requires “received_authorization $selection”

9 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 The GPA provides context for interpreting request based on Spark’s procedure knowledge Spark sends Tailor the top-level goal, active tasks and information about the failure. The GPA tracks how variables and stored predicates are formed and propagated as procedures are combined. Purchase $item $criteria Find_laptop $item $criteria $selection complete_form Requisition_form $form $selection obtain_authorizations $form $selection place_order $selection get_authorization $manager1 $form get_authorization $manager2 $form $item = “laptop” $selection has type Laptop Stalling task $form has type Form Adds “received_authorization $selection” Requires “received_authorization $selection” Propagates variable types Represents information dependencies across tasks Models the subgoal/ subtask structure

10 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 0: 1:(Price $sel’n $p+),.. 2: (and (HasDisplay $sel’n $d) (Size $d $s)),.. The expression mapper finds valid, matching expressions based on the context and domain KB ComputerTotalPrice, ShippingCost, RAM, … HasDisplay Size 0:$selection (GPA) “the selected laptop” 0:US (user) 1:, … Vendor 0: 1:(Vendor $sel’n $v+) Location 2:(and (Vendor $sel’n $v) (Location $v US)) match DialCode User description: “you don’t need form B when the seller is in the US” Tailor finds the matching expression: (and (vendor $selection $v) (location $v US)) Shown as: “when the location of the vendor of the selected laptop is the US” laptop vendor (syn: seller) 0: 1:(HasDisplay $sel’n $d+) display place number Variable and description from GPA Object from user instruction Synonym from WordNet

11 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 The expression mapper: under the hood Initially: Tailor builds a graph of concepts linked by relations.  Concepts and relations found from Spark terms and related ontology The GPA is used to determine the procedures to modify based on the user’s instruction and the problem-solving context. Initial expressions are added from the GPA and the user’s instruction. On each iteration: the mapper sweeps through the graph to form new expressions from existing ones by following links. Expressions are matched to user instruction based on the relation names used, phrases for variables from the GPA and synonyms from WordNet. Plausible matches are ranked by: (1) number of terms matched (attempts to match all) (2) ordering of terms closest to that of the user instruction, (3) least use of synonyms.

12 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Tailor Architecture Calo GUI User SPARK Modification analyser Follow-up questions Global Procedure Analysis (GPA) Expression completion and mapping Tailor WordNet Parser Year 1 additions Domain facts, Relations, concepts MMD Task models OAA Procedure KB

13 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Summarizes the proposed change Warns the user of unintended side-effects detected through the GPA User can choose among alternative interpretations from the expression mapper Shows the new procedure knowledge User can choose among alternative tasks to change from the modification analyser Ensuring Tailor’s interpretation of the user’s instruction is correct

14 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Describes the unintended side-effect suggests potential fixes Helping the user complete the instruction

15 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Summary of year 1 system Tailor helps users modify Spark’s procedure knowledge based on instruction.  Modified procedures are executed on the fly by Spark. Tailor combines analysis of procedures and domain knowledge  to map user instruction to procedure knowledge modifications  to resolve ambiguity  to help the user complete the instruction Interacts with the user when more knowledge is needed  Generates text versions of procedure definitions, problems and fixes.

16 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Plans for year 2 Broader range of simple modifications  Adding a new, known subtask to a procedure body  Alternatives for subtasks under certain conditions More support for completing instructions  Parameters missing for new subtask  Weakened preconditions not matched by sub-procedures Explicit reasoning about alternative modifications  Modify a procedure? Clone a procedure? Add explicit advice?  Which procedure to modify?

17 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Areas of potential MMD impact Recognize more sentences as instructions about procedure knowledge Use context of overall dialog for mapping instructions Integrate instruction and follow-up questions about modifications into the overall dialog  Better rendering of feedback and follow-up questions …

18 USC INFORMATION SCIENCES INSTITUTE Tailor, 6/20/04 Beyond year 2 Defining new procedures with several subtasks Complex procedures with many related changes  E.g. change of representation requiring a global modification Handling all of Spark’s language  Try this first, then try an alternative if it fails  Wait X minutes, if you don’t get a reply then call Using previous experience  Detect and resolve inconsistencies in advice  Guidance from previous cases  Induction bias, analogy, transfer, learning from few examples,..