From: <jen...@us...> - 2011-08-28 18:34:47
|
Revision: 3155 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3155&view=rev Author: jenslehmann Date: 2011-08-28 18:34:39 +0000 (Sun, 28 Aug 2011) Log Message: ----------- a number of further edits towards the new configuration system Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java trunk/components-core/src/main/java/org/dllearner/refinementoperators/RhoDRDown.java trunk/components-core/src/test/java/org/dllearner/test/FuzzyDLLTest_noFuzzyTrains.java trunk/interfaces/src/main/java/org/dllearner/cli/CLI.java trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java trunk/interfaces/src/main/java/org/dllearner/gui/TreeWindow.java trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EnrichmentEvaluation.java trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EvaluationComputingScript.java trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/OntologyEngineering.java trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java trunk/scripts/src/main/java/org/dllearner/scripts/matching/LearnOSMClasses.java trunk/scripts/src/main/java/org/dllearner/scripts/matching/Stanley.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -31,16 +31,13 @@ import java.util.TreeSet; import org.apache.log4j.Logger; +import org.dllearner.core.AbstractCELA; +import org.dllearner.core.AbstractLearningProblem; +import org.dllearner.core.AbstractReasonerComponent; import org.dllearner.core.ComponentAnn; import org.dllearner.core.ComponentInitException; import org.dllearner.core.EvaluatedDescription; -import org.dllearner.core.AbstractCELA; -import org.dllearner.core.AbstractLearningProblem; -import org.dllearner.core.AbstractReasonerComponent; -import org.dllearner.core.config.BooleanEditor; -import org.dllearner.core.configurators.CELOEConfigurator; import org.dllearner.core.options.BooleanConfigOption; -import org.dllearner.core.options.CommonConfigMappings; import org.dllearner.core.options.CommonConfigOptions; import org.dllearner.core.options.ConfigOption; import org.dllearner.core.options.DoubleConfigOption; @@ -82,7 +79,7 @@ public class CELOE extends AbstractCELA { private static Logger logger = Logger.getLogger(CELOE.class); - private CELOEConfigurator configurator; +// private CELOEConfigurator configurator; private boolean isRunning = false; private boolean stop = false; @@ -145,17 +142,44 @@ private int minHorizExp = 0; private int maxHorizExp = 0; - public CELOEConfigurator getConfigurator() { - return configurator; - } + ConceptComparator cc = new ConceptComparator(); + // TODO: turn those into config options + + Set<NamedClass> allowedConcepts = new TreeSet<NamedClass>(cc); + Set<NamedClass> ignoredConcepts = new TreeSet<NamedClass>(cc); + + private boolean writeSearchTree; + + private String searchTreeFile = "log/searchTree.txt"; + + private int maxNrOfResults; + + private double noisePercentage; + + private boolean filterDescriptionsFollowingFromKB; + + private boolean reuseExistingDescription; + + private boolean replaceSearchTree; + + private int maxClassDescriptionTests; + + private int maxExecutionTimeInSeconds; + + private boolean terminateOnNoiseReached; + +// public CELOEConfigurator getConfigurator() { +// return configurator; +// } + public CELOE() { } public CELOE(AbstractLearningProblem problem, AbstractReasonerComponent reasoner) { super(problem, reasoner); - configurator = new CELOEConfigurator(this); +// configurator = new CELOEConfigurator(this); } public static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems() { @@ -206,8 +230,8 @@ // compute used concepts/roles from allowed/ignored // concepts/roles Set<NamedClass> usedConcepts; - Set<NamedClass> allowedConcepts = configurator.getAllowedConcepts()==null ? null : CommonConfigMappings.getAtomicConceptSet(configurator.getAllowedConcepts()); - Set<NamedClass> ignoredConcepts = configurator.getIgnoredConcepts()==null ? null : CommonConfigMappings.getAtomicConceptSet(configurator.getIgnoredConcepts()); +// Set<NamedClass> allowedConcepts = configurator.getAllowedConcepts()==null ? null : CommonConfigMappings.getAtomicConceptSet(configurator.getAllowedConcepts()); +// Set<NamedClass> ignoredConcepts = configurator.getIgnoredConcepts()==null ? null : CommonConfigMappings.getAtomicConceptSet(configurator.getIgnoredConcepts()); if(allowedConcepts != null) { // sanity check to control if no non-existing concepts are in the list Helper.checkConcepts(reasoner, allowedConcepts); @@ -224,36 +248,40 @@ ClassHierarchy classHierarchy = reasoner.getClassHierarchy().cloneAndRestrict(usedConcepts); classHierarchy.thinOutSubsumptionHierarchy(); - heuristic = new OEHeuristicRuntime(configurator); + heuristic = new OEHeuristicRuntime(); minimizer = new DescriptionMinimizer(reasoner); startClass = Thing.instance; - singleSuggestionMode = configurator.getSingleSuggestionMode(); +// singleSuggestionMode = configurator.getSingleSuggestionMode(); // create refinement operator - operator = new RhoDRDown(reasoner, classHierarchy, startClass, configurator); + if(operator == null) { + operator = new RhoDRDown(); + ((RhoDRDown)operator).setStartClass(startClass); + ((RhoDRDown)operator).setSubHierarchy(classHierarchy); + } +// operator = new RhoDRDown(reasoner, classHierarchy, startClass, configurator); baseURI = reasoner.getBaseURI(); prefixes = reasoner.getPrefixes(); - if(configurator.getWriteSearchTree()) { - File f = new File(configurator.getSearchTreeFile()); + if(writeSearchTree) { + File f = new File(searchTreeFile ); // System.out.println(f.getAbsolutePath()); Files.clearFile(f); } - bestEvaluatedDescriptions = new EvaluatedDescriptionSet(configurator.getMaxNrOfResults()); + bestEvaluatedDescriptions = new EvaluatedDescriptionSet(maxNrOfResults); isClassLearningProblem = (learningProblem instanceof ClassLearningProblem); // we put important parameters in class variables - noise = configurator.getNoisePercentage()/100d; + noise = noisePercentage/100d; // System.out.println("noise " + noise); - maxDepth = configurator.getMaxDepth(); +// maxDepth = configurator.getMaxDepth(); // (filterFollowsFromKB is automatically set to false if the problem // is not a class learning problem - filterFollowsFromKB = configurator.getFilterDescriptionsFollowingFromKB() - && isClassLearningProblem; + filterFollowsFromKB = filterDescriptionsFollowingFromKB && isClassLearningProblem; // actions specific to ontology engineering if(isClassLearningProblem) { @@ -268,7 +296,7 @@ // superfluous to add super classes in this case) if(isEquivalenceProblem) { Set<Description> existingDefinitions = reasoner.getAssertedDefinitions(classToDescribe); - if(configurator.getReuseExistingDescription() && (existingDefinitions.size() > 0)) { + if(reuseExistingDescription && (existingDefinitions.size() > 0)) { // the existing definition is reused, which in the simplest case means to // use it as a start class or, if it is already too specific, generalise it @@ -429,7 +457,7 @@ updateMinMaxHorizExp(nextNode); // writing the search tree (if configured) - if (configurator.getWriteSearchTree()) { + if (writeSearchTree) { String treeString = "best node: " + bestEvaluatedDescriptions.getBest() + "\n"; if (refinements.size() > 1) { treeString += "all expanded nodes:\n"; @@ -440,10 +468,10 @@ treeString += startNode.toTreeString(baseURI); treeString += "\n"; - if (configurator.getReplaceSearchTree()) - Files.createFile(new File(configurator.getSearchTreeFile()), treeString); + if (replaceSearchTree) + Files.createFile(new File(searchTreeFile), treeString); else - Files.appendFile(new File(configurator.getSearchTreeFile()), treeString); + Files.appendFile(new File(searchTreeFile), treeString); } // System.out.println(loop); @@ -713,9 +741,9 @@ private boolean terminationCriteriaSatisfied() { return stop || - (configurator.getMaxClassDescriptionTests() != 0 && (expressionTests >= configurator.getMaxClassDescriptionTests())) || - (configurator.getMaxExecutionTimeInSeconds() != 0 && ((System.nanoTime() - nanoStartTime) >= (configurator.getMaxExecutionTimeInSeconds()*1000000000l))) || - (configurator.getTerminateOnNoiseReached() && (100*getCurrentlyBestAccuracy()>=100-configurator.getNoisePercentage())); + (maxClassDescriptionTests != 0 && (expressionTests >= maxClassDescriptionTests)) || + (maxExecutionTimeInSeconds != 0 && ((System.nanoTime() - nanoStartTime) >= (maxExecutionTimeInSeconds*1000000000l))) || + (terminateOnNoiseReached && (100*getCurrentlyBestAccuracy()>=100-noisePercentage)); } private void reset() { @@ -818,6 +846,118 @@ */ public int getClassExpressionTests() { return expressionTests; + } + + public RefinementOperator getOperator() { + return operator; + } + + public void setOperator(RefinementOperator operator) { + this.operator = operator; + } + + public Description getStartClass() { + return startClass; + } + + public void setStartClass(Description startClass) { + this.startClass = startClass; + } + + public Set<NamedClass> getAllowedConcepts() { + return allowedConcepts; + } + + public void setAllowedConcepts(Set<NamedClass> allowedConcepts) { + this.allowedConcepts = allowedConcepts; + } + + public Set<NamedClass> getIgnoredConcepts() { + return ignoredConcepts; + } + + public void setIgnoredConcepts(Set<NamedClass> ignoredConcepts) { + this.ignoredConcepts = ignoredConcepts; + } + + public boolean isWriteSearchTree() { + return writeSearchTree; + } + + public void setWriteSearchTree(boolean writeSearchTree) { + this.writeSearchTree = writeSearchTree; + } + + public String getSearchTreeFile() { + return searchTreeFile; + } + + public void setSearchTreeFile(String searchTreeFile) { + this.searchTreeFile = searchTreeFile; + } + + public int getMaxNrOfResults() { + return maxNrOfResults; + } + + public void setMaxNrOfResults(int maxNrOfResults) { + this.maxNrOfResults = maxNrOfResults; + } + + public double getNoisePercentage() { + return noisePercentage; + } + + public void setNoisePercentage(double noisePercentage) { + this.noisePercentage = noisePercentage; + } + + public boolean isFilterDescriptionsFollowingFromKB() { + return filterDescriptionsFollowingFromKB; + } + + public void setFilterDescriptionsFollowingFromKB(boolean filterDescriptionsFollowingFromKB) { + this.filterDescriptionsFollowingFromKB = filterDescriptionsFollowingFromKB; + } + + public boolean isReplaceSearchTree() { + return replaceSearchTree; + } + + public void setReplaceSearchTree(boolean replaceSearchTree) { + this.replaceSearchTree = replaceSearchTree; + } + + public int getMaxClassDescriptionTests() { + return maxClassDescriptionTests; + } + + public void setMaxClassDescriptionTests(int maxClassDescriptionTests) { + this.maxClassDescriptionTests = maxClassDescriptionTests; + } + + public int getMaxExecutionTimeInSeconds() { + return maxExecutionTimeInSeconds; + } + + public void setMaxExecutionTimeInSeconds(int maxExecutionTimeInSeconds) { + this.maxExecutionTimeInSeconds = maxExecutionTimeInSeconds; + } + + public boolean isTerminateOnNoiseReached() { + return terminateOnNoiseReached; + } + + public void setTerminateOnNoiseReached(boolean terminateOnNoiseReached) { + this.terminateOnNoiseReached = terminateOnNoiseReached; + } + + public boolean isReuseExistingDescription() { + return reuseExistingDescription; + } + + public void setReuseExistingDescription(boolean reuseExistingDescription) { + this.reuseExistingDescription = reuseExistingDescription; } } Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/OEHeuristicRuntime.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -21,6 +21,7 @@ import java.util.Comparator; +import org.dllearner.core.ComponentAnn; import org.dllearner.core.configurators.CELOEConfigurator; import org.dllearner.utilities.owl.ConceptComparator; @@ -32,6 +33,7 @@ * @author Jens Lehmann * */ +@ComponentAnn(name = "OEHeuristicRuntime", shortName = "OEHeuristicRuntime", version = 0.5) public class OEHeuristicRuntime implements Comparator<OENode>{ // strong penalty for long descriptions @@ -44,8 +46,8 @@ // syntactic comparison as final comparison criterion private ConceptComparator conceptComparator = new ConceptComparator(); - public OEHeuristicRuntime(CELOEConfigurator configurator) { - expansionPenaltyFactor = configurator.getExpansionPenaltyFactor(); + public OEHeuristicRuntime() { + } @Override @@ -83,5 +85,25 @@ public double getExpansionPenaltyFactor() { return expansionPenaltyFactor; + } + + public double getGainBonusFactor() { + return gainBonusFactor; + } + + public void setGainBonusFactor(double gainBonusFactor) { + this.gainBonusFactor = gainBonusFactor; + } + + public double getNodeRefinementPenalty() { + return nodeRefinementPenalty; + } + + public void setNodeRefinementPenalty(double nodeRefinementPenalty) { + this.nodeRefinementPenalty = nodeRefinementPenalty; + } + + public void setExpansionPenaltyFactor(double expansionPenaltyFactor) { + this.expansionPenaltyFactor = expansionPenaltyFactor; } } Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -142,9 +142,9 @@ private String predefinedEndpoint; - private Collection<String> defaultGraphURIs; + private Collection<String> defaultGraphURIs = new LinkedList<String>(); - private Collection<String> namedGraphURIs; + private Collection<String> namedGraphURIs = new LinkedList<String>(); private boolean useCache; @@ -162,11 +162,11 @@ private String predefinedManipulator; - private List<StringTuple> replacePredicate; + private List<StringTuple> replacePredicate = new LinkedList<StringTuple>(); private boolean useImprovedSparqlTupelAquisitor; - private List<StringTuple> replaceObject; + private List<StringTuple> replaceObject = new LinkedList<StringTuple>(); public static String getName() { Modified: trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -50,6 +50,7 @@ public class PosOnlyLP extends AbstractLearningProblem { protected SortedSet<Individual> positiveExamples; + private List<Individual> positiveExamplesShuffled; // protected SortedSet<Individual> pseudoNegatives; private List<Individual> individuals; @@ -329,5 +330,9 @@ private double getAccuracy(double coverage, double protusion) { return 0.5 * (coverage + Math.sqrt(protusion)); + } + + public void setPositiveExamples(SortedSet<Individual> positiveExamples) { + this.positiveExamples = positiveExamples; } } Modified: trunk/components-core/src/main/java/org/dllearner/refinementoperators/RhoDRDown.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/refinementoperators/RhoDRDown.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/main/java/org/dllearner/refinementoperators/RhoDRDown.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -1645,4 +1645,20 @@ public void setReasoner(AbstractReasonerComponent reasoner) { this.reasoner = reasoner; } + + public ClassHierarchy getSubHierarchy() { + return subHierarchy; + } + + public void setSubHierarchy(ClassHierarchy subHierarchy) { + this.subHierarchy = subHierarchy; + } + + public Description getStartClass() { + return startClass; + } + + public void setStartClass(Description startClass) { + this.startClass = startClass; + } } \ No newline at end of file Modified: trunk/components-core/src/test/java/org/dllearner/test/FuzzyDLLTest_noFuzzyTrains.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/test/FuzzyDLLTest_noFuzzyTrains.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/components-core/src/test/java/org/dllearner/test/FuzzyDLLTest_noFuzzyTrains.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -54,6 +54,7 @@ import org.dllearner.kb.OWLFile; import org.dllearner.learningproblems.PosNegLPStandard; import org.dllearner.reasoning.OWLAPIReasoner; +import org.dllearner.refinementoperators.RhoDRDown; import org.dllearner.utilities.Helper; /** @@ -130,12 +131,12 @@ // Set<String> aaaaaaaaaa = new TreeSet<String>(); // aaaaaaaaaa.add("Nothing"); // fc.getConfigurator().setIgnoredConcepts(aaaaaaaaaa); - fc.getConfigurator().setMaxClassDescriptionTests(1000); - fc.getConfigurator().setMaxExecutionTimeInSeconds(0); - fc.getConfigurator().setUseDoubleDatatypes(false); - fc.getConfigurator().setUseCardinalityRestrictions(false); - fc.getConfigurator().setWriteSearchTree(true); - fc.getConfigurator().setSearchTreeFile("log/searchTreeNonFuzzy.txt"); + fc.setMaxClassDescriptionTests(1000); + fc.setMaxExecutionTimeInSeconds(0); + ((RhoDRDown)fc.getOperator()).setUseDoubleDatatypes(false); + ((RhoDRDown)fc.getOperator()).setUseCardinalityRestrictions(false); + fc.setWriteSearchTree(true); + fc.setSearchTreeFile("log/searchTreeNonFuzzy.txt"); fc.init(); fc.start(); Modified: trunk/interfaces/src/main/java/org/dllearner/cli/CLI.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/cli/CLI.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/interfaces/src/main/java/org/dllearner/cli/CLI.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -32,6 +32,7 @@ import org.dllearner.confparser3.ConfParserConfiguration; import org.dllearner.confparser3.ParseException; import org.dllearner.core.AbstractCELA; +import org.dllearner.core.LearningAlgorithm; import org.dllearner.core.ReasoningMethodUnsupportedException; import org.springframework.context.ApplicationContext; import org.springframework.core.io.FileSystemResource; @@ -101,7 +102,7 @@ // System.out.println(lp.getAccuracy(new NamedClass("http://localhost/foo#male"))); // start algorithm in conf file - OCEL algorithm = context.getBean("alg",OCEL.class); + LearningAlgorithm algorithm = context.getBean("alg",LearningAlgorithm.class); algorithm.start(); } Modified: trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -367,9 +367,9 @@ } catch (LearningProblemUnsupportedException e) { e.printStackTrace(); } - CELOEConfigurator cc = la.getConfigurator(); - cc.setMaxExecutionTimeInSeconds(10); - cc.setNoisePercentage(25); +// CELOEConfigurator cc = la.getConfigurator(); + la.setMaxExecutionTimeInSeconds(10); + la.setNoisePercentage(25); la.init(); System.out.print("running CELOE ... "); la.start(); Modified: trunk/interfaces/src/main/java/org/dllearner/gui/TreeWindow.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/gui/TreeWindow.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/interfaces/src/main/java/org/dllearner/gui/TreeWindow.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -77,7 +77,7 @@ } else { CELOE celoe = (CELOE) config.getLearningAlgorithm(); this.rootNode = celoe.getSearchTreeRoot(); - cmp = new SearchTreeNodeCmpWrapper(new OEHeuristicRuntime(celoe.getConfigurator())); + cmp = new SearchTreeNodeCmpWrapper(new OEHeuristicRuntime()); } this.ebNodeModel = new EBNodeTreeModel(rootNode, cmp); Modified: trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EnrichmentEvaluation.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EnrichmentEvaluation.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EnrichmentEvaluation.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -599,9 +599,9 @@ } catch (LearningProblemUnsupportedException e) { e.printStackTrace(); } - CELOEConfigurator cc = la.getConfigurator(); - cc.setMaxExecutionTimeInSeconds(10); - cc.setNoisePercentage(25); +// CELOEConfigurator cc = la.getConfigurator(); + la.setMaxExecutionTimeInSeconds(10); + la.setNoisePercentage(25); la.init(); System.out.print("running CELOE ... "); la.start(); Modified: trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EvaluationComputingScript.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EvaluationComputingScript.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/EvaluationComputingScript.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -35,6 +35,7 @@ import org.dllearner.learningproblems.EvaluatedDescriptionClass; import org.dllearner.reasoning.FastInstanceChecker; import org.dllearner.reasoning.OWLAPIReasoner; +import org.dllearner.refinementoperators.RhoDRDown; import org.dllearner.utilities.owl.ConceptComparator; @@ -273,12 +274,13 @@ lp.getConfigurator().setUseApproximations(useApproximations); lp.init(); celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); - cf = celoe.getConfigurator(); - cf.setUseNegation(false); - cf.setValueFrequencyThreshold(3); - cf.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); - cf.setNoisePercentage(noisePercent); - cf.setMaxNrOfResults(10); +// cf = celoe.getConfigurator(); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); + op.setUseNegation(false); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); + celoe.setNoisePercentage(noisePercent); + celoe.setMaxNrOfResults(10); // if(testReuseExistingDescription == ThreeValuedLogic.True){ // cf.setReuseExistingDescription(true); // } else { @@ -384,12 +386,13 @@ lp.getConfigurator().setUseApproximations(useApproximations); lp.init(); celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); - cf = celoe.getConfigurator(); - cf.setUseNegation(false); - cf.setValueFrequencyThreshold(3); - cf.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); - cf.setNoisePercentage(noisePercent); - cf.setMaxNrOfResults(10); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); +// cf = celoe.getConfigurator(); + op.setUseNegation(false); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); + celoe.setNoisePercentage(noisePercent); + celoe.setMaxNrOfResults(10); // if(testReuseExistingDescription == ThreeValuedLogic.True){ // cf.setReuseExistingDescription(true); // } else { @@ -400,8 +403,8 @@ // } else { // cf.setFilterDescriptionsFollowingFromKB(false); // } - cf.setReuseExistingDescription(reuseExistingDescription); - cf.setFilterDescriptionsFollowingFromKB(filterDescriptionsFollowingFromKB); + celoe.setReuseExistingDescription(reuseExistingDescription); + celoe.setFilterDescriptionsFollowingFromKB(filterDescriptionsFollowingFromKB); celoe.init(); celoe.start(); @@ -463,12 +466,13 @@ lp.getConfigurator().setUseApproximations(true); lp.init(); celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); - cf = celoe.getConfigurator(); - cf.setUseNegation(false); - cf.setValueFrequencyThreshold(3); - cf.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); - cf.setNoisePercentage(noisePercent); - cf.setMaxNrOfResults(10); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); +// cf = celoe.getConfigurator(); + op.setUseNegation(false); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); + celoe.setNoisePercentage(noisePercent); + celoe.setMaxNrOfResults(10); // if(testReuseExistingDescription == ThreeValuedLogic.True){ // cf.setReuseExistingDescription(true); // } else { Modified: trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/OntologyEngineering.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/OntologyEngineering.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/evaluation/OntologyEngineering.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -51,6 +51,7 @@ import org.dllearner.learningproblems.EvaluatedDescriptionClass; import org.dllearner.reasoning.FastInstanceChecker; import org.dllearner.reasoning.OWLAPIReasoner; +import org.dllearner.refinementoperators.RhoDRDown; import org.dllearner.utilities.statistics.Stat; /** @@ -221,12 +222,13 @@ lp.init(); CELOE celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); - CELOEConfigurator cf = celoe.getConfigurator(); - cf.setUseNegation(false); - cf.setValueFrequencyThreshold(3); - cf.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); - cf.setNoisePercentage(noisePercent); - cf.setMaxNrOfResults(10); +// CELOEConfigurator cf = celoe.getConfigurator(); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); + op.setUseNegation(false); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); + celoe.setNoisePercentage(noisePercent); + celoe.setMaxNrOfResults(10); celoe.init(); celoe.start(); Modified: trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -53,6 +53,7 @@ import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.learningproblems.PosNegLPStandard; import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.refinementoperators.RhoDRDown; import org.dllearner.utilities.Helper; import org.dllearner.utilities.datastructures.Datastructures; import org.dllearner.utilities.datastructures.SetManipulation; @@ -158,15 +159,17 @@ CELOE la = cm.learningAlgorithm(CELOE.class, lp, rc); - CELOEConfigurator cc = la.getConfigurator(); - cc.setMaxExecutionTimeInSeconds(100); +// CELOEConfigurator cc = la.getConfigurator(); + la.setMaxExecutionTimeInSeconds(100); - cc.setUseNegation(false); - cc.setUseAllConstructor(false); - cc.setUseCardinalityRestrictions(false); - cc.setUseHasValueConstructor(true); - cc.setNoisePercentage(20); - cc.setIgnoredConcepts(new HashSet<String>(Arrays.asList(new String[]{classToLearn}))); + RhoDRDown op = (RhoDRDown) la.getOperator(); + + op.setUseNegation(false); + op.setUseAllConstructor(false); + op.setUseCardinalityRestrictions(false); + op.setUseHasValueConstructor(true); + la.setNoisePercentage(20); + la.setIgnoredConcepts(new HashSet<NamedClass>(Arrays.asList(new NamedClass[]{new NamedClass(classToLearn)}))); la.init(); // to write the above configuration in a conf file (optional) Modified: trunk/scripts/src/main/java/org/dllearner/scripts/matching/LearnOSMClasses.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/matching/LearnOSMClasses.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/matching/LearnOSMClasses.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -42,6 +42,7 @@ import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.learningproblems.PosOnlyLP; import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.refinementoperators.RhoDRDown; /** * Uses learning algorithms to learn class definitions for DBpedia @@ -114,17 +115,18 @@ lp.init(); CELOE celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); // ROLComponent2 celoe = cm.learningAlgorithm(ROLComponent2.class, lp, reasoner); - celoe.getConfigurator().setUseAllConstructor(false); + op.setUseAllConstructor(false); // celoe.getConfigurator().setUseExistsConstructor(false); - celoe.getConfigurator().setUseCardinalityRestrictions(false); - celoe.getConfigurator().setUseBooleanDatatypes(false); - celoe.getConfigurator().setUseDoubleDatatypes(false); - celoe.getConfigurator().setUseNegation(false); - celoe.getConfigurator().setUseHasValueConstructor(true); - celoe.getConfigurator().setValueFrequencyThreshold(3); - celoe.getConfigurator().setMaxExecutionTimeInSeconds(100); - celoe.getConfigurator().setNoisePercentage(0.2); + op.setUseCardinalityRestrictions(false); + op.setUseBooleanDatatypes(false); + op.setUseDoubleDatatypes(false); + op.setUseNegation(false); + op.setUseHasValueConstructor(true); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(100); + celoe.setNoisePercentage(0.2); celoe.init(); // debugging Modified: trunk/scripts/src/main/java/org/dllearner/scripts/matching/Stanley.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/matching/Stanley.java 2011-08-28 13:10:29 UTC (rev 3154) +++ trunk/scripts/src/main/java/org/dllearner/scripts/matching/Stanley.java 2011-08-28 18:34:39 UTC (rev 3155) @@ -42,6 +42,7 @@ import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.learningproblems.PosOnlyLP; import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.refinementoperators.RhoDRDown; /** * This class produces a fragment for dbpedia and linkedgeodata @@ -117,17 +118,18 @@ lp.init(); CELOE celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); + RhoDRDown op = (RhoDRDown) celoe.getOperator(); // ROLComponent2 celoe = cm.learningAlgorithm(ROLComponent2.class, lp, reasoner); - celoe.getConfigurator().setUseAllConstructor(false); + op.setUseAllConstructor(false); // celoe.getConfigurator().setUseExistsConstructor(false); - celoe.getConfigurator().setUseCardinalityRestrictions(false); - celoe.getConfigurator().setUseBooleanDatatypes(false); - celoe.getConfigurator().setUseDoubleDatatypes(false); - celoe.getConfigurator().setUseNegation(false); - celoe.getConfigurator().setUseHasValueConstructor(true); - celoe.getConfigurator().setValueFrequencyThreshold(3); - celoe.getConfigurator().setMaxExecutionTimeInSeconds(100); - celoe.getConfigurator().setNoisePercentage(0.2); + op.setUseCardinalityRestrictions(false); + op.setUseBooleanDatatypes(false); + op.setUseDoubleDatatypes(false); + op.setUseNegation(false); + op.setUseHasValueConstructor(true); + op.setFrequencyThreshold(3); + celoe.setMaxExecutionTimeInSeconds(100); + celoe.setNoisePercentage(0.2); celoe.init(); // debugging This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |