【问题标题】:Annotating a document with JAPE使用 JAPE 注释文档
【发布时间】:2014-04-01 03:55:10
【问题描述】:

几周以来,我一直在寻找解决方案,我有一些文档(大约 95 个)正在尝试使用 GATE 进行分类。我已将它们放在一个名为 training_corpus 的语料库中,但是,在 ANNIE 对语料库进行注释后,我必须返回每个文件,选择文档中的所有标记,并创建一个名为 Mention 的注释,其中包含特征类型和类值为文档。例如:

输入开始结束 id 特征
提及 0 70000 2588 {type=neg}

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

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

【问题讨论】:

    标签: gate


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我创建了一个 xml 并使用标记的注释作为我的注释集,它可以工作。多谢。但是,我有一个简短的问题,如何在 GATE GUI 中一次加载多个文件(Gate 文档)。谢谢
    • @user3183103 一次加载所有文档,您可以创建一个语料库,然后右击它并在弹出菜单中单击“填充”。对于超出内存限制的大量文档,您可能会考虑使用 GATE 数据存储。
    • @andrey 你太棒了。非常感谢,感谢ashingel回答我的问题。非常感谢
    • 我想为这个问题投票并回答 100 次。非常有用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2010-10-02
    • 2014-10-30
    • 1970-01-01
    • 2010-11-01
    • 2012-01-09
    相关资源
    最近更新 更多