From: <lor...@us...> - 2010-12-13 18:45:53
|
Revision: 2551 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2551&view=rev Author: lorenz_b Date: 2010-12-13 18:45:46 +0000 (Mon, 13 Dec 2010) Log Message: ----------- Avoiding using positive generalisation if negative examples exist. Modified Paths: -------------- trunk/autosparql/src/main/java/org/dllearner/autosparql/server/ExampleFinder.java trunk/autosparql/src/main/java/org/dllearner/autosparql/server/evaluation/EvaluationScript.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/SPARQLQueryGeneratorCached.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorCachedImpl.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/lgg/LGGGeneratorImpl.java trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/GreedyNBRStrategy.java Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/server/ExampleFinder.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/server/ExampleFinder.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/server/ExampleFinder.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -1,6 +1,7 @@ package org.dllearner.autosparql.server; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -288,9 +289,9 @@ } if(logger.isInfoEnabled()){ logger.info("None of the queries contained a new example."); - logger.info("Changing to Generalisation..."); + logger.info("Making again NBR..."); } - return findExampleByGeneralisation(queryGen.getLastLGG()); + return findExampleByLGG(Collections.singletonList(queryGen.getCurrentQueryTree()), negExamplesTrees); } private Example getExample(String uri){ Modified: trunk/autosparql/src/main/java/org/dllearner/autosparql/server/evaluation/EvaluationScript.java =================================================================== --- trunk/autosparql/src/main/java/org/dllearner/autosparql/server/evaluation/EvaluationScript.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/autosparql/src/main/java/org/dllearner/autosparql/server/evaluation/EvaluationScript.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -65,7 +65,7 @@ Logger.getLogger(SPARQLQueryGeneratorImpl.class).setLevel(Level.OFF); Logger.getLogger(LGGGeneratorImpl.class).setLevel(Level.OFF); Logger.getLogger(NBRGeneratorImpl.class).setLevel(Level.OFF); - Logger.getLogger(Generalisation.class).setLevel(Level.INFO); + Logger.getLogger(Generalisation.class).setLevel(Level.OFF); SPARQLEndpointEx endpoint = new SPARQLEndpointEx( Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/SPARQLQueryGeneratorCached.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/SPARQLQueryGeneratorCached.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/SPARQLQueryGeneratorCached.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -43,5 +43,7 @@ List<String> getSPARQLQueries(List<QueryTree<String>> posExamples, List<QueryTree<String>> negExamples, boolean learnFilters); QueryTree<String> getLastLGG(); + + QueryTree<String> getCurrentQueryTree(); } Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorCachedImpl.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorCachedImpl.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/impl/SPARQLQueryGeneratorCachedImpl.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -232,5 +232,9 @@ } } + + public QueryTree<String> getCurrentQueryTree(){ + return resultTrees.get(0); + } } Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/lgg/LGGGeneratorImpl.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/lgg/LGGGeneratorImpl.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/lgg/LGGGeneratorImpl.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -80,8 +80,7 @@ if(trees.size() == 1){ return trees.iterator().next(); } - Monitor mon = MonitorFactory.getTimeMonitor("LGG"); - mon.start(); + QueryTree<N> lgg = computeLGG(treeList.get(0), treeList.get(1), learnFilters); if(logger.isInfoEnabled()){ logger.info("LGG for 1 and 2:\n" + lgg.getStringRepresentation()); @@ -93,7 +92,6 @@ logger.info("LGG for 1-" + (i+1) + ":\n" + lgg.getStringRepresentation()); } } - mon.stop(); if(logger.isInfoEnabled()){ logger.info("LGG = "); @@ -111,6 +109,8 @@ logger.debug("and"); logger.debug(tree2.getStringRepresentation()); } + Monitor mon = MonitorFactory.getTimeMonitor("LGG"); + mon.start(); QueryTree<N> lgg = new QueryTreeImpl<N>(tree1.getUserObject()); // if(!lgg.getUserObject().equals(tree2.getUserObject())){ @@ -183,8 +183,9 @@ } } } + mon.stop(); if(logger.isDebugEnabled()){ - logger.debug("Computed LGG:"); + logger.debug("Computed LGG(" + mon.getLastValue() + "ms):"); logger.debug(lgg.getStringRepresentation()); } return lgg; Modified: trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/GreedyNBRStrategy.java =================================================================== --- trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/GreedyNBRStrategy.java 2010-12-13 18:05:53 UTC (rev 2550) +++ trunk/sparql-query-generator/src/main/java/org/dllearner/sparqlquerygenerator/operations/nbr/strategy/GreedyNBRStrategy.java 2010-12-13 18:45:46 UTC (rev 2551) @@ -31,6 +31,9 @@ import org.dllearner.sparqlquerygenerator.datastructures.QueryTree; import org.dllearner.sparqlquerygenerator.datastructures.impl.QueryTreeImpl; +import com.jamonapi.Monitor; +import com.jamonapi.MonitorFactory; + /** * * @author Lorenz Bühmann @@ -43,13 +46,8 @@ @Override public QueryTree<N> computeNBR(QueryTree<N> posExampleTree, List<QueryTree<N>> negExampleTrees) { -// Map<QueryTree<N>, Integer> tree2Index = new Hashtable<QueryTree<N>, Integer>(); -// int rowIndex = 0; -// for(QueryTree<N> child : posExampleTree.getChildrenClosure()){ -// tree2Index.put(child, rowIndex); -// rowIndex++; -// } -// int[][] matrix = new int[rowIndex][negExampleTrees.size()]; + Monitor mon = MonitorFactory.getTimeMonitor("NBR"); + mon.start(); QueryTree<N> nbr = new QueryTreeImpl<N>(posExampleTree); Map<QueryTree<N>, List<Integer>> matrix = new HashMap<QueryTree<N>, List<Integer>>(); @@ -58,23 +56,11 @@ checkTree(matrix, nbr, negExampleTrees.get(i), i); } - int sum; -// for(int row = 0; row < matrix.length; row++){ -// sum = 0; -// for(int column = 0; column < matrix[row].length; column++){ -// sum += matrix[row][column]; -// } -// if(sum < negExampleTrees.size()/2){ -// nbr.removeChild(tree2Index.get(key)); -// } -// } -// if(logger.isInfoEnabled()){ logger.info(printTreeWithValues(nbr, matrix)); } List<QueryTree<N>> candidates2Remove = new ArrayList<QueryTree<N>>(); - for(Entry<QueryTree<N>, List<Integer>> entry : matrix.entrySet()){ if(sum(entry.getValue()) < negExampleTrees.size()/2.0){ candidates2Remove.add(entry.getKey()); @@ -82,6 +68,8 @@ } removeLeafs(nbr, candidates2Remove); + mon.stop(); + return nbr; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |