示例#1
0
  private void writeNGramFile(ConditionalFrequencyDistribution<Integer, String> cfd, int level)
      throws IOException {
    FrequencyDistribution<String> letterFD = letterFDs.get(level);
    BufferedWriter writer = ngramWriters.get(level);
    for (String key : cfd.getFrequencyDistribution(level).getKeys()) {

      // add starting letter to frequency distribution
      if (key.length() > 1) {
        String subsKey = key.substring(0, 2);
        String subsKeyLowered = subsKey.toLowerCase();
        letterFD.addSample(subsKeyLowered, 1);
      } else {
        String subsKey = key.substring(0, 1);
        String subsKeyLowered = subsKey.toLowerCase();
        letterFD.addSample(subsKeyLowered, 1);
      }

      writer.write(key);
      writer.write(TAB);
      writer.write(Long.toString(cfd.getCount(level, key)));
      writer.write(LF);
    }
    writer.flush();
  }