当前位置:网站首页>01 自然语言处理NLP介绍
01 自然语言处理NLP介绍
2022-08-09 06:46:00 【一越王超】
学习目标
- 了解什么是自然语言处理.
- 了解自然语言处理的发展简史.
- 了解自然语言处理的应用场景.
- 了解本教程中的自然语言处理.
什么是自然语言处理
每种动物都有自己的语言,机器也是!
自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
人类通过语言来交流,狗通过汪汪叫来交流。机器也有自己的交流方式,那就是数字信息。
自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域.
NLP 为什么重要?
在人工智能出现之前,机器智能处理结构化的数据(例如 Excel 里的数据)。但是网络中大部分的数据都是非结构化的,例如:文章、图片、音频、视频…
在非结构数据中,文本的数量是最多的,他虽然没有图片和视频占用的空间大,但是他的信息量是最大的。
为了能够分析和利用这些文本信息,我们就需要利用 NLP 技术,让机器理解这些文本信息,并加以利用。
自然语言处理的发展简史
NLP的两个核心任务
NLP 有2个核心的任务:
自然语言理解 – NLU|NLI
自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以 NLU 是至今还远不如人类的表现。
自然语言理解的5个难点:
- 语言的多样性
- 语言的歧义性
- 语言的鲁棒性
- 语言的知识依赖
- 语言的上下文
想要深入了解NLU,可以看看这篇文章:
自然语言生成 – NLG
NLG 是为了跨越人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等。
NLG 的6个步骤:
- 内容确定 – Content Determination
- 文本结构 – Text Structuring
- 句子聚合 – Sentence Aggregation
- 语法化 – Lexicalisation
- 参考表达式生成 – Referring Expression Generation|REG
- 语言实现 – Linguistic Realisation
想要深入了解NLG,可以看看这篇文章
《一文看懂自然语言生成 – NLG(6个实现步骤+3个典型应用)》
NLP 的5个难点
- 语言是没有规律的,或者说规律是错综复杂的。
- 语言是可以自由组合的,可以组合复杂的语言表达。
- 语言是一个开放集合,我们可以任意的发明创造一些新的表达方式。
- 语言需要联系到实践知识,有一定的知识依赖。
- 语言的使用要基于环境和上下文。
NLP 的4个典型应用
情感分析
互联网上有大量的文本信息,这些信息想要表达的内容是五花八门的,但是他们抒发的情感是一致的:正面/积极的 – 负面/消极的。
通过情感分析,可以快速了解用户的舆情情况。
聊天机器人
过去只有 Siri、小冰这些机器人,大家使用的动力并不强,只是当做一个娱乐的方式。但是最近几年智能音箱的快速发展让大家感受到了聊天机器人的价值。
而且未来随着智能家居,智能汽车的发展,聊天机器人会有更大的使用价值。
语音识别
语音识别已经成为了全民级的引用,微信里可以语音转文字,汽车中使用导航可以直接说目的地,老年人使用输入法也可以直接语音而不用学习拼音…
机器翻译
目前的机器翻译准确率已经很高了,大家使用 Google 翻译完全可以看懂文章的大意。传统的人肉翻译未来很可能会失业。
- 语音助手
- 机器翻译
- 搜索引擎
- 智能问答
NLP 的 2 种途径、3 个核心步骤
NLP 可以使用传统的机器学习方法来处理,也可以使用深度学习的方法来处理。2 种不同的途径也对应着不同的处理步骤。详情如下:
方式 1:传统机器学习的 NLP 流程
- 语料预处理
- 中文语料预处理 4 个步骤(下文详解)
- 英文语料预处理的 6 个步骤(下文详解)
- 特征工程
- 特征提取
- 特征选择
- 选择分类器
方式 2:深度学习的 NLP 流程
- 语料预处理
- 中文语料预处理 4 个步骤(下文详解)
- 英文语料预处理的 6 个步骤(下文详解)
- 设计模型
- 模型训练
英文 NLP 语料预处理的 6 个步骤
- 分词 – Tokenization
- 词干提取 – Stemming
- 词形还原 – Lemmatization
- 词性标注 – Parts of Speech
- 命名实体识别 – NER
- 分块 – Chunking
中文 NLP 语料预处理的 4 个步骤
本文内容大量参考:
边栏推荐
- 语句加锁分析
- Search 1688 product interface by image (item_search_img-search 1688 product by image (Politao interface) code docking tutorial
- 简单工厂模式
- The solution that does not work and does not take effect after VScode installs ESlint
- 顺序表删除所有值为e的元素
- codeforces Valera and Elections (这思维题是做不明白了)
- String.toLowerCase(Locale.ROOT)
- APP商品详情源数据接口(淘宝/京东/拼多多/苏宁/抖音等平台详情数据分析接口)代码对接教程
- 简单使用Lambda表达式
- 长沙学院2022暑假训练赛(一)六级阅读
猜你喜欢
Unity C# 委托——事件,Action,Func的作用和区别
【修电脑】系统重装但IP不变后VScode Remote SSH连接失败解决
05 多线程与高并发 - ThreadPoolExecutor 源码解析
安装flask
Altium designer软件常用最全封装库,包含原理图库、PCB库和3D模型库
IQ Products CMV Brite Turbo试剂盒的原理
The JVM thread state
Integer 线程安全的
Import the pycharm environment package into another environment
Leetcode 70 stairs issues (Fibonacci number)
随机推荐
jdepend
leetcode 之 零移位
leetcode:55. 跳跃游戏
CMake中INSTALL_RPATH与BUILD_RPATH问题
uniapp实现防抖搜索
leetcode 之盛水问题
jvm线程状态
AD picture PCB tutorial 20 minutes clear label shop operation process, copper network
细谈VR全景:数字营销时代的宠儿
vim 程序编辑器的基本操作(积累)
Explain the wait() function and waitpid() function in C language in detail
报错:FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disab
The AD in the library of library file suffix. Intlib. Schlib. Pcblib difference
P7阿里面试题2020.07 之滑动窗算法(阿里云面试)
mongo+ycsb性能测试及线程数分析
字节跳动笔试题2020 (抖音电商)
Flask failed to create database without error
Quectel EC20 4G module dial related
shardingsphere数据分片配置项说明和示例
Reverse Engineering