ELK,萌萌哒

Elasticsearch:如何部署 NLP:命名实体识别 (NER) 示例

liuxg 发表了文章 • 0 个评论 • 1870 次浏览 • 2022-05-27 11:24 • 来自相关话题

在本文章中,我们将通过一个示例,使用命名实体识别 (NER - Name Entity Recognition) NLP 模型来定位和提取非结构化文本字段中预定义的实体类别。 使用公开可用的模型,我们将向你展示如何将该模型部署到 Elasticsearch,使用新的 _infer API在文本中查找命名实体,并在提取管道中使用 NER 模型在文档被提取到 Elasticsearch 时提取实体。

NER 模型对于使用自然语言从全文字段中提取人物(people)、地点(places)和组织(organization)等实体很有用。

在此示例中,我们将通过 NER 模型运行《悲惨世界》一书的段落,并使用该模型从文本中提取字符和位置,并将它们之间的关系可视化。

更多关于 NLP 的阅读:

Elasticsearch:如何部署 NLP:文本嵌入和向量搜索

在 Elasticsearch 中使用 PyTorch 进行现代自然语言处理的介绍

Elasticsearch:如何部署 NLP:情绪分析示例

安装
如果你还没有安装好自己的 Elasticsearch,Kibana 及 Eland,那么请阅读之前的文章 “Elasticsearch:如何部署 NLP:文本嵌入和向量搜索”。

将 NER 模型部署到 Elasticsearch
首先,我们需要选择一个可以从文本字段中提取字符名称和位置的 NER 模型。 幸运的是,我们可以在 Hugging Face 上选择一些可用的 NER 模型,并查看 Elastic 文档,我们看到一个 uncased NER model from Elastic  模型。

现在我们已经选择了要使用的 NER 模型,我们可以使用 Eland 来安装模型。 在本例中,我们将通过 docker 镜像运行 Eland 命令,但首先我们必须通过克隆 Eland GitHub 存储库来构建 docker 镜像,并在你的客户端系统上创建 Eland 的 docker 镜像。详细步骤请在文章  “Elasticsearch:如何部署 NLP:文本嵌入和向量搜索”。中进行查看,这里就不再赘述了。

我们接下来使用如下的命令来上传模型:

docker run -it --rm elastic/eland \
    eland_import_hub_model \
      --url https://elastic:lOwgBZT3KowJrQ ... 9200/ \
      --hub-model-id elastic/distilbert-base-uncased-finetuned-conll03-english \
      --task-type ner \
      --insecure \
      —-start 
注意:请根据自己的用户账号信息更新 --url 选项中的 Elasticsearch 信息。由于我们使用的是自签名的证书部署的,在这里,我们使用 --insecure 来规避 SSL 签名证书的检查。

由于我们在 eland import 命令末尾使用了 --start 选项,因此 Elasticsearch 会将模型部署到所有可用的机器学习节点并将模型加载到内存中。 如果我们有多个模型并且想要选择要部署的模型,我们可以使用 Kibana 的机器学习 > 模型管理用户界面来管理模型的启动和停止。

原文链接:https://blog.csdn.net/UbuntuTo ... 77711

504 Gateway Time-out

回复

yqbboy 发起了问题 • 1 人关注 • 0 个回复 • 2239 次浏览 • 2022-05-27 09:17 • 来自相关话题

keyword类型的数字的大于小于查询

laoyang360 回复了问题 • 3 人关注 • 3 个回复 • 3053 次浏览 • 2022-05-29 15:02 • 来自相关话题

Elasticsearch:Elastic Maps 现在支持机器学习异常层

liuxg 发表了文章 • 0 个评论 • 1102 次浏览 • 2022-05-26 11:40 • 来自相关话题

现在可以在 Elastic Maps 中查看使用 geographical functions 的机器学习 (ML) 异常检测作业的结果。 Elastic Maps 8.1.0 版本可以按位置生成异常地图,帮助你探索数据中的新趋势。

Elastic Maps 在 Elastic Cloud 上可用。 你还可以下载 Elastic Stack 和我们的云编排产品 Elastic Cloud Enterprise (ECE) 和 Elastic Cloud for Kubernetes (ECK),以获得自我管理的体验。

在此示例中,我们将使用通用运输饲料规范 (GTFS) 数据。 GTFS 定义了公共交通时刻表和相关地理信息的通用格式。

在下面的展示中,我将使用 Elastic Stack 8.2 来进行展示。

Geographical functions
地理功能检测输入数据的地理位置异常。lat_long 函数检测输入数据的地理位置异常。

注意:你不能为包含地理函数的异常检测作业创建预测。 你也不能将带有条件的规则添加到使用地理函数的检测器中。

该函数支持以下属性:

field_name (required)
by_field_name (optional)
over_field_name (optional)
partition_field_name (optional)
比如,我们在如下的例子中,使用 lat_long 函数来分析信用卡交易的异常:

PUT _ml/anomaly_detectors/example1
{
  "analysis_config": {
    "detectors": [{
      "function" : "lat_long",
      "field_name" : "transaction_coordinates",
      "by_field_name" : "credit_card_number"
    }]
  },
  "data_description": {
    "time_field":"timestamp",
    "time_format": "epoch_ms"
  }
}
我们知道,在通常的情况下,你的信用卡不可能在一个很小的时间范围里,在美国和中国同时耍卡,除非飞机飞的真的很快很快。如果你在异常检测作业的检测器中使用此 lat_long 函数,它会检测到信用卡交易的地理位置对于特定客户的信用卡而言的异常。 异常可能表明存在欺诈。

重要:你提供的 field_name 必须是一个字符串,其中包含两个逗号分隔的数字,格式为纬度、经度、geo_point 字段、包含点值的 geo_shape 字段或 geo_centroid 聚合。 纬度和经度必须在 -180 到 180 的范围内,并且代表地球表面上的一个点。

比如,JSON 数据可能包含以下交易坐标:

{
  "time": 1460464275,
  "transaction_coordinates": "40.7,-74.0",
  "credit_card_number": "1234123412341234"
}
在 Elasticsearch 中,位置数据很可能存储在 geo_point 字段中。 有关详细信息,请参阅 geo_point 数据类型。 机器学习功能原生支持此数据类型。 具体来说,当从 geo_point 字段中提取数据时,datafeed 将在发送到异常检测作业之前将数据转换为适当的纬度、经度字符串格式。
Elasticsearch:Elastic Maps 现在支持机器学习异常层原文链接:https://blog.csdn.net/UbuntuTo ... 58783

如何深入理解ES的merge策略

回复

Charele 回复了问题 • 2 人关注 • 12 个回复 • 2444 次浏览 • 2022-06-19 04:16 • 来自相关话题

如何深入理解fieldData

回复

Charele 回复了问题 • 2 人关注 • 7 个回复 • 1817 次浏览 • 2022-05-26 14:33 • 来自相关话题

Elasticsearch:如何部署 NLP:文本嵌入和向量搜索

liuxg 发表了文章 • 0 个评论 • 2247 次浏览 • 2022-05-24 10:16 • 来自相关话题

作为我们自然语言处理 (NLP) 博客系列的一部分,我们将介绍一个使用文本嵌入模型生成文本内容的向量表示并演示对生成的向量进行向量相似性搜索的示例。我们将在 Elasticsearch 上部署一个公开可用的模型,并在摄取管道中使用它来从文本文档生成嵌入。然后,我们将展示如何在向量相似性搜索中使用这些嵌入(embedding)来查找给定查询的语义相似文档。

矢量相似性搜索(vector similarity search),或者通常称为语义搜索,超越了传统的基于关键字的搜索,允许用户找到可能没有任何共同关键字的语义相似的文档,从而提供更广泛的结果。向量相似性搜索对密集向量进行操作,并使用 k-最近邻(k-nearest neighbour)搜索来查找相似向量。为此,首先需要使用文本嵌入模型将文本形式的内容转换为其数字向量表示。

我们将使用来自 MS MARCO Passage Ranking Task 的公共数据集进行演示。它由来自 Microsoft Bing 搜索引擎的真实问题和人工生成的答案组成。该数据集是测试向量相似性搜索的完美资源,首先,因为问答是向量搜索最常见的用例之一,其次,MS MARCO 排行榜中的顶级论文以某种形式使用了向量搜索。

在我们的示例中,我们将使用此数据集的样本,使用模型生成文本嵌入,然后对其运行向量搜索。我们还希望对向量搜索产生的结果的质量进行快速验证。在今天的展示中,我将使用 Elastic Stack 8.2 来进行展示。
https://elasticstack.blog.csdn ... 20166

有什么 elasticsearch 轻便的压测方案?

liaosy 回复了问题 • 2 人关注 • 1 个回复 • 1460 次浏览 • 2022-05-23 09:52 • 来自相关话题

如何深入理解ES的分片租约

Charele 回复了问题 • 2 人关注 • 9 个回复 • 1594 次浏览 • 2022-06-02 04:10 • 来自相关话题

设置Watcher,判断两个独立的消息没有同时出现

Jasonspeaking 回复了问题 • 3 人关注 • 3 个回复 • 1250 次浏览 • 2022-05-24 06:05 • 来自相关话题

关于es内存使用的的一些疑问

liujiacheng 回复了问题 • 2 人关注 • 1 个回复 • 1385 次浏览 • 2022-05-21 12:29 • 来自相关话题

如何深入理解ES的聚合

回复

Charele 回复了问题 • 1 人关注 • 12 个回复 • 1476 次浏览 • 2022-05-24 13:14 • 来自相关话题

关于集合类型多选的问题

duanxiaobiao 回复了问题 • 3 人关注 • 1 个回复 • 1888 次浏览 • 2022-05-18 20:31 • 来自相关话题

ES 怎么应对一个增量会触发大量文档更新的情况?

回复

zsw1234 发起了问题 • 2 人关注 • 0 个回复 • 1540 次浏览 • 2022-05-18 14:50 • 来自相关话题

关于elasticsearch 分片平衡

回复

Charele 回复了问题 • 1 人关注 • 1 个回复 • 1182 次浏览 • 2022-05-20 03:34 • 来自相关话题