0

假设我有一个 UIMA 工具链,它执行以下操作:

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

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

我问这个问题是因为我可以看到类型系统引起的复杂性。特别是最困难的情况可能是在自定义事物之间或紧随其后插入第三方 ER 注释器。第三方注释者不会期望我们的自定义标签存在。

但是,只有额外的注释必须“通过”注释器,而无需查看或修改它们。所以,原则上,我认为这是可能的。我只是不知道 UIMA 是否支持这一点,或者是否只是要自己编写完整的链,并在任何地方进行严格的输入。

如果这不可能开箱即用,我们是否可以编写自定义注释器,以便它们可以插入任何 POS 标签可用的地方,而与是否存在其他注释无关。即作为注释器的作者注意可能存在一些必要的注释,我们添加的一些注释以及可能存在或不存在的任意数量的注释,我们不关心它们并且只传递它们?

4

1 回答 1

3

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

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

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

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

于 2012-03-01T14:30:54.810 回答