A Method to Develop Description Logic Ontologies Iteratively Based on Competency Questions: an Implementation

581b9be9563464b27e7055422620473d?s=47 Yuri Malheiros
September 24, 2013

A Method to Develop Description Logic Ontologies Iteratively Based on Competency Questions: an Implementation

Paper presented on Ontobras - 2013

581b9be9563464b27e7055422620473d?s=128

Yuri Malheiros

September 24, 2013
Tweet

Transcript

  1. A Method to Develop Description Lo ic Ontolo ies Iteratively

    Based on Competency Questions: an Implementation Yuri Malheiros and Fred Freitas (CIn - UFPE) (DCE - UFPB - Campus IV)
  2. 90’s 2013 From arcane art form to en ineerin

  3. 90’s 2013 97 Methontolo y 01 OTKM 08 Ontolo y

    101
  4. 90’s 2013 01 WebODE 08 NeOn Toolkit 03 Proté é

  5. The methodolo ies are sli htly di erent, but share

    common features. For example, iterative way of development and the use of competency questions
  6. Problem for DL ontolo y en ineers

  7. Includin axioms is a somewhat complex task, and most DL

    ontolo ies don’t include them! But, they are the core of DL ontolo ies
  8. How to o further?

  9. We are creatin a method and a implementation that reasons

    over Description Lo ic competency questions to build or evolve an ontolo y in an iterative way
  10. ✓ Definition of requirements (CQs) ✓ Evaluation ✓ Automatic addition

    of new axioms (with user’s a reement)
  11. Suppose this ontolo y: Herbivorous ≡ Animal ⊓ ∀eats.¬meat Cow

    ≡ Animal ⊓ ∀eats. rass
  12. The user defines a competency question: Are cows herbivorous? And

    its expected answer: Yes.
  13. Is it possible to answer the competency question correctly usin

    the previous axioms?
  14. Is it possible to answer the competency question correctly usin

    the previous axioms? No.
  15. It cannot infer: Cows ⊑ Herbivorous

  16. The ontolo y needs more axioms to answer the competency

    question correctly. Then, the system should ask the user.
  17. The system asks the user: Are rass and meat disjoint?

  18. The user answer: Yes.

  19. The system adds the followin axiom to the ontolo y:

    Grass ⊑ ¬Meat
  20. Is it possible to answer the competency question correctly usin

    the previous axioms?
  21. Is it possible to answer the competency question correctly usin

    the previous axioms? Yes.
  22. The process 1. Load an ontolo y 2. Write a

    CQ and define the expected answer 3. Does the current DL ontolo y answers the question? If so, the system shows that the CQ is satisfied and it returns to step 2. 4. However, if the system cannot answer the CQ, it enerates a question for the user and asks for the answer to it. 5. The user answer the system’s question. 6. Return to the step 3
  23. How does it work?

  24. The system has three components: - Natural lan ua e

    query - Question enerator - Ontolo y builder
  25. Natural lan ua e query It processes natural lan ua

    e competency questions and make queries
  26. Natural lan ua e query It uses OWL API and

    HermiT OWL reasoner
  27. is red wine a wine ? 1. separate the tokens

  28. is red wine a wine ? 1. separate the tokens

  29. is red wine a wine ? 2. apply a POS

    ta er vbz jj nn dt nn
  30. 3. check the rules Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+

    Property value question: (does|do) (Noun|Adjective|Number)+ have Noun (Noun|Adjective|Number)+ (does|do) (Noun|Adjective|Number)+ Verb (Noun|Adjective|Number)+ Existence question: which (Noun|Adjective|Number)+ exist which (Noun|Adjective|Number)+ have (Noun|Verb) (some|only)? (Noun| Adjective|Number)+
  31. 3. check the rules Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+

    is red wine a wine ? vbz jj nn dt nn
  32. 4. identify entities Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+ is

    red wine a wine ? vbz jj nn dt nn
  33. 4. identify entities Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+ is

    red wine a wine ? vbz jj nn dt nn
  34. 4. identify entities Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+ is

    red wine a wine ? vbz jj nn dt nn
  35. 4. identify entities Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+ is

    red wine a wine ? vbz jj nn dt nn RedWine
  36. 4. identify entities Is-a question: is (Noun|Adjective|Number)+ (a|an) (Noun|Adjective|Number)+ is

    red wine a wine ? vbz jj nn dt nn RedWine Wine
  37. The component runs the HermiT reasoner and uses OWL API

    to retrieve the answer 5. search for the answer
  38. Question enerator This component is still bein studied, since it

    represents a new description lo ics problem
  39. Question enerator Currently, we are assumin that an oracle for

    that problem exists. Then, the user provides the questions.
  40. Ontolo y builder Add new axioms to an ontolo y

    combinin a system’s question and an answer automatically
  41. Is-a system’s question: Example: Is red wine a wine? Answers:

    Yes, no, true or false Axiom: RedWine ⊑ Wine
  42. Property value system’s question: Examples: Does bancroft chardonnay have only

    color white? Do birds eat rass? Answers: Yes, no, true or false Axioms: BancrofChardonnay ⊑ ∀hasColor.White Bird ⊑ ∃eat.Grass
  43. Existence system’s question: Examples: Which wines exist? Answers: A list

    of classes separated by commas or “and”. For example, “red wine, white wine”. Axioms: RedWine ⊑ Wine WhiteWine ⊑ Wine
  44. Results

  45. We tested the natural lan ua e query component usin

    three ontolo ies: - wine.owl - pizza.owl - travel.owl
  46. wine.owl is red wine a wine? true does bancroft chardonnay

    have color white? true
  47. wine.owl which red wines exist? Beaujolais, CabernetFranc, CabernetSauvi non, Chianti,

    CotesDOr, DryRedWine, Mar aux, Medoc, Merita e, Merlot, Pauillac, PetiteSyrah, PinotNoir, Port, RedBordeaux, RedBur undy, RedTableWine, StEmilion, and Zinfandel which wines have su ar sweet? IceWine, LateHarvest, Port, Sauternes, and SweetRieslin
  48. pizza.owl is napoletana a cheesey pizza? true which spicy pizzas

    exist? AmericanHot, Cajun, CheeseyVe etableToppin , IceCream, PolloAdAstra, and SloppyGiuseppe which meaty pizza has toppin some ham toppin ? Capricciosa, CheeseyVe etableToppin , IceCream, LaReine, Parmense, and Siciliana
  49. travel.owl is yo a an activity? true does four seasons

    have ratin three star ratin ? true which adventures exist? BunjeeJumpin , and Safari which accommodations has ratin one star ratin ? Camp round, and Safari
  50. To test the ontolo y builder component, we created a

    TestWine class in wine.owl, and answered some system’s questions
  51. Question: is test wine a wine? Answer: true Code: Class:

    vin:TestWine SubClassOf: vin:Wine
  52. Question: does test wine have only color white? Answer: true

    Code: Class: vin:TestWine SubClassOf: vin:Wine vin:hasColor only vin:White
  53. Question: which test wines exist? Answer: red wine Code: Class:

    vin:RedWine EquivalentTo: vin:Wine and (vin:hasColor value vin:Red) SubClassOf: vin:TestWine
  54. Conclusions

  55. We developed a method and (partially) implemented a system to

    support a novel process for terminolo ical DL ontolo y buildin (TBox)
  56. We have two components runnin : natural lan ua e

    query and ontolo y builder. Naturally, both need improvements: more complex CQs, more CQ types, etc.
  57. Future work

  58. We intend to: Build a complete tool to support this

    type of development, and the tool may be inte rated with popular ontolo y environments like Proté é
  59. We intend to: Study the decidability and complexity of the

    new DL problem for the families of DL lan ua es Controlled tests with lar er ontolo ies for a fair evaluation
  60. Thank You yuri@dce.ufpb.br