我正在使用在CLAMP(https://clamp.uth.edu/)中实现的Ruta创建规则。作为步骤之一,我想识别所有包含温度注释的句子。
所以我希望能够在这样的CONTAINS函数中为注释指定属性值:
Sentence{CONTAINS(ClampNameEntityUIMA{"semanticTag", "Temperature"})
-> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
有效的语句是:
Sentence{CONTAINS(ClampNameEntityUIMA)
-> CREATE( ClampNameEntityUIMA , "semanticTag" = "TemperatureSentence")};
但这会标记所有句子,无论包含的注释的功能值如何。 CLAMP不允许即时创建类型,因此我无法将新类型声明为满足条件的注释的占位符。因此,我只需要使用现有的ClampNameEntityUIMA类型,就只能检查要素值来区分注释类。
是否可以在CONTAINS函数中包含其他条件?还是可以在不声明新类型的情况下操纵注释?
答案 0 :(得分:0)
CONTAINS条件不支持您所需要的。如果像示例中那样需要更复杂的条件,则需要切换到内联规则作为条件。如下所示的规则可以解决您的问题:
Sentence{-> CREATE(ClampNameEntityUIMA, "semanticTag" = "TemperatureSentence")}
<- {e:ClampNameEntityUIMA{e.semanticTag == "Temperature"};};
免责声明:我是UIMA Ruta的开发人员