From: <jen...@us...> - 2009-03-09 09:58:20
|
Revision: 1647 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1647&view=rev Author: jenslehmann Date: 2009-03-09 09:58:09 +0000 (Mon, 09 Mar 2009) Log Message: ----------- implemented coverage weight in class learning to enable reasonable super class learning Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/EvaluatedDescriptionPosNeg.java trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java trunk/src/dl-learner/org/dllearner/scripts/SemanticBible.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/EvaluatedDescriptionPosNeg.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/EvaluatedDescriptionPosNeg.java 2009-03-07 16:25:26 UTC (rev 1646) +++ trunk/src/dl-learner/org/dllearner/algorithms/EvaluatedDescriptionPosNeg.java 2009-03-09 09:58:09 UTC (rev 1647) @@ -77,6 +77,7 @@ * @see org.dllearner.learningproblems.ScorePosNeg#getAccuracy() * @return Accuracy of the description. */ + @Override public double getAccuracy() { return score2.getAccuracy(); } Modified: trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java 2009-03-07 16:25:26 UTC (rev 1646) +++ trunk/src/dl-learner/org/dllearner/algorithms/celoe/CELOE.java 2009-03-09 09:58:09 UTC (rev 1647) @@ -44,7 +44,6 @@ import org.dllearner.core.owl.Individual; import org.dllearner.core.owl.Intersection; import org.dllearner.core.owl.NamedClass; -import org.dllearner.core.owl.ObjectProperty; import org.dllearner.core.owl.Restriction; import org.dllearner.core.owl.Thing; import org.dllearner.learningproblems.ClassLearningProblem; Modified: trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java =================================================================== --- trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java 2009-03-07 16:25:26 UTC (rev 1646) +++ trunk/src/dl-learner/org/dllearner/learningproblems/ClassLearningProblem.java 2009-03-09 09:58:09 UTC (rev 1647) @@ -54,6 +54,9 @@ private boolean equivalence = true; private ClassLearningProblemConfigurator configurator; + // factor for higher weight on coverage (needed for subclass learning) + private double coverageFactor; + // instances of super classes excluding instances of the class itself private List<Individual> superClassInstances; @@ -90,6 +93,12 @@ classInstances = reasoner.getIndividuals(classToDescribe); equivalence = (configurator.getType().equals("equivalence")); + if(equivalence) { + coverageFactor = 1; + } else { + coverageFactor = 3; + } + // we compute the instances of the super class to perform // optimisations later on Set<Description> superClasses = reasoner.getClassHierarchy().getSuperClasses(classToDescribe); @@ -165,7 +174,7 @@ double coverage = instancesCovered/(double)classInstances.size(); double protusion = instancesCovered/(double)retrieval.size(); - return 0.5d * (coverage + protusion); + return (coverageFactor * coverage + protusion) / (coverageFactor + 1); } @Override @@ -239,7 +248,7 @@ // System.out.println(instancesDescription); // System.out.println("prot: " + protusion); - double acc = 0.5d * (coverage + protusion); + double acc = (coverageFactor * coverage + protusion) / (coverageFactor + 1); // System.out.println("acc: " + acc); Modified: trunk/src/dl-learner/org/dllearner/scripts/SemanticBible.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/SemanticBible.java 2009-03-07 16:25:26 UTC (rev 1646) +++ trunk/src/dl-learner/org/dllearner/scripts/SemanticBible.java 2009-03-09 09:58:09 UTC (rev 1647) @@ -43,7 +43,6 @@ import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; -import org.dllearner.reasoning.FastInstanceChecker; import org.dllearner.reasoning.ReasonerType; import org.dllearner.utilities.Files; import org.dllearner.utilities.components.ReasonerComponentFactory; @@ -75,7 +74,7 @@ public static String ontologyPath = "examples/semantic_bible/NTNcombined.owl"; - private static Class<? extends ReasonerComponent> usedReasoner = FastInstanceChecker.class; +// private static Class<? extends ReasonerComponent> usedReasoner = FastInstanceChecker.class; /** * @param args This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |