问题标签 [uimafit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
24 浏览

uima - uimaFIT:建立 JCas 实例列表

为了评估我的 uimaFIT 管道,我想建立一个由管道注释并写入 xmi 文件的 JCas 实例列表。在我的评估中,我阅读了 xmi 文件并希望访问每个 xmi 文件的 JCas 并将其保存在列表中以便进一步处理它们。

问题在于,在 while 循环的每次迭代中,列表中已在迭代中添加的 JCas 被当前 JCas 覆盖。如何避免这种情况以及如何正确建立我的列表?JCas goldJCas = JCasFactory.createJCas()在调用next()迭代器并将 JCas 添加到列表之前,我尝试创建一个新的 JCas 对象。但我仍然得到相同的结果。

0 投票
1 回答
70 浏览

spring-boot - HeidelTime:如何在 jar 中正确打包 HeidelTime?

我从这里使用 HeidelTimeWrapper ,向其中添加参数 PARAM_TEMPONYMS 并在我的 uimaFit 管道中像这样初始化它:

此解决方案在 Eclipse 中运行应用程序时有效。但是这样我在将应用程序打包到 jar 时会出错:

在我的最终 jar 中,HeidelTime 无法初始化或访问其资源文件。我正在使用 Spring Boot Maven Plugin 和 Maven Assembly Plugin 进行构建。这是我的 pom.xml 的片段:

在我的罐子里,包装是这样的:

用 HeidelTime 构建 jar 时如何正确打包它?

0 投票
1 回答
67 浏览

json - 设置带有 JSON 输出的 ctakes 项目

我正在尝试设置一个提供 JSON 输出的 ctakes 应用程序。我从https://codeload.github.com/apache/ctakes/zip/ctakes-4.0.0获取了 ctakes 模块

我正在尝试将 jcas 对象转换为 json,如下所示

但似乎在下载的项目设置中,JsonCasSerializer 没有依赖项。我用谷歌搜索,发现我们需要在我的项目中添加 uimaj-json jar。我添加了与外部依赖项相同的内容(uimaj-json-3.1.1)——我也尝试了不同的版本。但是在将同一个 jar 添加到项目中后,我遇到了多个问题。

我的理解是,在添加 uimaj-json jar 时,我的 POM 已经包含以下依赖项,并且新包含的 uimaj-json jar 有很多与我当前的应用程序 uimj-core 版本不兼容的依赖项。

请帮忙。

我们是否有任何包含 jcas 到 json 转换的示例 ctakes 项目?

0 投票
1 回答
426 浏览

gradle - Quarkus Gradle 插件:覆盖来自依赖库的重复文件条目

我可以告诉 Quarkus Gradle 插件(gradle quarkusDevgradlew quarkusBuild -Dquarkus.package.uber-jar=true)使用我自己提供的资源,而不是在依赖 jar 重复时从依赖 jar 中选择资源吗?

我在构建 uber-jar 时收到这些消息:

这些 DKPro / uimaFIT 库是 NLP 库,自带META-INF/org.apache.uima.fit/types.txt文件。您应该自己合并这些文件并添加自己的类型,然后只将这个新合并的文件包含在您的 uber-jar 中,或者作为类路径中的第一个。

中有一个选项quarkus.package.user-configured-ignored-entriesapplication.properties但它也会删除我自己提供的文件。所以这不是我想要的(另见https://github.com/quarkusio/quarkus/blob/master/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/JarResultBuildStep.java#L186)。我没有检查 的来源gradle quarkusDev,但它会导致相同的运行时异常。

供其他使用 uimaFIT 的人参考,这个不正确META-INF/org.apache.uima.fit/types.txt的文件会导致类似 org.apache.uima.analysis_engine.AnalysisEngineProcessException: JCas type "org.apache.uima.conceptMapper.support.tokenizer.TokenAnnotation" used in Java code, but was not declared in the XML type descriptor..

所以我的问题是,我如何告诉 Gradle 或 Quarkus 使用我自己提供的这个文件,而不是从依赖 jar 中随机选择一个文件?

用 Kotlin DSL 编写的示例 Gradle 脚本。该任务generateNlpFiles和函数根据 uimaFIT 的要求,joinResources自动将 XML 文件中的 Java 源文件生成src/main/typesystem到 into中,并将重复的资源加入到中。你不需要太用力地看它们。build/generated/sources/jcasgen/main/META-INF/org.apache.uima.fit/types.txt/generated/resources/uimafit/

一种解决方法是使用gradlew quarkusBuild -Dquarkus.package.uber-jar=truewith 条目quarkus.package.user-configured-ignored-entries并将我自己的文件手动添加到生成的 jar 中,但这不适用于gradle quarkusDev.

我正在使用 Quarkus 1.3.2,因为 Quarkus 1.4.1 无法处理多个资源目录(另请参阅https://github.com/quarkusio/quarkus/blob/master/devtools/gradle/src/main/java/io/quarkus /gradle/tasks/QuarkusDev.java#L391),根据我的项目的需要。

我还尝试使用一些 Gradle JarJar 插件排除文件,例如https://github.com/shevek/jarjar,但无法让它们运行。