我一直在寻找解决方案这几周,我有一些文件(约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?
任何帮助将不胜感激。感谢
答案 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);
}