概述
编辑概述
编辑自然语言处理 (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 部分。