深度学习6:自然语言处理-Natural language processing | NLP

目录

NLP 为什么重要?

什么是自然语言处理 – NLP

NLP 的2大核心任务

自然语言理解 – NLU|NLI

自然语言生成 – NLG

NLP(自然语言处理) 的5个难点

NLP 的4个典型应用

NLP 的 2 种途径、3 个核心步骤

总结

自然语言处理


NLP 为什么重要?

“语言理解是人工智能领域皇冠上的明珠”

比尔·盖茨

在人工智能出现之前,机器智能处理结构化的数据(例如 Excel 里的数据)。但是网络中大部分的数据都是非结构化的,例如:文章、图片、音频、视频…

 

在非结构数据中,文本的数量是最多的,他虽然没有图片和视频占用的空间大,但是他的信息量是最大的。

为了能够分析和利用这些文本信息,我们就需要利用 NLP 技术,让机器理解这些文本信息,并加以利用。

什么是自然语言处理 – NLP

每种动物都有自己的语言,机器也是!

自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。

人类通过语言来交流,狗通过汪汪叫来交流。机器也有自己的交流方式,那就是数字信息。

 

不同的语言之间是无法沟通的,比如说人类就无法听懂狗叫,甚至不同语言的人类之间都无法直接交流,需要翻译才能交流。

而计算机更是如此,为了让计算机之间互相交流,人们让所有计算机都遵守一些规则,计算机的这些规则就是计算机之间的语言。

既然不同人类语言之间可以有翻译,那么人类和机器之间是否可以通过“翻译”的方式来直接交流呢?

NLP 就是人类和机器之间沟通的桥梁!

 

为什么是“自然语言”处理?

自然语言就是大家平时在生活中常用的表达方式,大家平时说的「讲人话」就是这个意思。

自然语言:我背有点驼(非自然语言:我的背部呈弯曲状)

自然语言:宝宝的经纪人睡了宝宝的宝宝(微博上这种段子一大把)

NLP 的2大核心任务

 

NLP 有2个核心的任务:

  1. 自然语言理解 - NLU| NLI
  2. 自然语言生成 - NLG

自然语言理解 – NLU|NLI

自然语言理解就是希望机器像人一样,具备正常人的语言理解能力

自然语言理解的5个难点:

  1. 语言的多样性
  2. 语言的歧义性
  3. 语言的鲁棒性
  4. 语言的知识依赖
  5. 语言的上下文

自然语言生成 – NLG

NLG 的6个步骤:

  1. 内容确定 – Content Determination
  2. 文本结构 – Text Structuring
  3. 句子聚合 – Sentence Aggregation
  4. 语法化 – Lexicalisation
  5. 参考表达式生成 – Referring Expression Generation|REG
  6. 语言实现 – Linguistic Realisation

NLP(自然语言处理) 的5个难点

 

  1. 语言是没有规律的,或者说规律是错综复杂的。
  2. 语言是可以自由组合的,可以组合复杂的语言表达。
  3. 语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。
  4. 语言需要联系到实践知识,有一定的知识依赖。
  5. 语言的使用要基于环境和上下文。

NLP 的4个典型应用

NLP的4种典型应用

情感分析

互联网上有大量的文本信息,这些信息想要表达的内容是五花八门的,但是他们抒发的情感是一致的:正面/积极的 – 负面/消极的。

通过情感分析,可以快速了解用户的舆情情况。

聊天机器人

过去只有 Siri、小冰这些机器人,大家使用的动力并不强,只是当做一个娱乐的方式。但是最近几年智能音箱的快速发展让大家感受到了聊天机器人的价值。

而且未来随着智能家居,智能汽车的发展,聊天机器人会有更大的使用价值。

语音识别

语音识别已经成为了全民级的引用,微信里可以语音转文字,汽车中使用导航可以直接说目的地,老年人使用输入法也可以直接语音而不用学习拼音…

机器翻译

目前的机器翻译准确率已经很高了,大家使用 Google 翻译完全可以看懂文章的大意。传统的人肉翻译未来很可能会失业。

NLP 的 2 种途径、3 个核心步骤

NLP 可以使用传统的机器学习方法来处理,也可以使用深度学习的方法来处理。2 种不同的途径也对应着不同的处理步骤。详情如下:

方式 1:传统机器学习的 NLP 流程

  1. 语料预处理
    1. 中文语料预处理 4 个步骤(下文详解)
    2. 英文语料预处理的 6 个步骤(下文详解)
  2. 特征工程
    1. 特征提取
    2. 特征选择
  3. 选择分类器

方式 2:深度学习的 NLP 流程

深度学习的 NLP 流程

  1. 语料预处理
    1. 中文语料预处理 4 个步骤(下文详解)
    2. 英文语料预处理的 6 个步骤(下文详解)
  2. 设计模型
  3. 模型训练

英文 NLP 语料预处理的 6 个步骤

中文 NLP 语料预处理的 4 个步骤

总结

自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。

NLP的2个核心任务:

  1. 自然语言理解 – NLU
  2. 自然语言生成 – NLG

NLP 的5个难点:

  1. 语言是没有规律的,或者说规律是错综复杂的。
  2. 语言是可以自由组合的,可以组合复杂的语言表达。
  3. 语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。
  4. 语言需要联系到实践知识,有一定的知识依赖。
  5. 语言的使用要基于环境和上下文。

NLP 的4个典型应用:

  1. 情感分析
  2. 聊天机器人
  3. 语音识别
  4. 机器翻译

NLP 的6个实现步骤:

  1. 分词
  2. 次干提取-stemming
  3. 词形还原-lemmatization
  4. 词性标注-pos tags
  5. 命名实体识别
  6. 分块-chunking

自然语言处理

是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。

自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32之USART(总结)

串行通信 UART串口内部结构示意图 普中科技的详细介绍 中断知识补充 代码 #ifndef __USART_H #define __USART_H #include "stdio.h" #include "stm32f10x_usart.h" #define USART1_REC_LEN 200 //定义最大接收字节数 200extern u8 USART1_RX_BUF[US…

Moonbeam生态跨链互操作项目汇总

立秋已过,今年的夏天已经接近尾声,即将迎来凉爽的秋天。Moonbeam生态一同以往持续成长,在8月也举办了不少活动、完成集成合作以及协议更新。让我们一同快速了解Moonbeam生态项目近期发生的大小事件吧! Moonwell Moonwell是一个建…

UE4如何连接dmx---摇头矩阵灯具的创建

UE4如何连接dmx---摇头矩阵灯具的创建 开始创建库! 然后我们开始创建多少个灯珠(注意了:这是矩阵灯,是看灯珠的) 那么这里我们创建6X6灯珠 下面设置灯珠的属性,灯珠有什么属性呢,只有颜色属性&…

解除用户账户控制提醒

解决用户账户控制提醒 1. 前言2. 解决用户账户控制提醒2.1 控制面板2.2 注册表2.3 UAC服务 结束语 1. 前言 当我们使用电脑时,有时进行安装应用或者打开应用时,总会弹出一个提示框,要选择点击是否允许程序运行; 系统经常弹出用户…

软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

Cocos独立游戏开发框架中的事件管理器

引言 本系列是《8年主程手把手打造Cocos独立游戏开发框架》,欢迎大家关注分享收藏订阅。在独立游戏开发中,事件管理器是一个不可或缺的组件。它为开发者提供了一种灵活的方式来处理游戏内部各种状态变化和用户交互,实现模块之间的解耦和通信…

RabbitMQ---订阅模型-Direct

1、 订阅模型-Direct • 有选择性的接收消息 • 在订阅模式中,生产者发布消息,所有消费者都可以获取所有消息。 • 在路由模式中,我们将添加一个功能 - 我们将只能订阅一部分消息。 例如,我们只能将重要的错误消息引导到日志文件…

数据结构(Java实现)-优先级队列(堆)

队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就…

微信小程序发布迭代版本后如何提示用户强制更新新版本

在点击小程序发布的时候选择,升级选项 之前用户使用过的再打开小程序页面就会弹出升级弹窗modal

常见的移动端布局

流式布局&#xff08;百分比布局&#xff09; 使用百分比、相对单位&#xff08;如 em、rem&#xff09;等来设置元素的宽度&#xff0c;使页面元素根据视口大小的变化进行调整。这种方法可以实现基本的自适应效果&#xff0c;但可能在不同设备上显示不一致。 <!DOCTYPE ht…

日志系统——性能测试

日志系统项目已经编写完成&#xff0c;在本节完成性能测试之后就正式结束了 测试代码如下 #include "../logs/mjwlog.h" #include <vector> #include <thread>//参数&#xff1a;日志器名称&#xff0c;线程数量&#xff0c;输出日志条数&#xff0c;单…

SpringBoot+mybatis+pgsql多个数据源配置

一、配置文件 jdk环境&#xff1a;1.8 配置了双数据源springbootdruidpgsql&#xff0c;application.properties配置修改如下&#xff1a; #当前入库主数据库 spring.primary.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.primary.datasource.driver-class…

1.Flink源码编译

目录 1.环境版本 1.1 jdk 1.2.maven 1.3.node 1.4.scala 2.下载flink源码 3.编译源码 4.idea打开flink源码 5.运行wordcount 1.环境版本 软件地址 链接&#xff1a;https://pan.baidu.com/s/1ZxYydR8rBfpLCcIdaOzxVg 提取码&#xff1a;12xq 1.1 jdk 1.2 maven 1.…

基于Red Hat Enterprise Linux 7操作系统的PostgresSql15的备份恢复(实践笔记)

零、前言 本文是基于阿里云ECS服务器进行的实践操作&#xff0c;操作系统版本&#xff1a;Red Hat Enterprise Linux 7 PG数据库版本&#xff1a;PostgresSql 15 PG安装方式&#xff1a;yum 由于本人新接触pg数据&#xff0c;本次也是出于好奇&#xff0c;就对pg数据库的pg_du…

MTK6833_MT6833核心板_天玑700安卓5G核心板规格性能介绍

MTK6833安卓核心板采用台积电 7nm 制程的5G SoC&#xff0c;2*Cortex-A766*Cortex-A55架构&#xff0c;搭载Android12.0操作系统&#xff0c;主频最高达2.2GHz 。内置 5G 双载波聚合技术&#xff08;2CC&#xff09;及双 5G SIM 卡功能&#xff0c;实现优异的功耗表现及实时连网…

Elasticsearch(十四)搜索---搜索匹配功能⑤--全文搜索

一、前言 不同于之前的term。terms等结构化查询&#xff0c;全文搜索首先对查询词进行分析&#xff0c;然后根据查询词的分词结果构建查询。这里所说的全文指的是文本类型数据&#xff08;text类型&#xff09;,默认的数据形式是人类的自然语言&#xff0c;如对话内容、图书名…

VictoriaLogs:一款超低占用的 ElasticSearch 替代方案

image.png 背景 前段时间我们想实现 Pulsar 消息的追踪流程&#xff0c;追踪实现的效果图如下&#xff1a; 实现其实比较简单&#xff0c;其中最重要的就是如何存储消息。 消息的读取我们是通过 Pulsar 自带的 BrokerInterceptor 实现的&#xff0c;对这个感兴趣的朋友后面会单…

用大白话来讲讲多线程的知识架构

感觉多线程的知识又多又杂&#xff0c;自从接触java&#xff0c;就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。 什么是多线程&#xff1f; 操作系统运行一个程序&#xff0c;就是一个线程。同时运行多个程序&#xff0c;就是多线程。即在同一时间&#xff0…

python爬虫的js逆向入门到进阶教程文章分享汇总~持续更新

目录 一、内容介绍二 、专栏内容-持续更新1、JS逆向入门2、Js逆向进阶3、爬虫基础知识4、工具与安装5、漫星内容分享 三、星球使用四、b站up主视频推荐 一、内容介绍 二 、专栏内容-持续更新 1、JS逆向入门 2023-08-25》11.常见加密>xx音乐RSA加密 https://articles.zsxq.c…

项目进度管理(4-1)关键链法

1 关键链法产生的背景 关键链法&#xff08;Critical Chain Method&#xff0c;CCM&#xff09;起源于20世纪80年代&#xff0c;是由Eliyahu M. Goldratt在他的著作《关键链》&#xff08;"Critical Chain"&#xff09;中首次提出和阐述的。Eliyahu M. Goldratt是以…