Я пытаюсь разработать правила шутки для классификации текста на основе ранее созданных тегов.
Затем я создаю эти правила:
//Prediction A
Rule: A_Predictor
(
{RECORD contains {Indicator.rule == A}}
): predict_A
-->
:predict_A.Prediction = {prediction = A}
//Prediction B
Rule: B_Predictor
(
{RECORD contains {Indicator.rule == B}, !RECORD contains {Indicator.rule == A}}
): predict_B
-->
:predict_B.Prediction = {prediction = B}
//Prediction C
Rule: C_Predictor
(
{RECORD contains {Indicator.rule == C}, !RECORD contains {Indicator.rule == A}, !RECORD contains {Indicator.rule == B}}
): predict_C
-->
:predict_C.Prediction = {prediction = C}
Как вы можете видеть, у меня есть несколько условий для соответствия каждому prediction
, особенно для предсказания B и C. Но эти правила по-прежнему дают предсказание B
, даже если в RECORD
есть Indicator.rule == a
, которые, как я предполагаю, я уже отрицал в правило выше.
Что не так с моим кодом?
Любая помощь будет оценена.
Спасибо :)