docs: private static synchronized SplitWord initCRFModel(KV<String, SplitWord> kv) {
          try {
              if (kv.getV() != null) {
                  return kv.getV();
              }
  
              long start = System.currentTimeMillis();
              LOG.debug("begin init crf model!");
              try (InputStream is = PathToStream.stream(kv.getK())) {
                  SplitWord crfSplitWord = new SplitWord(Model.load(CRFModel.class, is));
                  kv.setV(crfSplitWord);
                  LOG.info("load crf use time:" + (System.currentTimeMillis() - start) + " path is : " + kv.getK());
                  return crfSplitWord;
              }
          } catch (Exception e) {
              LOG.error(kv + " load err " + e.getMessage());
              return null;
          }
      }