gpt4 book ai didi

java - UIMA 注释功能是否有通用类型?

转载 作者:行者123 更新时间:2023-12-01 23:18:23 26 4
gpt4 key购买 nike

是否有一个泛型类型,类似于 Object在Java中,这将允许设置不同类型的值?

<typeDescription>
<name>com.example.Annotation</name>
<description></description>
<supertypeName>uima.tcas.Annotation</supertypeName>
<features>
<featureDescription>
<name>exampleFeature</name>
<description>An example feature</description>
<rangeTypeName>uima.cas.Generic</rangeTypeName>
</featureDescription>
</features>
</typeDescription>

我尝试将以下内容放入 <rangeTypeName> :

  • java.lang.ObjectObject 这不起作用,在尝试使用 JCasGen 生成代码时收到以下消息:

    JCasGen 警告:** 实例化 CAS 类型系统时发生资源初始​​化错误。继续,但可能生成不正确。由“未定义类型“Object”引起,在类型“com.example.Annotation”上声明的功能“exampleFeature”中引用。

  • uima.cas.TOP 这会生成代码,但当我尝试调用 setExampleField() 时会出现错误方法通过向其传递 intString因为它无法将它们转换为 TOP 类型。

最佳答案

uima.cas.TOP 是 UIMA 的 Object 等效类型。但它与您的预期略有不同。 UIMA 使用两个概念进行操作:1) FeatureStructure,2) 原始类型(int、boolean 等和 String!)。如果将特征的范围设置为 TOP,它可以接受任何类型的特征结构(即从 TOP 继承的任何特征结构),但不能接受任何原始类型 - 这里没有自动装箱。如果您将范围设置为原始类型,那么它将只接受该类型。

解决方法可能是定义自定义类型,例如FSInt、FSString、FSBoolean 继承自 TOP,并且具有相应类型(int、String、boolean)的“值”功能。然后,您可以在该 FS 中设置该值并将其分配给范围为 TOP 的特征。

注意:我目前是 Apache UIMA 项目的提交者。

关于java - UIMA 注释功能是否有通用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20888348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com