code: public double sim(List<String> sentence, int index)
      {
          double score = 0;
          for (String word : sentence)
          {
              if (!f[index].containsKey(word)) continue;
              int d = docs.get(index).size();
              Integer tf = f[index].get(word);
              score += (idf.get(word) * tf * (k1 + 1)
                      / (tf + k1 * (1 - b + b * d
                                                  / avgdl)));
          }
  
          return score;
      }
docs: 计算一个句子与一个文档的BM25相似度
  
  @param sentence 句子（查询语句）
  @param index    文档（用语料库中的下标表示）
  @return BM25 score