需要根据某些条件将A标注的特征值赋值给B -uima ruta

Need to assign feature value of A annotation to B based on some condition -uima ruta

注释A有3个特征,即名称、日期和索引。 注释 B 具有 3 个特征,即名称、日期和索引。 除 B.index 外,所有特征均已赋值。匹配 A 和 B 的名称和日期,我想将 A.index 分配给 B.index

示例输出:

A annotaion:

   Wardlaw
      name:Wardlaw
      date:2003
      index:3
   Rahul
       name:Rahul
       date:1993
       index:4


B annotaion:

   Rahul
       name:Rahul
       date:1993
       index:0

   Wardlaw
       name:Wardlaw
       date:2003
       index:0

预期输出:

B 注释:

   Rahul
       name:Rahul
       date:1993
       index:4

   Wardlaw
       name:Wardlaw
       date:2003
       index:3

您可以尝试类似的方法:

a:A{a.name == b.name, a.date == b.date} # b:@B{ -> b.index = a.index};

我把锚放在B上,这样就不会遗漏任何B。条件需要放在 A 处,以便通配符在正确的注释处停止。

如果 AB 共享相同的偏移量,您需要另一个更简单的规则,只有一个规则元素且没有通配符..

免责声明:我是 UIMA Ruta 的开发者