(index) Try harmonic mean for avgMinDist

This commit is contained in:
Viktor Lofgren 2024-08-25 11:08:41 +02:00
parent 7f498e10b7
commit 53700e6667

View File

@ -301,7 +301,7 @@ public class IndexResultScoreCalculator {
+ temporalBias
+ flagsPenalty;
double score_avg_dist = rankingParams.tcfAvgDist * (1.0 / calculateAvgMinDistance(positionsQuery, ctx));
double score_avg_dist = rankingParams.tcfAvgDist * calculateAvgMinDistance(positionsQuery, ctx);
double score_firstPosition = rankingParams.tcfFirstPosition * (1.0 / Math.sqrt(firstPosition));
double score_bM25 = rankingParams.bm25Weight * wordFlagsQuery.root.visit(new Bm25GraphVisitor(rankingParams.bm25Params, weightedCounts, length, ctx));
@ -581,13 +581,15 @@ public class IndexResultScoreCalculator {
continue;
int distance = SequenceOperations.minDistance(posi.iterator(), posj.iterator());
sum += distance;
cnt++;
if (distance > 0) {
sum += (1.0 / distance);
cnt++;
}
}
}
if (cnt > 0 && sum > 0) {
return sum / cnt;
return cnt / sum;
} else {
return 1000.;
}