UIMA Ruta检查子注释的特征

问题描述:

是否有可能制定规则以匹配另一个注释的子级注释中的FEATURE值?UIMA Ruta检查子注释的特征

实施例:

注释人 注释医生 特征类型:XYZ

类似Person.Doctor {FEATURE( “类型”, “XYZ”)}

而且是有可能创建一个与PARTOF注释中的FEATURE相匹配的规则?

| ----------- A1 ------------ |

| ----- A2 ----- | | --- A3 ---- |

制定一条规则,其中

A3 {FEATURE( “X”, “1”)}也是A3 {PARTOF(A1)}

谢谢!

+0

你是什么意思UIMA鲁塔开发商'是另一个Annotation'的孩子?它是覆盖的还是它的一个子类型?你能稍微扩展你的例子的描述吗? –

+0

您不应该使用'type'作为特征的名称。 –

+0

“这是覆盖或其子类型”两个! 问题的第一部分是如何检查子类型的特征。 问题的第二部分,用于检查注释是否覆盖具有特定功能的其他注释。 预先感谢您! –

假设有一个类型Doctor与其父类型,称为Person其定义uima.cas.String类型的功能kind,可以简单的写:

Doctor.kind=="xyz"; 

Doctor{Doctor.kind=="xyz"}; 

d:Doctor{d.kind=="xyz"}; 

Doctor<-{Person.kind=="xyz";}; 

label expressiond:inlined rule as condition的一些简短的说明(<-{} )。标签表达式在规则的范围内引入了本地注释变量。在上面的示例中,d:Doctor与类型Doctor的注释匹配,并将其分配给名为d的新变量。然后可以在规则的其他部分使用这些变量来引用这个特定的注释。在第二条规则中,不使用标签表达式,并且使用类型(Doctor.kind)引用注释。这里,注释在匹配规则的情况下被重新解决,如果有几个类型为Doctor的注释具有相同的偏移量,则可能导致不同的注释。 作为条件的内联规则作为复杂条件工作。规则元素Doctor仅在规则Person.kind=="xyz";能够在匹配的Doctor注释的上下文/偏移/范围内匹配时才匹配。

关于问题的第二部分: 您无法直接访问在PARTOF条件中使用的注释,因为实际上没有使用任何注释。您需要在注释上进行匹配才能访问其功能。它取决于哪个注释包含哪个注释,以及应该为特征值检查哪个注释。下面是一些例子:

a:A3{PARTOF(A1),a.x==1}; 

A1.x=="1"{CONTAINS(A3)}; 

A1<-{a:A3{a.x=="1"};}; 

免责声明:我

+0

非常感谢! –

+0

Doctor

+0

(https://slack-files.com/T2KSD2BS9-F64LWDFNU-63546b1582) 在这个例子中,我们需要一个规则来匹配Card类型的注释,该类型的CardType类型的子类具有key_CardType类型价值信用。 对此感到抱歉。 –