From: <chr...@us...> - 2011-05-03 14:22:38
|
Revision: 2779 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2779&view=rev Author: christinaunger Date: 2011-05-03 14:22:29 +0000 (Tue, 03 May 2011) Log Message: ----------- Update SPARQL Template Generation (added verbs and noun-pp constructions) Modified Paths: -------------- 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/sparql/Slot.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/WordNet.java trunk/components-ext/src/main/resources/tbsl/lexicon/english.lex trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TemplateGenerationTest.java Added Paths: ----------- trunk/components-ext/src/main/resources/tbsl/dict/ trunk/components-ext/src/main/resources/tbsl/dict/Makefile trunk/components-ext/src/main/resources/tbsl/dict/Makefile.am trunk/components-ext/src/main/resources/tbsl/dict/Makefile.in trunk/components-ext/src/main/resources/tbsl/dict/adj.exc trunk/components-ext/src/main/resources/tbsl/dict/adv.exc trunk/components-ext/src/main/resources/tbsl/dict/cntlist trunk/components-ext/src/main/resources/tbsl/dict/cntlist.rev trunk/components-ext/src/main/resources/tbsl/dict/data.adj trunk/components-ext/src/main/resources/tbsl/dict/data.adv trunk/components-ext/src/main/resources/tbsl/dict/data.noun trunk/components-ext/src/main/resources/tbsl/dict/data.verb trunk/components-ext/src/main/resources/tbsl/dict/frames.vrb trunk/components-ext/src/main/resources/tbsl/dict/index.adj trunk/components-ext/src/main/resources/tbsl/dict/index.adv trunk/components-ext/src/main/resources/tbsl/dict/index.noun trunk/components-ext/src/main/resources/tbsl/dict/index.sense trunk/components-ext/src/main/resources/tbsl/dict/index.verb trunk/components-ext/src/main/resources/tbsl/dict/lexnames trunk/components-ext/src/main/resources/tbsl/dict/log.grind.3.0 trunk/components-ext/src/main/resources/tbsl/dict/noun.exc trunk/components-ext/src/main/resources/tbsl/dict/sentidx.vrb trunk/components-ext/src/main/resources/tbsl/dict/sents.vrb trunk/components-ext/src/main/resources/tbsl/dict/verb.Framestext trunk/components-ext/src/main/resources/tbsl/dict/verb.exc trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/PatternMatchingTest.java trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TestFrontend.java 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-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/GrammarFilter.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -27,11 +27,11 @@ final static String[] NAMED_Strings = {"named", "called"}; final static String NAME_PREDICATE = "SLOT.pred:title_name"; - static ParseGrammar filter(String taggeduserinput,LTAGLexicon grammar,List<Integer> temps) { + static ParseGrammar filter(String taggedinput,LTAGLexicon grammar,List<Integer> temps) { SlotBuilder slotbuilder = new SlotBuilder(); - List<String> input = getWordList(taggeduserinput); + List<String> input = getWordList(taggedinput); input.add(0,"#"); // This is important. Don't mess with the parser! ParseGrammar parseG = new ParseGrammar(input.size()); @@ -167,10 +167,30 @@ } System.out.println("unknown words: " + unknownWords); - List<Pair<String,String>> buildSlotFor = preprocess(taggeduserinput,unknownWords); + List<Pair<String,String>> buildSlotFor = new ArrayList<Pair<String,String>>(); + + // remove known parts + String newtaggedstring = ""; + String[] condensedparts = taggedinput.split(" "); + for (String part : condensedparts) { + if (unknownWords.contains(part.substring(0,part.indexOf("/")).toLowerCase())) { + newtaggedstring += part + " "; + } + } + newtaggedstring = newtaggedstring.trim(); + // build token-POStag-pairs + String[] newparts = newtaggedstring.trim().split(" "); + for (String s : newparts) { + if (s.contains("/")) { + buildSlotFor.add(new Pair<String,String>(s.trim().substring(0,s.indexOf("/")),s.trim().substring(s.indexOf("/")+1))); + } else { + System.out.println("Oh no, " + s + " has no POS tag!"); // DEBUG + } + } + buildSlotFor = Preprocessor.condenseNominalPhrases(buildSlotFor); System.out.println("build slot for: " + buildSlotFor + "\n"); - List<String[]> entries = slotbuilder.build(taggeduserinput,buildSlotFor); + List<String[]> entries = slotbuilder.build(taggedinput,buildSlotFor); try { for (String[] entry : entries) { @@ -267,102 +287,5 @@ return result; } - - private static List<Pair<String,String>> preprocess(String taggedstring,List<String> unknownwords) { - - List<Pair<String,String>> result = new ArrayList<Pair<String,String>>(); - - if (unknownwords.isEmpty()) { - return result; - } - - /* condense newtaggedstring: x/RBR adj/JJ > adj/JJR, x/RBS adj/JJ > adj/JJS */ - String condensedstring = taggedstring; - - String compAdjPattern = "[a-zA-Z_0-9]+/RBR.[a-zA-Z_0-9]+/JJ"; - String superAdjPattern = "[a-zA-Z_0-9]+/RBS.[a-zA-Z_0-9]+/JJ"; - String howAdjPattern = "[a-zA-Z_0-9]+/WRB.[a-zA-Z_0-9]+/JJ"; - - if (condensedstring.matches(".*" + compAdjPattern + ".*")) { - int begin = condensedstring.indexOf("RBR") + 4; - int end = begin + condensedstring.substring(condensedstring.indexOf("RBR")).indexOf("/JJ") - 4; - String adj = condensedstring.substring(begin,end); - condensedstring = condensedstring.replaceFirst(compAdjPattern,adj+"/JJR"); - } - if (condensedstring.matches(".*" + superAdjPattern + ".*")) { - int begin = condensedstring.indexOf("RBS") + 4; - int end = begin + condensedstring.substring(condensedstring.indexOf("RBS")).indexOf("/JJ") - 4; - String adj = condensedstring.substring(begin,end); - condensedstring = condensedstring.replaceFirst(superAdjPattern,adj+"/JJS"); - } - if (condensedstring.matches(".*" + howAdjPattern + ".*")) { - int begin = condensedstring.indexOf("WRB") + 4; - int end = begin + condensedstring.substring(condensedstring.indexOf("WRB")).indexOf("/JJ") - 4; - String adj = condensedstring.substring(begin,end); - condensedstring = condensedstring.replaceFirst(howAdjPattern,adj+"/JJH"); - } - - /* remove known parts */ - String newtaggedstring = ""; - String[] condensedparts = condensedstring.split(" "); - for (String part : condensedparts) { - if (unknownwords.contains(part.substring(0,part.indexOf("/")).toLowerCase())) { - newtaggedstring += part + " "; - } - } - newtaggedstring = newtaggedstring.trim(); - - /* build token-POStag-pairs */ - String[] newparts = newtaggedstring.trim().split(" "); - for (String s : newparts) { - if (s.contains("/")) { - result.add(new Pair<String,String>(s.trim().substring(0,s.indexOf("/")),s.trim().substring(s.indexOf("/")+1))); - } else { - System.out.println("Look at that, " + s + " has no POS tag!"); // DEBUG - } - } - result = extractNominalPhrases(result); - return result; - } - - private static List<Pair<String,String>> extractNominalPhrases(List<Pair<String,String>> tokenPOSpairs){ - List<Pair<String,String>> test = new ArrayList<Pair<String,String>>(); - - String nounPhrase = ""; - String phraseTag = ""; - for(Pair<String,String> pair : tokenPOSpairs){ - if(pair.snd.startsWith("NNP")){ - if(phraseTag.equals("NN")){ - if(!nounPhrase.isEmpty()){ - test.add(new Pair<String, String>(phraseTag.trim(), "NN")); - nounPhrase = ""; - } - } - phraseTag = "NNP"; - nounPhrase += " " + pair.fst; - } else if(pair.snd.startsWith("NN")){ - if(phraseTag.equals("NNP")){ - if(!nounPhrase.isEmpty()){ - test.add(new Pair<String, String>(phraseTag.trim(), "NNP")); - nounPhrase = ""; - } - } - phraseTag = "NN"; - nounPhrase += " " + pair.fst; - } else { - if(!nounPhrase.isEmpty()){ - test.add(new Pair<String, String>(nounPhrase.trim(), phraseTag)); - nounPhrase = ""; - } - test.add(pair); - } - } - if(!nounPhrase.isEmpty()){ - test.add(new Pair<String, String>(nounPhrase.trim(), phraseTag)); - nounPhrase = ""; - } - - return test; - } } 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-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/ltag/parser/Preprocessor.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -3,12 +3,19 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.dllearner.algorithm.tbsl.sem.util.Pair; + public class Preprocessor { static final String[] genericReplacements = { "\"", "", "'", "", "[!?.,;]", "" }; static final String[] englishReplacements = { "don't", "do not", "doesn't", "does not" }; + public Preprocessor() { + } + public static String normalize(String s) { return normalize(s, new String[0]); } @@ -30,5 +37,108 @@ return s; } + + public static String condense(String taggedstring) { + + /* condense: + * x/RBR adj/JJ > adj/JJR, x/RBS adj/JJ > adj/JJS, x/WRB adj/JJ > x/JJH + * nn/RBR of/IN > nn/NPREP + * */ + String condensedstring = taggedstring; + Matcher m; + + Pattern compAdjPattern = Pattern.compile("\\s(\\w+/RBR.([a-zA-Z_0-9]+)/JJ)"); + Pattern superAdjPattern = Pattern.compile("\\s(\\w+/RBS.([a-zA-Z_0-9]+)/JJ)"); + Pattern howAdjPattern = Pattern.compile("\\s(\\w+/WRB.([a-zA-Z_0-9]+)/JJ)"); + Pattern nprepPattern = Pattern.compile("\\s((\\w+)/NNS?.of/IN)"); + Pattern passivePattern1 = Pattern.compile("(((has)|(have)|(had))/VB[A-Z]?.been/VBN.(\\w+)/VBN.by/IN)"); + Pattern passivePattern2 = Pattern.compile("(((is)|(are)|(was)|(were))/VB[A-Z]?.(\\w+)/VBN.by/IN)"); + Pattern passpartPattern = Pattern.compile("\\s((\\w+)/VBN.by/IN)"); + Pattern vpassPattern = Pattern.compile("\\s(\\w+/VBD.(\\w+)/VBN)"); + Pattern vpassinPattern = Pattern.compile("\\s((\\w+)/VPASS.\\w+/IN)"); + Pattern vprepPattern = Pattern.compile("\\s((\\w+)/V[A-Z]+\\s\\w+/IN)"); + + m = compAdjPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJR"); + } + m = superAdjPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJS"); + } + m = howAdjPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/JJH"); + } + m = nprepPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/NPREP"); + } + m = passivePattern1.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(6)+"/PASSIVE"); + } + m = passivePattern2.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(7)+"/PASSIVE"); + } + m = passpartPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/PASSPART"); + } + m = vpassPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPASS"); + } + m = vpassinPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPASSIN"); + } + m = vprepPattern.matcher(condensedstring); + while (m.find()) { + condensedstring = condensedstring.replaceFirst(m.group(1),m.group(2)+"/VPREP"); + } + + return condensedstring; + } + public static List<Pair<String,String>> condenseNominalPhrases(List<Pair<String,String>> tokenPOSpairs){ + List<Pair<String,String>> test = new ArrayList<Pair<String,String>>(); + + String nounPhrase = ""; + String phraseTag = ""; + for(Pair<String,String> pair : tokenPOSpairs){ + if(pair.snd.startsWith("NNP")){ + if(phraseTag.equals("NN")){ + if(!nounPhrase.isEmpty()){ + test.add(new Pair<String, String>(phraseTag.trim(), "NN")); + nounPhrase = ""; + } + } + phraseTag = "NNP"; + nounPhrase += " " + pair.fst; + } else if(pair.snd.startsWith("NN")){ + if(phraseTag.equals("NNP")){ + if(!nounPhrase.isEmpty()){ + test.add(new Pair<String, String>(phraseTag.trim(), "NNP")); + nounPhrase = ""; + } + } + phraseTag = "NN"; + nounPhrase += " " + pair.fst; + } else { + if(!nounPhrase.isEmpty()){ + test.add(new Pair<String, String>(nounPhrase.trim(), phraseTag)); + nounPhrase = ""; + } + test.add(pair); + } + } + if(!nounPhrase.isEmpty()){ + test.add(new Pair<String, String>(nounPhrase.trim(), phraseTag)); + nounPhrase = ""; + } + + return test; + } } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Slot.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Slot.java 2011-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Slot.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -14,11 +14,13 @@ anchor = a; type = SlotType.UNSPEC; words = ws; + replaceUnderscores(); } public Slot(String a,SlotType t,List<String> ws) { anchor = a; type = t; words = ws; + replaceUnderscores(); } public void setSlotType(SlotType st) { @@ -36,9 +38,12 @@ anchor = s; } - public List<String> getWords(){ + public List<String> getWords() { return words; } + public void setWords(List<String> ws) { + words = ws; + } public void replaceReferent(String ref1,String ref2) { if (anchor.equals(ref1)) { @@ -46,6 +51,14 @@ } } + public void replaceUnderscores() { + ArrayList<String> newWords = new ArrayList<String>(); + for (String w : words) { + newWords.add(w.replaceAll("_"," ")); + } + words = newWords; + } + public String toString() { String out = anchor + ": " + type + " {"; Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java 2011-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -9,9 +9,9 @@ public class SlotBuilder { private WordNet wordnet; - private String[] noun = {"NN","NNS","NNP","NNPS"}; + private String[] noun = {"NN","NNS","NNP","NNPS","NPREP"}; private String[] adjective = {"JJ","JJR","JJS","JJH"}; - private String[] verb = {"VB","VBD","VBG","VBN","VBP","VBZ"}; + private String[] verb = {"VB","VBD","VBG","VBN","VBP","VBZ","PASSIVE","PASSPART","VPASS","VPASSIN","VPREP"}; private String[] preps = {"IN"}; public SlotBuilder() { @@ -45,40 +45,127 @@ else if (pos.equals("NNP") || pos.equals("NNPS")) { type = "RESOURCE"; } - List<String> words = wordnet.getBestSynonyms(token); - words.add(0,token); + else if (pos.equals("NPREP")) { + type = "PROPERTY"; + } + List<String> words = new ArrayList<String>(); + words.add(token); + words.addAll(wordnet.getBestSynonyms(token)); String slotX = "x/" + type + "/"; - String slotP = "SLOT_" +token + "/" + type + "/"; + String slotP = "SLOT_" + token + "/" + type + "/"; for (Iterator<String> i = words.iterator(); i.hasNext();) { - String next = i.next(); + String next = i.next().replaceAll(" ","_"); slotX += next; slotP += next; if (i.hasNext()) { slotX += "^"; slotP += "^"; } } + String treetoken = "N:'" + token.toLowerCase() + "'"; + if (token.trim().contains(" ")) { + String[] tokenParts = token.split(" "); + treetoken = ""; + for (String t : tokenParts) { + treetoken += " N:'" + t.toLowerCase() + "'"; + } + treetoken = treetoken.trim(); + } if (pos.equals("NN") || pos.equals("NNS")) { /* DP */ String[] dpEntry = {token, - "(DP (NP N:'" + token.toLowerCase() + "'))", + "(DP (NP " + treetoken + "))", "<x,l1,<<e,t>,t>,[ l1:[ x | SLOT_" + token + "(x) ] ],[],[],[" + slotP + "]>"}; result.add(dpEntry); /* NP */ String[] npEntry = {token, - "(NP N:'" + token.toLowerCase() + "')", + "(NP " + treetoken + ")", "<x,l1,<e,t>,[ l1:[ | SLOT_" + token + "(x) ] ],[],[],[" + slotP + "]>"}; result.add(npEntry); } else if (pos.equals("NNP") || pos.equals("NNPS")) { /* DP */ - String[] dpEntry = {token, - "(DP (NP N:'" + token.toLowerCase() + "'))", + String[] dpEntry1 = {token, + "(DP (NP " + treetoken + "))", "<x,l1,<<e,t>,t>,[ l1:[ x | ] ],[],[],[" + slotX + "]>"}; - result.add(dpEntry); + String[] dpEntry2 = {token, + "(DP DET[det] (NP " + treetoken + "))", + "<x,l1,<<e,t>,t>,[ l1:[ | ] ],[(l2,x,det,e)],[l2=l1],[" + slotX + "]>"}; + result.add(dpEntry1); + result.add(dpEntry2); } + else if (pos.equals("NPREP")) { + /* DP */ + String[] dpEntry1a = {token, + "(DP (NP " + treetoken + " P:'of' DP[pobj]))", + "<x,l1,<<e,t>,t>,[ l1:[ x | SLOT_" + token + "(y,x) ] ],[(l2,y,pobj,<<e,t>,t>)],[l2=l1],[" + slotP + "]>"}; + String[] dpEntry1b = {token, + "(DP (NP " + treetoken + " P:'of' DP[pobj]))", + "<x,l1,<<e,t>,t>,[ l1:[ x | SLOT_" + token + "(x), SLOT_of(x,y) ] ],[(l2,y,pobj,<<e,t>,t>)],[l2=l1],[" + slotP + "," + "SLOT_of/PROPERTY/" + "]>"}; + String[] dpEntry2a = {token, + "(DP DET[det] (NP " + treetoken + " P:'of' DP[pobj]))", + "<x,l1,<<e,t>,t>,[ l1:[ x | SLOT_" + token + "(y,x) ] ],[(l2,y,pobj,<<e,t>,t>),(l3,x,det,e)],[l2=l1,l3=l1],[" + slotP + "]>"}; + String[] dpEntry2b = {token, + "(DP DET[det] (NP " + treetoken + " P:'of' DP[pobj]))", + "<x,l1,<<e,t>,t>,[ l1:[ x | SLOT_" + token + "(x), SLOT_of(x,y) ] ],[(l2,y,pobj,<<e,t>,t>),(l3,x,det,e)],[l2=l1,l3=l1],[" + slotP + "," + "SLOT_of/PROPERTY/" + "]>"}; + result.add(dpEntry1a); + result.add(dpEntry1b); + result.add(dpEntry2a); + result.add(dpEntry2b); + } } /* VERBS */ else if (equalsOneOf(pos,verb)) { + String slot = "SLOT_" + token + "/PROPERTY/" + token; + List<String> preds = wordnet.getAttributes(token); + for (Iterator<String> i = preds.iterator(); i.hasNext();) { + slot += i.next(); + if (i.hasNext()) { + slot += "^"; + } + } + if (pos.equals("PASSIVE")) { + String[] passEntry = {token, + "(S DP[subj] (VP V:'" + token + "' DP[obj]))", + "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(y,x) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + slot + "]>"}; + result.add(passEntry); + } + else if (pos.equals("PASSPART")) { + String[] passpartEntry = {token, + "(NP NP* (VP V:'" + token + "' DP[dp]))", + "<x,l1,t,[ l1:[ | SLOT_" + token + "(y,x) ] ],[(l2,y,dp,<<e,t>,t>)],[ l2=l1 ],[" + slot + "]>"}; + result.add(passpartEntry); + } + else if (pos.equals("VPASS")) { + String[] passEntry = {token, + "(S DP[subj] (VP V:'" + token + "'))", + "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(y,x) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + slot + "]>"}; + result.add(passEntry); + } + else if (pos.equals("VPASSIN")) { + String[] passEntry = {token, + "(S DP[subj] (VP V:'" + token + "' DP[obj]))", + "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(x,y) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + slot + "]>"}; + result.add(passEntry); + } + else if (pos.equals("VPREP")) { + String[] passEntry = {token, + "(S DP[subj] (VP V:'" + token + "' DP[obj]))", + "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(x,y) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + slot + "]>"}; + result.add(passEntry); + } + else if (pos.equals("VBD") || pos.equals("VBZ") || pos.equals("VBP")) { + String[] vEntry = {token, + "(S DP[subj] (VP V:'" + token + "' DP[obj]))", + "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(x,y) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + slot + "]>"}; + result.add(vEntry); + } + else if (pos.equals("VBG") || pos.equals("VBN")) { + String[] gerEntry = {token, + "(NP NP* (VP V:'" + token + "' DP[dp]))", + "<x,l1,t,[ l1:[ | SLOT_" + token + "(x,y) ] ],[(l2,y,dp,<<e,t>,t>)],[ l2=l1 ],[" + slot + "]>"}; + result.add(gerEntry); + } + } /* ADJECTIVES */ else if (equalsOneOf(pos,adjective)) { 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-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -59,38 +59,47 @@ s = Preprocessor.normalize(s); String tagged = tagger.tag(s); System.out.println("Tagged input: " + tagged); + tagged = Preprocessor.condense(tagged); + System.out.println("Preprocessed: " + tagged); p.parse(tagged,g); if (p.getDerivationTrees().isEmpty()) { p.clear(g,p.getTemps()); clearAgain = false; - System.out.println("'" + s + "' could not be parsed."); + System.out.println("[Templator.java] '" + s + "' could not be parsed."); } - + else { try { for (TreeNode dtree : p.buildDerivedTrees(g)) { - if (!dtree.getAnchor().trim().equals(s.toLowerCase())) { - System.err.println("Anchors don't match the input."); + if (!dtree.getAnchor().trim().equals(tagged.toLowerCase())) { + System.err.println("[Templator.java] Anchors don't match the input. (Nevermind...)"); break; } } } catch (ParseException e) { - System.err.println("ParseException at '" + e.getMessage() + "'"); + System.err.println("[Templator.java] ParseException at '" + e.getMessage() + "'"); } + } List<DRS> drses; Set<Template> templates = new HashSet<Template>(); for (Dude dude : p.getDudes()) { -// System.out.println(dude); +// System.out.println("DUDE: " + dude); // DEBUG UDRS udrs = d2u.convert(dude); if (udrs != null) { drses = new ArrayList<DRS>(); drses.addAll(udrs.initResolve()); for (DRS drs : drses) { +// System.out.println("DRS: " + drs); // DEBUG List<Slot> slots = new ArrayList<Slot>(); slots.addAll(dude.getSlots()); +// //DEBUG +// for (Slot sl : slots) { +// System.out.println(sl); +// } +// // try { Template temp = d2s.convert(drs,slots); templates.add(temp); Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/WordNet.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/WordNet.java 2011-05-02 14:56:50 UTC (rev 2778) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/WordNet.java 2011-05-03 14:22:29 UTC (rev 2779) @@ -16,7 +16,7 @@ } public WordNet() { - path = "src/main/resources/tbsl/dictionary/"; + path = "src/main/resources/tbsl/dict/"; } public void setWordNetPath(String s) { @@ -68,11 +68,14 @@ List<String> result = new ArrayList<String>(); - Synset synset = database.getSynsets(s)[0]; - if (synset.getType().equals(SynsetType.ADJECTIVE)) { - NounSynset[] attributes = ((AdjectiveSynset) synset).getAttributes(); - for (int i = 0; i < attributes.length; i++) { - result.add(attributes[i].getWordForms()[0]); + Synset[] synsets = database.getSynsets(s); + if (synsets.length > 0) { + Synset synset = synsets[0]; + if (synset.getType().equals(SynsetType.ADJECTIVE)) { + NounSynset[] attributes = ((AdjectiveSynset) synset).getAttributes(); + for (int i = 0; i < attributes.length; i++) { + result.add(attributes[i].getWordForms()[0]); + } } } Added: trunk/components-ext/src/main/resources/tbsl/dict/Makefile =================================================================== --- trunk/components-ext/src/main/resources/tbsl/dict/Makefile (rev 0) +++ trunk/components-ext/src/main/resources/tbsl/dict/Makefile 2011-05-03 14:22:29 UTC (rev 2779) @@ -0,0 +1,314 @@ +# Makefile.in generated by automake 1.9 from Makefile.am. +# dict/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/WordNet +pkglibdir = $(libdir)/WordNet +pkgincludedir = $(includedir)/WordNet +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/csl/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = dict +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(dictdir)" +dictDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dict_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run tar +AUTOCONF = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run autoconf +AUTOHEADER = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run autoheader +AUTOMAKE = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run automake-1.9 +AWK = nawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = egrep +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /people/wn/src/Release/3.0/Unix/missing --run makeinfo +OBJEXT = o +PACKAGE = WordNet +PACKAGE_BUGREPORT = wo...@pr... +PACKAGE_NAME = WordNet +PACKAGE_STRING = WordNet 3.0 +PACKAGE_TARNAME = wordnet +PACKAGE_VERSION = 3.0 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/bash +STRIP = +TCL_INCLUDE_SPEC = -I/usr/csl/include +TCL_LIB_SPEC = -L/usr/csl/lib -ltcl8.4 +TK_LIBS = -L/usr/openwin/lib -lX11 -ldl -lpthread -lsocket -lnsl -lm +TK_LIB_SPEC = -L/usr/csl/lib -ltk8.4 +TK_PREFIX = /usr/csl +TK_XINCLUDES = -I/usr/openwin/include +VERSION = 3.0 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +ac_prefix = /usr/local/WordNet-3.0 +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /people/wn/src/Release/3.0/Unix/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = $(install_sh) -d +oldincludedir = /usr/include +prefix = /usr/local/WordNet-3.0 +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +dictdir = $(prefix)/dict +dict_DATA = adj.exc adv.exc cntlist cntlist.rev data.adj data.adv data.noun data.verb frames.vrb index.adj index.adv index.noun index.sense index.verb log.grind.3.0 noun.exc sentidx.vrb sents.vrb verb.Framestext verb.exc lexnames +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu dict/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu dict/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-dictDATA: $(dict_DATA) + @$(NORMAL_INSTALL) + test -z "$(dictdir)" || $(mkdir_p) "$(DESTDIR)$(dictdir)" + @list='$(dict_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dictDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dictdir)/$$f'"; \ + $(dictDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dictdir)/$$f"; \ + done + +uninstall-dictDATA: + @$(NORMAL_UNINSTALL) + @list='$(dict_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dictdir)/$$f'"; \ + rm -f "$(DESTDIR)$(dictdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(dictdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dictDATA + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dictDATA uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dictDATA install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-dictDATA \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/components-ext/src/main/resources/tbsl/dict/Makefile.am =================================================================== --- trunk/components-ext/src/main/resources/tbsl/dict/Makefile.am (rev 0) +++ trunk/components-ext/src/main/resources/tbsl/dict/Makefile.am 2011-05-03 14:22:29 UTC (rev 2779) @@ -0,0 +1,2 @@ +dictdir = $(prefix)/dict +dict_DATA = adj.exc adv.exc cntlist cntlist.rev data.adj data.adv data.noun data.verb frames.vrb index.adj index.adv index.noun index.sense index.verb log.grind.3.0 noun.exc sentidx.vrb sents.vrb verb.Framestext verb.exc lexnames Added: trunk/components-ext/src/main/resources/tbsl/dict/Makefile.in =================================================================== --- trunk/components-ext/src/main/resources/tbsl/dict/Makefile.in (rev 0) +++ trunk/components-ext/src/main/resources/tbsl/dict/Makefile.in 2011-05-03 14:22:29 UTC (rev 2779) @@ -0,0 +1,314 @@ +# Makefile.in generated by automake 1.9 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = dict +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(dictdir)" +dictDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dict_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ +TCL_LIB_SPEC = @TCL_LIB_SPEC@ +TK_LIBS = @TK_LIBS@ +TK_LIB_SPEC = @TK_LIB_SPEC@ +TK_PREFIX = @TK_PREFIX@ +TK_XINCLUDES = @TK_XINCLUDES@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_prefix = @ac_prefix@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +dictdir = $(prefix)/dict +dict_DATA = adj.exc adv.exc cntlist cntlist.rev data.adj data.adv data.noun data.verb frames.vrb index.adj index.adv index.noun index.sense index.verb log.grind.3.0 noun.exc sentidx.vrb sents.vrb verb.Framestext verb.exc lexnames +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu dict/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu dict/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-dictDATA: $(dict_DATA) + @$(NORMAL_INSTALL) + test -z "$(dictdir)" || $(mkdir_p) "$(DESTDIR)$(dictdir)" + @list='$(dict_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dictDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dictdir)/$$f'"; \ + $(dictDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dictdir)/$$f"; \ + done + +uninstall-dictDATA: + @$(NORMAL_UNINSTALL) + @list='$(dict_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dictdir)/$$f'"; \ + rm -f "$(DESTDIR)$(dictdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(dictdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dictDATA + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dictDATA uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dictDATA install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-dictDATA \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/components-ext/src/main/resources/tbsl/dict/adj.exc =================================================================== --- trunk/components-ext/src/main/resources/tbsl/dict/adj.exc (rev 0) +++ trunk/components-ext/src/main/resources/tbsl/dict/adj.exc 2011-05-03 14:22:29 UTC (rev 2779) @@ -0,0 +1,1490 @@ +acer acer +after after +airier airy +airiest airy +all-arounder all-arounder +angrier angry +angriest angry +archer archer +artier arty +artiest arty +ashier ashy +ashiest ashy +assaulter assaulter +attacker attacker +backer backer +baggier baggy +baggiest baggy +balkier balky +balkiest balky +balmier balmy +balmiest balmy +bandier bandy +bandiest bandy +bargainer bargainer +barmier barmy +barmiest barmy +battier batty +battiest batty +baulkier baulky +baulkiest baulky +bawdier bawdy +bawdiest bawdy +bayer bayer +beadier beady +beadiest beady +beastlier beastly +beastliest beastly +beater beater +beefier beefy +beefiest beefy +beerier beery +beeriest beery +bendier bendy +bendiest bendy +best good +better good well +bigger big +biggest big +bitchier bitchy +bitchiest bitchy +biter biter +bittier bitty +bittiest bitty +blearier bleary +bleariest bleary +bloodier bloody +bloodiest bloody +bloodthirstier bloodthirsty +bloodthirstiest bloodthirsty +blowier blowy +blowiest blowy +blowsier blowsy +blowsiest blowsy +blowzier blowzy +blowziest blowzy +bluer blue +bluest blue +boner boner +bonier bony +boniest bony +bonnier bonny +bonniest bonny +boozier boozy +booziest boozy +boskier bosky +boskiest bosky +bossier bossy +bossiest bossy +botchier botchy +botchiest botchy +bother bother +bouncier bouncy +bounciest bouncy +bounder bounder +bower bower +brainier brainy +brainiest brainy +brashier brashy +brashiest brashy +brassier brassy +brassiest brassy +brawnier brawny +brawniest brawny +breathier breathy +breathiest breathy +breezier breezy +breeziest breezy +brinier briny +briniest briny +britisher britisher +broadcaster broadcaster +brooder brooder +broodier broody +broodiest broody +bubblier bubbly +bubbliest bubbly +buggier buggy +buggiest buggy +bulkier bulky +bulkiest bulky +bumpier bumpy +bumpiest bumpy +bunchier bunchy +bunchiest bunchy +burlier burly +burliest burly +burrier burry +burriest burry +burster burster +bushier bushy +bushiest bushy +busier busy +busiest busy +buster buster +bustier busty +bustiest busty +cagier cagey +cagiest cagey +camper camper +cannier canny +canniest canny +canter canter +cantier canty +cantiest canty +caster caster +catchier catchy +catchiest catchy +cattier catty +cattiest catty +cer cer +chancier chancy +chanciest chancy +charier chary +chariest chary +chattier chatty +chattiest chatty +cheekier cheeky +cheekiest cheeky +cheerier cheery +cheeriest cheery +cheesier cheesy +cheesiest cheesy +chestier chesty +chestiest chesty +chewier chewy +chewiest chewy +chillier chilly +chilliest chilly +chintzier chintzy +chintziest chintzy +chippier chippy +chippiest chippy +choosier choosy +choosiest choosy +choppier choppy +choppiest choppy +chubbier chubby +chubbiest chubby +chuffier chuffy +chuffiest chuffy +chummier chummy +chummiest chummy +chunkier chunky +chunkiest chunky +churchier churchy +churchiest churchy +clammier clammy +clammiest clammy +classier classy +classiest classy +cleanlier cleanly +cleanliest cleanly +clerklier clerkly +clerkliest clerkly +cloudier cloudy +cloudiest cloudy +clubbier clubby +clubbiest clubby +clumsier clumsy +clumsiest clumsy +cockier cocky +cockiest cocky +coder coder +collier colly +colliest colly +comelier comely +comeliest comely +comfier comfy +comfiest comfy +cornier corny +corniest corny +cosier cosy +cosiest cosy +costlier costly +costliest costly +costumer costumer +counterfeiter counterfeiter +courtlier courtly +courtliest courtly +cozier cozy +coziest cozy +crabbier crabby +crabbiest crabby +cracker cracker +craftier crafty +craftiest crafty +craggier craggy +craggiest craggy +crankier cranky +crankiest cranky +crasher crasher +crawlier crawly +crawliest crawly +crazier crazy +craziest crazy +creamer creamer +creamier creamy +creamiest creamy +creepier creepy +creepiest creepy +crispier crispy +crispiest crispy +crumbier crumby +crumbiest crumby +crumblier crumbly +crumbliest crumbly +crummier crummy +crummiest crummy +crustier crusty +crustiest crusty +curlier curly +curliest curly +customer customer +cuter cute +daffier daffy +daffiest daffy +daintier dainty +daintiest dainty +dandier dandy +dandiest dandy +deadlier deadly +deadliest deadly +dealer dealer +deserter deserter +dewier dewy +dewiest dewy +dicier dicey +diciest dicey +dimer dimer +dimmer dim +dimmest dim +dingier dingy +dingiest dingy +dinkier dinky +dinkiest dinky +dippier dippy +dippiest dippy +dirtier dirty +dirtiest dirty +dishier dishy +dishiest dishy +dizzier dizzy +dizziest dizzy +dodgier dodgy +dodgiest dodgy +dopier dopey +dopiest dopey +dottier dotty +dottiest dotty +doughier doughy +doughiest doughy +doughtier doughty +doughtiest doughty +dowdier dowdy +dowdiest dowdy +dowier dowie dowy +dowiest dowie dowy +downer downer +downier downy +downiest downy +dozier dozy +doziest dozy +drabber drab +drabbest drab +draftier drafty +draftiest drafty +draggier draggy +draggiest draggy +draughtier draughty +draughtiest draughty +dreamier dreamy +dreamiest dreamy +drearier dreary +dreariest dreary +dreggier dreggy +dreggiest dreggy +dresser dresser +dressier dressy +dressiest dressy +drier dry +driest dry +drippier drippy +drippiest drippy +drowsier drowsy +drowsiest drowsy +dryer dry +dryest dry +dumpier dumpy +dumpiest dumpy +dunner dun +dunnest dun +duskier dusky +duskiest dusky +dustier dusty +dustiest dusty +earlier early +earliest early +earthier earthy +earthiest earthy +earthlier earthly +earthliest earthly +easier easy +easiest easy +easter easter +eastsider eastsider +edger edger +edgier edgy +edgiest edgy +eerier eerie +eeriest eerie +emptier empty +emptiest empty +faker faker +fancier fancy +fanciest fancy +fatter fat +fattest fat +fattier fatty +fattiest fatty +faultier faulty +faultiest faulty +feistier feisty +feistiest feisty +feller feller +fiddlier fiddly +fiddliest fiddly +filmier filmy +filmiest filmy +filthier filthy +filthiest filthy +finnier finny +finniest finny +first-rater first-rater +first-stringer first-stringer +fishier fishy +fishiest fishy +fitter fit +fittest fit +flabbier flabby +flabbiest flabby +flaggier flaggy +flaggiest flaggy +flakier flaky +flakiest flaky +flasher flasher +flashier flashy +flashiest flashy +flatter flat +flattest flat +flauntier flaunty +flauntiest flaunty +fledgier fledgy +fledgiest fledgy +fleecier fleecy +fleeciest fleecy +fleshier fleshy +fleshiest fleshy +fleshlier fleshly +fleshliest fleshly +flightier flighty +flightiest flighty +flimsier flimsy +flimsiest flimsy +flintier flinty +flintiest flinty +floatier floaty +floatiest floaty +floppier floppy +floppiest floppy +flossier flossy +flossiest flossy +fluffier fluffy +fluffiest fluffy +flukier fluky +flukiest fluky +foamier foamy +foamiest foamy +foggier foggy +foggiest foggy +folder folder +folksier folksy +folksiest folksy +foolhardier foolhardy +foolhardiest foolhardy +fore-and-after fore-and-after +foreigner foreigner +forest forest +founder founder +foxier foxy +foxiest foxy +fratchier fratchy +fratchiest fratchy +freakier freaky +freakiest freaky +freer free +freest free +frenchier frenchy +frenchiest frenchy +friendlier friendly +friendliest friendly +friskier frisky +friskiest frisky +frizzier frizzy +frizziest frizzy +frizzlier frizzly +frizzliest frizzly +frostier frosty +frostiest frosty +frouzier frouzy +frouziest frouzy +frowsier frowsy +frowsiest frowsy +frowzier frowzy +frowziest frowzy +fruitier fruity +fruitiest fruity +funkier funky +funkiest funky +funnier funny +funniest funny +furrier furry +furriest furry +fussier fussy +fussiest fussy +fustier fusty +fustiest fusty +fuzzier fuzzy +fuzziest fuzzy +gabbier gabby +gabbiest gabby +gamier gamy +gamiest gamy +gammier gammy +gammiest gammy +gassier gassy +gassiest gassy +gaudier gaudy +gaudiest gaudy +gauzier gauzy +gauziest gauzy +gawkier gawky +gawkiest gawky +ghastlier ghastly +ghastliest ghastly +ghostlier ghostly +ghostliest ghostly +giddier giddy +giddiest giddy +gladder glad +gladdest glad +glassier glassy +glassiest glassy +glibber glib +glibbest glib +gloomier gloomy +gloomiest gloomy +glossier glossy +glossiest glossy +glummer glum +glummest glum +godlier godly +godliest godly +goer goer +goner goner +goodlier goodly +goodliest goodly +goofier goofy +goofiest goofy +gooier gooey +gooiest gooey +goosier goosy +goosiest goosy +gorier gory +goriest gory +gradelier gradely +gradeliest gradely +grader grader +grainier grainy +grainiest grainy +grassier grassy +grassiest grassy +greasier greasy +greasiest greasy +greedier greedy +greediest greedy +grimmer grim +grimmest grim +grislier grisly +grisliest grisly +grittier gritty +grittiest gritty +grizzlier grizzly +grizzliest grizzly +groggier groggy +groggiest groggy +groovier groovy +grooviest groovy +grottier grotty +grottiest grotty +grounder grounder +grouper grouper +groutier grouty +groutiest grouty +grubbier grubby +grubbiest grubby +grumpier grumpy +grumpiest grumpy +guest guest +guiltier guilty +guiltiest guilty +gummier gummy +gummiest gummy +gushier gushy +gushiest gushy +gustier gusty +gustiest gusty +gutsier gutsy +gutsiest gutsy +hairier hairy +hairiest hairy +halfways halfway +halter halter +hammier hammy +hammiest hammy +handier handy +handiest handy +happier happy +happiest happy +hardier hardy +hardiest hardy +hastier hasty +hastiest hasty +haughtier haughty +haughtiest haughty +hazier hazy +haziest hazy +header header +headier heady +headiest heady +healthier healthy +healthiest healthy +heartier hearty +heartiest hearty +heavier heavy +heaviest heavy +heftier hefty +heftiest hefty +hepper hep +heppest hep +herbier herby +herbiest herby +hinder hind +hipper hip +hippest hip +hippier hippy +hippiest hippy +hoarier hoary +hoariest hoary +holier holy +holiest holy +homelier homely +homeliest homely +homer homer +homier homey +homiest homey +hornier horny +horniest horny +horsier horsy +horsiest horsy +hotter hot +hottest hot +humpier humpy +humpiest humpy +hunger hunger +hungrier hungry +hungriest hungry +huskier husky +huskiest husky +icier icy +iciest icy +inkier inky +inkiest inky +insider insider +interest interest +jaggier jaggy +jaggiest jaggy +jammier jammy +jammiest jammy +jauntier jaunty +jauntiest jaunty +jazzier jazzy +jazziest jazzy +jerkier jerky +jerkiest jerky +jointer jointer +jollier jolly +jolliest jolly +juicier juicy +juiciest juicy +jumpier jumpy +jumpiest jumpy +kindlier kindly +kindliest kindly +kinkier kinky +kinkiest kinky +knottier knotty +knottiest knotty +knurlier knurly +knurliest knurly +kookier kooky +kookiest kooky +lacier lacy +laciest lacy +lairier lairy +lairiest lairy +lakier laky +lakiest laky +lander lander +lankier lanky +lankiest lanky +lathier lathy +lathiest lathy +layer layer +lazier lazy +laziest lazy +leafier leafy +leafiest leafy +leakier leaky +leakiest leaky +learier leary +leariest leary +leer leer +leerier leery +leeriest leery +left-hander left-hander +left-winger left-winger +leggier leggy +leggiest leggy +lengthier lengthy +lengthiest lengthy +ler ler +leveler leveler +limier limy +limiest limy +lippier lippy +lippiest lippy +liter liter +livelier lively +liveliest lively +liver liver +loather loather +loftier lofty +loftiest lofty +logier logy +logiest logy +lonelier lonely +loneliest lonely +loner loner +loonier loony +looniest loony +loopier loopy +loopiest loopy +lordlier lordly +lordliest lordly +lousier lousy +lousiest lousy +lovelier lovely +loveliest lovely +lowlander lowlander +lowlier lowly +lowliest lowly +luckier lucky +luckiest lucky +lumpier lumpy +lumpiest lumpy +lunier luny +luniest luny +lustier lusty +lustiest lusty +madder mad +maddest mad +mainer mainer +maligner maligner +maltier malty +maltiest malty +mangier mangy +mangiest mangy +mankier manky +mankiest manky +manlier manly +manliest manly +mariner mariner +marshier marshy +marshiest marshy +massier massy +massiest massy +matter matter +maungier maungy +maungiest maungy +mazier mazy +maziest mazy +mealier mealy +mealiest mealy +measlier measly +measliest measly +meatier meaty +meatiest meaty +meeter meeter +merrier merry +merriest merry +messier messy +messiest messy +miffier miffy +miffiest miffy +mightier mighty +mightiest mighty +milcher milcher +milker milker +milkier milky +milkiest milky +mingier mingy +mingiest mingy +minter minter +mirkier mirky +mirkiest mirky +miser miser +mistier misty +mistiest misty +mocker mocker +modeler modeler +modest modest +moldier moldy +moldiest moldy +moodier moody +moodiest moody +moonier moony +mooniest moony +mothier mothy +mothiest mothy +mouldier mouldy +mouldiest mouldy +mousier mousy +mousiest mousy +mouthier mouthy +mouthiest mouthy +muckier mucky +muckiest mucky +muddier muddy +muddiest muddy +muggier muggy +muggiest muggy +multiplexer multiplexer +murkier murky +murkiest murky +mushier mushy +mushiest mushy +muskier musky +muskiest musky +muster muster +mustier musty +mustiest musty +muzzier muzzy +muzziest muzzy +nappier nappy +nappiest nappy +nastier nasty +nastiest nasty +nattier natty +nattiest natty +naughtier naughty +naughtiest naughty +needier needy +neediest needy +nervier nervy +nerviest nervy +newsier newsy +newsiest newsy +niftier nifty +niftiest nifty +nippier nippy +nippiest nippy +nittier nitty +nittiest nitty +noisier noisy +noisiest noisy +northeasterner northeasterner +norther norther +northerner northerner +nosier nosy +nosiest nosy +number number +nuttier nutty +nuttiest nutty +offer off +offer offer +oilier oily +oiliest oily +old-timer old-timer +oliver oliver +oozier oozy +ooziest oozy +opener opener +outsider outsider +overcomer overcomer +overnighter overnighter +owner owner +pallier pally +palliest pally +palmier palmy +palmiest palmy +paltrier paltry +paltriest paltry +pappier pappy +pappiest pappy +parkier parky +parkiest parky +part-timer part-timer +passer passer +paster paster +pastier pasty +pastiest pasty +patchier patchy +patchiest patchy +pater pater +pawkier pawky +pawkiest pawky +peachier peachy +peachiest peachy +pearler pearler +pearlier pearly +pearlie... [truncated message content] |