Presentation at the K-CAP 09 conference. Defines measures of agreement and disagreement of ontologies with statements. These measures are extended into measures of agreement and disagreement between ontologies, and measures of consensus and controversy concerning a statement in an ontology repository. Experiments are realized using the Watson collection of ontologies.
3. What do we mean? Therefore, two different ontologies can express two different views (=disagree)
4. What do we mean? Therefore, two different ontologies can express two different view (=disagree) Or the same/similar view(s) (=agree)
5. What do we mean? Similarly, an ontology can agree or disagree with a single ontology statement Seafood subClassOf Meat No, don’t think so… Yes, of course! ?
6. And why is that interesting? Being able to measure these (dis)agreements could help in choosing the right ontology, in understanding what exist and in making sense of a collection of ontologies ?
7. A naïve approach… To detect disagreements, one could “simply” merge ontolologies and check for incoherence/inconsitency SeaFooddisjointWith Meat SeaFoodsubClassOf Meat DISAGREEMENT
8. A naïve approach, but… … a bit limited Animal subClassOf Human ? Human subClassOf Animal Lion subClassOf Species ? Lion type Species ? Car subClassOf Vehicle EricCantona type FootballPlayer
9. Requirements R1:Ontologies agree with themselves Kind of obvious R2: Covering different domains is not agreeing Car vs Footballer example. R3: There are different levels of agreements and disagreements Human subClassOf Animal vsHuman disjointWith Animal Human subClassOf Animal vsAnimal subClassOf Human R4: (dis)agreement measures should be independent from matching techniques Matching is necessary, but not part of the measure R5: It is possible to agree and disagree at the same time Lion type Species vsLion subClassOf Species
10. Basic framework The clever bit: using 2 measures instead of one… Agreement(s, O) [0..1] Disagreement(s, O) [0..1] With s a statement and O an ontology Interpretation: A (s, O) = 1, D(s, O) = 0, O fully agrees with s A (s, O) = 0, D(s, O) = 1,O fully disagrees with s A (s, O) = 0, D(s, O) = 0,O doesn’t care about s A (s, O) > 0, D(s, O) > 0,O agrees to a certain extent with s or disagrees to a certain extent with s, or both
11. But how to calculate that? Considering a statement <subject, relation, object>, an ontology might agree or disagree with the relation between entities corresponding to subject and object. Extracting information about the relation between matching entities in an ontology: O= Animal Human subClassOf Animal Matching s= LivingBeing Human Bird R-Module:Human subClassOf Animal, Animal subClassOf Human, Animal equivalentClass Human Minimal RM:Animal equivalentClass Human
12. Simplified representation of MRMs With subject’ and object’ the matching entities on O to the subject and object in s, the MRM of O regarding s can be represented as a list of relations: subject’ subClassOf object’ subClassOf object’ subClassOf subject’ subClassOf-1 etc. Assumptions: The MRM is non redundant (part of the definition) {equivalenClass} OK {equivalentClass, subClassOf, subClassOf-1} not OK The MRM should be coherent and consistent (guarantied if O is coherent and consistent, in accordance with our 1st requirement: an ontology agrees with itself) {subClassOf} OK {subClassOf, disjointWith} not OK The MRM should be homogeneous in terms of modeling, i.e., it should not imply that en entity is at the same time a class and a property for example. {fatherOf domain Person, fatherOf range Person} OK {fatherOf domain Person, fatherOfsubClassOf Person} not OK
13. Nice Property and Measure definitions The good news: There is a small finite set of possible MRM, whatever is are O and s Which means? The measures of agreement and disagreement can be entirely defined by providing explicitly the values in two matrixes Agreement Disagreement Relation in s 0 < A1 < A2 < 1 MRM
14. So? A1/D1 Animal subClassOf Human Human subClassOf Animal Lion subClassOf Species Lion type Species A2/D2 0/0 Car subClassOf Vehicle EricCantona type FootballPlayer
15. Measuring agreement and disagreement between whole ontologies, to understand a set of ontologies The big formulas: What to do now…
16. Using 21 ontologies containing a concept SeaFood Camp 1: seaFooddisjointWith Meat Camp 2: SeaFoodsubClassOf Meat Disagreement Agreement
17. Measuring consensus and controversy in a collection of ontologies R, a repository of ontologies. Can be positive (high agreement, low disagreement) or negative (the contrary) High controversy means no clear cut between agreement and disagreement What else could we do?
18. Watson: Thousands of ontologies automatically crawled from the Web (http://watson.kmi.open.ac.uk) a: global agreement, d: global disagreement, cs: consensus, ct: controversy Assessing the statements related to SeaFood in Watson Example
19. Using a set of 456 evaluated mappings between 2 large thesaurus in the agricultural domain (71.3% precision) Conclusion: There is less consensus on incorrect mappings. Controversy indicates mappings that need to be investigated more. Can we use it for assessing mappings?
20. We provided definitions of measures of agreement and disagreement in ontologies, including consensus and controversy in ontology repositories. We showed that when applied on real Web ontologies, this could help assessing statements and mappings, and getting an overview of a particular set of ontologies. We realized an implementation based on the Watson API. We intend to make it available through a Web service. Many applications to explore: visualization of ontology collections, ontology selection and reuse, propagation of trust based on agreement, … … and new directions: computing explanations for the (dis)agreement, different parameters and matching techniques for different applications, resolving disagreements (decide who’s right), etc. Also, complexity and performance are still difficult issues. Conclusion
First, quick presentation: Semantic web, ontologies, etc. (big vision, but we are mainly talking about making real things out of it…)Using the semantic web? (what is there to reuse… ???) Put need for a gateway… so Watson… applications Also, use it for … euh evaluating things:: agreement/disagreement (would be useful)This is passive… contributing change from watson to cupboard (image from ontolog) + them provide QUALITY semantic web stuff (metadata, reviews, etc.)But that is still quite some effort trust in the watsonplugin (and poweraqua?)