什么是 UIMA CAS(公共注释结构)的 NLTK 等价物?

what is the NLTK equivalent of the UIMA CAS (common annotation structure)?

在 UIMA 中,CAS(通用注释结构)在构建 NLP 应用程序中起着重要作用。它允许将一个组件添加到下一个组件的元数据传递。例如,可以将来自句子分词器的句子边界添加到 CAS 并由后续单词分词器使用。

NLTK中的等效数据结构是什么?

简而言之,NLTK中没有与CAS(Common Analysis System)等价的概念。后者使用比 UIMA 更简单的方式来表示文本。在 NLTK 中,texts are simply lists of words,而在 UIMA 中,您将非常复杂(且重量级)的数据结构定义为 CAS 的一部分,用于描述输入数据及其在 UIMA 系统中的流动。

话虽这么说,但我认为它们两者的用途完全不同。如果我要为 NLTK 命名一个 Java 等价物,我会选择 OpenNLP toolkit 而不是 UIMA。前者提供了许多基于机器学习的 NLP 算法(NLTK 也是如此),而后者是一个基于组件的框架,不仅适用于 NLP,而且适用于一般的非结构化数据。也就是说,它定义了用于构建使用非结构化数据的应用程序的通用模型。