@Override public SRResultList normalize(SRResultList list) { SRResultList normalized = new SRResultList(list.numDocs()); normalized.setMissingScore(missingMean); for (int i = 0; i < list.numDocs(); i++) { double s = logIfNecessary(list.getScore(i)); double score = intercept + rankCoeff * Math.log(i + 1) + scoreCoeff * s; normalized.set(i, list.getId(i), score); } return normalized; }
/** * A basic implementation of normalize. * @param list */ @Override public SRResultList normalize(SRResultList list) { SRResultList dsl = new SRResultList(list.numDocs()); list.setMissingScore(missingMean); for (int i = 0; i < list.numDocs(); i++) { dsl.set(i, list.getId(i), normalize(list.getScore(i))); } return dsl; }