/** */ @Override public void decrementCount(K1 o1, K2 o2) { incrementCount(o1, o2, -1.0); }
/** */ @Override public void incrementCount(K1 o1, K2 o2) { incrementCount(o1, o2, 1.0); }
/** */ @Override public void decrementCount(K1 o1, K2 o2, double count) { incrementCount(o1, o2, -count); }
private void addStats(TwoDimensionalCounter<E, CandidatePhrase> pw, List<Pair<E, CandidatePhrase>> v) { for(Pair<E, CandidatePhrase> w: v){ pw.incrementCount(w.first(), w.second()); } }
private void statsWithoutApplyingPatterns(Map<String, DataInstance> sents, PatternsForEachToken patternsForEachToken, Counter<E> patternsLearnedThisIter, TwoDimensionalCounter<CandidatePhrase, E> wordsandLemmaPatExtracted){ for (Entry<String, DataInstance> sentEn : sents.entrySet()) { Map<Integer, Set<E>> pat4Sent = patternsForEachToken.getPatternsForAllTokens(sentEn.getKey()); if (pat4Sent == null) { throw new RuntimeException("How come there are no patterns for " + sentEn.getKey()); } for (Entry<Integer, Set<E>> en : pat4Sent .entrySet()) { CoreLabel token = null; Set<E> p1 = en.getValue(); // Set<Integer> p1 = en.getValue().first(); // Set<Integer> p2 = en.getValue().second(); // Set<Integer> p3 = en.getValue().third(); for (E index : patternsLearnedThisIter.keySet()) { if (p1.contains(index)) { if (token == null) token = sentEn.getValue().getTokens().get(en.getKey()); wordsandLemmaPatExtracted.incrementCount(CandidatePhrase.createOrGet(token.word(), token.lemma()), index); } } } } }
private static void updateTagger(TwoDimensionalCounter<String, String> tagger, Tree t) { List<CoreLabel> yield = t.taggedLabeledYield(); for (CoreLabel label : yield) { if (label.tag().equals(SpanishTreeNormalizer.MW_TAG)) continue; tagger.incrementCount(label.word(), label.tag()); } }
/** * Source training data for a unigram tagger from the given tree. */ public static void updateTagger(TwoDimensionalCounter<String,String> tagger, Tree t) { List<CoreLabel> yield = t.taggedLabeledYield(); for (CoreLabel cl : yield) { if (cl.tag().equals(SpanishTreeNormalizer.MW_TAG)) continue; tagger.incrementCount(cl.word(), cl.tag()); } }
/** * For all keys (u,v) in arg, sets target[u,v] to be target[u,v] + arg[u,v]. * * @param <T1> * @param <T2> */ public static <T1, T2> void addInPlace(TwoDimensionalCounter<T1, T2> target, TwoDimensionalCounter<T1, T2> arg) { for (T1 outer : arg.firstKeySet()) for (T2 inner : arg.secondKeySet()) { target.incrementCount(outer, inner, arg.getCount(outer, inner)); } }
static public void countMWEStatistics(Tree t, TwoDimensionalCounter<String, String> unigramTagger, TwoDimensionalCounter<String, String> labelPreterm, TwoDimensionalCounter<String, String> pretermLabel, TwoDimensionalCounter<String, String> labelTerm, TwoDimensionalCounter<String, String> termLabel) { updateTagger(unigramTagger,t); //Count MWE statistics TregexMatcher m = pMWE.matcher(t); while (m.findNextMatchingNode()) { Tree match = m.getMatch(); String label = match.value(); if(RESOLVE_DUMMY_TAGS && label.equals(FrenchXMLTreeReader.MISSING_PHRASAL)) continue; String preterm = SentenceUtils.listToString(match.preTerminalYield()); String term = SentenceUtils.listToString(match.yield()); labelPreterm.incrementCount(label,preterm); pretermLabel.incrementCount(preterm,label); labelTerm.incrementCount(label,term); termLabel.incrementCount(term, label); } }
public void process() throws IOException { SpanishXMLTreeReaderFactory trf = new SpanishXMLTreeReaderFactory(); Tree t; for (File file : fileList) { Reader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), ANCORA_ENCODING)); TreeReader tr = trf.newTreeReader(in); // Tree reading will implicitly perform tree normalization for us while ((t = tr.readTree()) != null) { // Update tagger with this tree List<CoreLabel> yield = t.taggedLabeledYield(); for (CoreLabel leafLabel : yield) { if (leafLabel.tag().equals(SpanishTreeNormalizer.MW_TAG)) continue; unigramTagger.incrementCount(leafLabel.word(), leafLabel.tag()); } } } }
/** * For all keys (u,v) in arg, sets target[u,v] to be target[u,v] + scale * * arg[u,v]. * * @param <T1> * @param <T2> */ public static <T1, T2> void addInPlace(TwoDimensionalCounter<T1, T2> target, TwoDimensionalCounter<T1, T2> arg, double scale) { for (T1 outer : arg.firstKeySet()) for (T2 inner : arg.secondKeySet()) { target.incrementCount(outer, inner, scale * arg.getCount(outer, inner)); } }
public static void updateTagger(TwoDimensionalCounter<String,String> tagger, Tree t) { List<CoreLabel> yield = t.taggedLabeledYield(); for(CoreLabel cl : yield) { if(RESOLVE_DUMMY_TAGS && cl.tag().equals(FrenchXMLTreeReader.MISSING_POS)) continue; else tagger.incrementCount(cl.word(), cl.tag()); } }
public static void main(String[] args) { TwoDimensionalCounter<String, String> cc = new TwoDimensionalCounter<>(); cc.setCount("a", "c", 1.0); cc.setCount("b", "c", 1.0); cc.setCount("a", "d", 1.0); cc.setCount("a", "d", -1.0); cc.setCount("b", "d", 1.0); System.out.println(cc); cc.incrementCount("b", "d", 1.0); System.out.println(cc); TwoDimensionalCounter<String, String> cc2 = TwoDimensionalCounter.reverseIndexOrder(cc); System.out.println(cc2); }
private static void countTaggings(Treebank tb, final PrintWriter pw) { final TwoDimensionalCounter<String,String> wtc = new TwoDimensionalCounter<>(); tb.apply(tree -> { List<TaggedWord> tags = tree.taggedYield(); for (TaggedWord tag : tags) wtc.incrementCount(tag.word(), tag.tag()); }); for (String key : wtc.firstKeySet()) { pw.print(key); pw.print('\t'); Counter<String> ctr = wtc.getCounter(key); for (String k2 : ctr.keySet()) { pw.print(k2 + '\t' + ctr.getCount(k2) + '\t'); } pw.println(); } }
posYield.append(cl.tag()).append(" "); mweLabelToString.incrementCount(label, termYield.toString().trim()); uniquePOSSequences.add(posYield.toString().trim());
calibratedTokens.incrementCount(binnedProb, token);
phraseLemma = phraseLemma.trim(); CandidatePhrase candPhrase = CandidatePhrase.createOrGet(phrase, phraseLemma); allFreq.incrementCount(candPhrase, pEn.getValue(), 1.0); if (!useWordNotLabeled) alreadyLabeledPhrases.add(candPhrase);
phrase = phrase.trim(); phraseLemma = phraseLemma.trim(); allFreq.incrementCount(CandidatePhrase.createOrGet(phrase,phraseLemma, match.getFeatures()), pEn.getValue(), 1.0);
phraseLemma = phraseLemma.trim(); allFreq.incrementCount(new Pair<>(phrase, phraseLemma), matchedPat, 1.0);
if (doc[j]) { featureCounter.incrementCount(featureIndex.get(j)); condCounter.incrementCount(featureIndex.get(j), labelIndex.get(labels[i]), 1.0);