From: <chr...@us...> - 2011-10-26 16:05:25
|
Revision: 3329 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3329&view=rev Author: christinaunger Date: 2011-10-26 16:05:16 +0000 (Wed, 26 Oct 2011) Log Message: ----------- [tbsl] updated templates for name-constructions (e.g. "a video game called Battle Chess") Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.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/Preprocessor.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/converter/DRS2SPARQL_Converter.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2011-10-26 15:11:38 UTC (rev 3328) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2011-10-26 16:05:16 UTC (rev 3329) @@ -305,6 +305,13 @@ new SPARQL_Term("'^"+simple.getArguments().get(1).getValue()+"'",true), SPARQL_PairType.REGEX))); } + else if (predicate.equals("regex")) { + query.addFilter(new SPARQL_Filter( + new SPARQL_Pair( + new SPARQL_Term(simple.getArguments().get(0).getValue(),false), + new SPARQL_Term(simple.getArguments().get(1).getValue(),true), + SPARQL_PairType.REGEX))); + } else { if (arity == 1) { SPARQL_Term term = new SPARQL_Term(simple.getArguments().get(0).getValue(),false);term.setIsVariable(true); 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-10-26 15:11:38 UTC (rev 3328) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java 2011-10-26 16:05:16 UTC (rev 3329) @@ -298,9 +298,9 @@ } semName = semName.substring(1); - out.add(new Pair<String,String>("(NP NP* ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<e,t>,[ l1:[ | SLOT_title(x,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); - out.add(new Pair<String,String>("(DP DP* ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<<e,t>,t>,[ l1:[ | SLOT_title(x,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); - out.add(new Pair<String,String>("(ADJ ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<e,t>,[ l1:[ | SLOT_title(x,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); + out.add(new Pair<String,String>("(NP NP* ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<e,t>,[ l1:[ y | SLOT_title(x,y), regex(y,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); + out.add(new Pair<String,String>("(DP DP* ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<<e,t>,t>,[ l1:[ y | SLOT_title(x,y), regex(y,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); + out.add(new Pair<String,String>("(ADJ ADJ:'"+ w +"' " + rawNames + ")", "<x,l1,<e,t>,[ l1:[ y | SLOT_title(x,y), regex(y,'" + semName + "') ] ], [],[],[ SLOT_title/PROPERTY/title^name ]>")); return out; 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-10-26 15:11:38 UTC (rev 3328) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java 2011-10-26 16:05:16 UTC (rev 3329) @@ -62,7 +62,7 @@ Matcher m; Pattern compAdjPattern = Pattern.compile("(\\w+/RBR.(\\w+)/JJ)"); - Pattern superAdjPattern = Pattern.compile("(\\w+/RBS.(\\w+)/JJ)"); +// Pattern superAdjPattern = Pattern.compile("(\\w+/RBS.(\\w+)/JJ)"); // TODO "(the most) official languages" vs "the (most official) languages" Pattern howAdjPattern = Pattern.compile("(\\w+/WRB.(\\w+)(?<!many)/JJ)"); Pattern nprepPattern = Pattern.compile("\\s((\\w+)/NNS?.of/IN)"); Pattern didPattern = Pattern.compile("(?i)(\\s((did)|(do)|(does))/VB.?)\\s"); @@ -90,11 +90,11 @@ 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()) { - logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/JJS"); - condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJS"); - } +// m = superAdjPattern.matcher(condensedstring); +// while (m.find()) { +// 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()) { logger.trace("Replacing " + m.group(1) + " by " + m.group(2)+"/JJH"); @@ -240,7 +240,6 @@ "VB","VBD","VBG","VBN","VBP","VBZ","PASSIVE","PASSPART","VPASS","VPASSIN", "GERUNDIN","VPREP","WHEN","WHERE","IN","TO","DT"}; -// NER ner = new LingPipeNER(); List<String> namedentities = ner.getNamedEntitites(untagged); List<String> usefulnamedentities = 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-10-26 15:11:38 UTC (rev 3328) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-10-26 16:05:16 UTC (rev 3329) @@ -53,6 +53,8 @@ boolean ONE_SCOPE_ONLY = true; boolean UNTAGGED_INPUT = true; + boolean USE_NER = false; + public Templator() { List<InputStream> grammarFiles = new ArrayList<InputStream>(); @@ -71,7 +73,7 @@ p.CONSTRUCT_SEMANTICS = true; p.MODE = "LEIPZIG"; - pp = new Preprocessor(true); + pp = new Preprocessor(USE_NER); wordnet = new WordNet(); } @@ -79,6 +81,9 @@ public void setUNTAGGED_INPUT(boolean b) { UNTAGGED_INPUT = b; } + public void setUSE_NER(boolean b) { + USE_NER = b; + } public Set<Template> buildTemplates(String s) { @@ -95,7 +100,12 @@ s = extractSentence(tagged); } - String newtagged = pp.condenseNominals(pp.findNEs(tagged,s)); + String newtagged; + if (USE_NER) { + newtagged = pp.condenseNominals(pp.findNEs(tagged,s)); + } + else newtagged = pp.condenseNominals(tagged); + newtagged = pp.condense(newtagged); logger.trace("Preprocessed: " + newtagged); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |