us army corps of engineers building strong ® integration of procedural and semantic knowledge with...

Post on 29-Mar-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

US Army Corps of Engineers

BUILDING STRONG®

Integration of Procedural and Semantic Knowledge with an Application to Hydrology

Aaron Byrd

David Tarboton

BUILDING STRONG®23 June 2011 / Aaron Byrd

Semantic and Procedural Knowledge Modeling

Goal: Enable hydrologists to describe knowledge about the ► concepts, ► relationships between the concepts, and ► the procedures

we use in our work in a form that allows the computer to ► reason over the knowledge, ► deduce consequent knowledge, and► successfully complete tasks

common to the field of hydrology, e.g.► Configure models► Process, assemble data► Analyze data to deduce watershed properties

2

BUILDING STRONG®23 June 2011 / Aaron Byrd

What is Semantic Knowledge Modeling?

Modeling the meaning of information

Meaning is expressed by relationships between concepts

Expressed as a simple sentence:► <Concept 1> <Relationship> <Concept 2>► <Thing> <Attribute> <Property>► <Subject> <Predicate> <Object>

3

BUILDING STRONG®23 June 2011 / Aaron Byrd

How Do We Use Semantics?

Describing relationships between concepts► “The water depth in the river at gage 1 is 3.7 meters”

4

<River> <has Measuring Location> <Gage 1><River> <has Property> <Water Depth><Water Depth> <has Measurement> <3.7><Water Depth> <has Units> <meters>

BUILDING STRONG®

Hydrologic Semantics

5

BUILDING STRONG®

The Logic Behind Semantics

All about defining membership in sets

Set Theory► membership defined

by attributes and properties

Class Membership► Type, Subclass,

domain, range

First Order Logic► Symmetric ► Transitive► Equivalence

Restrictions► Cardinality► Existentiality

6

BUILDING STRONG®

Reasoning and Deduction

7

Subject Predicate Object Subject Predicate ObjectHydrologicFlux rdf:type rdfs:Class OverlandFlow MovesFrom OverlandSurfaceHydrologicStorage rdf:type rdfs:Class Exfiltration MovesFrom GroundWaterMovesFrom rdfs:domain HydrologicFlux Exfiltration MovesTo OverlandSurfaceMovesFrom rdfs:range HydrologicStorageSubsurfaceDischarge MovesFrom GroundWaterMovesTo rdfs:domain HydrologicFlux SubsurfaceDischarge MovesTo StreamsMovesTo rdfs:range HydrologicStorageSubsurfaceDischarge MovesTo OceanPrecipitation MovesFrom Atmosphere StreamFlow MovesFrom StreamsPrecipitation MovesTo OverlandSurface StreamFlow MovesTo OceanInfiltration MovesFrom OverlandSurface Evaporation MovesFrom OceanInfiltration MovesTo VadoseZone Evaporation MovesFrom StreamsPercolation MovesFrom VadoseZone Evaporation MovesFrom OverlandSurfacePercolation MovesTo GroundWater Evaporation MovesFrom Vadose ZoneInterflow MovesTo Streams Evaporation MovesTo AtmosphereInterflow MovesFrom VadoseZone hasSource owl:InverseOf MovesToOverlandFlow MovesTo Streams hasLoss owl:InverseOf MovesFrom

What are the Hydrologic Storages?What sources does overland flow have?

BUILDING STRONG®23 June 2011 / Aaron Byrd

What about other kinds of knowledge?

Knowledge with an inherent sequence► Steps to solve a problem

► What we make the computer do every day!!!

8

// first do the old cells       for (i = 0; i < nRows; i++)      {         for (j = 0; j < nCols; j++)         {           newCells[(addNorth + i) * newCols + addWest + j] = cells[i * nCols + j];         }       }       // new north section cells       for (i = 0; i < addNorth; i++)       {         for (j = 0; j < newCols; j++)         {           newCells[i * newCols + j] = theSource.GetValue(newWest + ((double)j + 0.5) * cellsize, newNorth - ((double)i + 0.5) * cellsize);         }       }       // new west,east section cells       for (i = 0; i < nRows; i++)       {         for (j = 0; j < addWest; j++) //west         {           newCells[(i + addNorth) * newCols + j] = theSource.GetValue(newWest + ((double)j + 0.5) * cellsize, newNorth - ((double)(i + addNorth) + 0.5) * cellsize);         } …

BUILDING STRONG®23 June 2011 / Aaron Byrd

Pulling it together: Functional Ontology API

Integrates semantic models and procedural code► “How do you compute the property value of the attribute?”

Currently includes the following semantic logic► Class/Subclass/Domain/Range► Equivalence► Inverse

Currently includes the following code types► Predicate functions► Common functions► User functions► Secondary code► Context Assessment

9

BUILDING STRONG®23 June 2011 / Aaron Byrd

Interaction Between Procedural Knowledge and Semantic Knowledge

Semantic -> Procedural► Call functions to compute value when query returns the empty

set• <myTerrainGroup> <td:hasComputableData> <?canCompute>

Procedural -> Semantic► Query against semantic knowledge base

• theOntology.FindMatchingSet(“myTerrainGroup”,”td:hasComputableData”,”?canCompute”,results);

Results stored in sets► Can be used in semantic queries, accessible to code► Can use set logic (Union, Intersection, Subtraction)

10

BUILDING STRONG®23 June 2011 / Aaron Byrd

Example: Encapsulating Knowledge about TauDEM Functions

11

BUILDING STRONG®23 June 2011 / Aaron Byrd

Adding Computational Semantics

12

BUILDING STRONG®23 June 2011 / Aaron Byrd

Running the Functional Ontology

13

BUILDING STRONG®

Running the Functional Ontology

14

BUILDING STRONG®

Running the Functional Ontology: Queries

15

BUILDING STRONG®

Running the Functional Ontology: User Functions

16

BUILDING STRONG®

Running the Functional Ontology: Functional Queries

17

BUILDING STRONG®

Running the Functional Ontology: Functional Queries

18

BUILDING STRONG®23 June 2011 / Aaron Byrd

Semantic and Procedural Knowledge Modeling

Goal: Enable hydrologists to describe knowledge about the ► concepts, ► relationships between the concepts, and ► the procedures

we use in our work in a form that allows the computer to ► reason over the knowledge, ► deduce consequent knowledge, and► successfully complete tasks

common to the field of hydrology

BUILDING STRONG®23 June 2011 / Aaron Byrd

Conclusions

Semantic modeling can capture knowledge in a form that enables reasoning engines to deduce consequent knowledge

Adding procedural knowledge and execution to a semantic engine enables the capture and use of a large body of knowledge that is difficult or impossible to capture solely in a semantic model

Using a coupled semantic-procedural reasoning engine enables us to capture many kinds of hydrologic knowledge in a fashion the places our business logic in a knowledge base rather than hard-coded in a program.

top related