将所有包含的注释列表添加为GATE中新注释的功能

时间:2018-06-28 11:10:53

标签: java nlp gate

我正在尝试使用Java RHS规则添加所有包含的“ all_tags”注释的列表,作为新注释的功能。

以下仅添加一个注释,而不是列表中的所有注释:

AnnotationSet contTagAS = getContainedAnnotations(inputAS,spanAs).get("all_tags");

for (Annotation tagAnn : contTagAS.inDocumentOrder())
{
  FeatureMap lookupFeatures  = tagAnn.getFeatures();
  tag = lookupFeatures.get("type").toString();  
}

我希望将每个all_tags“类型”添加为以逗号分隔的功能,即“类型1,类型2,类型3”

我尝试了List Annotation类,但是找不到正确的方法。

非常感谢

1 个答案:

答案 0 :(得分:1)

AnnotationSet contTagAS = getContainedAnnotations(inputAS,spanAs).get("all_tags");

StringJoiner joiner = new StringJoiner(",");

for (Annotation tagAnn : contTagAS.inDocumentOrder())
{
  FeatureMap lookupFeatures  = tagAnn.getFeatures();
  String tag = lookupFeatures.get("type").toString();
  joiner.add(tag);
}

outputAS.add(
    spanAs.firstNode(), 
    spanAs.lastNode(), 
    "new annotation", 
    featureMap("tags", joiner.toString())
);