fix(ka-id v2): kaid.py — les plages numériques pèsent 0.6 (un simple bon prix ne score plus 1.0), aligné sur ka-ui.git/kaid
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 changed file +7 −2
modified
restoka/kaid.py
+7 −2
@@ -207,8 +207,13 @@ def personal_score(feats: dict, app_profile: dict, global_profile: dict, | ||
| 207 | 207 | aff = 0.3 |
| 208 | 208 | else: |
| 209 | 209 | aff = -0.4 |
| 210 | − num += aff | |
| 211 | − den += 1.0 | |
| 210 | + # poids réduit : une plage numérique seule (prix…) ne doit | |
| 211 | + # jamais suffire à personnaliser (0.6 < seuil den 0.8) — | |
| 212 | + # sinon tout item au « bon prix » score 1.0 et noie les | |
| 213 | + # correspondances réelles (ville, marque, type). | |
| 214 | + w = 0.6 | |
| 215 | + num += w * aff | |
| 216 | + den += w | |
| 212 | 217 | if aff == 1.0: |
| 213 | 218 | reasons.append("MATCH_PRICE_RANGE" if dim in PRICE_DIMS |
| 214 | 219 | else f"MATCH_{dim.upper()}_RANGE") |
| 215 | 220 | |