code: private double pmi(int[] contingencyTable) {
          // Rename for short-hand convenience
          int[] t = contingencyTable;
  
          double probOfBigram = t[0] / (double)numBigramsInCorpus;
          double probOfFirstTok = (t[0] + t[2]) / (double)numBigramsInCorpus;
          double probOfSecondTok = (t[0] + t[1]) / (double)numBigramsInCorpus;
  
          return probOfBigram / (probOfFirstTok * probOfSecondTok);
      }
docs: Returns the point-wise mutual information (PMI) score of the contingency
  table