在Ruta的CONTAINS语句中使用条件

在Ruta的CONTAINS语句中使用条件,ruta,Ruta,我正在使用CLAMP()中实现的Ruta创建规则。作为步骤之一,我想确定所有包含温度注释的句子 因此,我希望能够在CONTAINS函数中为注释指定如下属性值: Sentence{CONTAINS(ClampNameEntityUIMA{"semanticTag", "Temperature"}) -> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")}; 有效的声明是: Sentence{CONT

我正在使用CLAMP()中实现的Ruta创建规则。作为步骤之一,我想确定所有包含温度注释的句子

因此,我希望能够在CONTAINS函数中为注释指定如下属性值:

Sentence{CONTAINS(ClampNameEntityUIMA{"semanticTag", "Temperature"}) 
 -> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
有效的声明是:

Sentence{CONTAINS(ClampNameEntityUIMA) 
 -> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
但不管所包含注释的特征值如何,它都会标记所有句子。 CLAMP不允许动态创建类型,因此我无法将新类型声明为满足条件的注释的占位符。因此,我只能使用现有的类型ClampNameEntityUIMA,并且只能检查特征值来区分注释类


有没有办法在CONTAINS函数中包含附加条件?或者,我可以在不声明新类型的情况下操作注释吗?

CONTAINS条件不支持您需要的内容。如果您的示例中需要更复杂的条件,则需要切换到内联规则作为条件。以下规则可以解决您的问题:

Sentence{-> CREATE(ClampNameEntityUIMA, "semanticTag" = "TemperatureSentence")}
  <- {e:ClampNameEntityUIMA{e.semanticTag == "Temperature"};};
句子{->CREATE(clapNameEntityUIMA,“semanticTag”=“TemperatureContent”)}

CONTAINS条件不支持您所需的内容。如果您的示例中需要更复杂的条件,则需要切换到内联规则作为条件。以下规则可以解决您的问题:

Sentence{-> CREATE(ClampNameEntityUIMA, "semanticTag" = "TemperatureSentence")}
  <- {e:ClampNameEntityUIMA{e.semanticTag == "Temperature"};};
句子{->CREATE(clapNameEntityUIMA,“semanticTag”=“TemperatureContent”)}