fix(inference): désactiver target_generic et double_isa — induction logiquement invalide
Browse filesBug remonté par le user — la consolidation Phase 11 « déduisait » des
triplets faux comme :
chaise r_has_part coussin en cuir
(parce que chaise r_has_part coussin ET coussin en cuir r_isa coussin)
fromage r_isa aliment naturel
(parce que fromage r_isa aliment ET aliment naturel r_isa aliment)
Cause racine : les schémas `target_generic` et `double_isa` descendaient
l'arbre r_isa vers le SPÉCIFIQUE (induction = affirmation du conséquent),
alors qu'une déduction valide remonte vers le GÉNÉRAL. Décoter la
confiance d'un schéma faux ne le rendait pas vrai — c'était une erreur
de design Phase 11 de ma part, à corriger sans délai.
Action :
- _EFFORT2_SCHEMAS ne contient plus que _schema_composition (saine, curée).
- _schema_target_generic et _schema_double_isa restent définis (back-compat
d'imports / sérialisation enum) mais ne tournent plus jamais.
- Commentaire explicatif détaillé dans le code pour empêcher la
réintroduction par mégarde.
La direction valide (généralisation : si A R B' et B' r_isa B alors A R B)
est déjà capturée par _schema_hyponym_propagation, conservé tel quel.
⚠️ Triplets éventuellement déjà soumis au LLMDrops via ces schémas sont
des faux positifs — à filtrer côté JDM ou regénérer.
|
@@ -571,14 +571,24 @@ _EFFORT1_SCHEMAS = (
|
|
| 571 |
# positif n'a abouti (sinon la transitivité aurait confirmé).
|
| 572 |
_schema_cohyponym,
|
| 573 |
)
|
| 574 |
-
# Effort 2 : composition (curée, saine)
|
| 575 |
-
#
|
| 576 |
-
#
|
| 577 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 578 |
_EFFORT2_SCHEMAS = (
|
| 579 |
_schema_composition,
|
| 580 |
-
_schema_target_generic,
|
| 581 |
-
_schema_double_isa,
|
| 582 |
)
|
| 583 |
|
| 584 |
|
|
|
|
| 571 |
# positif n'a abouti (sinon la transitivité aurait confirmé).
|
| 572 |
_schema_cohyponym,
|
| 573 |
)
|
| 574 |
+
# Effort 2 : composition seule (curée, saine).
|
| 575 |
+
#
|
| 576 |
+
# Les schémas `_schema_target_generic` et `_schema_double_isa` ont été
|
| 577 |
+
# DÉSACTIVÉS définitivement : ils faisaient de l'INDUCTION (spécialisation
|
| 578 |
+
# vers le bas de l'arbre r_isa), pas de la déduction.
|
| 579 |
+
#
|
| 580 |
+
# Exemple du bug qu'ils produisaient :
|
| 581 |
+
# « chaise r_has_part coussin » + « coussin en cuir r_isa coussin »
|
| 582 |
+
# ⟹ FAUX « chaise r_has_part coussin en cuir »
|
| 583 |
+
#
|
| 584 |
+
# La cible (« coussin en cuir ») est PLUS SPÉCIFIQUE que ce qu'on sait
|
| 585 |
+
# (« coussin »), donc on ne peut RIEN en déduire — c'est l'erreur d'affirmation
|
| 586 |
+
# du conséquent. Décoter la confiance d'un schéma logiquement faux ne le rend
|
| 587 |
+
# pas vrai. La direction valide (spécifique → général) est déjà capturée par
|
| 588 |
+
# `_schema_hyponym_propagation`. Les fonctions restent définies pour
|
| 589 |
+
# rétro-compatibilité d'imports mais ne tournent plus.
|
| 590 |
_EFFORT2_SCHEMAS = (
|
| 591 |
_schema_composition,
|
|
|
|
|
|
|
| 592 |
)
|
| 593 |
|
| 594 |
|