N. Simou, G. Stoilos, V. Tzouvaras, G. Stamou, S. Kollias [email protected] 4th International...
-
Upload
jonathan-york -
Category
Documents
-
view
219 -
download
2
Transcript of N. Simou, G. Stoilos, V. Tzouvaras, G. Stamou, S. Kollias [email protected] 4th International...
N. Simou, G. Stoilos, V. Tzouvaras, G. Stamou, S. Kollias
4th International Workshop on Uncertainty Reasoning for the Semantic Web
Sunday 26th October, 2008 Karlsruhe, Germany
Storing and Querying Fuzzy Knowledge in the Semantic
Web
National Technical University of Athens, GreeceSchool of Electrical and Computer EngineeringDepartment of Computer ScienceImage, Video and Multimedia Laboratory
MotivationOntologies and OWL Language play a
significant role in the Semantic WebOptimized Reasoners (Fact, Pellet)Various tools for storing and querying OWL
ontologiesCrisp DLs lack the ability to represent uncertain
informationFuzzy DLs Fuzzy Reasoners (FiRE, fuzzyDL)
No work on persistent storage and querying for expressive fuzzy DLs ([Straccia2007] and [Pan 2007] are based on fuzzy DL-Lite)
ContributionIt presents a novel framework for
persistent storage and querying of expressive fuzzy knowledge bases
It integrates Fuzzy Reasoner FiRE with the RDF Triple Store Sesame
It provides experimental evaluation of the proposed architecture using a real-world industrial use case scenario
OutlineQueries in crisp DLRDF StoresThe fuzzy DL f-SHINFuzzy Extensions to QueriesFuzzy OWL Syntax in TriplesSesame integration with FiREEvaluation
Queries in DLsConjunctive Queries
e.g. x <- Man(x) ^ hasChild(x,y) ^ Man(y)Query answering algorithms for crisp DLs
Are highly complex A practically scalable system is not available
Various tools support queries for crisp DLs
( ) . ( , )q X Y conj X Y
RDF StoresData storage systems for storing and querying
ontologiesSesame, Jena, Kowari
Ontologies are stored in various triples formatRDF/XMLN TriplesTurtle
Support of Query languages SPARQLSeRQL (Sesame)
Plugins for incoplete OWL DL querying and reasoning (Sesame-OWLim)
Fuzzy SHIN - SyntaxA fuzzy extension of DL SHINf-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
Assertions are extended to fit uncertainty
⟨ nick : Tall ≥ 0.7 ⟩
⟨ (nick, theo) : isFriend ≥ 0.6 ⟩
Fuzzy SHIN - Inference ServicesEntailment
“Does axiom Ψ logically follow from the ontology T?” Satisfiability
“Can the concept C have any instances with degree of participation ⋈ n in models of ontology T?”
Subsumption“Is the concept D more general than the concept C in
models of the ontology T?”Greatest Lower Bound (GLB)
“What is the greatest degree n that our ontology entails an individual a to participate in a concept C?”
Fuzzy Extensions to QueriesConjunctive threshold Queries (CTQs) [Pan2007 et al]
E.g. x <- Tall(x)>0.6 ^ hasFriend(x,y)>0.7 ^ Short(y) > 0.8
General Fuzzy Conjunctive Queries (GFCQs) [Pan2007 et al]
E.g. x <- Tall(x):0.6 ^ hasFriend(x,y):0.7 ^ Short(y):0.8
Supported only in Fuzzy DL-Lite
1
( ) . ( ( , ) )n
i ii
q X Y atom X Y k
1
( ) . ( ( , ) : )n
i ii
q X Y atom X Y k
Fuzzy OWL Syntax in TriplesRefication
Weak and ill defined modelLimited support by RDF tools
DatatypesConcrete feature like datatypes are not
appropriate for the representation of abstract information like fuzzy assertions
The proposed syntaxIs simple and clearIs based on the use of blank nodes and
properties
Fuzzy OWL Syntax in TriplesFuzzy concept assertion paul frdf:membership _:paulmembTall .
_:paulmembTall rdf:type Tall.
_:paulmembTall frdf:degree “n^^xsd:float”.
_:paulmembTall frdf:ineqType “>=” .
Fuzzy role assertionpaul frdf:paulFriendOffrank frank.
frdf:paulFriendOffrank rdf:type FriendOf.
frdf:paulFriendOffrank frdf:degree “n^^xsd:float”.
frdf:paulFriendOffrank frdf:ineqType “>=”.
Fuzzy Reasoning Engine FiREIt is a JAVA based implementation available at
www.image.ece.ntua.gr/~nsimou/FiRE/Can be used through a user friendly interface or
as an APICurrently supports F-SHINThe reasoning algorithm uses the fuzzy tableau
[Stoilos 2007]Its syntax is based on Knowledge Representation
System Specification appropriately extended to fit uncertainty
E.g. (instance eve Model >= 0.7)
(related peter eve has-friend >= 0.8)
Sesame integration with FiRERDF-Store Sesame is used as a back end for
storing and querying.FiRE is used as a front end permitting a user to
Write or edit a fuzzy knowledge base (Fuzzy KRSS Format)
Ask the GLB of all the individuals of the KB in all the concepts (primitive and defined) of the KB
Export the explicit and implicit knowledge to a Sesame repository using the proposed Fuzzy OWL syntax
Import a fuzzy knowledge base from a Sesame repository
Perform CTQs and GFCQs
Querying-IConjunctive threshold Queries (CTQs)
FiRE Syntaxx,y <- Man(x) ^ Tall(x)> 0.6 ^ hasfriend(x,y) > 0.7 ^ Woman(y) ^ GoodLooking(y) >= 0.8
The query is converted to a SPARQL query based on the Fuzzy OWL syntax in triples
The query is evaluated by SesameThe results are visualized by FiRE
Querying-IIGeneral Fuzzy Conjunctive Queries (GFCQs)
FiRE Syntaxx,y <- Man(x)^ Tall(x) : 0.6 ^ has-friend(x,y) : 0.7
^ Woman(y) ^ GoodLooking(y) : 0.8
A SPARQL query is constructed in a way thatThe membership degrees of every Role or Concept used in
atoms criteria are retrieved for the individuals that satisfy all the atoms
The results are processed according to the query weights by FiRE permitting Fuzzy threshold queries using fuzzy implicationFuzzy aggregation queries using fuzzy aggregation
functionsFuzzy weighted queries using weighted t-norms
The results are visualized by FiRE
Fuzzy Query Examples(instance peter Man)
(instance peter Thin >= 0.6 )
(instance peter Clever >= 0.8 )
(instance peter Tall >= 0.7 )
(instance eve Model >= 0.7)
(related peter eve has-friend >= 0.7)
x,y <- Tall(x) > 0.2 ^ Clever(x) > 0.3 ^ has-friend(x,y) > 0.4 ^ Model(y) > 0.6
x :peter y:eve
x,y <- Tall(x) : 0.2 ^ Clever(x) : 0.3 ^ has-friend(x,y) : 0.4 ^ Model(y) : 0.6
Using fuzzy aggregation queries i.e.
<x,y> <peter eve> : 0.721 1 2 2 4 4
1 2 4
( ) ( ) ... ( )
...
k d k d k d
k k k
Use caseA production company had a database of 2140
models used for casting purposesRich information was stored for each model...
i.e. age, height, body type, fitness type, tooth condition…
Inaccessible to the producers becauseThe information was fuzzy The information was not semantically organizedRetrieval of models based on threshold criteria was
inaccurateThe combination of information about models that
would form profession-like characteristics (like Teacher, Mafia, Scientist ) was extremely difficult
The Fuzzy Knowledge baseThe set of Concepts consisted of the features
described in the databaseAge was fuzzified giving concepts Baby, Kid, Teen, 20s,30s,40s,
60s and OldHeight was fuzzified depending on the model’s gender giving
concepts Very_Short, Short, Normal_Height, Tall, Very_Tall
The set of Roles consisted of some special characteristicsi.e. has-hairLength, has-hairColor…
The set of individuals consisted of the models An expressive terminology was defined with 33
concepts that refered to the professions of intereste.g. Scientist≡Male⊓Serious ⊓ (40s ⊔ 50s) ⊓ ∃has-eyeCondition.Glasses
ResultsExplicit knowledge
2140 individuals82 Concepts 20 Roles29469 assertions (Fuzzy KRSS)
Using GLB for all individuals in all the concepts of the KB2430 implicit assertions were extracted (Fuzzy KRSS)Average time was 1112 milliseconds per individualUpload time to Sesame repository varied
from 200 millisecs in an empty repository (0-10.000 triples) to 700 millisecs in repository (over 500.000 triples)
Total 529.926 triples (Fuzzy OWL Triples)
ResultsQuery Native
100.000 250.000 500.000
Memory100.000 250.000 500.000
x <- Scientist(x) >= 0.6 1042 2461 3335 894 2368
3332
x <- Father(x)^ Teacher(x)>= 0.8 ^ NormalHeight(x)>= 0.5
1068 2694 3932 994 2524
3732
x <- Legs(x)^Eyes(x)>= 0.8 ^ 20s(x)>=0.5^hashairLength(x,y)^ Long(y)>= 0.7
1352 2876 4021 1002 2650
3809
x <- Scientist(x):0.6 2562 4173 3935 3042 4543
6027
x <- Father(x)^ Teacher(x) :0.8 ^NormalHeight(x):0.5
4318 6694 8935 4341 7896
9306
x <- Legs(x)^Eyes(x):0.8 ^ 20s(x):0.5^hashairLength(x,y)^Long(y):0.7
5423 6998 9230 5420 6879
9974
ConclusionsLimitations
Not complete query answering systemQueries are issued against stored assertions to an RDF
repositoryQueries on Sesame Repositories are not scalable
Dependence on size of the repositoryDependence on the number of query atoms
…HoweverIncompleteness is minimized by GLBQuery answering for crisp DLs is still an open
problem Query algorithms are highly complex No practically scalable system is known
References[Pan2007] J.Z. Pan, G. Stamou, G. Stoilos, and E.
Thomas. Expressive querying over fuzzy DL-Lite ontologies. In Proceedings of the International Workshop on Description Logics (DL 2007), 2007.
[Stoilos2007] G.Stoilos, G.Stamou, V.Tzouvaras, J.Z.Pan, and I.Horrocks. Reasoning with very expressive fuzzy description logics. Journal of Artificial Intelligence Research, 30(5):273-320, 2007.
[Straccia2007] U.Straccia and G.Visco. DLMedia: an ontology mediated multimedia information retrieval system. In Proceeedings of the International Workshop on Description Logics (DL 2007), 2007.
Questions - Acknowledgements
Thank you!
This work is supported by the FP6 Network of Excellence EU project X-Media (FP6-026978) and K-space (IST-2005-027026).
Fuzzy SHIN - Knowledge baseA fuzzy knowledge base is a triple
Σ= (T ,R, A) where:T is a finite set of fuzzy inclusion axioms: A ⊑
C or fuzzy equivalence axioms : 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.
Fuzzy SHIN - SemanticsA 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]
Fuzzy set theoretic operations are used to give semantics to complex concepts
Lukasiewicz Fuzzy negation c(a) = 1-aLukasiewicz Fuzzy intersection t(a,b) = min(a,b)Lukasiewicz Fuzzy union u(a,b) = max (a,b)Kleenes-Dienes Fuzzy implication ℑ(a,b) =
max(1-a, b)
A SPARQL QuerySELECT ?x WHERE {
?x ns5:membership ?Node1 .
?Node1 rdf:type ?Concept1 .
?Node1 ns5:ineqType ?IneqType1 .
?Node1 ns5:degree ?Degree1 .
FILTER regex (?Concept1 , "CONCEPTS#Tall")
FILTER regex (?IneqType1 ,">")
FILTER (?Degree1 >= "0.8^^xsd:float")
?BlankRole2 ns5:ineqType ?IneqType2 .
?BlankRole2 ns5:degree ?Degree2 .
?BlankRole2 rdf:type ?Role2 .
?x BlankRole2 ?y .
FILTER regex (?Role2 , "ROLES#has-friend")
FILTER regex (?IneqType1 ,">")
FILTER (?Degree2 >= "1.0^^xsd:float")
...
}