Standford Core NLP 和 GATE 提供了各种 NLP 操作,如 NER、POS 标记。有一些 NLP 操作,如 Tokenizer、Snowball Stemmer,可作为 UIMA 组件使用。那么,UIMA 是否可以与 StandfordCore NLP/GATE 相媲美,还是用于为管道包装此类 API?
1 回答
核心 UIMA 框架不提供特定的 NLP 工具。它提供了从符合 UIMA 的组件构建和运行分析工作流的方法。由于要分析的数据在实际应用程序中可能会变得非常大,因此 UIMA 专注于可扩展性,提供UIMA-AS或UIMA-DUCC等分布式运行时环境。然而,UIMA 不仅在大规模上有用,而且还可以将分析嵌入应用程序或在科学环境中构建语言处理实验。
提供 NLP 工具的 UIMA 组件有几个集合,通常封装了 OpenNLP、Stanford CoreNLP 等第三方解决方案:
- ClearTK - 用于开发统计 NLP 组件的框架,还包括一些第三方工具的包装器
- cTAKES - 从电子病历临床自由文本中提取信息
- DKPro Core - 用于 NLP 的 UIMA 组件集合,为 UIMA 包装了许多第三方工具
- UIMA Addons - UIMA 团队自己提供的一小部分组件
- U-Compare - 集成文本挖掘/自然语言处理系统
这些是撰写本文时的一些主要收藏。如果您搜索它们,您可能会发现 UIMA 组件的其他来源。
核心 UIMA 框架可与 GATE 嵌入式相媲美,减去 GATE 开箱即用提供的任何处理资源。UIMA Ruta 工作台可以说与 GATE Developer 工作台的关系很远,或者更具体地说与 JAPE 相关。
UIMA 无法与斯坦福 CoreNLP 相提并论,因为 UIMA 并不专注于提供特定的 NLP 组件,而 CoreNLP 则专注于提供。
像 CoreNLP 这样的 NLP 工具往往被包装为 UIMA 组件,以便在 UIMA 管道中使用。
像 GATE 这样的框架通常不包装为 UIMA 组件,但作为 GATE 插件提供的特定 NLP 工具可能会被包装。
披露:我从事 Apache UIMA 项目和 DKPro Core 项目。