From: <lor...@us...> - 2011-11-08 12:48:02
|
Revision: 3388 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3388&view=rev Author: lorenz_b Date: 2011-11-08 12:47:55 +0000 (Tue, 08 Nov 2011) Log Message: ----------- Added constructors. 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/nlp/WordNet.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 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-11-07 18:14:29 UTC (rev 3387) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/learning/SPARQLTemplateBasedLearner.java 2011-11-08 12:47:55 UTC (rev 3388) @@ -24,6 +24,7 @@ import org.dllearner.algorithm.tbsl.nlp.Lemmatizer; import org.dllearner.algorithm.tbsl.nlp.LingPipeLemmatizer; import org.dllearner.algorithm.tbsl.nlp.PartOfSpeechTagger; +import org.dllearner.algorithm.tbsl.nlp.WordNet; import org.dllearner.algorithm.tbsl.search.HierarchicalSolrSearch; import org.dllearner.algorithm.tbsl.search.SolrQueryResultItem; import org.dllearner.algorithm.tbsl.search.SolrQueryResultSet; @@ -163,6 +164,20 @@ templateGenerator = new Templator(tagger); } + public SPARQLTemplateBasedLearner(Options options, PartOfSpeechTagger tagger, WordNet wordNet){ + init(options); + + Set<String> predicateFilters = new HashSet<String>(); + predicateFilters.add("http://dbpedia.org/ontology/wikiPageWikiLink"); + predicateFilters.add("http://dbpedia.org/property/wikiPageUsesTemplate"); + + prefixMap = Prefixes.getPrefixes(); + + modelGenenerator = new ModelGenerator(endpoint, predicateFilters); + + templateGenerator = new Templator(tagger, wordNet); + } + /* * Only for Evaluation useful. */ @@ -870,7 +885,7 @@ } } } - int prominence = getProminenceValue(item.getUri(), slot.getSlotType()); + double prominence = getProminenceValue(item.getUri(), slot.getSlotType()); allocations.add(new Allocation(item.getUri(), prominence, similarity)); } @@ -921,7 +936,7 @@ return labels; } - private int getProminenceValue(String uri, SlotType type){ + private double getProminenceValue(String uri, SlotType type){ int cnt = 1; String query = null; if(type == SlotType.CLASS){ @@ -941,6 +956,10 @@ projectionVar = qs.varNames().next(); cnt = qs.get(projectionVar).asLiteral().getInt(); } +// if(cnt == 0){ +// return 0; +// } +// return Math.log(cnt); return cnt; } @@ -1395,7 +1414,7 @@ } } - } catch (Exception e) { + } catch (Exception e) {e.printStackTrace(); logger.error("Query execution failed.", e); } return resources; @@ -1499,7 +1518,8 @@ // String question = "How/WRB many/JJ films/NNS did/VBD Leonardo/NNP DiCaprio/NNP star/VB in/IN"; // String question = "Which/WDT music/NN albums/NNS contain/VBP the/DT song/NN Last/NNP Christmas/NNP"; // String question = "Which/WDT companies/NNS are/VBP located/VBN in/IN California/NNP USA/NNP"; - String question = "Who/WP wrote/VBD the/DT book/NN The/NNP pillars/NNP of/NNP the/NNP Earth/NNP"; +// String question = "Who/WP wrote/VBD the/DT book/NN The/NNP pillars/NNP of/NNP the/NNP Earth/NNP"; + String question = "Who/WP is/VBZ called/VBN Dana/NNP"; SPARQLTemplateBasedLearner learner = new SPARQLTemplateBasedLearner();learner.setUseIdealTagger(true); // SparqlEndpoint endpoint = new SparqlEndpoint(new URL("http://greententacle.techfak.uni-bielefeld.de:5171/sparql"), // Collections.<String>singletonList(""), Collections.<String>emptyList()); Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java 2011-11-07 18:14:29 UTC (rev 3387) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java 2011-11-08 12:47:55 UTC (rev 3388) @@ -31,6 +31,15 @@ } } + public WordNet(String configPath) { + try { + JWNL.initialize(this.getClass().getClassLoader().getResourceAsStream(configPath)); + dict = Dictionary.getInstance(); + } catch (JWNLException e) { + e.printStackTrace(); + } + } + public List<String> getBestSynonyms(POS pos, String s) { List<String> synonyms = new ArrayList<String>(); 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-11-07 18:14:29 UTC (rev 3387) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-11-08 12:47:55 UTC (rev 3388) @@ -54,14 +54,19 @@ boolean ONE_SCOPE_ONLY = true; boolean UNTAGGED_INPUT = true; - boolean USE_NER = true; + boolean USE_NER = false; public Templator() { - this(new StanfordPartOfSpeechTagger()); + this(new StanfordPartOfSpeechTagger(), new WordNet()); } public Templator(final PartOfSpeechTagger tagger) { + this(tagger, new WordNet()); + } + + public Templator(final PartOfSpeechTagger tagger, WordNet wordnet) { this.tagger = tagger; + this.wordnet = wordnet; List<InputStream> grammarFiles = new ArrayList<InputStream>(); for(int i = 0; i < GRAMMAR_FILES.length; i++){ @@ -78,8 +83,6 @@ p.MODE = "LEIPZIG"; pp = new Preprocessor(USE_NER); - - wordnet = new WordNet(); } public void setUNTAGGED_INPUT(boolean b) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |