2016-06-18 5 views
0

以前に作成されたタグに基づいてテキストを分類するjapeルールを開発しようとしています。あなたは、私が特にBとCを予測する。しかし、これらのルールはまだでもそこかかわらず、予測Bを与え、各predictionのために一致するように、複数の条件を持っていることを見ることができるようにJAPEで複数の否定的な制約が機能しない

//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} 

は、それから私は、これらのルールを作成しますRECORDにはIndicator.rule == aであり、私はすでに上記の規則でそれを否定していると仮定しています。

私のコードで何が問題になっていますか?

助けていただければ幸いです。

ありがとうございました:)

答えて

1

"notcontains"を試しましたか?

のように:私は思う

Rule: B_Predictor 
(
    {RECORD contains {Indicator.rule == B}, RECORD notContains {Indicator.rule == A}} 
): predict_B 
--> 
:predict_B.Prediction = {prediction = B} 

! "!RECORDはインジケータAを含む"は、インジケータAを含むRECORDでないもの(例えばインジケータBを含むトークンまたはRECORD)と一致する。

notcontainsでは、2つのステートメントのRECORD注釈も同じであることがわかります。

関連する問題