private static void writeClassesInEnv(Map<String, Env> env, Env globalEnv, String file) throws IOException { BufferedWriter w = new BufferedWriter(new FileWriter(file)); for(Entry<String, Env> en: env.entrySet()){ for(Entry<String, Object> en2: en.getValue().getVariables().entrySet()){ if(en2.getValue() instanceof Class) w.write(en.getKey()+"###"+en2.getKey()+"###"+((Class)en2.getValue()).getName()+"\n"); } } for(Entry<String, Object> en2: globalEnv.getVariables().entrySet()){ if(en2.getValue() instanceof Class) w.write(en2.getKey()+"###"+ ((Class)en2.getValue()).getName()+"\n"); } w.close(); }
public static String getKeyForClass(Class classR) { String key =class2KeyMapping.get(classR); if(key == null){ for(Map.Entry<String, Object> vars: ConstantsAndVariables.globalEnv.getVariables().entrySet()){ if(vars.getValue().equals(classR)){ key = vars.getKey().toLowerCase(); class2KeyMapping.put(classR, key); break; } } } if(key == null){ key = classR.getSimpleName().toLowerCase(); class2KeyMapping.put(classR, key); ConstantsAndVariables.globalEnv.bind(key, classR); } return key; }
public void applyPats(Counter<E> patterns, String label, TwoDimensionalCounter<CandidatePhrase, E> wordsandLemmaPatExtracted, CollectionValuedMap<E, Triple<String, Integer, Integer>> matchedTokensByPat, Set<CandidatePhrase> alreadyLabeledWords){ // Counter<E> patternsLearnedThisIterConsistsOnlyGeneralized = new ClassicCounter<E>(); // Counter<E> patternsLearnedThisIterRest = new ClassicCounter<E>(); // Set<String> specialWords = constVars.invertedIndex.getSpecialWordsList(); for(Map.Entry<String, Env> en: constVars.env.entrySet()){ en.getValue().getVariables().putAll(ConstantsAndVariables.globalEnv.getVariables()); } Map<E, Map<String, DataInstance>> sentencesForPatterns = getSentences(constVars.invertedIndex.queryIndex(patterns.keySet())); for(Map.Entry<E, Map<String, DataInstance>> en: sentencesForPatterns.entrySet()){ runParallelApplyPats(en.getValue(), label, en.getKey(), wordsandLemmaPatExtracted, matchedTokensByPat, alreadyLabeledWords); } Redwood.log(Redwood.DBG, "# words/lemma and pattern pairs are " + wordsandLemmaPatExtracted.size()); } /*
SemgrexPattern pat = SemgrexPattern.compile(pattern.toString(notAllowedClasses), new edu.stanford.nlp.semgraph.semgrex.Env(constVars.env.get(label).getVariables())); depPatternsLearnedThisIterConverted.put(pat, pattern); } else {
private static void writeClassesInEnv(Map<String, Env> env, Env globalEnv, String file) throws IOException { BufferedWriter w = new BufferedWriter(new FileWriter(file)); for(Entry<String, Env> en: env.entrySet()){ for(Entry<String, Object> en2: en.getValue().getVariables().entrySet()){ if(en2.getValue() instanceof Class) w.write(en.getKey()+"###"+en2.getKey()+"###"+((Class)en2.getValue()).getName()+"\n"); } } for(Entry<String, Object> en2: globalEnv.getVariables().entrySet()){ if(en2.getValue() instanceof Class) w.write(en2.getKey()+"###"+ ((Class)en2.getValue()).getName()+"\n"); } w.close(); }
public static String getKeyForClass(Class classR) { String key =class2KeyMapping.get(classR); if(key == null){ for(Map.Entry<String, Object> vars: ConstantsAndVariables.globalEnv.getVariables().entrySet()){ if(vars.getValue().equals(classR)){ key = vars.getKey().toLowerCase(); class2KeyMapping.put(classR, key); break; } } } if(key == null){ key = classR.getSimpleName().toLowerCase(); class2KeyMapping.put(classR, key); ConstantsAndVariables.globalEnv.bind(key, classR); } return key; }
public void applyPats(Counter<E> patterns, String label, TwoDimensionalCounter<CandidatePhrase, E> wordsandLemmaPatExtracted, CollectionValuedMap<E, Triple<String, Integer, Integer>> matchedTokensByPat, Set<CandidatePhrase> alreadyLabeledWords){ // Counter<E> patternsLearnedThisIterConsistsOnlyGeneralized = new ClassicCounter<E>(); // Counter<E> patternsLearnedThisIterRest = new ClassicCounter<E>(); // Set<String> specialWords = constVars.invertedIndex.getSpecialWordsList(); for(Map.Entry<String, Env> en: constVars.env.entrySet()){ en.getValue().getVariables().putAll(ConstantsAndVariables.globalEnv.getVariables()); } Map<E, Map<String, DataInstance>> sentencesForPatterns = getSentences(constVars.invertedIndex.queryIndex(patterns.keySet())); for(Map.Entry<E, Map<String, DataInstance>> en: sentencesForPatterns.entrySet()){ runParallelApplyPats(en.getValue(), label, en.getKey(), wordsandLemmaPatExtracted, matchedTokensByPat, alreadyLabeledWords); } Redwood.log(Redwood.DBG, "# words/lemma and pattern pairs are " + wordsandLemmaPatExtracted.size()); } /*
SemgrexPattern pat = SemgrexPattern.compile(pattern.toString(notAllowedClasses), new edu.stanford.nlp.semgraph.semgrex.Env(constVars.env.get(label).getVariables())); depPatternsLearnedThisIterConverted.put(pat, pattern); } else {