Elasticsearch:NLP 和 Elastic:入门

news2024/11/24 2:36:54

自然语言处理 (Natural Language Processing - NLP) 是人工智能 (AI) 的一个分支,专注于尽可能接近人类解释的理解人类语言,将计算语言学与统计、机器学习和深度学习模型相结合。

  • AI - Artificial Inteligence 人工智能
  • ML - Machine Learning 机器学习
  • DL - Deep Learning  深度学习
  • NLP - Naturual Language Processing 自然语音处理

NLP 任务的一些示例

  • 命名实体识别(Named Entity Recognition, NER)是一种信息抽取,将单词或短语识别为实体。

我们可以使用 Huggingface 上的模型来进行测试。 你可以进一步阅读文章 “Elasticsearch:如何部署 NLP:命名实体识别 (NER) 示例”。

  • 情感分析(Sentiment Analysis)是一种文本分类,试图从文本中提取主观情绪。

我们可以使用 Huggingface 上的模型来进行测试。你可以更进一步阅读文章 “Elasticsearch:如何部署 NLP:情绪分析示例”。

根据您的用例,可以使用更多示例。你可以阅读文章 “Elastic:开发者上手指南” 中的 “NLP - 自然语言处理” 以了解更多。

BERT

2018 年,谷歌采购了一种名为 BERT 的预训练 NLP 新技术。

BERT 使用 “迁移学习,transfer learning”,这是预训练语言表示的方法。 预训练指的是 BERT 最初是如何使用无监督学习对从样本集合(8 亿字)和维基百科文档(25 亿字)中提取的大量纯文本进行训练的。 较早的模型需要手动标记。

BERT 接受了两项任务的预训练:语言建模(15% 的标记被屏蔽,并且 BERT 被训练从上下文中预测它们)和下一句预测(给出第一句话,BERT 被训练来预测所选择的下一句话是与否) . 有了这种理解,BERT 就可以很容易地适应许多其他类型的 NLP 任务。

了解意图和上下文而不仅仅是关键字,可以以更接近人类理解方式的方式进一步理解。

使用 Elastic 的自然语言处理

为了支持使用与 BERT 相同的分词器的模型,Elastic 支持 PyTorch 库,这是最流行的机器学习库之一,支持像 BERT 使用的 Transformer 架构这样的神经网络,支持 NLP 任务。

一般来说,任何具有受支持架构的训练模型都可以部署在 Elasticsearch 中,包括 BERT 和变体。

这些模型按 NLP 任务列出。 目前,这些是支持的任务:

  • 提取信息(Extract information)

        命名实体识别(Named entity recognition)
        填充遮罩(Fill-mask)
        问题解答(Question answering)

  • 分类文本(Classify text)

        语言识别(Language identification)
        文本分类(Text classification)
        零样本文本分类(Zero-shot text classification)

  • 搜索和比较文本(Search and compare text)

        文本嵌入(Text embedding)
        文本相似度(Text similarity)

导入经过训练的模型后,你可以使用它进行预测(inference)。

注意:对于 NLP 任务,你必须选择并部署第三方 NLP 模型。 如果你选择执行语言识别,作为一个选项,我们在集群中提供了经过训练的模型 lang_ident_model_1。

具有 Elastic 解决方案的 NLP

有许多可能的用例可以将 NLP 功能添加到你的 Elastic 项目中,以下是一些示例:

安全

垃圾邮件检测:文本分类功能可用于扫描电子邮件中通常表示垃圾邮件的语言,允许阻止或删除内容并防止恶意电子邮件。

PUT spam-detection/_doc/1
{
  "email subject": "Camera - You are awarded a SiPix Digital Camera! Call 09061221066. Delivery within 28 days.",
  "is_spam": true
}

 

企业搜索

非结构化文本分析:实体识别对于构建文本数据、向文档添加新字段类型以及允许你分析更多数据并获得更有价值的见解非常有用。

 

PUT /source-index
{
  "mappings": {
    "properties": {
      "input":    { "type": "text" }
    }
  }
}
PUT /new-index
{
  "mappings": {
    "properties": {
      "input":    { "type": "text" },  
      "organization":  { "type": "keyword"  }, 
      "location":   { "type": "keyword"  }     
    }
  }
}

可观察性

服务请求和事件数据:从操作数据(包括工单解决评论)中提取意义,不仅可以让你在事件期间生成警报,还可以通过观察你的应用程序、预测行为并获得更多数据来缩短工单解决时间。

 

...
  "_source": {
    "support_ticket_id": 119237,
    "customer_id": 283823,
    "timestamp": "2021-06-06T17:23:02.770Z",
    "text_field": "Response to the case was fast and problem was solved after first response, did not need to provide any additional info.",
    "ml": {
      "inference": {
        "predicted_value": "positive",
        "prediction_probability": 0.9499962712516151,
        "model_id": "heBERT_sentiment_analysis"
      }
    }
  }
...

从上面的评论中,我们可以看出来反馈是 positive 的,也就是正面的。对于电影影评来说,我们可以通过这个来判断影评是正面评论的多还是负面的多。我们甚至可以使用可视化图来描述它们。更多阅读,请参阅 “Elasticsearch:在满意度调查中实现并使用情绪分析器”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/489010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集线器、网桥、交换机

一.集线器 集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在…

STL基础

目录 一、STL的诞生 二、STL基本概念 三、STL六大组件 大体分为六大组件:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器 四、容器、算法与迭代器的认识 容器container:存放数据地方 算法algorithm:解…

中级软件设计师备考---软件工程2

目录 软件测试分类和要求测试用例设计测试阶段McCabe复杂度软件维护软件过程改进---CMMICMM英文版CMM中文版CMMI 软件测试分类和要求 分类: 灰盒测试:多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。…

MySQL:插入,更新与删除、索引

一、学习目标 掌握如何向表中插入数据掌握更新数据的方法熟悉如何删除数据掌握对数据表基本操作的方法和技巧了解什么是索引掌握创建索引的方法和技巧熟悉如何删除索引熟悉掌握索引的常见问题 二、实验内容 创建表books,对数据表进行插入、更新和删除操作&#x…

SkyWalking集成Logback的使用

SkyWalking集成Logback的使用 将微服务的日志框架去集成SkyWalking,我们希望在我们微服务中日志中,能够记录当前调用链路的id,然后我们再根据这个id去SkyWalking的前端界面中进行搜索找到对应的调用链路记录。 因为springboot默认实现的日志…

Ansible 的脚本 之playbook 剧本

目录 第一章.playbooks的组成 1.1playbooks的组成部分 1.2运行playbook 1.3定义、引用变量 1.4.指定远程主机sudo切换用户 1.6.when条件判断 1.7.迭代 第二章.Templates模块 2.1.准备模板 2.2.修改主机清单文件 2.3.编写 playbook 第三章.tags 模块 3.1.yaml文件编…

操作系统原理 —— 线程的概念、实现方式、多线程模型(十)

什么是线程,为什么要引入线程? 有的进程可能需要 “同时” 做很多事情,而传统的进程只能串行的执行一系列的程序,为此,引入了 “线程” ,来增加并发度。 可以把线程理解为 轻量级进程,线程是可…

剧本杀闯关小程序app软件

剧本杀闯关小程序软件是一种结合了角色扮演和解谜游戏元素的互动娱乐产品,目前在市场上越来越受欢迎。以下是剧本杀闯关小程序软件市场行业情况的一些特点: 市场需求增长:随着人们对于线上互动娱乐的需求增加,剧本杀闯关小程序…

maven install的时候报Unable to find main class

目录 问题描述解决办法解决方案一:添加一个主函数解决方案二:将不是web工程的设置跳过解决方案三:打包插件的作用本质上就是将当前项目所依赖的jar打包到一块,这样jar包就可以运行了,我们完全可以把parent的pom.xml的b…

智慧农业物联网平台建设方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 智慧农业物联网系统组网图 2.2.1 智能温室组网说明 该组网图演示的为小面积示范区,每个连栋温室为 1个灌溉区域,1个子系统,该子系统完成…

学习Typescript(第一弹)

Typescript的基础类型 Boolean类型 let bool: boolean true;Number类型 let num: number 222;String类型 let str: string 码上coding;数组Array类型 对数组类型的定义有两种方式: let arr1: number[] [1,2,3]; let arr2: Array<number | string> [1,2,码上co…

Android APK 反编译后重新打包并签名

APKTool&#xff1a; Apktool 是一个逆向android非常有用的工具&#xff0c;可以用来反编译apk文件&#xff0c;并且能在修改部分资源文件后&#xff0c;重新打包成一个新的apk。 下载连接&#xff1a;http://ibotpeaches.github.io/Apktool/install/ 下载之后文件夹非常清爽&…

电力节能设备远程监控系统解决方案

电力节能设备远程监控系统解决方案 一、项目背景 随着城市化进程的发展&#xff0c;对电力设备安全、可靠、经济运行的要求越来越高&#xff0c;由于没有统一专业的用电现代化管理规划&#xff0c;电力设备管理混乱、数据采集不方便、运行智能化程度低&#xff0c;需要实时掌…

复合查询--- MySQL总结(三)

复合查询 文章目录 复合查询多表查询自连接子查询单行查询多行查询多列子查询合并查询 多表查询 前面讲述的关于进行一个表的简单查询和关于时间函数的相关问题&#xff0c;下面要进行复合查询的相关内容。 这里要使用卡笛尔集的概率让两个表融合成为一个表。 需要使用相应的字…

vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题

今天在开发中 需要修改时间选择器弹出的这个组件的样式 但这个东西比较坑爹 首先 不能影响其他组件 就是其他组件用了时间选择器 不能受到我们写的样式的影响 那么 就只好穿透了 但你会发现 这东西是作用与body下的 就很坑 穿透我试了挺久的 不起作用 但官方文档有提供给我们一…

centos7 配置 sftp 服务器并通过 java 上传文件

虚拟机配置 1、创建sftp用户组 groupadd sftp2、添加用户 useradd -g sftp mysftp3、设置用户密码 passwd mysftp4、创建文件根目录 mkdir /app/data5、将该目录设置到用户上 usermod -d /app/data mysftp6、修改配置文件 vim /etc/ssh/sshd_config7、找到 Subsystem &am…

算法记录 | Day50 动态规划

123.买卖股票的最佳时机III 思路&#xff1a; 1.确定dp数组以及下标的含义 最多可完成两笔交易意味着总共有三种情况&#xff1a;买卖一次&#xff0c;买卖两次&#xff0c;不买卖。 具体到每一天结束总共有 5 种状态&#xff1a; 未进行买卖状态&#xff1b;第一次买入状…

手动封装一个日期处理工具类,几乎覆盖了所有的时间操作(收藏)

工具类包含以下方法&#xff1a; - stringToDate: 将字符串转换为java.util.Date类型- dateToString: 将java.util.Date类型转换为字符串- stringToLocalDateTime: 将字符串转换为LocalDateTime类型- localDateTimeToString: 将LocalDateTime类型转换为字符串- dateToLocalDat…

01-Java 核心基础

Java核心基础 Java 开发基础知识Java 语言概述安装 Java 开发环境 开发体验Hello World 程序Java 注释 Java 开发基础知识 Java 语言概述 Java 是 SUN&#xff08;斯坦福大学网络公司&#xff09;1995 年推出的一门高级编程语言&#xff0c;它是一种面向 Internet 的编程语言&…

医院检验信息管理系统源码(云LIS系统源码)JQuery、EasyUI

云LIS系统是一种医疗实验室信息管理系统&#xff0c;提供全面的实验室信息管理解决方案。它的主要功能包括样本管理、检测流程管理、报告管理、质量控制、数据分析和仪器管理等。 云LIS源码技术说明&#xff1a; 技术架构&#xff1a;Asp.NET CORE 3.1 MVC SQLserver Redis等…