From: <lor...@us...> - 2011-09-30 12:13:51
|
Revision: 3296 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3296&view=rev Author: lorenz_b Date: 2011-09-30 12:13:40 +0000 (Fri, 30 Sep 2011) Log Message: ----------- Made console output configurable via log4j. Fixed bug in Query copy contructor. Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/learning/SPARQLTemplateBasedLearner.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Parser.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java trunk/components-ext/src/main/resources/log4j.properties Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/learning/SPARQLTemplateBasedLearner.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/learning/SPARQLTemplateBasedLearner.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/learning/SPARQLTemplateBasedLearner.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -725,7 +725,7 @@ // Logger.getLogger(HttpClient.class).setLevel(Level.OFF); // Logger.getLogger(HttpMethodBase.class).setLevel(Level.OFF); // String question = "Give me all books written by authors influenced by Ernest Hemingway."; - String question = "Give me the highest mountain in Germany"; + String question = "Give me all European Capitals!"; // String question = "Give me all books written by authors influenced by Ernest Hemingway."; SPARQLTemplateBasedLearner learner = new SPARQLTemplateBasedLearner(); Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -5,6 +5,7 @@ import java.util.Iterator; import java.util.List; +import org.apache.log4j.Logger; import org.dllearner.algorithm.tbsl.ltag.data.Category; import org.dllearner.algorithm.tbsl.ltag.data.LTAG_Tree_Constructor; import org.dllearner.algorithm.tbsl.ltag.data.TreeNode; @@ -24,6 +25,8 @@ * anchor "a b .+ c". */ class GrammarFilter { + + private static final Logger logger = Logger.getLogger(GrammarFilter.class); final static String[] NAMED_Strings = {"named", "called"}; // DISAM @@ -188,7 +191,7 @@ start++; } - System.out.println("\ncovered tokens: " + coveredTokens); + logger.trace("\ncovered tokens: " + coveredTokens); /* construct slots for all unknown tokens */ @@ -208,7 +211,7 @@ } } } - System.out.println("unknown words: " + unknownWords); + logger.trace("unknown words: " + unknownWords); List<Pair<String,String>> buildSlotFor = new ArrayList<Pair<String,String>>(); @@ -235,7 +238,7 @@ System.out.println("Oh no, " + s + " has no POS tag!"); } } - System.out.println("build slot for: " + buildSlotFor + "\n"); + logger.trace("build slot for: " + buildSlotFor + "\n"); List<String[]> entries; if (mode.equals("LEIPZIG")) { Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Parser.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Parser.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Parser.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -3,12 +3,15 @@ import java.util.ArrayList; import java.util.List; +import org.apache.log4j.Logger; import org.dllearner.algorithm.tbsl.ltag.data.TreeNode; import org.dllearner.algorithm.tbsl.sem.dudes.data.Dude; import org.dllearner.algorithm.tbsl.sem.dudes.reader.ParseException; import org.dllearner.algorithm.tbsl.sem.util.Pair; public class Parser { + + private static final Logger logger = Logger.getLogger(Parser.class); public boolean CONSTRUCT_SEMANTICS = false; public boolean USE_DPS_AS_INITTREES = false; @@ -66,11 +69,11 @@ if (SHOW_GRAMMAR) { - System.out.println(parseGrammar); + logger.trace(parseGrammar); } if (SHOW_LEXICAL_COVERAGE) { - System.out.println("# OF TREES FOUND: " + parseGrammar.size()); - System.out.println("# OF INPUT TOKENS: " + n); + logger.trace("# OF TREES FOUND: " + parseGrammar.size()); + logger.trace("# OF INPUT TOKENS: " + n); } List<Pair<TreeNode, Short>> initTrees = parseGrammar.getInitTrees(); @@ -81,7 +84,7 @@ internalParse(parseGrammar.getDPInitTrees(), n); } - System.out.println("Constructed " + derivationTrees.size() + " derivation trees.\n"); + logger.trace("Constructed " + derivationTrees.size() + " derivation trees.\n"); return derivationTrees; } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -6,10 +6,14 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.log4j.Logger; import org.dllearner.algorithm.tbsl.nlp.LingPipeNER; import org.dllearner.algorithm.tbsl.nlp.NER; +import org.dllearner.algorithm.tbsl.templator.Templator; public class Preprocessor { + + private static final Logger logger = Logger.getLogger(Preprocessor.class); static final String[] genericReplacements = { "\"", "", "'", "", "[!?.,;]", "" }; static final String[] englishReplacements = { "don't", "do not", "doesn't", "does not" }; @@ -80,57 +84,57 @@ m = compAdjPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/JJR"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/JJR"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJR"); } m = superAdjPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/JJS"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/JJS"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJS"); } m = howAdjPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/JJH"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/JJH"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJH"); } m = nprepPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/NPREP"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/NPREP"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/NPREP"); } m = didPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by \"\""); + logger.trace("Replacing " + m.group(1) + " by \"\""); condensedstring = condensedstring.replaceFirst(m.group(1),""); } m = prepfrontPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by \"\""); + logger.trace("Replacing " + m.group(1) + " by \"\""); condensedstring = condensedstring.replaceFirst(m.group(1),""); } m = passivePattern1a.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(6)+"/PASSIVE"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(6)+"/PASSIVE"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(6)+"/PASSIVE"); } m = passivePattern1b.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(6)+m.group(7)+"/PASSIVE"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(6)+m.group(7)+"/PASSIVE"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(6) + m.group(7)+"/PASSIVE"); } m = passivePattern2a.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(7)+"/PASSIVE"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(7)+"/PASSIVE"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(7)+"/PASSIVE"); } m = pseudopassPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(7)+"/VPREP"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(7)+"/VPREP"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(7)+"/VPREP"); } m = pseudopwhPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(7)+m.group(8)+"/VPREP"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(7)+m.group(8)+"/VPREP"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(7)+" "+m.group(8)+"/VPREP"); } m = saveIsThere.matcher(condensedstring); @@ -139,52 +143,52 @@ } m = passivePattern2b.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(7)+"/PASSIVE"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(7)+"/PASSIVE"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(7)+"/PASSIVE"); } m = passpartPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/PASSPART"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/PASSPART"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/PASSPART"); } m = vpassPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/VPASS"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/VPASS"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPASS"); } m = vpassinPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/VPASSIN"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/VPASSIN"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPASSIN"); } m = gerundinPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/GERUNDIN"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/GERUNDIN"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/GERUNDIN"); } m = vprepPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"/VPREP"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/VPREP"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPREP"); } m = whenPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+m.group(3)+"/WHEN"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+m.group(3)+"/WHEN"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2) + m.group(3)+"/WHEN"); } m = wherePattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+m.group(3)+"/WHERE"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+m.group(3)+"/WHERE"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2) + m.group(3)+"/WHERE"); } m = adjnounPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"_"+m.group(3)+"/JJNN"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"_"+m.group(3)+"/JJNN"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"_"+m.group(3)+"/JJNN"); } m = adjnprepPattern.matcher(condensedstring); while (m.find()) { - System.out.println("Replacing " + m.group(1) + " by " + m.group(2)+"_"+m.group(3)+"/JJNPREP"); + logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"_"+m.group(3)+"/JJNPREP"); condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"_"+m.group(3)+"/JJNPREP"); } @@ -232,7 +236,7 @@ List<String> namedentities = ner.getNamedEntitites(untagged); List<String> usefulnamedentities = new ArrayList<String>(); - System.out.println("Proposed NEs: " + namedentities); + logger.trace("Proposed NEs: " + namedentities); // keep only longest matches (e.g. keep 'World of Warcraft' and forget about 'Warcraft') // containing at least one upper case letter (in order to filter out errors like 'software') @@ -250,7 +254,7 @@ } } - System.out.println("Accepted NEs: " + usefulnamedentities); + logger.trace("Accepted NEs: " + usefulnamedentities); // replace POS tags accordingly for (String ne : usefulnamedentities) { Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -88,8 +88,9 @@ newTerm.setIsVariable(order.isVariable()); newTerm.setAggregate(order.getAggregate()); newTerm.setOrderBy(order.getOrderBy()); - selTerms.add(newTerm); + orderBy.add(newTerm); } + this.orderBy = orderBy; //TODO add copy for filters Set<SPARQL_Filter> filters = new HashSet<SPARQL_Filter>(); for(SPARQL_Filter filter : query.getFilters()){ @@ -99,7 +100,6 @@ } this.filter = filters; - this.orderBy = orderBy; this.limit = query.getLimit(); this.offset = query.getOffset(); } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-09-30 12:13:40 UTC (rev 3296) @@ -9,6 +9,7 @@ import net.didion.jwnl.data.POS; +import org.apache.log4j.Logger; import org.dllearner.algorithm.tbsl.converter.DRS2SPARQL_Converter; import org.dllearner.algorithm.tbsl.converter.DUDE2UDRS_Converter; import org.dllearner.algorithm.tbsl.ltag.parser.LTAGLexicon; @@ -29,6 +30,8 @@ public class Templator { + private static final Logger logger = Logger.getLogger(Templator.class); + String[] GRAMMAR_FILES = {"tbsl/lexicon/english.lex"}; private String[] noun = {"NN","NNS","NNP","NNPS","NPREP","JJNN","JJNPREP"}; @@ -85,7 +88,7 @@ if (UNTAGGED_INPUT) { s = pp.normalize(s); tagged = tagger.tag(s); - System.out.println("Tagged input: " + tagged); + logger.trace("Tagged input: " + tagged); } else { tagged = s; @@ -93,20 +96,20 @@ String newtagged = pp.condenseNominals(pp.findNEs(tagged,s)); newtagged = pp.condense(newtagged); - System.out.println("Preprocessed: " + newtagged); + logger.trace("Preprocessed: " + newtagged); p.parse(newtagged,g); if (p.getDerivationTrees().isEmpty()) { p.clear(g,p.getTemps()); clearAgain = false; - System.out.println("[Templator.java] '" + s + "' could not be parsed."); + logger.error("[Templator.java] '" + s + "' could not be parsed."); } else { try { p.buildDerivedTrees(g); } catch (ParseException e) { - System.err.println("[Templator.java] ParseException at '" + e.getMessage() + "'"); + logger.error("[Templator.java] ParseException at '" + e.getMessage() + "'", e); } } @@ -145,7 +148,7 @@ Template temp = d2s.convert(drs,slots); // find WordNet synonyms - Set<String> newwords; + List<String> newwords; String word; String pos; for (Slot slot : temp.getSlots()) { @@ -170,7 +173,7 @@ strings = wordnet.getAttributes(word); } - newwords = new HashSet<String>(); + newwords = new ArrayList<String>(); newwords.add(word); newwords.addAll(strings); Modified: trunk/components-ext/src/main/resources/log4j.properties =================================================================== --- trunk/components-ext/src/main/resources/log4j.properties 2011-09-30 07:42:41 UTC (rev 3295) +++ trunk/components-ext/src/main/resources/log4j.properties 2011-09-30 12:13:40 UTC (rev 3296) @@ -26,6 +26,7 @@ # loglevels: trace, debug, info, warn, error, fatal # log4j.rootLogger=INFO, stdout +log4j.appender.stdout.layout.ConversionPattern=%m%n #, file @@ -39,6 +40,8 @@ ####TBSL log4j.category.org.dllearner.algorithm.tbsl=INFO +log4j.category.org.dllearner.algorithm.tbsl.ltag.parser=TRACE +log4j.category.org.dllearner.algorithm.tbsl.templator=TRACE ####SOLR log4j.category.org.apache.solr.level = OFF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |