mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
(index) Try harmonic mean for avgMinDist
This commit is contained in:
parent
7f498e10b7
commit
53700e6667
@ -301,7 +301,7 @@ public class IndexResultScoreCalculator {
|
|||||||
+ temporalBias
|
+ temporalBias
|
||||||
+ flagsPenalty;
|
+ 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_firstPosition = rankingParams.tcfFirstPosition * (1.0 / Math.sqrt(firstPosition));
|
||||||
|
|
||||||
double score_bM25 = rankingParams.bm25Weight * wordFlagsQuery.root.visit(new Bm25GraphVisitor(rankingParams.bm25Params, weightedCounts, length, ctx));
|
double score_bM25 = rankingParams.bm25Weight * wordFlagsQuery.root.visit(new Bm25GraphVisitor(rankingParams.bm25Params, weightedCounts, length, ctx));
|
||||||
@ -581,13 +581,15 @@ public class IndexResultScoreCalculator {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
int distance = SequenceOperations.minDistance(posi.iterator(), posj.iterator());
|
int distance = SequenceOperations.minDistance(posi.iterator(), posj.iterator());
|
||||||
sum += distance;
|
if (distance > 0) {
|
||||||
cnt++;
|
sum += (1.0 / distance);
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cnt > 0 && sum > 0) {
|
if (cnt > 0 && sum > 0) {
|
||||||
return sum / cnt;
|
return cnt / sum;
|
||||||
} else {
|
} else {
|
||||||
return 1000.;
|
return 1000.;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user