29
FiRE Fuzzy Reasoning Engine Nikolaos Simou National Technical University of Athens

FiRE Fuzzy Reasoning Engine Nikolaos Simou National Technical University of Athens

Embed Size (px)

Citation preview

FiREFuzzy Reasoning Engine

Nikolaos Simou

National Technical University of Athens

Outline

Introduction to f-SHIN Syntax Semantics

Fuzzy Reasoning Engine FiRE Syntax Reasoning Services

FiRE Integration with Sesame Benefits

Demonstration

Uncertainty and knowledge representation Uncertainty is part of our lives…

i.e. tall, fat, soon Description Logics (DLs) lacks the ability to

represent imprecise or vague information This representation is necessary for many

application domains (medical informatics, multimedia processing)

DLs were extended using fuzzy set theory

Fuzzy Set Theory

An object belongs to a fuzzy set to any degree between 0 and 1. Tall(Tom) = 0.7

Set theoretic operations are performed by mathematical functions 1-x is used for negation min(x,y) for intersection max(x,y) for union max(1-x,y) for implications

SHIN SHIN is an AL language AL-language is represented by a string of the form

AL[U][E][N][C]

U: union

E: full existential quantification

N:Number Restrictions

C:Complement (negation) Negation is like union and full existential quantification

ALC = ALUE Similar for roles

S : transitive roles

H : role implication

I : inverse roles

Syntax of Fuzzy SHIN f-SHIN concepts are formed in the same

way as in SHIN

C,D ::=⊤ | ⊥ | ¬C | C ⊓ D | C ⊔ D |

∃R.C | ∀R.C | ≥nR | ≤nR

R,P::= R - | Trans(R) | P⊑R

Fuzzy knowledge bases

A fuzzy knowledge base is a triple

Σ= (T ,R, A) where: T is a finite set of fuzzy inclusion axioms: A ⊑ C

or fuzzy equivalences: A ≡ C, called a fuzzy TBox R is a finite set of fuzzy transitive role axioms:

Trans(R) or fuzzy role inclusion axioms P ⊑ R, called a fuzzy RBox

A is a finite set of fuzzy assertions: ⟨ a : C ⋈ n ⟩or ⟨ (a, b) : R ⋈ n ⟩, where ⋈ ∈ {≥,>,<, ≤}, called a fuzzy ABox.

Semantics of f-SHIN

A fuzzy interpretation is a pair I= (ΔI× .I) where ΔI is the domain of interpretation and .I is the interpretation function which maps

An individual name α ∈ I to an element α I ∈ ΔI

A concept name A to a membership function

AI : ΔI →[0,1] A role name R to a membership function

RI : ΔI× ΔI →[0,1]

Extending semantics to complex concepts

1 1

11,...,

( ) 1

( ) 0

( ) ( ) 1 ( )

( ) ( ) max( ( ), ( ))

( ) ( ) min( ( ), ( ))

( . ) ( ) inf {max(1 ( , ), ( ))}

( . ) ( ) sup {min( ( , ), ( ))}

