|
@@ -287,7 +287,17 @@ public class RankStrategy4RegionMergeModelV564 extends RankStrategy4RegionMergeM
|
|
|
item.getScoresMap().put("dnRovn24hW", dnRovn24hW);
|
|
item.getScoresMap().put("dnRovn24hW", dnRovn24hW);
|
|
|
item.getScoresMap().put("dnRovn24h", dnRovn24h);
|
|
item.getScoresMap().put("dnRovn24h", dnRovn24h);
|
|
|
|
|
|
|
|
- score = fmRov * (rosAdd + rosW * newNorDNNScore) * (vorAdd + vorW * vor) + c1RovnScore + b0StrScore + b0RorScore + cnRovnScore + dnRovnScore;
|
|
|
|
|
|
|
+ // V564 实验: 简化公式 fmRov × max(norDNNScore, 1e-6) (cal × rov 朴素乘 + 截负 + NaN 防御)
|
|
|
|
|
+ // 旧公式: fmRov * (rosAdd + rosW * newNorDNNScore) * (vorAdd + vorW * vor) + 5 linear bonuses
|
|
|
|
|
+ // 离线 72 天 (0417-0627) 验证: 该简化形式自 5/15 起 composite 持续 ≥ 1.0, 比线上 sortscore 平均高 2-4%
|
|
|
|
|
+ // 1e-6 epsilon 兜底:
|
|
|
|
|
+ // 1. NorDNN 缺失 (~12% 样本 getOrDefault=0) → score = fmRov × 1e-6, 内部仍按 fmRov 区分, 不全部 tie 在 0
|
|
|
|
|
+ // 2. NorDNN 负 (~1.76% 样本, min -0.39) → 截到 1e-6, 消除 fmRov × 负 导致的 inversion bug
|
|
|
|
|
+ // NaN/Infinity 兜底: Double.compare(NaN, x) 返正数, 降序排 NaN 会到顶部, 必须显式归零
|
|
|
|
|
+ score = fmRov * Math.max(norDNNScore, 1e-6);
|
|
|
|
|
+ if (!Double.isFinite(score)) {
|
|
|
|
|
+ score = 0d; // NaN 或 ±Infinity → 归 0, 排到底部
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
Video video = item.getVideo();
|
|
Video video = item.getVideo();
|
|
|
video.setScore(score);
|
|
video.setScore(score);
|