繁体   English   中英

注释者依赖性:UIMA类型功能?

[英]Annotator dependencies: UIMA Type Capabilities?

在我的UIMA应用程序中,我有一些注释器,它们必须在某个注释器运行后才能运行。

最初,我考虑过将这些注释器聚合在一起,但是我还有其他注释器也依赖于此(和其他)注释器,这使得聚合变得很困难和/或不切实际。

我读到有关类型功能的信息,如果我理解正确的话,它会告诉UIMA当用作Input Type时,必须存在某些类型(注解)。 我希望UIMA在运行不带注释器的管道时会给我类似警告的警告,这些注释器的某些输出类型被声明为使用的注释器的输入类型。 相反,注释器将照常运行/处理。

有没有一种方法可以实现我想要的,还是仅仅是不必要的? 如果有问题,我目前正在使用SimplePipeline。

TL; DR:我的目标是,如果管道中缺少某些其他注释器/计划在这些注释器之后计划运行,则注释器拒绝运行

提前致谢。

UIMA是一个非常灵活的框架。 默认情况下,不使用功能,如果存在,则纯粹是提供信息。 但是,请查看例如CapabilityLanguageFlowController

FlowController for the CapabilityLanguageFlow, which uses a linear flow 
but may skip some of the AEs in the flow if they do not handle the language
of the current document or if their outputs have already been produced by
a previous AE in the flow.

您可以将聚合配置为使用此类流控制器,然后可以从功能中受益。

披露:我正在研究Apache UIMA项目(但到目前为止,我还没有使用CapabilityLanguageFlowController)

在UIMA中,确保注释者需要的注释存在的主要方式是将注释者聚集在一起。 因此,要回答您的问题,那就是您将如何实现所需的目标,因为您想要做的事情(让UIMA通过Type Capabilities知道我们所有的依赖关系并提供警告)对于一组独立的注释器来说既不可能也不可行。

我的问题是,为什么要通过创建聚合注释器来计算我们的依赖关系如此困难? 您是否意识到可以聚合聚合管道? 如果它们可以正常运行,并且应该提供所有输出注释的清单,那么它们应该完整保留所有注释依存关系,以便您可以将它们用作构建自己的管道的输入。

UIMA并不强制必须存在某些类型(注释)。 这是允许灵活性的功能。

但是,您可以使用@TypeCapability注释记录UIMAfit注释器。 此注释的典型用法可能类似于:

@TypeCapability(
  inputs="org.apache.uima.fit.type.Token", 
  outputs="org.apache.uima.fit.type.Token:pos")

尽管如此,这并不强制类型依赖。 我在一个项目中所做的就是在UIMA之上实现自己的检查系统

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM