Title: Knowledge Representation and Reasoning
1Knowledge Representation and Reasoning
- Tom Russ
- Hans Chalupsky
- Stefan Decker
2Overview
- Goals
- Provide Knowledge Representation and Reasoning
(KRR) Services - Ontology Development
- Semantic Interoperability
-
3Overview
- Goals
- Provide (KRR) Services
- Ontology Development
- Semantic Interoperability
- Technology
- PowerLoom
- RDF and RDFS
- Web Services
4Goals
- Provide (KRR) Services
- ontology and knowledge repository
- reasoning services
- browsing and editing tools
- Ontology Development
- Describe seismology domain itself
- Describe components of SCEC models
- Describe Fault Activity Database information
- Describe computational resources for GRID service
matching - Semantic Interoperability
- Provide means for programs to interoperate
- Use ontology to improve interoperability
- Provide translation services
5Technology and Deployment
- PowerLoom
- Highly expressive language for representation
- Explainable inference
- Support for units and dimensions
- Tools for browsing and editing
- Intensity Measure Relationship site translation
service - RDF-Schema
- W3Consortium standards (not as expressive as
PowerLoom) - FAD description and unification (with Sue Perry)
- GRID services matchmaking (with Hongsuda
Tangmunarunkit) - Web Services
- WSDL descriptions and SOAP protocols
- Integrate with SCEC Tomcat server
- Deploy PowerLoom and IMR site type translator
6SCEC Mission Support
- Site type translation web service
- Fault Activity Database integration (with Sue
Perry, Gideon Juve, interns) - GRID services matchmaking (with Hongsuda
Tangmunarunkit) - Support technology for DOCKER and CAT (with
Yolanda Gil, Jihie Kim) - Community Service
- Address translation web service
7A Quick Look in More Detail
- KRR Tools
- Ontosaurus Browser
- PowerLoom GUI
- Explanation
- Ontology Development
- Seismology
- IMR Models
- Example
- Site Type Translation
- Principled Transformations
8Ontology Development Needs
9(No Transcript)
10PowerLoom GUI
11Ontology Development
Models
Faults
Terms and facts that are notpart of seismology,
but areneeded to describe IMR modelsand their
parameters
Specific fault datadrawn, for example,from
information inthe FAD
Ex campbell-1997, model-site-type,campbell-1997
-firm-soil
Ex san-andreas-coachella slips 255mm/yr
12Site Type Translation Problem
- Situation Intensity Measure Relationship (IMR)
models use different descriptions of site types. - Some are numeric, using Vs30 and basin depth
- Ex Field 2000 Boore, Joyner Fumal 1997
- Some are qualitative, using terms like
Firm-Soil - Ex Campbell 1997 Campbell Bozorgnia 2003
- Problem How to use a qualitative term when all
you have is the numeric data, say from the
Community Velocity Model.
13Site Type Translation Solution
- Use ontology and reasoning engine
- Ontology provides common terminology (Vs30,
basin depth) - Reasoning engine performs translation
- Benefits
- Transformations can be inspected
- Transformations can be explained
- Units dimensions support built-in
14Site Type Translation Example
- Suppose one had a particular site with
parameters - Vs30 of 250m/sBasin depth of 2.5km
- And wished to use the Campbell 1997 model
- Which site type should be used
- Firm Soil
- Soft Rock
- Hard Rock
The real problem is even harder, since you first
have to find out what answers are allowed!
15Site Type Translation Web Service
16Definition of a Site Typecampbell-1997-firm-soil
(defconcept campbell-1997-firm-soil ((?c SITE))
documentation "Campbell (1997) site type Firm
Soil" axioms (and (model-site-type
campbell-1997
campbell-1997-firm-soil)
(model-internal-parameter-name
campbell-1997
campbell-1997-firm-soil
"Firm-Soil")) ltgt (and (site ?c)
(gt (vs30-of-soil ?c) (units 180 "m/s"))
(lt (vs30-of-soil ?c) (units 400 "m/s"))
(gt (basin-depth-2.5 ?c) (units 100 "m"))))
17Site Type Translation Explanation
? (assert (and (site s2) (vs30-of-soil s2 (units
250 "m/s"))
(basin-depth-2.5 s2 (units 2.5 "km")))) ? (ask
(campbell-1997-form-soil s2)) TRUE ? (why) 1
(CAMPBELL-1997-FIRM-SOIL S2) follows by Modus
Ponens with substitution ?c/S2 since
1.1 ! (FORALL (?c) (lt
(CAMPBELL-1997-FIRM-SOIL ?c)
(AND (SITE ?c)
(gt (VS30-OF-SOIL ?c) lt180.0m/sgt)
(lt (VS30-OF-SOIL ?c)
lt400.0m/sgt) (gt
(BASIN-DEPTH-2.5 ?c) lt100.0mgt))))) and 1.2
! ( (VS30-OF-SOIL S2) lt250.0m/sgt) and 1.3
(lt lt250.0m/sgt lt400.0m/sgt) and 1.4 ! (
(BASIN-DEPTH-2.5 S2) lt2.0kmgt) and 1.5 (gt
lt250.0m/sgt lt180.0m/sgt) and 1.6 (gt
lt2.5kmgt lt100.0mgt)
Inference Rule
SupportingFacts
UnitConversion
18Site Type Translation Explanation
? (assert (and (site s2) (vs30-of-soil s2 (units
250 "m/s"))
(basin-depth-2.5 s2 (units 2.5 "km")))) ? (ask
(campbell-1997-form-soil s2)) TRUE ? (why) 1
(CAMPBELL-1997-FIRM-SOIL S2) follows by Modus
Ponens with substitution ?c/S2,
?v60/lt2.5kmgt, ?v56/lt250.0m/sgt since 1.1 !
(FORALL (?c) (lt
(CAMPBELL-1997-FIRM-SOIL ?c)
(EXISTS (?v60 ?v58 ?v56)
(AND (SITE ?c)
( (VS30-OF-SOIL ?c) ?v56)
(gt ?v56 lt180.0m/sgt)
(lt ?v56 lt400.0m/sgt)
(
(BASIN-DEPTH-2.5 ?c) ?v60)
(gt ?v60 lt100.0mgt))))) and 1.2
! ( (VS30-OF-SOIL S2) lt250.0m/sgt) and 1.3
(lt lt250.0m/sgt lt400.0m/sgt) and 1.4 ! (
(BASIN-DEPTH-2.5 S2) lt2.0kmgt) and 1.5 (gt
lt250.0m/sgt lt180.0m/sgt) and 1.6 (gt
lt2.5kmgt lt100.0mgt)
Inference Rule
SupportingFacts
UnitConversion
19Site Translation and Expressive Reasoning
- Question Site S2 is Firm-Soil in the
Campbell-1997 model, but we dont know Vs30. - What do we use for model Sadigh-et-al-1997?
- Answer Use Deep-Soil.
- PowerLoom can answer this question because it
knows the meaning of the terms. - Computer programs for site translation dont have
that introspection capability
20Another Example of Principled, Explainable
Translation
- Terms in the ontology have definitions and
semantics amenable to machine reasoning attached - Semantics allow derivation of relationships and
an explanation of that derivation. - Example altitude and depth
21Translation Problems Multiply
- As reference points and relations become more
numerous, the problems multiply - Examples
- Depth to altitude
- Altitude to Depth
- Altitude to height above ground level
- Depth to depth below sea level
- etc.
22ExampleSome Facts and a Question
- Loc1 a location at a depth of 800m, where the
local ground level is at an altitude of 1000ft. - What is the altitude of loc1?
- Answer -495.2m
- Answer is generated automatically by rules
formalizing domain - PowerLoom automatically does conversions without
additional programming effort
23Translation Summary
- Instead of having a specialized translator for
each possible combination, we can have a
universal translator based on a few logic rules - Using logic-based translation allows us to
generate explanations - Possible Application
- Automatic coordinate translation for data sets or
to convert between input/output parameters of
simulation codes (the problem here is of course
that we wouldnt want to use this for high-volume
translation)
24Progress Summary
- Seismology Ontology
- Web Services
- Site Translation
- PowerLoom Server
- Grid matchmaking (with Hongsuda Tangmunarunkit)
- Inexact (asymmetric) matching
- Preference expression
- Flexibility and extensibility
- Fault Activity Database (w/ Sue Perry and Gideon
Juve) - Protégé and RDF-S
- Seismologic domain work primarily by Sue Perry
Gideon Juve - Developed dynamic logic programming technique
(with Grosof, Horrocks, Volz)
25Future Developments
- Scientist-developed Ontologies
- More GUI support
- Work with Tom Jordan Jeremy Zechar
- Translation Support Extension
- Development and compilation of logic-derived
rules - Ideal and Real World Representations
- Logic assumes pure, pristine world
- Real World is messy instead. Issues
- Floating point precision
- Fault-characteristic-rate 1 /
fault-recurrence-interval - Annotate computations for precision and
uncertainty! - Connection to multiple models
- e.g, Different fault surface models
26Old Slides Follow
27ExamplePrincipled, Explainable Reasoning
- Terms in the ontology have definitions and
semantics amenable to machine reasoning attached - Semantics allow derivation of relationships and
an explanation of that derivation. - Example altitude and depth
28ExampleBasic terms.
- Location a primitive notion of a place in
3-space - Sea-level a constant reference location
- Ground-level a function that returns the
location of the ground level for a location.
Essentially, that location projected onto the
local terrain - Distance the distance between locations in a
given direction - Opposite relation between directions
- Above, Below directions
29ExampleAltitude and Depth
DefinitionsAltitude is the distance of a
location above sea-level
(deffunction altitude ((?x location) ?d) ltgt
(distance ?x above sea-level ?d) phrase "the
altitude of ?x is ?d") (deffunction depth
((?x location) ?d) ltgt (distance ?x below
(ground-level ?x) ?d) phrase "the depth of ?x
is ?d")
Depth is the distance of a location below the
ground-level at that location
30ExampleSome Facts and a Question
- Loc1 a location at a depth of 800m, where the
local ground level is at an altitude of 1000ft. - What is the altitude of loc1?
(assert (and (location loc1)
(altitude (ground-level loc1) (units 1000 "ft"))
(depth loc1 (units 800 "m"))))
31ExampleAnswer and Explanation
(retrieve (altitude loc1 ?a) iterative-deepening?
true) 1 ?Alt-495.20000000000005mgt ? (why
all) 1 ( (ALTITUDE LOC1) lt-495.20000000000005mgt)
follows by Modus Ponens with substitution
?x/LOC1, ?d/lt-495.20000000000005mgt since
1.1 ! (FORALL (?x ?d) (lt (
(ALTITUDE ?x) ?d) (
(DISTANCE ?x ABOVE SEA-LEVEL) ?d))) and 1.2
( (DISTANCE LOC1 ABOVE SEA-LEVEL)
lt-495.20000000000005mgt) 1.2 ( (DISTANCE LOC1
ABOVE SEA-LEVEL) lt-495.20000000000005mgt)
follows by Modus Ponens with substitution
?y/LOC1, ?dir2/ABOVE, ?x/SEA-LEVEL,
?d1/lt-495.20000000000005mgt, ?dir1/BELOW
since 1.2.1 ! (FORALL (?y ?dir2 ?x ?d1)
(lt ( (DISTANCE ?y ?dir2 ?x) ?d1)
(EXISTS (?dir1)
(AND ( (DISTANCE ?x ?dir1 ?y)
?d1) (OPPOSITE
?dir1 ?dir2))))) and 1.2.2 ( (DISTANCE
SEA-LEVEL BELOW LOC1) lt-495.20000000000005mgt)
and 1.2.3 (OPPOSITE BELOW ABOVE) 1.2.2 (
(DISTANCE SEA-LEVEL BELOW LOC1)
lt-495.20000000000005mgt) follows by Modus
Ponens with substitution ?x/SEA-LEVEL,
?dir/BELOW, ?z/LOC1, ?diff/lt-495.20000000000005mgt,
?d2/lt800.0mgt, ?d1/lt1000.0ftgt, ?y/(GROUND-LEVEL
LOC1) since 1.2.2.1 ! (FORALL (?x ?dir ?z
?diff) (lt ( (DISTANCE ?x
?dir ?z) ?diff)
(EXISTS (?d2 ?d1 ?y)
(AND ( (DISTANCE ?x ?dir ?y) ?d1)
( (DISTANCE ?z ?dir ?y)
?d2) ( (U-
?d1 ?d2) ?diff))))) and 1.2.2.2 (
(DISTANCE SEA-LEVEL BELOW (GROUND-LEVEL LOC1))
lt1000.0ftgt) and 1.2.2.3 ! ( (DISTANCE LOC1
BELOW (GROUND-LEVEL LOC1)) lt800.0mgt) and
1.2.2.4 ( (U- lt1000.0ftgt lt800.0mgt)
lt-495.20000000000005mgt) 1.2.2.2 ( (DISTANCE
SEA-LEVEL BELOW (GROUND-LEVEL LOC1)) lt1000.0ftgt)
follows by Modus Ponens with substitution
?y/SEA-LEVEL, ?dir2/BELOW, ?x/(GROUND-LEVEL
LOC1), ?d1/lt1000.0ftgt, ?dir1/ABOVE since
1.2.1 ! (FORALL (?y ?dir2 ?x ?d1)
(lt ( (DISTANCE ?y ?dir2 ?x) ?d1)
(EXISTS (?dir1)
(AND ( (DISTANCE ?x
?dir1 ?y) ?d1)
(OPPOSITE ?dir1 ?dir2))))) and 1.2.2.2.1
! ( (DISTANCE (GROUND-LEVEL LOC1) ABOVE
SEA-LEVEL) lt1000.0ftgt) and 1.2.2.2.2 !
(OPPOSITE ABOVE BELOW) 1.2.2.4 ( (U- lt1000.0ftgt
lt800.0mgt) lt-495.20000000000005mgt) follows
1.2.3 (OPPOSITE BELOW ABOVE) follows by
Modus Ponens with substitution ?x/BELOW,
?y/ABOVE since 1.2.3.1 ! (FORALL (?x ?y)
(lt (OPPOSITE ?x ?y)
(OPPOSITE ?y ?x))) and
1.2.2.2.2 ! (OPPOSITE ABOVE BELOW)
32ExampleParaphrased Explanation
(retrieve (altitude loc1 ?a) iterative-deepening?
true) 1 ?Alt-495.20000000000005mgt ? (why
all) 1 ( (ALTITUDE LOC1) lt-495.20000000000005mgt)
follows by Modus Ponens with substitution
?x/LOC1, ?d/lt-495.20000000000005mgt since
1.1 ! (FORALL (?x ?d) (lt (
(ALTITUDE ?x) ?d) (
(DISTANCE ?x ABOVE SEA-LEVEL) ?d))) and 1.2
( (DISTANCE LOC1 ABOVE SEA-LEVEL)
lt-495.20000000000005mgt) 1.2 ( (DISTANCE LOC1
ABOVE SEA-LEVEL) lt-495.20000000000005mgt)
follows by Modus Ponens with substitution
?y/LOC1, ?dir2/ABOVE, ?x/SEA-LEVEL,
?d1/lt-495.20000000000005mgt, ?dir1/BELOW
since 1.2.1 ! (FORALL (?y ?dir2 ?x ?d1)
(lt ( (DISTANCE ?y ?dir2 ?x) ?d1)
(EXISTS (?dir1)
(AND ( (DISTANCE ?x ?dir1 ?y)
?d1) (OPPOSITE
?dir1 ?dir2))))) and 1.2.2 ( (DISTANCE
SEA-LEVEL BELOW LOC1) lt-495.20000000000005mgt)
and 1.2.3 (OPPOSITE BELOW ABOVE) 1.2.2 (
(DISTANCE SEA-LEVEL BELOW LOC1)
lt-495.20000000000005mgt) follows by Modus
Ponens with substitution ?x/SEA-LEVEL,
?dir/BELOW, ?z/LOC1, ?diff/lt-495.20000000000005mgt,
?d2/lt800.0mgt, ?d1/lt1000.0ftgt, ?y/(GROUND-LEVEL
LOC1) since 1.2.2.1 ! (FORALL (?x ?dir ?z
?diff) (lt ( (DISTANCE ?x
?dir ?z) ?diff)
(EXISTS (?d2 ?d1 ?y)
(AND ( (DISTANCE ?x ?dir ?y) ?d1)
( (DISTANCE ?z ?dir ?y)
?d2) ( (U-
?d1 ?d2) ?diff))))) and 1.2.2.2 (
(DISTANCE SEA-LEVEL BELOW (GROUND-LEVEL LOC1))
lt1000.0ftgt) and 1.2.2.3 ! ( (DISTANCE LOC1
BELOW (GROUND-LEVEL LOC1)) lt800.0mgt) and
1.2.2.4 ( (U- lt1000.0ftgt lt800.0mgt)
lt-495.20000000000005mgt) 1.2.2.2 ( (DISTANCE
SEA-LEVEL BELOW (GROUND-LEVEL LOC1)) lt1000.0ftgt)
follows by Modus Ponens with substitution
?y/SEA-LEVEL, ?dir2/BELOW, ?x/(GROUND-LEVEL
LOC1), ?d1/lt1000.0ftgt, ?dir1/ABOVE since
1.2.1 ! (FORALL (?y ?dir2 ?x ?d1)
(lt ( (DISTANCE ?y ?dir2 ?x) ?d1)
(EXISTS (?dir1)
(AND ( (DISTANCE ?x
?dir1 ?y) ?d1)
(OPPOSITE ?dir1 ?dir2))))) and 1.2.2.2.1
! ( (DISTANCE (GROUND-LEVEL LOC1) ABOVE
SEA-LEVEL) lt1000.0ftgt) and 1.2.2.2.2 !
(OPPOSITE ABOVE BELOW) 1.2.2.4 ( (U- lt1000.0ftgt
lt800.0mgt) lt-495.20000000000005mgt) follows
1.2.3 (OPPOSITE BELOW ABOVE) follows by
Modus Ponens with substitution ?x/BELOW,
?y/ABOVE since 1.2.3.1 ! (FORALL (?x ?y)
(lt (OPPOSITE ?x ?y)
(OPPOSITE ?y ?x))) and
1.2.2.2.2 ! (OPPOSITE ABOVE BELOW)
The altitude is -495.2mbecause loc1 is -495.2m
above sea-levelbecause loc1 is 495.2m below
sea-level and above and below are
opposites Loc1 is 495.2m below sea-levelbecause
loc1 is 800m below ground level and sea
level is 1000ft below ground level and we
can subtract to find the difference
33Site Translation
- Ontology-based
- The knowledge underlying the translation can be
examined. (e.g., Ontosaurus) - Principled
- Based on logical reasoning from rules and
definitions - No Special-purpose Code
- Flexible use of the ontologic knowledge
- Expressive language means it can be easily
extended. - Explainable
- Reasoning procedures can be mechanically
explained.
34PowerLoom
- Expressive Representation Language
- Scientific reasoning needs this power
- Specialized support for scientific reasoning
- Units dimensions that allows computation with
arbitrary combinations of units - Browsing, integration and editing tools
- Ontosaurus, Web Services, GUI