コード例 #1
0
 public void calculateWordPairs() {
   numCodes = wordCodeMap.keySet().size() + 1;
   pairs = new int[numCodes][numCodes];
   Iterator hypIterator = hypotheses.iterator();
   while (hypIterator.hasNext()) {
     Hypothesis hyp = (Hypothesis) hypIterator.next();
     int[] codes = hyp.getCodeList(wordCodeMap);
     for (int i = 0; i < (codes.length - 1); i++) {
       int firstWordCode = codes[i];
       int secondWordCode = codes[i + 1];
       pairs[firstWordCode][secondWordCode]++;
     }
   }
   calculateWordDoublesUI.setPairs(pairs);
 }
コード例 #2
0
 public void calculateWordTriples() {
   numCodes = wordCodeMap.keySet().size() + 1;
   triples = new SparseDoubleMatrix3D(numCodes, numCodes, numCodes);
   Iterator hypIterator = hypotheses.iterator();
   while (hypIterator.hasNext()) {
     Hypothesis hyp = (Hypothesis) hypIterator.next();
     int[] codes = hyp.getCodeList(wordCodeMap);
     for (int i = 0; i < (codes.length - 2); i++) {
       int firstWordCode = codes[i];
       int secondWordCode = codes[i + 1];
       int thirdWordCode = codes[i + 2];
       double oldVal = triples.getQuick(firstWordCode, secondWordCode, thirdWordCode);
       triples.setQuick(firstWordCode, secondWordCode, thirdWordCode, (oldVal + 1));
     }
   }
   calculateWordTriplesUI.setTriples(triples, numCodes);
 }