当前位置: 首页 > news >正文

深度神经网络——什么是NLP(自然语言处理)?

自然语言处理(NLP) 是对使计算机能够处理、分析、解释和推理人类语言的技术和工具的研究和应用。 NLP 是一个跨学科领域,它结合了语言学和计算机科学等领域已建立的技术。 这些技术与人工智能结合使用来创建聊天机器人和数字助理,例如 Google Assistant 和亚马逊的 Alexa。

让我们花一些时间来探讨自然语言处理背后的基本原理、NLP 中使用的一些技术以及 NLP 的一些常见用例。

为什么自然语言处理 (NLP) 很重要

为了让计算机解释人类语言,必须将它们转换成计算机可以操作的形式。 然而,这并不像将文本数据转换为数字那么简单。 为了从人类语言中获取含义,必须从构成文本文档的数百或数千个单词中提取模式。 这不是一件容易的事。 几乎没有什么硬性规则可以应用于人类语言的解释。 例如,根据上下文的不同,完全相同的一组单词可能意味着不同的事物。 人类语言是一种复杂且常常含糊不清的东西,一个陈述可以是真诚的,也可以是讽刺的。

尽管如此,在解释单词和字符时可以使用一些通用准则,例如字符“s”用于表示某个项目是复数。这些一般准则必须相互配合使用,才能从文本中提取含义,创建机器学习算法可以解释的特征。

自然语言处理涉及能够获取非结构化数据并将其转换为结构化数据的各种算法的应用。如果这些算法以错误的方式应用,计算机通常无法从文本中得出正确的含义。这通常可以在不同语言之间的文本翻译中看到,其中句子的精确含义经常会丢失。尽管机器翻译在过去几年里有了很大的进步,但机器翻译错误仍然频繁发生。

自然语言处理 (NLP) 技术

