[英]Multiple negative constraints do not work in JAPE
我正在尝试开发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}
如您所见,我有多个条件可以匹配每个prediction
,尤其是预测B和C。但是,即使RECORD
有Indicator.rule == a
,这些规则仍然给出了预测B
,我认为我有已经否定了上面的规则。
我的代码有什么问题?
任何帮助将不胜感激。
谢谢 :)
您是否尝试过“ 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的Token或RECORD)。
使用notContains,您还知道这两个语句中的RECORD注释相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.