首页 > 解决方案 > 添加所有包含注释的列表作为 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 类,但找不到正确的方法。

非常感谢

标签: javanlpgate

解决方案


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())
);

推荐阅读