( ) ( ) inf {max {1

I

I

Ip

I

I

I I

I I I

I I I

I I I

b

I I I

b

I pib b

T a

a

C a C a

C D a C a D a

C D a C a D a

RC a R a b C b

RC a R a b C b

pR a

1 11,...,

( , )}

( ) ( ) sup {min { ( , )}

( ) ( , ) ( ) ( , )

Ip

Ii i

I p Ii i ib b

I I

R a b

pR a R a b

R a b R b a

Interpreting Axioms

, ( ) ( )

( ) ( )

: ( )

( , ) : ( , )

( ) , , , ( , ) sup {min( ( , ), ( , )}

, . ( , ) ( , )

I

I I I

I I

I

I

I I I I

b

I I I

A C a A a C a

A C A a C a

a C n C a n

a b R n R a b n

Trans R a b c R a c R a b R b c

P R a b P a b R a b

ô

ô

FiRE

FiRE is a Fuzzy Reasoning Engine implemented using JAVA

Currently supports f-SHIN DL Language Consist of an alphabet of concepts (C)

roles (R) and individuals (I)

Declaring Alphabet

Alphabet declaration is made using the keyword signature and it is divided into three smaller declarations the concepts declaration using keyword atomic-concepts, the roles declaration using keyword roles and the individuals declaration using keyword individuals.

Declaring Alphabet -An Example(signature :atomic-concepts (human person female male

woman man parentC mother father sister brother parent-having-many-children tall clever thin organised parent-NOT-having-many-children parent-having-3-children beautifull fast strong)

:roles ((has-gender :transitive t) (has-descendant :transitive t) (has-child :inverse has-descendant) (has-sibling) (has-degree) (has-sister) (has-brother) ( has-friend) )

:individuals (Alice Betty Charles Doris Eve Peter))

Declaring Alphabet Roles are declared using keyword roles. Each

role is defined within brackets and it may have one or more of the following parameters

Keyword Description Syntax

parent States the parent Role :parent parentRole

transitive States whether the role is transitive or not. (A role is not transitive by default)

:transitive t

:transitive f

inverse States the inverse role of a role. (All roles have an inverse role and if it is not stated directly then it is Inv-roleName e.g for role has-child inverse role by default is Inv-has-child)

:inverse invRole

f-SHIN Constructors Syntax

Syntax DL Notation Description*top* ⊤ Top concept

*bottom* ⊥ Bottom concept

(not C) ¬C General negation

(and C1 . . .Cn) C1 ⊓. . . ⊓ Cn Conjuction

(or C1 . . .Cn) C1⊔… ⊔ Cn Disjunction

(some R C) ∃R.C Exist restriction

(all R C) ∀R.C Value restriction

(at-most n R) ≤nR At most restriction

(at-least n R) ≥nR At least restriction

Declaring Axioms

There are two kinds of axioms inclusion and equivalence.

Defined concept has to be an atomic concept and on the other hand property concept can be an atomic concept or a result of f-SHIN constructors.

Syntax (implies/equivalent definedConc propertyConc)

Examples (implies man (and person (some has-gender male))) (equivalent father-having-only-sons (and man (all has-child

man)))

Declaring Assertions

Fuzzy Instances Syntax

Using the keyword instance followed by the individual, the concept the inequality symbol (>,>=,<,<=) and the degree of participation.

Example

(instance Charles brother)

(instance Charles (and tall thin) >= 0.7 )

Declaring Assertions

Fuzzy Relations Syntax

Using the keyword related followed by the individuals names, the role that relates them, the inequality type and the degree of participation

Examples

(related Peter Betty has-sister )

(related Peter Charles has-friend >= 0.8 )

FiRE Interface

The FiRE user interface consists of an editor pane (upper left), inference services pane (upper right-Entailment, Subsumption,Glb), and output pane (the bottom-Tableaux Expansion, Output, Tableaux, Model, Classification).

Reasoning Services Consistency

Checks the knowledge for consistency. The Tableaux expansion pane presents the

tableaux expansion in detail showing all the operators applied.

The Output pane shows the statements declared, or differently the syntax mistakes

The Tableaux pane shows the results of tableaux expansion

The model pane shows the resulting model.

Reasoning Services

Entailment Entailment queries evaluate whether an individual

participates in a concept with a specific degree. FiRE answers true or false to these queries

Syntax

(instance individual concept ⋈ degree) or

individual concept degree⋈ Example

( instance Doris (and human (some has-gender (or female male))) >= 1) or

Doris (and human (some has-gender (or female male))) >= 1

Reasoning Services

Subsumption Subsumption queries evaluate whether a concept is

subsumed by another concept. FiRE answers true or false to these queries

Syntax(implies C1 C2) or C1 C2

Example( implies father man) or father man

Greatest Lower Bound Greatest lower bound queries evaluate the greatest

possible degree of an individual participating in a concept Syntax

Similar to entailment queries

Reasoning Services

Classification

This action performs subsumption checks of all the possible combinations of concepts and it creates the taxonomy tree shown in Classification Pane.

What is sesame

Sesame is an open source Java framework Storing Querying and Reasoning with RDF and RDF Schema. (also

supports N3, N-Triple, Turtle) It can be used

As a database for RDF and RDF Schema As a Java library for applications that need to

work with RDF internally

Sesame Architecture

Sesame Integration

Converts knowledge to N-Triples and exports it to Sesame

Evaluates greatest lower bound for all the individuals participating in all the concepts (Global GLB) and exports implicit knowledge to Sesame.

Imports knowledge from sesame and evaluates Global GLB

FiRE SesameN-Triples

Benefits Data Stored in a sesame repository

Data can then easily stored to a database Server-Client Architecture

Easy access to data Queries

Which individual is tall > 0.6, clever > 0.5

and also has a sister? Reasoning is off-line operation

Future Extensions

Apply DL Optimizations. Fuzzy Queries Extend to other uncertainty formalisms. Extend the DL component’s

expressiveness (SHOIN exist). Support data types. Support rules.

FiRE URL

You can download FiRE from

http://www.image.ece.ntua.gr/~nsimou/