使用JAPE注释文档

时间:2014-04-01 03:55:11

标签: gate

我一直在寻找解决方案这几周,我有一些文件(约95)我试图使用GATE进行分类。我把它们放在一个我称之为training_corpus的语料库中,然而,在ANNIE注释了语料库之后,我必须回到每个文件中,选择文档中的所有标记,并创建一个名为Mention的注释,其特征类型和值为该类为文件。例如:

键入Start End id功能
提及0 70000 2588 {type = neg}

无论如何使用JAPE自动执行此操作?基本上,我想选择所有标记并使用feature(type = class)创建一个新的注释。此外,该类附加到文档。由于文档很多,JAPE可以从文档名称中提取类,并将其设置为Mentions feature的值。示例文档名称为neg_data1.txt,因此注释将为Mention.type = neg?

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:2)

我认为你自己回答了你的问题。如果课程作业只基于文本中的一个标记 - 为什么不简单地处理GATE之外的文本? 例如,要创建一个xml文件,如:  文本然后在培训过程中使用它。 您还可以创建一个简单的JAPE规则,该规则将: a)将在文档边界内获取文本(参见gate.Utils.length方法AFAIR) b)根据您的令牌的存在,将创建一个具有必要功能的新Annotation实例。 一个抽象的例子:

Phase: Instance
Input: Token
Options: control = once

Rule:Instance
(
  {Token}
):instance
-->
{
   AnnotationSet instances = outputAS.get("INSTANCE_ANNOTATION");
    FeatureMap featureMap = Factory.newFeatureMap();
    if (instances!=null&&!instances.isEmpty()){
       featureMap.put("features when annotation presented in doc");
     }else{
       featureMap.put("features when annotation not in doc");
     }
    outputAS.add(new Long(0), new Long(documentLength), "Mention", featureMap);

}