Elasticsearch:什么是自然语言处理(NLP)?

news2024/11/17 7:33:30

自然语言处理定义

自然语言处理 (natural language processing - NLP) 是人工智能 (AI) 的一种形式,专注于计算机和人们使用人类语言进行交互的方式。 NLP 技术帮助计算机使用我们的自然交流模式(语音和书面文本)来分析、理解和响应我们。

自然语言处理是计算语言学的一个子专业。 计算语言学是一个跨学科领域,结合了计算机科学、语言学和人工智能来研究人类语言的计算方面。

自然语言处理 (NLP) 的历史

自然语言处理的历史可以追溯到 20 世纪 50 年代,当时计算机科学家首次开始探索教会机器理解和产生人类语言的方法。 1950 年,数学家艾伦·图灵提出了他著名的图灵测试,将人类语音与机器生成的语音进行对比,看看哪个听起来更逼真。 这也是研究人员开始探索使用计算机翻译语言的可能性的时候。

在其研究的第一个十年中,NLP 依赖于基于规则的处理。 到 20 世纪 60 年代,科学家们开发出了利用语义分析、词性标记和句法分析来分析人类语言的新方法。 他们还开发了第一个语料库,这是大型机器可读文档,带有用于训练 NLP 算法的语言信息注释。

20 世纪 70 年代,科学家开始使用统计 NLP,它使用统计模型分析和生成自然语言文本,作为基于规则的方法的替代方案。

20 世纪 80 年代,人们开始关注开发更高效的算法来训练模型并提高其准确性。 这导致了 NLP 领域机器学习算法的兴起。 机器学习是使用大量数据来识别模式的过程,这些模式通常用于进行预测。

深度学习、神经网络和 Transformer 模型从根本上改变了 NLP 研究。 深度神经网络的出现结合 Transformer 模型和 “注意力机制 (attention mechanism)” 的发明,创造了 BERT 和 ChatGPT 等技术。 例如,注意力机制不仅仅是寻找与你的查询相似的关键字。 它根据每个连接术语的相关性来衡量其权重。 这是目前使用的一些最令人兴奋的 NLP 技术背后的技术。

自然语言处理是如何工作的?

自然语言处理以几种不同的方式工作。 基于人工智能的 NLP 涉及使用机器学习算法和技术来处理、理解和生成人类语言。 基于规则的 NLP 涉及创建一组可用于分析和生成语言数据的规则或模式。 统计 NLP 涉及使用从大型数据集导出的统计模型来分析和预测语言。 混合 NLP 结合了这三种方法。

基于人工智能的 NLP 方法如今最为流行。 与任何其他数据驱动的学习方法一样,开发 NLP 模型需要对文本数据进行预处理并仔细选择学习算法。

步骤一:数据预处理

这是清理和准备文本的过程,以便 NLP 算法可以对其进行分析。 一些常见的数据预处理技术包括文本挖掘(它获取大量文本并将其分解为数据)或标记化(将文本分割成单独的单元)。 这些单位可以是标点符号、单词或短语。 停用词删除是一种工具,可以消除对分析没有多大帮助的常见单词和言论文章。 词干提取和词形还原将单词分解为基本的词根形式,从而更容易识别其含义。 词性标记可识别句子中的名词、动词、形容词和其他词性。 句法分析分析句子的结构以及不同单词之间的关系。

步骤二:算法开发

这就是将NLP算法应用于预处理后的数据的过程。 它从文本中提取有用的信息。 以下是一些最常见的自然语言处理任务:

  • 情感分析 (sentiment analysis) 确定一段文本的情感基调或情绪。 情感分析将单词、短语和表达标记为积极、消极或中性。
  • 命名实体识别 (named entity recognition) 可识别命名实体并对其进行分类,例如人员、位置、日期和组织。
  • 主题建模 (topic modeling) 将相似的单词和短语分组在一起,以识别文档或文本集合中的主要主题或主题。
  • 机器翻译 (machine translation) 使用机器学习自动将文本从一种语言翻译成另一种语言。 语言建模预测特定上下文中单词序列的可能性。
  • 语言建模 (language modeling) 用于自动完成、自动更正应用程序和语音转文本系统。

NLP 的两个值得注意的分支是自然语言理解(natural language understanding - NLU)和自然语言生成(natural language generation - NLG)。 NLU 致力于使计算机能够使用与人类使用的类似工具来理解人类语言。 它的目标是使计算机能够理解人类语言的细微差别,包括上下文、意图、情感和歧义。 NLG 专注于从数据库或一组规则创建类人语言。 NLG 的目标是生成人类易于理解的文本。

自然语言处理的好处

自然语言处理的一些好处包括:

  • 沟通的提升:NLP 允许与搜索应用程序进行更自然的沟通。 NLP可以适应不同的风格和情绪,创造更便捷的客户体验。
  • 效率:NLP 可以自动执行许多通常需要人们完成的任务。 一些示例包括文本摘要、社交媒体和电子邮件监控、垃圾邮件检测和语言翻译。
  • 内容管理:NLP 可以根据个人用户的偏好识别最相关的信息。 了解上下文和关键词可以提高客户满意度。 使数据更易于搜索可以提高搜索工具的效率。

自然语言处理面临哪些挑战?

NLP仍然面临着许多挑战。 人类的言语是不规则的,并且常常含糊不清,根据上下文具有多种含义。 然而,程序员必须从一开始就向应用程序传授这些复杂的知识。

同音异义词和语法可能会混淆数据集。 即使是最好的情感分析也不能总能识别讽刺和反讽。 人类需要数年时间才能了解这些细微差别,即使如此,也很难读懂短信或电子邮件的语气。

文本以多种语言发布,而 NLP 模型则针对特定语言进行训练。 在输入 NLP 之前,你必须应用语言识别来按语言对数据进行排序。

不具体和过于笼统的数据会限制 NLP 准确理解和传达文本含义的能力。 对于特定领域,需要比大多数 NLP 系统更多的数据才能做出实质性主张。 特别是对于依赖最新、高度具体信息的行业。 新的研究,例如 ELSER(Elastic Learned Sparse EncodeR),正在努力解决这个问题,以产生更相关的结果。

处理人们的个人数据也会引起一些隐私问题。 在医疗保健等行业,NLP 可以从患者档案中提取信息来填写表格并识别健康问题。 这些类型的隐私问题、数据安全问题和潜在的偏见使得 NLP 难以在敏感领域实施。

自然语言处理的商业应用有哪些?

NLP 具有广泛的商业应用:

  • 聊天机器人和虚拟助理:用户可以与你的系统进行对话。 这些是常见的客户服务工具。 他们还可以指导用户完成复杂的工作流程或帮助他们浏览网站或解决方案。
  • 语义搜索:通常在电子商务中用于生成产品推荐。 它通过分析搜索引擎并使用基于知识的搜索来解码关键字的上下文。 它解释用户意图以提供更相关的建议。
  • NER:识别文本中的信息以填写表格或使其更易于搜索。 教育机构可以用它来分析学生的写作并自动评分。 此外,文本转语音和语音转文本功能使残障人士更容易获取信息并更轻松地进行沟通。
  • 文本摘要:各行业的研究人员可以快速将大型文档总结为简洁、易理解的文本。 金融业利用这一点来分析新闻和社交媒体,以帮助预测市场趋势。 政府和法律行业用它从文件中提取关键信息。

NLP的未来是什么?

ChatGPT 和生成式人工智能带来了变革的希望。 随着 ChatGPT 等技术进入市场,NLP 的新应用可能即将出现。 我们可能会看到与语音识别、计算机视觉和机器人技术等其他技术的集成,这将产生更先进和复杂的系统。

NLP 也将变得更加个性化,使机器能够更好地理解个人用户并调整他们的响应和建议。 能够理解和生成多种语言的 NLP 系统是国际业务的主要增长领域。 最重要的是,NLP 系统在生成听起来自然的语言方面不断变得更好:它们听起来越来越人性化。

开始使用 Elastic 进行 NLP

Elastic Stack 8.0 的发布引入了将 PyTorch 模型上传到 Elasticsearch 的功能,以在 Elastic Stack 中提供现代 NLP,包括命名实体识别和情感分析等功能。

Elastic Stack 目前支持符合标准 BERT 模型接口并使用 WordPiece 标记化算法的 Transformer 模型。

以下是目前与 Elastic 兼容的架构:

  • BERT
  • BART
  • DPR bi-encoders
  • DistilBERT
  • ELECTRA
  • MobileBERT
  • RoBERTa
  • RetriBERT
  • MPNet
  • 具有上述转换器架构的 SentenceTransformers 双编码器

Elastic 可让你利用 NLP 提取信息、对文本进行分类并为你的业务提供更好的搜索相关性。 开始使用 Elastic 进行 NLP。

NLP 资源

  • 更深入地研究自然语言处理 (NLP)
  • 如何部署 NLP:文本嵌入和向量搜索
  • NLP 模型和向量搜索简介

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

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

相关文章

京东数据运营-京东数据开放平台-鲸参谋10月粮油调味市场品牌店铺销售数据分析

鲸参谋监测的京东平台10月份料油调味市场销售数据已出炉! 根据鲸参谋数据显示,今年10月份,京东平台粮油调味市场的销量将近4600万,环比增长约10%,同比降低约20%;销售额将近19亿,环比增长约4%&am…

数据结构—二叉树

文章目录 10.二叉树(1).二叉树的基本概念(2).遍历#1.前序遍历#2.中序遍历#3.后序遍历#4.非递归中序遍历 (3).中序前/后序建树#1.中序前序遍历建树#2.中序后序遍历建树 (4).递归和二叉树基本操作#1.求树高#2.求结点数#3.求叶子结点数#4.复制树#5.判断两棵树是否相等 (5).特殊二叉…

Elasticsearch 优化查询中获取字段内容的方式,性能提升5倍!

1、背景 集群配置为:8 个 node 节点,16 核 32G,索引 4 分片 1 副本。应用程序的查询逻辑是按经纬度排序后找前 200 条文档。 1、应用对查询要求比较高,search 没有慢查询的状态。 2、集群压测性能不能上去,cpu 使用未打…

VSC++=》 友数对友质数()

void 友数对友质数() {//缘由https://bbs.csdn.net/topics/396498706?page1#post-411382586int aa 2, aaa 20; while (aa * aaa < 119)if (判断质数(aa * aaa - 1))cout << aa << ends << aaa << ends << (aa*aaa - 1) << endl, aaa…

JavaFramework JDK Version Test

测试JDK8 JDK17编译包 当前环境JDK8 CASE 1&#xff1a; /*** * author ZengWenFeng* email 117791303QQ.com* mobile 13805029595* date 2023-08-07*/ package zwf;import a.T; import ce.pub.util.GUID;/*** 测试高版本JDK编译JAR&#xff0c;低版本错误** author ZengWenF…

C++作业2

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() 代码&#xff1a…

FastAPI中如何调用同步函数

目录 一、使用app.sync装饰器 二、使用asyncio.run()函数 三、使用background参数 四、注意事项 总结 FastAPI是一个基于Python 3.6的快速Web框架&#xff0c;用于构建高效、可扩展的Web应用程序。在FastAPI中&#xff0c;可以使用同步函数来处理请求并返回响应。本文将介…

Unity 与 虚拟机ROS连接

Unity 与 虚拟机ROS连接 知识储备前期准备ROS部分Unity部分 连接测试 知识储备 unity官方教程&#xff1a; https://github.com/Unity-Technologies/Unity-Robotics-HubWin11家庭版开启HyperV&#xff1a; https://zhuanlan.zhihu.com/p/577980646HyperV安装Ubuntu: https://b…

设计模式---第三篇

系列文章目录 文章目录 系列文章目录前言一、模板方法模式二、知道享元模式吗?三、享元模式和单例模式的区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一…

2023年第十二届数学建模国际赛小美赛D题望远镜的微光系数求解分析

2023年第十二届数学建模国际赛小美赛 D题 望远镜的微光系数 原题再现&#xff1a; 当我们使用普通光学望远镜在昏暗的光线下观察远处的目标时&#xff0c;入射孔径越大&#xff0c;进入双筒望远镜的光线就越多。望远镜的放大倍数越大&#xff0c;视野越窄&#xff0c;图像显示…

前端大文件上传webuploader(react + umi)

使用WebUploader还可以批量上传文件、支持缩略图等等众多参数选项可设置&#xff0c;以及多个事件方法可调用&#xff0c;你可以随心所欲的定制你要的上传组件。 分片上传 1.什么是分片上传 分片上传&#xff0c;就是将所要上传的文件&#xff0c;按照一定的大小&#xff0c;将…

stm32项目中重定向printf打印不出来东西?三种解决方案

项目场景&#xff1a; 在stm32项目中为了调试将某些参数打出来&#xff0c;重定向printf 问题描述 printf打印不出东西 缓冲区满了才打印出来 原因分析&#xff1a; 使用printf函数必须等到缓冲区满或程序结束时&#xff0c;才进行写入到屏幕 解决方案&#xff1a; 解决方…

react实现加载动画

1.Spinning.tsx import "./Spinning.scss";interface Props {isLoading: boolean;children?: React.ReactNode; }const Spinning: React.FC<Props> ({isLoading true,children }) > {return <div className{spinning-wrapper${isLoading ? " l…

MySQL:找回root密码

一、情景描述 我们在日常学习中&#xff0c;经常会忘记自己的虚拟机中MySQL的root密码。 这个时候&#xff0c;我们要想办法重置root密码&#xff0c;从而&#xff0c;解决root登陆问题。 二、解决办法 1、修改my.cnf配置文件并重启MySQL 通过修改配置文件&#xff0c;来跳…

海外IP罗拉rola正版去哪里找?

免费海外IP代理能用吗&#xff1f;和收费的有哪些差异&#xff1f; 如今在这个大数据时代&#xff0c;无论你从事哪个行业&#xff0c;都离不开数据&#xff0c;尤其是做跨境电商的&#xff0c;更一步都离不开海外IP代理&#xff0c;无论是网站引擎优化还是营销推广、数据抓取…

基于SpringBoot实现SSMP整合

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

Android File Transfer for Mac:畅享强大的安卓文件传输工具

作为一款功能强大的安卓文件传输工具&#xff0c;Android File Transfer for Mac&#xff08;以下简称AFT&#xff09;为Mac用户提供了便捷快速的安卓设备文件管理体验。无论是传输照片、音乐、视频还是文档&#xff0c;AFT都能满足你的需求&#xff0c;让你的文件传输更加高效…

Windows11系统下内存占用率过高如何下降

. # &#x1f4d1;前言 本文主要是win11系统下CPU占用率过高如何下降的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日…

FH Admin Shiro反序列化漏洞复现

0x01 产品简介 FH Admin 是一款 java 快速开发平台。 0x02 漏洞概述 FH Admin CMS 存在 shiro 反序列化漏洞&#xff0c;该漏洞源于软件存在硬编码的 shiro-key&#xff0c;攻击者可利用该 key 生成恶意的序列化数据&#xff0c;在服务器上执行任意代码&#xff0c;执行系统命…

从零开发短视频电商 在AWS上用SageMaker部署开源模型并用Java SDK调用

文章目录 1.创建AWS账户2.登录AWS3.创建域4.部署模型方式一 使用JumpStart可视化界面部署内置的模型方式二 采用python脚本部署私有模型5.调用模型AWS Java SDK调用Http调用6.监控7.自动扩缩容1.创建AWS账户 需要准备好邮箱一个,支持visa功能的信用卡一个。然后到aws上自己去…