问题标签 [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.
uima - uimaFIT:建立 JCas 实例列表
为了评估我的 uimaFIT 管道,我想建立一个由管道注释并写入 xmi 文件的 JCas 实例列表。在我的评估中,我阅读了 xmi 文件并希望访问每个 xmi 文件的 JCas 并将其保存在列表中以便进一步处理它们。
问题在于,在 while 循环的每次迭代中,列表中已在迭代中添加的 JCas 被当前 JCas 覆盖。如何避免这种情况以及如何正确建立我的列表?JCas goldJCas = JCasFactory.createJCas()
在调用next()
迭代器并将 JCas 添加到列表之前,我尝试创建一个新的 JCas 对象。但我仍然得到相同的结果。
spring-boot - HeidelTime:如何在 jar 中正确打包 HeidelTime?
我从这里使用 HeidelTimeWrapper ,向其中添加参数 PARAM_TEMPONYMS 并在我的 uimaFit 管道中像这样初始化它:
此解决方案在 Eclipse 中运行应用程序时有效。但是这样我在将应用程序打包到 jar 时会出错:
在我的最终 jar 中,HeidelTime 无法初始化或访问其资源文件。我正在使用 Spring Boot Maven Plugin 和 Maven Assembly Plugin 进行构建。这是我的 pom.xml 的片段:
在我的罐子里,包装是这样的:
用 HeidelTime 构建 jar 时如何正确打包它?
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 项目?
gradle - Quarkus Gradle 插件:覆盖来自依赖库的重复文件条目
我可以告诉 Quarkus Gradle 插件(gradle quarkusDev
或gradlew 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-entries
,application.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=true
with 条目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,但无法让它们运行。