dice-group / Ontolearn

Ontolearn is an open-source software library for explainable structured machine learning in Python. It learns OWL class expressions from positive and negative examples.
https://ontolearn-docs-dice-group.netlify.app/index.html
MIT License
39 stars 9 forks source link

closely investigate Aunt example #95

Closed SimonBin closed 7 months ago

SimonBin commented 3 years ago

(Re-)evaluate Ontolearn on the Aunt example, it did not find the perfect solution in a reasonable time when this issue was created. Check if it has improved or otherwise try to find the difference to DL-Learner

SimonBin commented 3 years ago

Dl-Learner: 7 seconds to 100%

Demirrr commented 3 years ago

Refinement operator of "our CELOE" is not the original refinement operator. I would even go further and say that it is inaccurate. In the following paragraph, I would like to give arguments to support my claim.

Given a node containing a concept/class expression.

  1. Get all its direct refinements.
  2. Generate Unions and Intersections of (1) and node in here.
  3. Get all leaf concepts. Concepts that are subsumed by the concept in node and do not have any sub concept defined in Tbox.
  4. Negate all (3).
  5. Generate restrictions => inaccurate.

Given a concept C, the 5.th step generates concepts ∀.r.C and ∃.r.C. For instance, lets assume that C = FATHER, then we generate ∀.Has.FATHER. Being a FATHER does not necessarily entail having a father.

SimonBin commented 3 years ago

I already fixed the latter but of course there are other differences