首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法比较不同管道之间的JCas数据?

有没有办法比较不同管道之间的JCas数据?
EN

Stack Overflow用户
提问于 2019-04-12 05:04:23
回答 1查看 48关注 0票数 0

我正在建立一个基于UIMA和DKPro-Core的新框架。该框架提供了一种配置UIMA管道的简单方法。

在一些JCasAnnotator中,我想成对或与单个JCas比较所有文档(在本例中,我假设是不同的JCas对象)的数据。

代码语言:javascript
复制
runPipeline(createReaderDescription(SomeReader.class),
                somePreprocessingEngineDescription,
                similarityPipelineDescription,
                createEngineDescription(SomeWriter.class)
);

similarityPipelineDescription中,我想将一个JCas的数据与所有JCas的数据进行比较。

代码语言:javascript
复制
public void process(JCas aJCas) throws AnalysisEngineProcessException {
        // Compare aJcas with all other JCas objects
}

这是推荐的方式吗?有人可以也愿意这样做吗?如果是,我如何获得对其他JCas对象的访问权限?

或者我应该保存我想要比较的数据,并在以后进行比较?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-12 16:01:04

通过管道传递的(J)Cas对象通常会被重用。因此,在分析引擎中保持对它们的收集引用是没有意义的,并且保持对您从它们获得的任何特征结构的引用也不起作用,因为当(J)Cas被重置和重用时,它们将被无效。

您可以将数据写入磁盘,然后将其读取到多个CAS对象中,然后可以对这些对象进行比较。

或者,您可以实现一个分析引擎,将您感兴趣的数据提取到一组独立的对象中,并在此基础上进行比较。

如果你想做配对比较,你也可以实现一个读取器,它将你想要比较的数据读取到同一CAS的两个不同的视图中,然后让你的分析引擎处理/比较。例如,请参阅DKPro TC PairReader_ImplBase及其子类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55641157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档