概述

编辑

自然语言处理 (NLP) 指的是我们如何使用软件来理解口语或书面文本中的自然语言。

Elastic Stack 中的 NLP

编辑

Elastic 提供了广泛的可能性来利用自然语言处理。

您可以集成来自不同提供商的 NLP 模型,例如 Cohere、HuggingFace 或 OpenAI,并通过 semantic_text 工作流程将它们用作服务。您也可以使用 ELSER(由 Elastic 训练的检索模型)和 E5,方法相同。

推理 API 使您能够使用相同的服务,并提供更复杂的工作流程,从而更好地控制您的配置设置。此教程将引导您完成使用推理 API 使用各种服务的过程。

您可以使用 Eland 客户端和 Elastic Stack 上传和管理 NLP 模型。在此处查找 推荐的兼容模型列表。请参阅 示例,了解有关如何在集群中部署的机器学习模型的更多信息。

如果您在 Elasticsearch 外部生成稠密向量稀疏向量模型嵌入,则可以将 嵌入存储在 Elasticsearch 向量数据库中

什么是 NLP?

编辑

传统上,NLP 使用语言规则、词典、正则表达式和机器学习来执行,以实现诸如自动分类或文本摘要之类的特定任务。然而,近年来,深度学习技术已经占据了 NLP 领域的大部分。深度学习利用了大规模数据集的可用性、廉价的计算以及以较少的人工参与进行大规模学习的技术。使用 Transformer 架构的预训练语言模型尤其成功。例如,BERT 是谷歌在 2018 年发布的预训练语言模型。从那时起,它已成为当今大多数现代 NLP 技术的基础。Elastic Stack 机器学习功能围绕 BERT 和 Transformer 模型构建。这些功能支持 BERT 的标记化方案(称为 WordPiece)和符合标准 BERT 模型接口的 Transformer 模型。有关当前支持的架构列表,请参阅兼容的第三方模型

为了整合 Transformer 模型并进行预测,Elasticsearch 使用 libtorch,它是 PyTorch 的底层原生库。训练好的模型必须采用 TorchScript 表示形式才能与 Elastic Stack 机器学习功能一起使用。

分类回归的情况一样,在将模型部署到集群后,可以使用它对传入数据进行预测(也称为推理)。您可以执行以下 NLP 操作

要深入研究 Elastic 的机器学习研究和开发,请浏览 Search Labs 内的 ML research 部分。