9 个工具和库让您开始使用自然语言处理

已发表: 2019-11-20

在之前的文章中,我们讨论了 NLP 是什么、运行 NLP 所需的步骤以及 NLP 如何协同工作。

现在您对 NLP 以及它如何帮助您扩展内容营销有了基本的了解,您可以开始研究入门所需的工具和库。

有各种工具可用于所有类型的 NLP 任务。 其中一些是开源工具,对公众免费,由志愿者贡献构建。 其他是优质的,由计算和数据处理领域的知名人士提供。

甚至谷歌也在人工智能游戏中。

但在我们深入研究工具和库列表之前,您应该了解一些术语。 你会看到我在这篇文章中引用了 Python、Java 和 Node。 如果您不是专业的开发人员,那么了解这些是什么以及您的开发团队通常使用什么会有所帮助。

让我们简要地定义它们,然后讨论可以帮助您启动和运行 NLP 策略的各种工具。

什么是 Python、Java 和 Node?

Python 和 Java 都是开源编程语言,它们都用于构建 AI 和 NLP 应用程序。 根据开源项目的软件开发主机 GitHub 的说法,Python 和 Java 分别是第三和第二的编程语言。

Node(或 NodeJS)是一个框架,它允许 AI 和 NLP 工具以另一种称为 JavaScript 的语言运行。 请注意,Java 和 JavaScript 不是同一种语言。

Node 已经成为 JavaScript 的代名词。 因此,当您谈论在 Node 中运行的 NLP 工具和库时,您实际上是在说它们在 JavaScript 中运行。

开源是指可以免费使用且相对容易操作的编程语言和框架。 您的开发人员可以自定义开源 NLP 工具和库以满足您品牌的需求。

但请注意,开源并不总是带有开箱即用的解决方案,这可能意味着在任何工作之前进行大量的开发和测试。

溢价是指相反。 这些是基于订阅的工具和库。 它们通常提供更多开箱即用的选项,您可以将这些选项插入现有的基础设施,如果您刚刚开始进行 AI 开发,或者您想快速部署某些东西,这会很有帮助。

用于 NLP 的 Python 工具和库

斯帕西

SpaCy 将自己标记为“工业级自然语言处理”。 它是一个文本分析库,允许开发人员处理各种 NLP 项目。 SpaCy 支持超过 52 种语言,并以其处理速度和准确性而自豪,包括许多功能,例如具有许多功能,包括命名实体识别和 PoS 标记。

自然语言工具包 (NLTK)

NLTK 是一个著名的开源 NLP Python 库。 它提供了各种库来帮助进行文本处理和自然语言理解,包括语义分析。

但巧妙的是它对可访问性的承诺。 NLTK 背后的大脑提供了深入的指南来教授编程的基础知识,因此即使是初学者也可以开始使用 NLP。

根据他们的网站,他们的 NLP 编程方法使其成为研究人员、学生和教师的有用工具。

如果您的团队总体上对编程不太了解,那么这可能是一个不错的起点。

TensorFlow

TensorFlow 是一个面向对机器学习和 NLP 感兴趣的公司的端到端平台。 它用 python/C++ 编写,完全开源,并带有各种库和工具,开发人员可以使用它们来构建自己的应用程序。

它与 Keras 和其他高级模型等框架集成,可以轻松快速地构建神经网络。

NLP 的节点工具和库

NLP.js

NLP.js 可以猜测它正在分析的文本的语言——它甚至被训练来识别克林贡语! 该工具非常适合翻译和聊天机器人等非结构化数据应用程序。 它识别 34 种不同的语言,包括一个自然语言处理分类器和一个自然语言生成管理器。

该工具是完全开源的,依赖于世界各地程序员的贡献。

用于 NLP 的 Java 工具和库

Apache OpenNLP

根据他们的网站,Apache OpenNLP 是一个由志愿者编写的 NLP 开源工具。 它“支持最常见的 NLP 任务,例如标记化、句子分割、词性标记、命名实体提取、分块、解析、语言检测和共指解析。”

这些过程允许开发人员创建可以分解语音、口语或书面部分并理解它的应用程序。

斯坦福自然语言处理小组

斯坦福大学已经向公众提供了一些语言处理工具,包括他们的统计、基于规则和深度学习的 NLP 工具。 他们的网站上有完整的核心库和工具列表,包括用于标记和解析的库以及用于翻译的工具。

然而,重要的是要注意,虽然他们的产品是开源的,但在将它们用于任何专有工具之前,您必须联系斯坦福获得商业许可。

其他自然语言处理工具

AWS

Amazon Deep Learning AMI 是一项高级服务,无论您使用何种编程语言,它都能为您提供运行 NLP 的工具。 它还适用于我们提到的几个现有深度学习框架,包括 Keras 和 TensorFlow。

IBM 沃森

此时您可能已经听说过 Watson。 那是赢得 Jeopardy! 的 AI 机器。 但 Watson 也为 NLP 提供工具和库。 您可以下载 Python、Node 或 Java 的包来构建聊天机器人、在社交媒体上执行情绪分析或分析在线评论等。

谷歌云自然语言

Google Cloud 有两种自然语言处理选项。 第一个是 AutoML Natural Language,开发人员在其中上传现有文档以训练该工具,然后将其部署以执行多项 NLP 任务。 它适用于在 AI、深度学习或 NLP 方面没有太多经验的开发人员。

谷歌还提供其自然语言 API,允许更有经验的开发人员自行创建和存在文本分析、情感分析和翻译工具。

两者都存在于谷歌的云中。

概括

对于每一种 NLP 需求,都有工具和库可以帮助您。 你的选择很大程度上取决于你的开发团队,所以让他们参与进来。 您需要了解他们对 AI 以及我谈到的三种编程语言的熟悉程度。 您还需要了解您的技术堆栈以及它可以支持什么。

向您的开发团队提出正确的问题,并明确您组织的需求。 然后,您可以为整个公司选择合适的自然语言处理工具和库。