1 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group OntoMorph: A Translation System for Symbolic Knowledge Hans Chalupsky Loom/PowerLoom Group USC.

Slides:



Advertisements
Similar presentations
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Advertisements

Phosphorus: Ontology-Based Matchmaking Hans Chalupsky Yolanda Gil Tom Russ Surya Ramachandran Information Sciences Institute.
CSI 3125, Preliminaries, page 1 Programming languages and the process of programming –Programming means more than coding. –Why study programming languages?
1 USC INFORMATION SCIENCES INSTITUTE HPKB - COABS TIE Rosetta: Ontology-Based Translation Hans Chalupsky Yolanda Gil Jim Blythe Bob MacGregor Information.
Kyriakos Kritikos (ΥΔ) Miltos Stratakis (MET)
CPSC Compiler Tutorial 9 Review of Compiler.
1 CIS607, Fall 2004 Semantic Information Integration Presentation by Xiangkui Yao Week 6 (Nov. 3)
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Chapter 2: Algorithm Discovery and Design
A Review of Ontology Mapping, Merging, and Integration Presenter: Yihong Ding.
Annotating Documents for the Semantic Web Using Data-Extraction Ontologies Dissertation Proposal Yihong Ding.
Semantics For the Semantic Web: The Implicit, the Formal and The Powerful Amit Sheth, Cartic Ramakrishnan, Christopher Thomas CS751 Spring 2005 Presenter:
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
USCISIUSCISI Loom: Basic Concepts Thomas A. Russ USC Information Sciences Institute.
Introduction and Syntax. Course objectives Discuss features of programming languages. Discuss how the features are implemented in a simple computer architecture.
Ontology translation: two approaches Xiangkui Yao OntoMorph: A Translation System for Symbolic Knowledge By: Hans Chalupsky Ontology Translation on the.
Chapter 2: Algorithm Discovery and Design
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Type-Directed, Whitespace-Delimited Parsing for Embedded DSLs Cyrus Omar School of Computer Science Carnegie Mellon University [GlobalDSL13] Benjamin ChungAlex.
Knowledge Mediation in the WWW based on Labelled DAGs with Attached Constraints Jutta Eusterbrock WebTechnology GmbH.
Introduction to High-Level Language Programming
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Chapter 1. Introduction.
Knowledge representation
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Programming Paradigms Procedural Functional Logic Object-Oriented.
Semantic Streams: a Framework for Composable Semantic Interpretation of Sensor Data Kamin Whitehouse UC Berkeley EWSN, Feb 13, 2006 Joint with Feng Zhao.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Knowledge Modeling, use of information sources in the study of domains and inter-domain relationships - A Learning Paradigm by Sanjeev Thacker.
Supported by ELTE IKKK, Ericsson Hungary, in cooperation with University of Kent Erlang refactoring with relational database Anikó Víg and Tamás Nagy Supervisors:
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
CPS 506 Comparative Programming Languages Syntax Specification.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
Compiler design Lecture 1: Compiler Overview Sulaimany University 2 Oct
Scaling Heterogeneous Databases and Design of DISCO Anthony Tomasic Louiqa Raschid Patrick Valduriez Presented by: Nazia Khatir Texas A&M University.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Topic #1: Introduction EE 456 – Compiling Techniques Prof. Carl Sable Fall 2003.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Metadata : an overview XML and Educational Metadata, SBU, London, 10 July 2001 Pete Johnston UKOLN, University of Bath Bath, BA2 7AY UKOLN is supported.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
DANIELA KOLAROVA INSTITUTE OF INFORMATION TECHNOLOGIES, BAS Multimedia Semantics and the Semantic Web.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
Macro Processors Basic Functions Machine-Independent Features Design Options Implementation Examples.
Lecture 15: Query Optimization. Very Big Picture Usually, there are many possible query execution plans. The optimizer is trying to chose a good one.
A Classification of Ontology Change Giorgos Flouris 1,2, Dimitris Plexousakis 2, Grigoris Antoniou 2 This work was carried out during the first author's.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Chapter 1. Introduction.
OKBC (Open Knowledge Base Connectivity) An API For Knowledge Servers
Introduction to Parsing (adapted from CS 164 at Berkeley)
Lecture #11: Ontology Engineering Dr. Bhavani Thuraisingham
课程名 编译原理 Compiling Techniques
Computer Programming.
CSE S. Tanimoto Paradigms
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
Lec00-outline May 18, 2019 Compiler Design CS416 Compiler Design.
ONTOMERGE Ontology translations by merging ontologies Paper: Ontology Translation on the Semantic Web by Dejing Dou, Drew McDermott and Peishen Qi 2003.
Presentation transcript:

1 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group OntoMorph: A Translation System for Symbolic Knowledge Hans Chalupsky Loom/PowerLoom Group USC Information Sciences Institute

2 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Overview Motivation Translation Problem OntoMorph Overview OntoMorph Applications Conclusions

3 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Motivation Observations  Ontology development collaborative but independent  Repeated merges/imports are the norm  Different tasks solved using different KR systems  different syntax, knowledge models, expressivity  Different tasks require different modeling styles Translation problem is ubiquitous  Merging of semantically overlapping ontologies  Distributed heterogeneous agent communication  Integration of independently developed K-based systems  Porting of K-based systems to different KR infrastructure

4 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Some Opinions “We need standards, KIF, OKBC, HPKB upper structure, etc. to minimize translation needs….” “We’ll never decide on that standard representation language, everybody has their own favorite…” “People will hack through any representation available…” “We better learn to live in a world where everybody represents things differently…” “What’s the big deal, I can write any X-to-KIF translator in 5 Prolog clauses/minutes” “Writing translators is not really difficult…” Sound familiar?

5 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group The Translation Problem Source KB Target KB   KBs describable in some linear syntax  sentence-based translation  single expression to whole KB  arbitrary semantic shift allowed  morphing

6 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Translation Dimensions KR language syntax  KIF, Loom, PowerLoom, MELD, SNePS, OntoLingua, … KR language expressivity  quantification, negation, defaults, sets, modals,... Modeling conventions  class distinction vs. attribute relations, argument order, argument reification, naming conventions,... Model coverage and granularity Representation paradigms  time, action, plans, causality, propositional attitudes,... Inference system bias  collections vs. individuals, subclass-of vs. =>,...

7 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Example: Syntax Differences Loom: (defconcept Automobile “The class of passenger cars.” :is-primitive Road-Vehicle) MELD: (#$isa #$Automobile #$Collection) (#$genls #$Automobile #$RoadVehicle) (#$comment #$Automobile “The class of passenger cars”) KIF: (defrelation Automobile (?x) “The class of passenger cars” :=> (Road-Vehicle ?x))

8 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Example: Model Differences Ontology AOntology B Vehicle WheeledVehicleTrackedVehicle M60M1HMMWVM151 (AngleRange ) maxSlopeRange Automotive-Device tracked traction-type M-1 M-151 traction-type wheeled 45 max-gradient

9 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Traditional Translation Methods Manual translation is  slow  tedious  error-prone  hard to repeat  hard to document and trace  often simply not practical Special-purpose translators are  tedious to write  hard to maintain  not easily reusable

10 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Need: Translation Tool Desiderata:  Translate arbitrary KR languages  No fixed knowledge model  Concise, declarative specification of transformations  Support for automatic, repeatable translations

11 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Solution: OntoMorph Rapid and concise specification of KB translators  via Syntactic rewriting  pattern-directed rewrite rules  sentence-level transformation of syntax trees  based on pattern matching Semantic rewriting  modulates syntactic rewriting  uses integrated PowerLoom KR system  based on (partial) semantic models  uses logical inference

12 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group OntoMorph Rewrite Engine Pattern language and execution model similar to PLisp (Pattern Lisp), Lisp-70 Pattern Matcher Features  Rapid generation of ontology and KR language translators  Rewrites arbitrary syntax trees  Powerful pattern language for concise specification and destructuring of expressions  Full backtracking (can parse Type-0 languages)  Named rule sets provide modularization and search control  Seamless integration with PowerLoom facilitates semantic rewriting  Available in Lisp, C++ and Java (written in STELLA)

13 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Pattern Language Literals match themselves:  foo, hans, 2, (a (b c) d), etc. Variables match complete subtrees:  ?x, ?bar, ? Sequence variables match tree subsequences:  (??x foo ??y), ?? Grouping (AND) matches a sequence of tokens:  {a ?x c} Alternatives (OR) match alternative token sequences:  {a|(b ?x)|c d} Optionals match optional token sequences:  {a [b c]}

14 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Pattern Language, cont. Repetition matches a pattern multiple times:  {a|b}+, {a|b}*1-2 Binding input matched by a pattern to a variable:  ?x := {a|(b ?y)|c} matched against (b d) binds ?x to (b d).

15 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Example Pattern Match key-value pairs in any order: (defconcept ?name {?is := {:is | :is-primitive} ?def | :characteristic ?cha | :annotations ?ann := {(documentation ?doc) | (:and ?? (documentation ?doc) ??) | ?}}*0-3) Example pattern instance: (defconcept Dog :annotations (:and Object-Type (documentation “Canine”)) :is-primitve Animal)

16 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Basic Operation Rewrite Rule Syntax pattern => result Execution Model Example Rule: (isa ?i ?c) => (?c ?i) Input stream: ( isa car1 Ford ) ( speed car1 ………

17 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Basic Operation Rule Syntax pattern => result Execution Model Example Rule: (isa ?i ?c) => (?c ?i) Input stream: ( isa car1 Ford ) ( speed car1 ………

18 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Basic Operation Rule Syntax pattern => result Execution Model Example Rule: (isa ?i ?c) => (?c ?i) Input stream: ( Ford car1 ) ( speed car1 ………

19 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Named Rule Sets and Recursion Rule Set Syntax (defruleset name pattern 1 => result 1... pattern N => result N ) Function calls and rule recursion  Rule sets and functions can be invoked recursively  Arguments are consumed and results pushed back onto the input stream. { ?result}

20 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Rewrite Rule Example Rule definition: (defruleset Term (?op := {\+|-|\*|/} ?x ?y) => (?op ) (1\+ ?x) => (\+ 1) (1- ?x) => (- 1) (square ?x) => (\* ) ?x => ?x ) (defruleset Condition (lt ?x ?y) => (negative? (- )) (gt ?x ?y) => ) Rule application: (rewrite (gt (/ (1+ M) N) (square N)) Condition) => (negative? (- (* N N) (/ (+ M 1) N)))

21 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Rewrite Rule Example: Turing Machine (defruleset Turing (?p := (??x (?s ?h ?act ?ss) ??y) ?s (?l ?h ?r)) => )> (?prog ?state ((??l) ?h (??r))) => (??l ?h ??r) ) (defruleset Move-Head {R ((??l) ?h ())} => ((??l ?h) $ ()) {R ((??l) ?h (?r ??rt))} => ((??l ?h) ?r (??rt)) {L (() ?h (??r))} => (() $ (?h ??r)) {L ((??lt ?l) ?h (??r))} => ((??lt) ?l (?h ??r)) {?new (?l ?h ?r)} => (?l ?new ?r) ) Compute f(x) = x + 2: (rewrite ( ((s1 $ R s2) (s2 1 R s2) (s2 $ 1 s3) (s3 1 R s3) (s3 $ 1 s1)) s1 (() $ (1 1 1)) ) Turing) => ($ )

22 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Semantic Rewriting Syntactic rewriting very useful but limited: (defruleset Conflate-Truck-Types ({Light-Truck | Heavy-Truck |... } ?x) => (Truck ?x) ) Instead, use semantic test: (defruleset Conflate-Truck-Types {(?class ?x) } => (Truck ?x) ) Semantic rewriting via integration with PowerLoom KRS

23 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Two-Pass Translation Scheme Target KB Translation Rules PowerLoom KB Import Rules Source KB Pass 1: Pass 2:

24 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Rewriting Non-Lisp-Style Expressions Lisp-style s-expressions for tree representation. Rewriting not limited to Lisp-style languages. Rewrite engine operates on input stream of tokens. Currently, STELLA reader serves as tokenizer. Other tokenizers can easily be substituted. Rewrite engine could specify tokenizers.  special-purpose tokenizers will be much more efficient.

25 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group OntoMorph Application: Input Translation for COA Critiquer

26 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Input Translation for COA Critiquer OntoMorph

27 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Translation Issues Different Names (defruleset Rename-Collection FixMilitaryTask => FIX {ProtectingSomething | Protecting…Region} => PROTECT Translation-LocationChange => MOVE … … …)

28 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Translation Issues cont. Different Syntax: MELD/KIF => Loom  (isa task1 Fix-MilitaryTask) => (Fix task1)  (isa COAMt COASpecificationMicrotheory) => (COA COAMt)  (relationInstanceExistsCount subOrgsDirect unit1 ArmoredSpec) => (:about unit1 (:exactly 2 subOrgsDirect ArmoredSpec)) (defruleset Rewrite-Frame-Predicate (relationInstanceExistsCount ?rel ?inst ?type ?count) => (:ABOUT (:EXACTLY ?count )) )

29 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Translation Issues cont. Different Representations  (taskHasPurpose BlueDivisionTask (thereExists ?p (isa ?p (CollectionSubsetFn ProtectingSomething (TheSetOf ?obj (and (objectTakenCareOf ?obj Boundary1) (performedBy ?obj BlueDivision1))))))) => (and (Protect protect-000) (Purpose-Action Protect-000) (purpose-of BlueDivisionTask Protect-000) (action-obj Protect-000 Boundary1) (who protect-000 BlueDivision1))

30 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Translation Issues cont. (defruleset Rewrite-Purpose-Pattern1 {(taskHasPurpose ?task (thereExists ?var (isa ?var (CollectionSubsetFn ?type (TheSetOf ?action ?body))))) ?purpose} => (AND ( ?purpose) (PURPOSE-ACTION ?purpose) (PURPOSE-OF ?task ?purpose) )

31 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Translation Issues cont. Missing Representations  Some COA structure was not explicitly represented  EXPECT critiquer needed task / subCOA associations  Some essential COA structure was embedded in comments (defruleset Track-COA-Assertion (unitAssignedToTask ?task ?unit) => ) (defruleset Get-Task-Assigned-To-Unit {?unit ?task} => )

32 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Fusion Output to EXPECT: Summary File-based translation of Fusion output - MELD to KIF to Loom Required ~30 rewrite rule sets Tree destructuring capability very useful for rewriting complex purpose representations Semantic rewriting needed to recover unrepresented COA structure

33 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Translation between Distributed Heterogeneous Agents

34 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Rosetta Translation Service Domain Model Operators PLANET Plan Ontology (HPKB) Agent Capabilities Ontology Agent Model Agent Models Mapping KB Operators Domain Model Rosetta CoABS Grid Agents a1 aN a2 a1 a2 aN M

35 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Rosetta Translation Service Agent2 Wrapper Agent1 Wrapper Rosetta KB of representation reformulation rules Requested service by Agent1 Capability of Agent2 Agent1 model Capabilities/ requests Agent2 model Capabilities/ requests

36 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group ForMAT to Prodigy Translation via Rosetta ForMAT request: (:goal (G-144 :send-hawk ((force 42nd-Hawk-Battalion) (geographic-location Big-Town)))) Format-To-Rosetta translation: (find (object Plans) (for (Objective-Based-Goal (send-unit (object 42nd-Hawk-Battalion) (to Big-Town))))) Rosetta goal representation translation: (find (object Plans) (for (State-Based-Goal (is-deployed (object 42nd-Hawk-Battalion) (at Big-Town))))) Rosetta-To-Prodigy translation: (:find-plans (is-deployed 42nd-Hawk-Battalion Big-Town))

37 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Using Rosetta with CoABS TIE 1: Ontology-Based Transformations Without Rosetta: helicopter wrappers had to turn route segments into areas and issue query in SQL message sent: :content select distinct s.LAT, s.LON from SAMSITE s where s.LAT and s.LON :receiver ARIADNE_TEAMCORE :sender TEAMARIADNE With Rosetta: helicopter wrappers form request using route segments message sent: :content find SAMSITES from DP_A to LZ_A :sender TEAMARIADNE :receiver Rosetta Problem: Diverse views and languages (e.g., helicopters had segments, SAMSITE finder queried with SQL about regions)

38 USC INFORMATION SCIENCES INSTITUTE Loom/PowerLoom Group Conclusion Translation is a common problem with K-based systems OntoMorph tool makes it easier to write translators OntoMorph applications so far:  Within HPKB to translate Fusion output  Within CoABS/HPKB TIE to implement Rosetta ontology-based agent translation services (joint work with Y. Gil and J. Blythe) Future Work  Develop library of operators to support common transformations  Semi/Automatic generation of translators (some related work in database integration community, but larger schemas, higher expressivity, inconsistency, etc.)  Rewrite rule compiler