在 Java 中访问组合的 UIMA Ruta 注释
Accessing combined UIMA Ruta Annotations in Java
我在访问组合 Ruta 注释时遇到问题。
我的注释基于先前的模块,该模块生成 NormalizedNamedEnitites (NNE) 并根据规则集对其进行标记,效果很好:
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"XXX") -> MARK(XXX)};
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"YYY") -> MARK(YYY)};
然后我继续将这两个组合到一个新的注释中:
(XXX){-> CREATE(CCC, "YYY" = YYY, "XXX" = XXX)};
这也很好用。
在我的 IDE (Eclipse) 中,我可以在 Ruta 编辑器视图中访问这些新规则,并且一切正常。
但在那之后我想访问 "encasing" 注释并将所有 "nested" 注释添加到数组中,我只是不知道如何做。我完全迷失在文档中,希望有人已经完成了这件事,可以帮助我解决这个问题。
同样:我正在使用 Java (1.8)。
非常感谢!
编辑:更多信息
- 封装注释:Med
- 嵌套注释:名称、剂量、方案
示例文本:
Paracetamol 40mg daily
所做的注释(在先前 Models/Modules 的帮助下,见上文):
Paracetamol 40mg daily
Name------- Dose Scheme
现在我想介绍一个名为 "Med" 的封装注解,如果所有三个嵌套注解都存在,它将把它们封装起来。
类型 "Med" 将每个嵌套类型定义为可访问的功能。
现在我想首先访问 Med Annotations(这对我来说不是问题),然后是每个嵌套的 Annotation(我还不知道该怎么做)。
我仍在仔细阅读 UIMA 的文档以找到提示。
有许多方法可以访问嵌套注释。目前,我更喜欢以下内容:
DECLARE Name, Dose, Scheme;
// some mocked annotations
"Paracetamol" -> Name;
"40mg" -> Dose;
"daily" -> Scheme;
DECLARE Med (Name name, Dose dose, Scheme scheme);
(n:Name d:Dose s:Scheme){-> CREATE(Med, "name" = n, "dose" = d, "scheme" = s)};
DECLARE Test1, Test2, Test3;
Med.name{-> Test1};
m:Med ->{
m.name{-> Test1};
m.dose{-> Test2};
m.scheme{-> Test3};
};
FOREACH(med) Med{}{
med.name{-> Test1};
med.dose{-> Test2};
med.scheme{-> Test3};
}
免责声明:我是 UIMA Ruta 的开发者
我在访问组合 Ruta 注释时遇到问题。
我的注释基于先前的模块,该模块生成 NormalizedNamedEnitites (NNE) 并根据规则集对其进行标记,效果很好:
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"XXX") -> MARK(XXX)};
NormalizedNamedEntity{REGEXP(NormalizedNamedEntity.concept.identifier,"YYY") -> MARK(YYY)};
然后我继续将这两个组合到一个新的注释中:
(XXX){-> CREATE(CCC, "YYY" = YYY, "XXX" = XXX)};
这也很好用。
在我的 IDE (Eclipse) 中,我可以在 Ruta 编辑器视图中访问这些新规则,并且一切正常。 但在那之后我想访问 "encasing" 注释并将所有 "nested" 注释添加到数组中,我只是不知道如何做。我完全迷失在文档中,希望有人已经完成了这件事,可以帮助我解决这个问题。
同样:我正在使用 Java (1.8)。
非常感谢!
编辑:更多信息
- 封装注释:Med
- 嵌套注释:名称、剂量、方案
示例文本:
Paracetamol 40mg daily
所做的注释(在先前 Models/Modules 的帮助下,见上文):
Paracetamol 40mg daily
Name------- Dose Scheme
现在我想介绍一个名为 "Med" 的封装注解,如果所有三个嵌套注解都存在,它将把它们封装起来。
类型 "Med" 将每个嵌套类型定义为可访问的功能。
现在我想首先访问 Med Annotations(这对我来说不是问题),然后是每个嵌套的 Annotation(我还不知道该怎么做)。 我仍在仔细阅读 UIMA 的文档以找到提示。
有许多方法可以访问嵌套注释。目前,我更喜欢以下内容:
DECLARE Name, Dose, Scheme;
// some mocked annotations
"Paracetamol" -> Name;
"40mg" -> Dose;
"daily" -> Scheme;
DECLARE Med (Name name, Dose dose, Scheme scheme);
(n:Name d:Dose s:Scheme){-> CREATE(Med, "name" = n, "dose" = d, "scheme" = s)};
DECLARE Test1, Test2, Test3;
Med.name{-> Test1};
m:Med ->{
m.name{-> Test1};
m.dose{-> Test2};
m.scheme{-> Test3};
};
FOREACH(med) Med{}{
med.name{-> Test1};
med.dose{-> Test2};
med.scheme{-> Test3};
}
免责声明:我是 UIMA Ruta 的开发者