code: @Override
      protected double scoreImpl(List<Word> words1, List<Word> words2){
          //文本1
          StringBuilder text1 = new StringBuilder();
          words1.forEach(word -> text1.append(word.getText()));
          //文本2
          StringBuilder text2 = new StringBuilder();
          words2.forEach(word -> text2.append(word.getText()));
          int maxTextLength = Math.max(text1.length(), text2.length());
          if(maxTextLength == 0){
              //两个空字符串
              return 1.0;
          }
          //计算文本1和文本2的编辑距离
          int editDistance = editDistance(text1.toString(), text2.toString());
          double score = (1 - editDistance / (double)maxTextLength);
          if(LOGGER.isDebugEnabled()){
              LOGGER.debug("文本1："+text1.toString());
              LOGGER.debug("文本2："+text2.toString());
              LOGGER.debug("文本1和文本2的编辑距离："+editDistance);
              LOGGER.debug("文本1和文本2的最大长度："+maxTextLength);
              LOGGER.debug("文本1和文本2的相似度分值：1 - "+editDistance+" / (double)"+maxTextLength+"="+score);
          }
          return score;
      }
docs: 计算相似度分值
  @param words1 词列表1
  @param words2 词列表2
  @return 相似度分值