照片: Tamur 来自 WikiMedia Commons,公共领域 (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

许多 技术 自然语言处理中使用的术语可以分为两类之一:语法或语义。 语法技术是处理单词顺序的技术,而语义技术是涉及单词含义的技术。

语法 NLP 技术

语法示例包括:

  • 合法化
  • 形态分割
  • 词性标注
  • 解析
  • 断句
  • 词干
  • 分词

词形还原是指将单词的不同变形提炼为单一形式。 词形还原将时态和复数等事物简化,例如,“feet”可能变成“foot”,“stripes”可能变成“stripe”。 这种简化的单词形式使算法更容易解释文档中的单词。

形态分割是将单词划分为词素或单词的基本单位的过程。 这些单位都是免费的 语素 (可以单独作为单词)和前缀或后缀。

词性标注 只是识别输入文档中每个单词属于哪个词性的过程。

解析 是指分析句子中的所有单词,并将它们与其正式语法标签相关联或对所有单词进行语法分析。

断句,或 句子边界分割, 指决定句子的开始和结束位置。

词干 是将单词简化为单词的根形式的过程。 例如,connected、connection、connections 都会被词干为“connect”。

分词 是将大块文本分成小单元的过程,这些小单元可以是单词或词干/词形还原单元。

语义 NLP 技术

语义 NLP 技术包括以下技术:

  • 命名实体识别
  • 自然语言生成
  • 词义消歧

命名实体识别 涉及标记某些可以放入多个不同预设组之一的文本部分。 预定义的类别包括日期、城市、地点、公司和个人等。

自然语言生成 是使用数据库将结构化数据转换为自然语言的过程。 例如,有关天气的统计数据,如温度和风速,可以用自然语言进行概括。

词义消歧是根据单词出现的上下文为文本中的单词赋予含义的过程。

NLP 深度学习模型

常规多层感知器无法处理顺序数据的解释,其中信息的顺序很重要。 为了处理顺序数据中顺序的重要性,使用了一种神经网络来保留训练中先前时间步的信息。

递归神经网络 神经网络的类型 循环之前时间步的数据,在计算当前时间步长的权重时将它们考虑在内。本质上,RNN 具有在前向训练过程中使用的三个参数:基于先前隐藏状态的矩阵、基于当前输入的矩阵以及隐藏状态和输出之间的矩阵。由于 RNN 可以考虑之前时间步的信息,因此在解释单词的含义时,它们可以通过考虑句子中较早的单词来从文本数据中提取相关模式。

另一种用于处理文本数据的深度学习架构是 长短期记忆 (LSTM) 网络。 LSTM 网络在结构上与 RNN 相似,但由于其架构上的一些差异,它们往往比 RNN 表现得更好。 它们避免了使用 RNN 时经常出现的一个特定问题,称为 梯度爆炸问题。

这些深度神经网络可以是单向的,也可以是双向的。 双向网络不仅能够考虑当前单词之前的单词,还能够考虑当前单词之后的单词。 虽然这会带来更高的精度,但计算成本更高。

自然语言处理 (NLP) 用例

由于自然语言处理涉及人类语言的分析和操作,因此它具有极其广泛的应用范围。 NLP 的可能应用包括聊天机器人、数字助理、情绪分析、文档组织、人才招聘和医疗保健。

聊天机器人和数字助理(例如亚马逊的 Alexa 和 Google Assistant)是语音识别和合成平台的示例,它们使用 NLP 来解释和响应声音命令。 这些数字助理可以帮助人们完成各种任务,让他们将一些认知任务转移到另一台设备上,并释放一些脑力来处理其他更重要的事情。 我们可以让我们的数字助理来做这件事,而不是在忙碌的早晨查找去银行的最佳路线。

情绪分析 是使用 NLP 技术来研究人们对某种现象的反应和感受,并通过他们使用语言来传达。 捕捉声明的情绪,例如解释产品评论是好是坏,可以为公司提供有关其产品如何被接受的大量信息。

自动组织文本文档是 NLP 的另一个应用。 谷歌和雅虎等公司使用 NLP 算法对电子邮件文档进行分类,将它们放入适当的分类中,例如“社交”或“促销”。 他们还使用这些技术 识别垃圾邮件 并阻止它到达您的收件箱。

一些团体还开发了 NLP 技术,用于识别潜在的职位招聘,并根据相关技能找到他们。 招聘经理还使用 NLP 技术来帮助他们对申请人列表进行排序。

NLP 技术也被用于增强医疗保健。 NLP 可用于改善疾病的检测。 可以通过 NLP 算法分析健康记录并提取症状,然后用于建议可能的诊断。 亚马逊的 Comprehend Medical 平台就是一个例子,该平台可以分析健康记录并提取疾病和治疗方法。 NLP 的医疗保健应用还扩展到心理健康。 有应用程序 比如沃博t,它向用户介绍了基于认知行为疗法的各种焦虑管理技术。

相关文章:

深度神经网络——什么是NLP(自然语言处理)?

自然语言处理(NLP) 是对使计算机能够处理、分析、解释和推理人类语言的技术和工具的研究和应用。 NLP 是一个跨学科领域,它结合了语言学和计算机科学等领域已建立的技术。 这些技术与人工智能结合使用来创建聊天机器人和数字助理,…...

05-5.5.1 哈夫曼树

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…...

夯实网络底座:智能云解析助推新基建发展再上新台阶

在数字化浪潮汹涌澎湃的今天,互联网已成为社会运转不可或缺的基础设施。而在这背后,DNS(域名系统)作为互联网的底座,其重要性不言而喻。随着云计算、大数据、人工智能、IPv6等新基建的迅猛发展,传统的DNS服…...

时间戳转时间格式小记——个位数月份 如何去掉补位0的情况

工作中遇到的问题小记一下 时间戳:1710172800 时间格式:2024-03-12 00:00:00 在无要求的情况下这种情况很OK 当我们需要时间格式为:2024-3-12 00:00:00 那常规情况就不适用 解决: import time sjc 1710172800 # Windows 环境…...

C++ 矩阵乘法

描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述: 第一行包含一个正整数x,代表第一个矩阵的…...

热门开源项目推荐

文章目录 1. OpenAIs GPT-42. TensorFlow 3.03. Kubernetes 1.304. React 195. PyTorch 2.06. Deno 2.07. Home Assistant总结 开源社区的不断壮大,越来越多的开发者和企业开始重视和参与开源项目。开源不仅促进了技术的快速迭代和创新,还为广大开发者提…...

Study--Oracle-03-数据库常规操作

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、oracle 版本及主要功能 二、数据安装完成后常用操作SQL 1、检查数据库监听状态 监听的常用命令 启动:[oracleoracle u01]$ lsnrctl stop 停止&am…...

OpenCloudOS 8.8 一键安装 Oracle 19C 单机

前言 Oracle 一键安装脚本,演示 OpenCloudOS 8.8 一键安装 Oracle 19C 单机(231017)过程(全程无需人工干预)。 ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 安装准备 1、安装好操作系统,建议…...

【Android】【Java】【每日练手3】Android的四个主要组件使用示例

Android的四个主要组件是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。下面通过一个简单的示例来介绍这四个组件及其用法。 示…...

代码随想三刷二叉树篇2

代码随想三刷二叉树篇2 101. 对称二叉树题目代码 104. 二叉树的最大深度题目代码 111. 二叉树的最小深度题目代码 222. 完全二叉树的节点个数题目代码 110. 平衡二叉树题目代码 257. 二叉树的所有路径题目代码 101. 对称二叉树 题目 链接 代码 /*** Definition for a binar…...

QT pro包含库文件目录符号含义

直接调用DLL需要三个文件,头文件(.h)、导入库文件(.lib)、动态链接库(.dll), 注意:在qtCreaor中生成的动态库库文件文件为.a结尾,vs生成的动态链接库是.lib结尾 1、首先我们把 .h与.lib/.a 文件复制到程序当前目录下&#xff0c…...

uniapp怎么进行页面的跳转

在 UniApp 中&#xff0c;页面的跳转主要通过 navigator 组件或者 API 调用实现。以下是几种常见的页面跳转方法&#xff1a; 使用 <navigator> 组件 <navigator> 组件是页面链接的组件&#xff0c;类似于 HTML 中的 <a> 标签。你可以通过 url 属性指定要跳…...

数据库管理-第205期 换个角度看23ai(20240617)

数据库管理205期 2024-06-17 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09;1 规范应用开发2 融合总结 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE Pro…...

深入解析PHP函数

PHP函数是一种重要的编程概念&#xff0c;它可以帮助开发者组织和管理代码&#xff0c;提高代码的可重用性和可维护性。在PHP中&#xff0c;函数可以完成各种任务&#xff0c;从简单的数学计算到复杂的数据库查询和数据处理。本文将从多个角度探讨PHP函数的应用&#xff0c;涵盖…...

elasticsearch结构化搜索

Elasticsearch的结构化搜索&#xff08;Structured Search&#xff09;是指对具有明确格式和结构的数据进行搜索的过程。这类数据包括日期、时间、数字、布尔值等&#xff0c;它们都有精确的格式&#xff0c;可以进行逻辑操作&#xff0c;比如比较数值范围或判断值的大小。结构…...

街道网格宣传稿件投稿我知道了好方法

作为街道信息宣传员,我的日常是将街道的每一项重要活动、每一份温暖故事编织成文字,传递给公众。这份工作既充满挑战又极具意义,但在最初,我却在这份看似简单的任务上屡屡受阻。那时,我的投稿方式单一且传统——依赖电子邮件,将稿件发送至各大媒体的投稿箱。我本以为,只要内容足…...

电脑有线无线一起用怎么设置

要在电脑上同时使用有线和无线网络&#xff0c;可以通过以下几种方法进行设置&#xff1a; 调整网络高级设置&#xff1a; 进入“网络和共享中心”。点击“更改适配器设置”。按键盘Alt键调出菜单栏&#xff0c;然后点击“高级→高级设置”。在“适配器和绑定”标签页下可以对可…...

通过LotusScript中的NotesDateTime类来进行时间计算

大家好&#xff0c;才是真的好。 今天我们介绍的是时间日期处理&#xff0c;其实以前也讲过&#xff0c;主要是通过LotusScript中的NotesDateTime类来进行时间计算。 但是这里也存在一个问题&#xff1a;就是时间日期类的比较只能计算出秒&#xff0c;不能计算出毫秒。 毕竟…...

【前端面经】数组算法题解

目录 题目一&#xff1a;两数之和题目二&#xff1a;最长无重复字符子串题目三&#xff1a;合并两个有序数组题目四&#xff1a;寻找数组中的峰值 题目一&#xff1a;两数之和 描述&#xff1a;给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目…...

java架构设计-COLA

参考&#xff1a;https://github.com/alibaba/COLA 架构 要素&#xff1a;组成架构的重要元素 结构&#xff1a;要素直接的关系 意义&#xff1a;定义良好的结构&#xff0c;治理应用复杂度&#xff0c;降低系统熵值&#xff0c;改善混乱状态 创建COLA应用&#xff1a; mvn …...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...