在UIMA中,CAS(通用注释结构)在构建NLP应用程序中起主要作用。它允许将一个组件添加的元数据传递到下一个组件中。例如,句子标记化器的句子边界可以添加到CAS并由后续的单词标记器使用。
NLTK中的等效数据结构是什么?
答案 0 :(得分:6)
简而言之,NLTK中没有与CAS(通用分析系统)相同的概念。后者使用比UIMA更简单的表示文本的方法。在NLTK中,texts are simply lists of words,而在UIMA中,您将非常复杂(和重量级)的数据结构定义为CAS的一部分,用于描述输入数据及其通过UIMA系统的流程。
话虽如此,我认为他们中的两个无论如何都要服务于不同的目的。如果我要为NLTK命名Java等价物,我会选择OpenNLP toolkit而不是UIMA。前者提供了许多基于机器学习的NLP算法(NLTK等),而后者是基于组件的框架,不仅适用于NLP,还适用于非结构化数据。也就是说,它定义了一个用于构建使用非结构化数据的应用程序的通用模型。