From: <chr...@us...> - 2012-08-30 15:05:18
|
Revision: 3840 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3840&view=rev Author: christinaunger Date: 2012-08-30 15:05:08 +0000 (Thu, 30 Aug 2012) Log Message: ----------- throwing out some more templates (based on DRSs that contain empty(...,int) or regextoken(...,int)) Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2BasicSPARQL_Converter.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java trunk/components-ext/src/main/resources/tbsl/lexicon/english.lex Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2BasicSPARQL_Converter.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2BasicSPARQL_Converter.java 2012-08-30 13:47:49 UTC (rev 3839) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2BasicSPARQL_Converter.java 2012-08-30 15:05:08 UTC (rev 3840) @@ -464,7 +464,7 @@ } private boolean restructureEmpty(DRS drs) { - + Set<Simple_DRS_Condition> emptyConditions = new HashSet<Simple_DRS_Condition>(); for (Simple_DRS_Condition c : drs.getAllSimpleConditions()) { if(c.getPredicate().equals("empty")) { @@ -528,5 +528,5 @@ } } return globalsuccess; - } + } } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2012-08-30 13:47:49 UTC (rev 3839) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2012-08-30 15:05:08 UTC (rev 3840) @@ -84,10 +84,9 @@ // System.out.println("\n--- DRS (before): " + drs); // DEBUG redundantEqualRenaming(drs); - if (!restructureEmpty(drs)) { - return null; + if (!restructureEmpty(drs) || !replaceRegextoken(drs)) { + return null; } - replaceRegextoken(drs); // System.out.println("--- DRS (after) : " + drs); // DEBUG for (DiscourseReferent referent : drs.collectDRs()) { @@ -467,11 +466,16 @@ } } - private void replaceRegextoken(DRS drs) { - + private boolean replaceRegextoken(DRS drs) { + Set<Simple_DRS_Condition> cs = new HashSet<Simple_DRS_Condition>(); for (Simple_DRS_Condition c : drs.getAllSimpleConditions()) { - if(c.getPredicate().equals("regextoken")) cs.add(c); + if(c.getPredicate().equals("regextoken")) { + for (DiscourseReferent arg : c.getArguments()) { + if (arg.getValue().matches("[1-9]+")) return false; + else cs.add(c); + } + } } String var; @@ -554,15 +558,19 @@ break; } } + return true; } private boolean restructureEmpty(DRS drs) { - + Set<Simple_DRS_Condition> emptyConditions = new HashSet<Simple_DRS_Condition>(); for (Simple_DRS_Condition c : drs.getAllSimpleConditions()) { if(c.getPredicate().equals("empty") || c.getPredicate().equals("empty_data")) { - emptyConditions.add(c); + for (DiscourseReferent arg : c.getArguments()) { + if (arg.getValue().matches("[1-9]+")) drs.removeCondition(c); + else emptyConditions.add(c); + } } } if (emptyConditions.isEmpty()) { 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 2012-08-30 13:47:49 UTC (rev 3839) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2012-08-30 15:05:08 UTC (rev 3840) @@ -230,10 +230,9 @@ try { Template temp = d2s.convert(drs,slots); - temp = temp.checkandrefine(); - if (temp == null) { - continue; - } + if (temp == null) { continue; } + temp = temp.checkandrefine(); + if (temp == null) { continue; } if (USE_WORDNET) { // find WordNet synonyms List<String> newwords; @@ -382,9 +381,8 @@ try { Template temp = d2s.convert(drs,slots); - temp = temp.checkandrefine(); if (temp == null) {continue;} - + temp = temp.checkandrefine(); if (USE_WORDNET) { // find WordNet synonyms Modified: trunk/components-ext/src/main/resources/tbsl/lexicon/english.lex =================================================================== --- trunk/components-ext/src/main/resources/tbsl/lexicon/english.lex 2012-08-30 13:47:49 UTC (rev 3839) +++ trunk/components-ext/src/main/resources/tbsl/lexicon/english.lex 2012-08-30 15:05:08 UTC (rev 3840) @@ -108,7 +108,7 @@ had || (S DP[subject] (VP V:'had' DP[object])) || <x, l1, t, [ l1:[ | ], l2:[ | empty(x,y) ] ], [ (l3,x,subject,<<e,t>,t>), (l4,y,object,<<e,t>,t>) ], [ l3<l1, l4<l1, l2<scope(l3), l2<scope(l4) ],[]> // with || (NP NP* (PP P:'with' DP[dp])) || <x,l1,<e,t>,[ l1:[| empty(x,y) ] ],[(l2,y,dp,<<e,t>,t>)],[l2=l1],[]> - + people || (NP N:'people') || <x,l1,<e,t>,[ l1:[|] ],[],[],[]> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |