| Literature DB >> 23543507 |
Kostyantyn Shchekotykhin1, Gerhard Friedrich, Philipp Fleiss, Patrick Rodler.
Abstract
Effective debugging of ontologies is an important prerequisite for their broad application, especially in areas that rely on everyday users to create and maintain knowledge bases, such as the Semantic Web. In such systems ontologies capture formalized vocabularies of terms shared by its users. However in many cases users have different local views of the domain, i.e. of the context in which a given term is used. Inappropriate usage of terms together with natural complications when formulating and understanding logical descriptions may result in faulty ontologies. Recent ontology debugging approaches use diagnosis methods to identify causes of the faults. In most debugging scenarios these methods return many alternative diagnoses, thus placing the burden of fault localization on the user. This paper demonstrates how the target diagnosis can be identified by performing a sequence of observations, that is, by querying an oracle about entailments of the target ontology. To identify the best query we propose two query selection strategies: a simple "split-in-half" strategy and an entropy-based strategy. The latter allows knowledge about typical user errors to be exploited to minimize the number of queries. Our evaluation showed that the entropy-based method significantly reduces the number of required queries compared to the "split-in-half" approach. We experimented with different probability distributions of user errors and different qualities of the a priori probabilities. Our measurements demonstrated the superiority of entropy-based query selection even in cases where all fault probabilities are equal, i.e. where no information about typical user errors is available.Entities:
Keywords: Description logic; Model-based diagnosis; Ontology debugging; Query selection
Year: 2012 PMID: 23543507 PMCID: PMC3611094 DOI: 10.1016/j.websem.2011.12.006
Source DB: PubMed Journal: Web Semant ISSN: 1570-8268 Impact factor: 1.897
Entailments of ontologies in Example 1 returned by realization.
| Ontology | Entailments |
|---|---|
Possible queries in Example 1.
| Query | |||
|---|---|---|---|
Possible queries in Example 2.
| Query | |||
|---|---|---|---|
Fig. 1The search tree of the greedy algorithm.
Expected scores for minimized queries ().
| Query | Initial score | |
|---|---|---|
| 0.1887 | ||
| 1 | ||
| 0.1887 | 1 |
Expected scores for minimized queries .
| Query | Initial score |
|---|---|
| 0.408 | |
| 0.629 |
Probabilities of diagnoses after answers.
| Answers | ||||
|---|---|---|---|---|
| Prior | 0.0970 | 0.5874 | 0.0026 | 0.3130 |
| 0.2352 | 0 | 0.0063 | 0.7585 | |
| 0 | 0 | 0.0082 | 0.9918 | |
| 0 | 0 | 0 | 1 |
Expected scores for queries.
| Queries | Initial | ||
|---|---|---|---|
| 0.974 | 0.945 | ||
| 0.151 | 0.713 | 1 | |
| 1 | 1 | ||
| 0.540 | 1 | ||
| 0.151 | 0.713 | 1 | |
| 0.686 | 0.805 | 1 | |
| 0.759 | 0.710 | 0.970 |
Diagnosis results for several of the real-world ontologies presented in [8]. #C/#P/#I are the number of concepts, properties and individuals in each ontology. #CS/min/max are the number of conflict sets, and their minimum and maximum cardinality. The same notation is used for diagnoses #D/min/max. The ontologies are available upon request.
| Ontology | DL | Axioms | #C/#P/#I | #CS/min/max | #D/min/max | Domain | |
|---|---|---|---|---|---|---|---|
| 1. | Chemical | 144 | 48/20/0 | 6/5/6 | 6/1/3 | Chemical elements | |
| 2. | Koala | 44 | 21/5/6 | 3/4/4 | 10/1/3 | Training | |
| 3. | Sweet-JPL | 2579 | 1537/121/50 | 1/13/13 | 13/1/1 | Earthscience | |
| 4. | miniTambis | 173 | 183/44/0 | 3/2/6 | 48/3/3 | Biological science | |
| 5. | University | 49 | 30/12/4 | 4/3/5 | 90/3/4 | Training | |
| 6. | Economy | 1781 | 339/53/482 | 8/3/4 | 864/4/8 | Mid-level | |
| 7. | Transportation | 1300 | 445/93/183 | 9/2/6 | 1782/6/9 | Mid-level |
Min/avg/max time and calls required to compute the nine leading most probable diagnoses as well as all diagnoses for the real-world ontologies. Values are given for each stage, i.e. consistency checking, computation of minimal conflicts and minimal diagnoses, together with the total runtime needed to compute the diagnoses. All time values are 15 trial averages and are given in milliseconds.
| Ontology | Leading diagnoses | All diagnoses | |||||
|---|---|---|---|---|---|---|---|
| Consistency | Conflicts | Diagnoses | Consistency | Conflicts | Diagnoses | ||
| Time | 0/3/8 | 90/107/128 | 1/97/326 | 0/3/18 | 105/130/179 | 2/126/402 | |
| Calls | 264 | 6 | 7 | 262 | 6 | 7 | |
| Overall runtime: 723 | Overall runtime: 892 | ||||||
| Time | 0/1/3 | 19/25/30 | 0/11/70 | 0/2/4 | 24/30/37 | 0/12/105 | |
| Calls | 74 | 3 | 10 | 75 | 3 | 11 | |
| Overall runtime: 120 | Overall runtime: 148 | ||||||
| Time | 1/31/112 | 5185/5185/5185 | 0/586/5332 | 31/106/195 | 5192/5192/5192 | 1/438/5319 | |
| Calls | 187 | 1 | 10 | 195 | 1 | 14 | |
| Overall runtime: 5991 | Overall runtime: 6312 | ||||||
| Time | 0/5/14 | 84/157/210 | 0/57/504 | 1/5/15 | 88/167/225 | 3/19/537 | |
| Calls | 111 | 3 | 10 | 189 | 3 | 49 | |
| Overall runtime: 586 | Overall runtime: 1027 | ||||||
| Time | 0/2/3 | 31/41/54 | 0/20/157 | 0/2/5 | 37/46/60 | 2/5/200 | |
| Calls | 126 | 4 | 10 | 283 | 4 | 91 | |
| Overall runtime: 205 | Overall runtime: 536 | ||||||
| Time | 1/12/26 | 410/460/569 | 0/282/2085 | 1/9/80 | 418/510/681 | 16/25/1929 | |
| Calls | 239 | 6 | 10 | 2064 | 8 | 865 | |
| Overall runtime: 2857 | Overall runtime: 25,369 | ||||||
| Time | 0/11/58 | 237/438/683 | 0/352/3176 | 1/9/130 | 222/429/636 | 16/29/6394 | |
| Calls | 337 | 7 | 10 | 3966 | 9 | 1783 | |
| Overall runtime: 3671 | Overall runtime: 65,010 | ||||||
Fig. 2Average number of queries required to select the target diagnosis with threshold . Random and “split-in-half” are shown for the cardinality of minimal diagnoses .
Fig. 3Example of prior fault probabilities of syntax elements sampled from extreme, moderate and uniform distributions.
Minimum, average and maximum number of queries required by the entropy-based and “split-in-half” query selection methods to identify the target diagnosis in real-world ontologies. Ontologies are ordered by the number of diagnoses.
| Ontology | Case | Distribution | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Extreme | Moderate | Uniform | ||||||||
| Min | Avg. | Max | Min | Avg. | Max | Min | Avg. | Max | ||
| Chemical | Good | 1 | 3 | 1 | 2 | 1 | 2 | |||
| Avg. | 1 | 4 | 1 | 3 | 1 | 2 | ||||
| Bad | 2 | 3.03 | 4 | 2 | 3.03 | 4 | 2 | 3.17 | 4 | |
| Koala | Good | 1 | 3 | 1 | 4 | 1 | 3 | |||
| Avg. | 1 | 3 | 1 | 4 | 1 | 3 | ||||
| Bad | 1 | 3.5 | 6 | 2 | 4.33 | 7 | 3 | 4.13 | 5 | |
| Sweet-JPL | Good | 1 | 7 | 2 | 7 | 3 | 7 | |||
| Avg. | 1 | 6 | 1 | 4.03 | 7 | 3 | 4.07 | 6 | ||
| Bad | 3 | 3.93 | 6 | 2 | 4.03 | 6 | 3 | 4 | ||
| miniTambis | Good | 1 | 4 | 2 | 4 | 2 | 3 | |||
| Avg. | 1 | 4 | 2 | 8 | 3 | 7 | ||||
| Bad | 3 | 6.43 | 11 | 3 | 7.93 | 17 | 5 | 9.03 | 13 | |
| University | Good | 1 | 4 | 3 | 7 | 3 | 8 | |||
| Avg. | 1 | 6 | 3 | 7.03 | 12 | 4 | 10 | |||
| Bad | 5 | 9.13 | 15 | 5 | 9.7 | 14 | 6 | 10.03 | 14 | |
| Economy | Good | 1 | 11 | 3 | 4 | 3 | 6 | |||
| Avg. | 1 | 14 | 3 | 12 | 5 | 8 | ||||
| Bad | 8 | 12.3 | 19 | 6 | 11.5 | 21 | 7 | 11.67 | 19 | |
| Transportation | Good | 1 | 14 | 1 | 12 | 3 | 14 | |||
| Avg. | 1 | 16 | 1 | 12 | 3 | 14 | ||||
| Bad | 3 | 18 | 8 | 20 | 3 | 18 | ||||
| Chemical | Good | 2 | 2.63 | 3 | 2 | 2.7 | 3 | 2 | 2.53 | 3 |
| Avg. | 2 | 2.63 | 3 | 2 | 2.67 | 3 | 2 | 2.77 | 3 | |
| Bad | 2 | 3 | 2 | 3 | 2 | 3 | ||||
| Koala | Good | 3 | 3.3 | 4 | 3 | 3.3 | 4 | 3 | 3.47 | 4 |
| Avg. | 3 | 3.33 | 4 | 3 | 3.2 | 4 | 3 | 3.23 | 4 | |
| Bad | 3 | 4 | 3 | 4 | 3 | 4 | ||||
| Sweet-JPL | Good | 3 | 3.83 | 4 | 3 | 3.8 | 4 | 4 | 4 | 4 |
| Avg. | 3 | 3.57 | 4 | 3 | 4 | 3 | 4 | |||
| Bad | 3 | 4 | 3 | 4 | 3 | 3.8 | 4 | |||
| miniTambis | Good | 4 | 5.33 | 6 | 4 | 5 | 6 | 4 | 4 | 4 |
| Avg. | 4 | 5.1 | 6 | 4 | 4.93 | 7 | 5 | 5.43 | 7 | |
| Bad | 5 | 8 | 4 | 7 | 5 | 7 | ||||
| University | Good | 4 | 5.93 | 8 | 4 | 6 | 8 | 4 | 5.43 | 8 |
| Avg. | 4 | 5.87 | 7 | 5 | 9 | 6 | 7.37 | 8 | ||
| Bad | 5 | 9 | 5 | 9 | 5 | 8 | ||||
| Economy | Good | 6 | 7.87 | 11 | 6 | 7.4 | 10 | 6 | 7.5 | 10 |
| Avg. | 6 | 8 | 12 | 5 | 7.63 | 12 | 6 | 8.73 | 13 | |
| Bad | 9 | 14 | 6 | 14 | 8 | 15 | ||||
| Transportation | Good | 5 | 8.03 | 13 | 5 | 7.3 | 11 | 6 | 11.43 | 18 |
| Avg. | 3 | 9 | 16 | 5 | 9.4 | 13 | 5 | 11.43 | 18 | |
| Bad | 10 | 12.67 | 19 | 7 | 13 | 19 | 6 | 13.8 | 20 | |
Average time required to compute at most nine minimal diagnoses (DT) and a query (QT) in each iteration, as well as the average number of axioms in a query after minimization (QL). The averages are shown for extreme, moderate and uniform distributions using the entropy-based query selection method. Time is measured in milliseconds.
| Ontology | Good | Average | Bad | ||||||
|---|---|---|---|---|---|---|---|---|---|
| DT | QT | QL | DT | QT | QL | DT | QT | QL | |
| Chemical | 459.33 | 117.67 | 3 | 461.33 | 121 | 3.34 | 256.67 | 75.67 | 2.19 |
| Koala | 88.33 | 1308.33 | 3.47 | 92 | 1568.67 | 3.90 | 56.33 | 869.33 | 2.36 |
| Sweet-JPL | 2387.33 | 691.67 | 1.48 | 2272 | 926 | 1.61 | 2103 | 1240.33 | 1.57 |
| miniTambis | 481.33 | 2764.33 | 3.27 | 398.33 | 2892 | 2.53 | 238.67 | 3223 | 1.76 |
| University | 189.33 | 822.67 | 3.91 | 145 | 903.33 | 2.82 | 113 | 872 | 2.11 |
| Economy | 2953.33 | 6927 | 3.06 | 3239 | 8789 | 3.80 | 3083 | 8424.67 | 1.58 |
| Transportation | 6577.33 | 9426.33 | 2.37 | 7080.67 | 10135.33 | 2.29 | 7186.67 | 9599.67 | 1.64 |
Fig. 4Average time/query gain resulting from the application of the extended CKK partitioning algorithm. The whiskers indicate the maximum and minimum possible average gain of queries/time using extended CKK.
Fig. 5Average time required to identify the target diagnosis using CKK and brute force query selection algorithms.
Statistics for the real-world ontologies used in the stress-tests measured for a single random alteration. #CS/min/max are the number of minimal conflict sets, and their minimum and maximum cardinality. The same notation is used for diagnoses #D/min/max. The minimum/average/maximum time required to make a consistency check (Consistency), compute a minimal conflict set (QuickXplain) and a minimal diagnosis are measured in milliseconds. Overall runtime indicates the time required to compute all minimal diagnoses in milliseconds.
| Ontology | Cton | Opengalen-no-propchains |
|---|---|---|
| Axioms | 33,203 | 9664 |
| DL | ||
| #CS/min/max | 6/3/7 | 9/5/8 |
| #D/min/max | 15/1/5 | 110/2/6 |
| Consistency | 5/209/1078 | 1/98/471 |
| QuickXplain | 17,565/20,312/38,594 | 7634/10,175/12,622 |
| Diagnosis | 1/5285/38,594 | 10/1043/19,543 |
| Overall runtime | 146,186 | 119,973 |
Average values measured for extreme, moderate and uniform distributions in each of the good, average and bad cases. #Query is the number of queries required to find the target diagnosis. Overall runtime as well as the time required to compute a query (QT) and at least nine minimal diagnoses (DT) are given in milliseconds. Query length (QL) shows the average number of axioms in a query.
| Ontology | #Query | Overall | QT | DT | QL |
|---|---|---|---|---|---|
| Cton | 3 | 176,828 | 6918 | 52,237 | 4 |
| Opengalen-no-propchains | 8 | 154,145 | 2349 | 22,905 | 4 |
| Cton | 4 | 177,383 | 6583 | 52,586 | 3 |
| Opengalen-no-propchains | 7 | 151,048 | 3752 | 21,344 | 4 |
| Cton | 5 | 190,407 | 5742 | 35,608 | 1 |
| Opengalen-no-propchains | 14 | 177,728 | 1991 | 11,319 | 3 |