620 likes | 767 Views
Uncertainty and Semantic web. Jennifer Sleeman. Agenda. Define uncertainty Provide background Show areas of research Highlight various approaches Provide a demonstration of Pronto. Definition - Uncertainty. Knowledge can be inaccurate or incomplete Knowledge can be imprecise or “fuzzy”
E N D
Uncertainty and Semantic web Jennifer Sleeman
Agenda • Define uncertainty • Provide background • Show areas of research • Highlight various approaches • Provide a demonstration of Pronto
Definition - Uncertainty • Knowledge can be inaccurate or incomplete • Knowledge can be imprecise or “fuzzy” ….leads to uncertainty…
Definition - Uncertainty • Machine-readable information • Applications that work with random information (image processing, geospatial, information retrieval, etc.) • Ontology concept definitions • Vague concepts: • Tall, Small, Big, …. • Green, Blue, …. • Few, Many, …. • Semantic web services ….work with uncertainty…
Background – Description Logic Naming Conventions Taken from Wikipedia [12].
Is representing uncertainty necessary? • Tim Berner-Lee rejection of uncertainty • Not necessary [7] • Scalability issues [7]
Can you describe knowledge using a “monotonic bivalent language”[7]?
What about grey? Uncertainty
Is it necessary? Taken from [5] presented at the URSW 2008.
General Approaches to Uncertainty and Semantic Web • Incomplete/Distorted knowledge [1] • Possibility degrees alternatives • Inability to define concepts precisely [1] • Degree of truth • Conflicting alternatives [1] • Degree of probability According to [1], since how we solve uncertainty problems depends upon the domain, it is hard to define a single language extension.
Areas of Research (based upon 2007/2008 URSW Conference agendas) • Extending Semantic Web to support uncertainty • Fuzzy theory • Probability theory • Uncertainty and Ontologies • Uncertainty and Web Services
Extending the Semantic Web • Extend Semantic Web languages to support probabilistic, possibilistic, and fuzzy reasoning • Can be at the ontology layer or the rules layer • Within the ontology layer proposals for: • Syntax and Semantics • Logical Formalisms
Fuzzy Theory “…In classical set theory, the membership of elements in a set is assessed in binary terms according to a bivalent condition — an element either belongs or does not belong to the set. By contrast, fuzzy set theory permits the gradual assessment of the membership of elements in a set; this is described with the aid of a membership function valued in the real unit interval [0, 1]…”[10]
Fuzzy Approaches • Extending languages such as OWL with fuzzy extensions • Extending Description Logic with fuzzy extensions • If a language is extended, one must provide a way to support reasoning of the language with the fuzzy extension
Rules and Uncertainty • Rules Interchange Format • Rules Markup Language • For representing/interchanging rules • Attempt to provide ways to represent various types of uncertainty [1] • Not as much recent attention as ontology layer • fuzzy RuleML defines way to specify membership degree [1] • Example: Taken from [1].
Fuzzy RDF • Extends syntax and semantics of RDF • Triple extended to support real number on the interval [0,1] • n: s p o [13] • Interpretation • Subject, object has degree of membership to extension of predicate [13] • Satisfies statement if • Membership degree of {subject, object} to the extension of the predicate is >= to n [13]
Fuzzy RDF • RDFS extended • “Class extensions are fuzzy sets of domain elements” [13] • Domains are fuzzy and their assignment to properties can also be fuzzy [13] • Inference engines can be extended to support such fuzziness
Fuzzy Description Logic • Fuzzy • One such proposal • Solve problem of representing and reasoning of fuzzy concepts • With concrete domains – reasoning using concrete data types • With fuzzy version domains are fuzzy • Modifiers are supported (very, slightly, etc.) [12]
Fuzzy Description Logic Non-fuzzy Concrete Domain: Concrete Fuzzy Domain: Taken from [12].
Fuzzy Description Logic • Interpretations are fuzzy • From satisfied/unsatisfied to a degree of truth [0,1] • Satisfiability of fuzzy axiom given fuzzy interpretation [12] • “Fuzzy axiom a logical consequence of a knowledge base iff every model in the knowledge base satisfies the fuzzy axiom” [12] • Reasoning a problem • Computationally no calculus exists to check for satisfiability of a fuzzy knowledge model [12]
Fuzzy OWL • Extension of OWL • Example (describing the safety of a location): • Without fuzzy, the location is either safe or not safe • With fuzzy, the location is safe to a degree • Classes and properties are ‘fuzzy’ • A class is considered a fuzzy set [1] • A property is a fuzzy relation over a set [1]
Fuzzy OWL • Requires extension of to map OWL entailment to satisfiability [4] • Reasoning changes in that when concepts are represented as nodes in forest-like representations, a “membership degree” is associated with each node indicating it belongs to a concept [4] • Degrees added to OWL facts
Fuzzy OWL Taken from [4].
Probability Theory “..the central objects of probability theory are random variables, stochastic processes, and events: mathematical abstractions of non-deterministic events or measured quantities that may either be single occurrences or evolve over time in an apparently random fashion…” [11]
PR-OWL • Developed as an extension to OWL (basically an upper ontology) • Represents complex Bayesian models [21] • Uses MEBN logic rather than extending OWL • A first order Bayesian logic [21] • Consists of entities and attributes • Attributes about entities and relationships to each other – MEBN fragments (MFrag) [21] • Represent conditional probability distribution [21] • MFrags organized into MEBN Theories (MTheories) [21] • Collectively satisfy consistency constraints [21] • Goal • Provide a way to support Bayesian models
PR-OWL Taken from [21].
BayesOWL • Express OWL ontologies as Bayesian networks by means of rules • For each node, a conditional probability table (CPT) is constructed [15] • All subject and object classes translated into concept nodes [15] • Arc drawn between 2 concept nodes if the 2 classes are related by predicate [15] • Direction based on class hierarchy • L-Nodes generated during translation to represent OWL logical operators • True/false value for each node indicates whether the instance belongs to the concept • CPTs are approximated using the “iterative proportional fitting procedure (IPFP)” [15] • Restricted currently to OWL-DL taxonomies [15] • Goals • Support ontology reasoning using probabilistic approach • Support ontology mapping
BayesOWL rdfs:subClassOf owl:intersectionOf owl:unionOf owl:complementOf owl:equivalentClass owl:disjointWith Taken from [15].
BayesOWL • DAG constructed • CPTs for L-Nodes specified • Concept nodes approximated using D-IPFP Taken from [15].
BayesOWL • Reasoning Support [15] • Concept satisfiability • Concept overlapping • Concept subsumption • Extensions to OWL to support probabilistic representation [15] • PriorProb • CondProb • Concept Mapping [15]
BayesOWL Extensions to OWL Taken from [15].
Pronto • Non-monotonic probabilistic DL reasoner • Built on top of Pellet • Uses P-SHIQ(D) formalism [8] • Expressing uncertain axioms • Syntax based upon Lukasiewicz’s conditional constraints [8] • Probabilistic Reasoning • Lehmann’s lexicographic entailment [8] • Represents uncertain ontological knowledge and reasoning [8] • Capable of representing uncertainty in both ABox and TBox axioms [8] • “All inferences are done in a totally ‘logical’ way” (no translation) [8] • Uses “OWL 1.1 axiom annotations to associate probability intervals with uncertain OWL axioms” [8] • Doesn’t scale beyond “15 generic (TBox) conditional constraints” [9]
Pronto • Conditional constraints • (D|C)[l,u] • C and D concepts in P-SHIQ(D) • [l,u] closed interval within [0,1] • Supports overriding • Can handle certain probabilistic conflicts • Flying birds/penguin problem • Pronto allows “more specific constraints to override more generic ones” [9] • “if Pronto knows that Tweety is a Penguin and Penguin is a subclass-of Bird, it will override the constraint (FlyingObject|Bird)[0.9;1.0] by (FlyingObject|Penguin)[0.0;0.05] and correctly entail Tweety:(FlyingObject|owl:Thing)[0.0;0.05]. “ [9]
Uncertainty and Ontologies - Mapping • Mapping a problem • Existing approaches - combination of syntactic and semantic measures [18], use machine learning, or linguistics and natural language processing [15] • Quality varies depending upon domain [18] • Wang argues without use of a thesaurus, inaccuracies will occur [22] • Problem: • When mapping a concept from ontology A to ontology B there isn’t always a single concept match but rather a number of concepts that match to some degree
Uncertainty and Ontologies - Mapping • A proposed truth theory solution based on the following [18]: • Dempster-Shafer, uncertain reasoning over potential mappings • Evidence Theory • Similarity matrix comparing all concepts/properties • Similarity measure of a concept between O1 and O2 • DS combines evidence learned to form new belief • Promising approach • Multi-agent ontology mapping framework [18] • Not domain dependent • Doesn’t require large amounts of training data
Uncertainty and Ontologies - Mapping • A proposed solution by Wang [22]: • ACAOM • Uses WordNet to calculate similarities for node names • Name based mapping • Instance strategy • More semantics more feasible to match • Documents assigned to nodes • Uses vector space models to rank matches
Uncertainty and Ontologies - Mapping • BayesOWL [15] also proposed a solution • Argue that existing similarity approaches will not work • If degree of similarity is not present in both concepts being matched [15] • If concept itself is fuzzy [15] • Uses BayesOWL and belief propagation between BNs [15] • Ontologies are first translated into BNs [15] • Use probabilistic evidence reasoning to determine match [15]
Uncertainty and Ontologies – An Ontology of Uncertainty • Proposed by the W3C UR3W-XG group • Provides a vocabulary for representing different types of uncertainty • Was a good start but refinement needed [20] • Strategy to use such an ontology as a way to drive a reasoner • Open issue: coordination of reasoning of different uncertainty models in knowledge base [19] • Uses SWRL rules to assign uncertainty to each relation [19]
Uncertainty and Ontologies – An Ontology of Uncertainty Taken from [20].
Uncertainty and Web Services • Service discovery – what is best service for request? • Matching goal to service • Brokers used for filtering • Semantic Web Service Framework • Semantic Web Service Language – concepts/descriptions [17] • Semantic Web Service Ontology – conceptual model [17] • It is argued that current frameworks use first order and description logics and “goal capabilities” are “based on subsumption checking or query-answering”[16] • Proposed approach uses Incident Calculus [16]
Demo - Pronto • Pronto Example: Breast Cancer Risk Models • Models 2 types of risks – absolute and relative • Combining risk factors to determine likelihood of breast cancer for a woman [8] • Distinction between known and inferred • Pronto uses an ontology for knowledge • Uses probabilistic statements to enable computable inferencing [8] • The probabilistic statements complement the OWL syntax
Demo - Pronto • Risk factors relevant to breast cancer are subclasses of ‘RiskFactor’ • Categories of women that have certain risk factors are subclasses of ‘WomanWithRiskFactors’ • Women with risk of developing cancer subclass ‘WomanUnderBRCRisk’ • The goal: • “Compute the probability that a certain woman is an instance of some WomanUnderBRCRisk subclass given that she is an instance of some WomanWithRiskFactors subclass” [8] • “Infer generic probabilistic subsumption between classes under WomanUnderBRCRisk and under WomanWithRiskFactors” [8] • Conditional constraints are used to represent ‘uncertain background knowledge’ using the OWL 1.1 axiom annotations [8] • The demo defines constraints to “express how risk factors influence the risk of developing cancer” [8] • Pronto combines the factors and computes the probability that a woman is an instance of a subclass of ‘WomanUnderBRCRisk’
Demo - Pronto <owl:ObjectProperty rdf:about="#hasRiskFactor"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#RiskFactor"/> </owl:ObjectProperty> <owl:Class rdf:about="#WomanTakingEstrogen"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#hasRiskFactor"/> <owl:someValuesFrom rdf:resource="#Estrogen"/> </owl:Restriction> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="#Woman"/> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanWithRiskFactors"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Woman"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasRiskFactor"/> <owl:someValuesFrom rdf:resource="#RiskFactor"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="#Woman"/> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanAgedUnder50"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Woman"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasAge"/> <owl:someValuesFrom rdf:resource="#AgeUnder50"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="#WomanWithRiskFactors"/> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanUnderAbsoluteBRCRisk"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Woman"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasRisk"/> <owl:someValuesFrom rdf:resource="#AbsoluteBRCRisk"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanUnderBRCRisk"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Woman"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasRisk"/> <owl:someValuesFrom rdf:resource="#BRCRisk"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanUnderIncreasedBRCRisk"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="#hasRisk"/> <owl:someValuesFrom rdf:resource="#IncreasedBRCRisk"/> </owl:Restriction> <rdf:Description rdf:about="#WomanUnderBRCRisk"/> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanUnderLifetimeBRCRisk"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#Woman"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasRisk"/> <owl:someValuesFrom rdf:resource="#LifetimeBRCRisk"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="#WomanUnderAbsoluteBRCRisk"/> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl
Demo - Pronto <owl:Class rdf:about="#WomanUnderModeratelyIncreasedBRCRisk"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="#WomanUnderIncreasedBRCRisk"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasRisk"/> <owl:someValuesFrom rdf:resource="#ModeratelyIncreasedBRCRisk"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> <rdfs:subClassOf rdf:resource="#WomanUnderIncreasedBRCRisk"/> <owl:disjointWith rdf:resource="#WomanUnderStronglyIncreasedBRCRisk"/> </owl:Class> Taken from http://clarkparsia.com/pronto/cancer_ra.owl