UIMA:插头和;为不同球队的链条播放注释

时间:2012-02-27 12:21:03

标签: uima

假设我有一个类似这样的UIMA工具链:

tokenize - > POS标记 - >分配我的自定义标签/注释 - >使用自定义标记分配更多标签 - >进一步处理。

是否可以使用第三方,假设实体识别(使用POS标签,但不需要更多),在POS标记之后,在两个自定义事件之间或之后?

我问这个问题,因为我可以看到由于类型系统引起的并发症。特别是最困难的情况可能是在自定义事物之间或之后插入第三方ER注释器。第三方注释器不会指望我们的自定义标签存在。

然而,只有额外的注释必须“通过”注释器而不查看它们或修改它们。因此,原则上,我认为这是可能的。我只是不知道UIMA是否支持这一点,或者只是自己编写完整的链条,并且在任何地方都严格打字。

如果无法开箱即用,我们是否可以编写自定义注释器,以便在存在其他注释的情况下将其插入POS标签可用的任何位置。即作为注释者的作者,要注意可能有一些必要的注释,我们添加的一些注释以及可能存在或不存在的任何数量的注释,我们不关心它们而只是通过它们?

1 个答案:

答案 0 :(得分:3)

  

第三方注释器不会指望我们的自定义标签存在。

如果我理解正确,您担心自定义注释可能会与第三方NER冲突,对吧?除非您的代码完全添加相同的注释,否则不会。

这是UIMA的优势:每个分析引擎(AE)都独立于其他分析引擎,它只关注CAS中传递的注释。例如,假设您有一个期望注释类型为my.namespace.Token的AE。只要CAS中存在,哪个AE创建这些注释并不重要。

为此灵活性付出的代价是您(作为开发人员)必须确保每个AE所需的注释都存在。例如,如果AE期望注释类型my.namespace.Sentence但没有注释,则此AE将无法进行任何处理。