From: <jen...@us...> - 2008-02-27 09:31:45
|
Revision: 644 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=644&view=rev Author: jenslehmann Date: 2008-02-27 01:31:41 -0800 (Wed, 27 Feb 2008) Log Message: ----------- - several fixes for datatype learning - datatype learning turned off by default, because DIG 1.1 does not support the necessary reasoning methods Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLComponent.java trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/RhoDown.java trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/core/Reasoner.java trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLComponent.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLComponent.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLComponent.java 2008-02-27 09:31:41 UTC (rev 644) @@ -164,8 +164,8 @@ options.add(CommonConfigOptions.useNegation()); options.add(CommonConfigOptions.useBooleanDatatypes()); DoubleConfigOption noisePercentage = new DoubleConfigOption("noisePercentage", "the (approximated) percentage of noise within the examples"); - noisePercentage.setLowerLimit(0.0); - noisePercentage.setUpperLimit(1.0); + noisePercentage.setLowerLimit(0); + noisePercentage.setUpperLimit(100); options.add(noisePercentage); return options; } @@ -228,12 +228,13 @@ */ @Override public void init() { + if(searchTreeFile == null) searchTreeFile = new File(defaultSearchTreeFile); if(writeSearchTree) Files.clearFile(searchTreeFile); - + // adjust heuristic ExampleBasedHeuristic algHeuristic; @@ -243,8 +244,7 @@ if(learningProblem instanceof PosOnlyDefinitionLP) { throw new RuntimeException("does not work with positive examples only yet"); } - algHeuristic = null; - // algHeuristic = new FlexibleHeuristic(learningProblem.getNegativeExamples().size(), learningProblem.getPercentPerLengthUnit()); + algHeuristic = new FlexibleHeuristic(((PosNegLP)learningProblem).getNegativeExamples().size(), ((PosNegLP)learningProblem).getPercentPerLengthUnit()); } // compute used concepts/roles from allowed/ignored Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-02-27 09:31:41 UTC (rev 644) @@ -210,6 +210,7 @@ } public void start() { + // calculate quality threshold required for a solution allowedMisclassifications = (int) Math.round(noise * nrOfExamples); @@ -559,7 +560,7 @@ tooWeakList.add(refinement); } else { // Lösung gefunden - if(quality == 0) { + if(quality >= 0 && quality<allowedMisclassifications) { solutionFound = true; solutions.add(refinement); } @@ -609,8 +610,11 @@ long algorithmRuntime = System.nanoTime() - algorithmStartTime; if(!finalStats) { + ExampleBasedNode bestNode = candidatesStable.last(); + double accuracy = 100 * ((bestNode.getCoveredPositives().size() + + nrOfNegativeExamples - bestNode.getCoveredNegatives().size())/(double)nrOfExamples); // Refinementoperator auf Konzept anwenden - String bestNodeString = "currently best node: " + candidatesStable.last(); + String bestNodeString = "currently best node: " + bestNode + " accuracy: " + df.format(accuracy) + "%"; // searchTree += bestNodeString + "\n"; System.out.println(bestNodeString); String expandedNodeString = "next expanded node: " + candidates.last(); Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-02-27 09:31:41 UTC (rev 644) @@ -67,7 +67,7 @@ private boolean useAllConstructor = true; private boolean useExistsConstructor = true; private boolean useNegation = true; - private boolean useBooleanDatatypes = true; + private boolean useBooleanDatatypes = false; private boolean quiet = false; Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/RhoDown.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/RhoDown.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/RhoDown.java 2008-02-27 09:31:41 UTC (rev 644) @@ -318,7 +318,8 @@ // falls Konzept ungleich Bottom oder Top, dann kann ein Refinement von Top // angehangen werden if(concept instanceof Union || concept instanceof NamedClass || - concept instanceof Negation || concept instanceof ObjectSomeRestriction || concept instanceof ObjectAllRestriction) { + concept instanceof Negation || concept instanceof ObjectQuantorRestriction + || concept instanceof ValueRestriction) { // long someTimeNsStart = System.nanoTime(); // someCount++; // Refinement von Top anhängen Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-02-27 09:31:41 UTC (rev 644) @@ -324,7 +324,7 @@ } } catch (InvalidConfigOptionValueException e) { - // e.printStackTrace(); + e.printStackTrace(); System.exit(0); } Modified: trunk/src/dl-learner/org/dllearner/core/Reasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/Reasoner.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/core/Reasoner.java 2008-02-27 09:31:41 UTC (rev 644) @@ -92,6 +92,10 @@ public Set<ObjectProperty> getAtomicRoles(); +// public String getBaseURI; +// +// public Map<String, String> getPrefixes(); + // currently, we do not require that datatype properties can be returned; // the main reason is that DIG does not distinguish between datatype and // object properties (of course one could implement it but it is not easy) Modified: trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java 2008-02-27 09:24:04 UTC (rev 643) +++ trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java 2008-02-27 09:31:41 UTC (rev 644) @@ -119,6 +119,10 @@ } + public static String getName() { + return "fast instance checker"; + } + /* * (non-Javadoc) * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |