code: double log_prob(char s1, int i1, char s2, int i2, char s3, int i3)
      {
          if (transMatrix[i1][i2][i3] == 0)
              return inf;
          char t1 = id2tag[i1];
          char t2 = id2tag[i2];
          char t3 = id2tag[i3];
          double uni = l1 * tf.freq(s3,t3);
          double bi = div(l2 * tf.get(s2,t2, s3,t3), tf.get(s2,t2));
          double tri = div(l3 * tf.get(s1,t1, s2,t2, s3,t3), tf.get(s1,t1, s2,t2));
          if (uni + bi + tri == 0)
              return inf;
          return Math.log(uni + bi + tri);
      }
docs: 求概率
  @param s1 前2个字
  @param s1 前2个状态的下标
  @param s2 前1个字
  @param s2 前1个状态的下标
  @param s3 当前字
  @param s3 当前状态的下标
  @return 序列的概率