java - 有没有办法比较管道之间的 JCas 数据?
问题描述
我正在建立一个基于 UIMA 和 DKPro-Core 的新框架。该框架提供了一种配置 UIMA 管道的简单方法。
在一些内部JCasAnnotator
,我想成对或与单个JCas
.
runPipeline(createReaderDescription(SomeReader.class),
somePreprocessingEngineDescription,
similarityPipelineDescription,
createEngineDescription(SomeWriter.class)
);
在里面similarityPipelineDescription
,我想比较 oneJCas
和 all的数据JCas
。
public void process(JCas aJCas) throws AnalysisEngineProcessException {
// Compare aJcas with all other JCas objects
}
这是有人可以并且愿意这样做的推荐方式吗?如果是这样,我如何才能访问其他JCas
对象?
或者我应该保存我想要比较的数据并在以后进行比较?
解决方案
通过管道传递的 (J)Cas 对象通常会被重复使用。因此,在分析引擎中保留对它们的引用是没有意义的,并且保留对您从它们获得的任何特征结构的引用也不起作用,因为当 (J)Cas 被重置和重用时它们将失效。
您可以将数据写入磁盘,然后将其读入多个 CAS 对象,然后您可以进行比较。
或者,您可以实现一个分析引擎,将您感兴趣的数据提取到一组独立的对象中,并以此为基础进行比较。
如果您想进行配对比较,您还可以实现一个阅读器,它将您希望比较的数据读取到同一 CAS 的两个不同视图中,然后让您的分析引擎处理/比较它。例如,参见 DKPro TC PairReader_ImplBase及其子类。
推荐阅读
- html - 我的建议 div 落后于另一个 div
- java - 如何从Java中的给定字符串中提取单词
- docker - 安装 Hyperledger Fabric docker 映像失败
- mysql - Java 8 java.time 未正确映射到 mysql
- android - Room 无法验证数据完整性。如何在不编写迁移步骤的情况下修复它?
- html - Deck.gl (Mapbox) StaticMap 不调整大小 - 覆盖屏幕上的所有内容
- powershell - 带有安全字符串的管理员密码的框输入
- react-native - 我想在反应原生应用程序中为给定视频生成哈希
- r - 如何在 R 中使用 Dplyr 过滤年初至今的数据?
- bash - 在命令行中找到了 FFMpeg 尾随选项