自然语言处理(NLP)在越来越多的AI应用程序中至关重要。如果您正在构建聊天机器人,搜索专利数据库,将患者与临床试验相匹配,对客户服务或销售电话进行评级,从财务报告中提取事实,必须从自由文本中提取准确信息。在开发和生产中,最受欢迎的 NLP 库列表如下:
显然,NLP 领域还有更多的库。但是,这些库更通用,涵盖更多功能,而不只是专注于特定用例。例如,gensim 是一个 NLP 库,一开始是为构建文本主题模型而创建的,不能用于完整的 NLP 管道。此前,Maziyar Panahi 和 David Talby 提供了一个选择开源 NLP 库的备忘单。在本文的分析中,我们只考虑提供如下核心功能集合的库:
- 句子检测
- 单字/单词的细粒度单位化
- 词干提取
- 语法标记
- 词性(POS)
- 命名实体识别(NER)
- 依赖分析器
- 训练特定域的语言模型
以及,提供以下的部分或全部功能:
- 文本匹配
- 日期匹配
- 文本分块
- 拼写检查
- 情绪检测
- 很多其他功能!
这里比较的所有五个库都有一些可以定义的 NLP 数据管线的概念 – 因为大多数 NLP 任务需要组合这些功能中的某些,来获得有用的结果。这些管线,可以是『传统』的管线,也可以是基于深度学习的管线。

这是最受欢迎的 NLP 库的功能比较:
名称 | SparkNLP | NLTK | SpaCy | CoreNLP |
句子检测 | 是 | 是 | 是 | 是 |
细粒度单位化 | 是 | 是 | 是 | 是 |
词干提取 | 是 | 是 | 是 | 是 |
语法 | 是 | 是 | 是 | 是 |
磁性标注 | 是 | 是 | 是 | 是 |
命名实体识别 | 是 | 是 | 是 | 是 |
依赖分析 | 是 | 是 | 是 | 是 |
文本匹配 | 是 | 否 | 否 | 是 |
日期匹配 | 是 | 否 | 否 | 是 |
段落分解 | 是 | 是 | 是 | 是 |
拼写检查 | 是 | 否 | 否 | 否 |
情绪检测 | 是 | 否 | 否 | 是 |
预训练模型 | 是 | 是 | 是 | 是 |
训练模型 | 是 | 是 | 是 | 是 |