如何删除UIMA注释?

 地平线1232502881827 发布于 2023-02-07 14:34

我在管道中使用了一些UIMA注释器.它运行如下任务:

标记生成器

句子分割器

gazetizer

我的注释器

问题是我不想将所有注释(Token,Sentence,SubToken,Time,myAnnotations等)写入磁盘,因为文件变得非常大.

我想删除所有注释,只保留由My Annotator创建的注释.

我正在使用下一个库:

    uimaFIT 2.0.0

    ClearTK 1.4.1

    Maven的

而我正在使用org.apache.uima.fit.pipeline.SimplePipeline:

SimplePipeline.runPipeline(
    UriCollectionReader.getCollectionReaderFromDirectory(filesDirectory), //directory with text files
    UriToDocumentTextAnnotator.getDescription(),
    StanfordCoreNLPAnnotator.getDescription(),//stanford tokenize, ssplit, pos, lemma, ner, parse, dcoref
    AnalysisEngineFactory.createEngineDescription(//
        XWriter.class, 
        XWriter.PARAM_OUTPUT_DIRECTORY_NAME, outputDirectory,
        XWriter.PARAM_FILE_NAMER_CLASS_NAME, ViewURIFileNamer.class.getName())
);

我想要做的是使用Standford NLP注释器(来自ClearTK)并删除无用的注释.

我该怎么做呢?

据我所知,您可以使用removeFromIndexes();Annotation实例中的方法.

我是否需要创建UIMA处理器并将其添加到我的管道中?

1 个回答
  • 最后我创建了一个引擎来删除无用的注释:

    public class AnnotationRemover extends JCasAnnotator_ImplBase {
        public static AnalysisEngineDescription getDescription() throws ResourceInitializationException {
            return AnalysisEngineFactory.createEngineDescription(AnnotationRemover.class);
        }
    
        public void initialize(UimaContext context) throws ResourceInitializationException {
            super.initialize(context);
        }
    
        public void process(JCas jCas) throws AnalysisEngineProcessException {
            List<TOP> tops = new ArrayList<TOP>(JCasUtil.selectAll(jCas));
            for (TOP t : tops) {
                if (!t.getType().getName().equals("mypackage.MyAnnotation")) 
                    t.removeFromIndexes();
                }
            }
    }
    

    我正在删除所有注释,只留下mypackage.MyAnnotation注释

    2023-02-07 14:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有