From: <jen...@us...> - 2007-10-19 13:53:32
|
Revision: 253 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=253&view=rev Author: jenslehmann Date: 2007-10-19 06:53:31 -0700 (Fri, 19 Oct 2007) Log Message: ----------- added possibility to query the n best concepts of a running learning algorithm Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/core/LearningAlgorithm.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java trunk/src/dl-learner/org/dllearner/utilities/Datastructures.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-19 12:01:07 UTC (rev 252) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-19 13:53:31 UTC (rev 253) @@ -901,6 +901,19 @@ } @Override + public synchronized List<Concept> getBestSolutions(int nrOfSolutions) { + List<Concept> best = new LinkedList<Concept>(); + int i=0; + for(Node n : candidatesStable.descendingSet()) { + best.add(n.getConcept()); + if(i==nrOfSolutions) + return best; + i++; + } + return best; + } + + @Override public Score getSolutionScore() { if(posOnly) return posOnlyLearningProblem.computeScore(getBestSolution()); Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2007-10-19 12:01:07 UTC (rev 252) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2007-10-19 13:53:31 UTC (rev 253) @@ -208,7 +208,7 @@ printConclusions(rs, algDuration); } - + } // creates a mapping from components to option prefix strings Modified: trunk/src/dl-learner/org/dllearner/core/LearningAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/LearningAlgorithm.java 2007-10-19 12:01:07 UTC (rev 252) +++ trunk/src/dl-learner/org/dllearner/core/LearningAlgorithm.java 2007-10-19 13:53:31 UTC (rev 253) @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.LinkedList; +import java.util.List; import org.dllearner.core.dl.Concept; @@ -56,6 +57,12 @@ */ public abstract Concept getBestSolution(); + public synchronized List<Concept> getBestSolutions(int nrOfSolutions) { + List<Concept> single = new LinkedList<Concept>(); + single.add(getBestSolution()); + return single; + } + /** * Returns all learning problems supported by this component. */ Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2007-10-19 12:01:07 UTC (rev 252) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2007-10-19 13:53:31 UTC (rev 253) @@ -48,6 +48,7 @@ import org.dllearner.kb.SparqlEndpoint; import org.dllearner.learningproblems.PosNegDefinitionLP; import org.dllearner.learningproblems.PosNegInclusionLP; +import org.dllearner.learningproblems.PosOnlyDefinitionLP; import org.dllearner.parser.KBParser; import org.dllearner.parser.ParseException; import org.dllearner.reasoning.DIGReasoner; @@ -82,6 +83,7 @@ reasonerMapping.put("dig", DIGReasoner.class); learningProblemMapping.put("posNegDefinition", PosNegDefinitionLP.class); learningProblemMapping.put("posNegInclusion", PosNegInclusionLP.class); + learningProblemMapping.put("posOnlyDefinition", PosOnlyDefinitionLP.class); learningAlgorithmMapping.put("refinement", ROLearner.class); components = Helper.union(knowledgeSourceMapping.keySet(),reasonerMapping.keySet()); components = Helper.union(components, learningProblemMapping.keySet()); @@ -289,6 +291,13 @@ } @WebMethod + public String[] getCurrentlyBestConcepts(int id, int nrOfConcepts) throws ClientNotKnownException { + ClientState state = getState(id); + List<Concept> bestConcepts = state.getLearningAlgorithm().getBestSolutions(nrOfConcepts); + return bestConcepts.toArray(new String[bestConcepts.size()]); + } + + @WebMethod public boolean isAlgorithmRunning(int id) throws ClientNotKnownException { return getState(id).isAlgorithmRunning(); } Modified: trunk/src/dl-learner/org/dllearner/utilities/Datastructures.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/Datastructures.java 2007-10-19 12:01:07 UTC (rev 252) +++ trunk/src/dl-learner/org/dllearner/utilities/Datastructures.java 2007-10-19 13:53:31 UTC (rev 253) @@ -63,7 +63,7 @@ return ret; } - + public static String[] sortedSet2StringListIndividuals(Set<Individual> individuals){ String[] ret=new String[individuals.size()]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |