自然语言处理-Natural language processing | NLP

  • 一、NLP 为什么重要?
  • 二、什么是自然语言处理 – NLP
  • 三、NLP 的2大核心任务
    • 自然语言理解 – NLU|NLI
    • 自然语言生成 – NLG
  • 四、NLP 的5个难点
  • 五、NLP 的4个典型应用
  • 六、NLP 的 2 种途径、3 个核心步骤
  • 参考

网络上有海量的文本信息,想要处理这些非结构化的数据就需要利用 NLP 技术。

本文将介绍 NLP 的基本概念,2大任务,4个典型应用和6个实践步骤。

一、NLP 为什么重要?

“语言理解是人工智能领域皇冠上的明珠” - 比尔·盖茨

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

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

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

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

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

维基百科:
自然语言处理(NLP)是计算机科学,信息工程和人工智能的子领域,涉及计算机与人类(自然)语言之间的交互,特别是如何对计算机进行编程以处理和分析大量自然语言数据。自然语言处理中的挑战通常涉及语音识别,自然语言理解和自然语言生成。

二、什么是自然语言处理 – NLP

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

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

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

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

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

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

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


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

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

自然语言:我背有点驼(非自然语言:我的背部呈弯曲状)
自然语言:宝宝的经纪人睡了宝宝的宝宝(微博上这种段子一大把)

三、NLP 的2大核心任务


NLP 有2个核心的任务:

自然语言理解 – NLU | NLI
自然语言生成 – NLG

自然语言理解 – NLU|NLI

自然语言理解就是希望机器像人一样,具备正常人的语言理解能力,由于自然语言在理解上有很多难点(下面详细说明),所以 NLU 是至今还远不如人类的表现。

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

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

自然语言生成 – NLG


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个典型应用


情感分析

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

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

聊天机器人

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

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

语音识别

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

机器翻译

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

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

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

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

  1. 语料预处理

    • 中文语料预处理 4 个步骤(下文详解)
    • 英文语料预处理的 6 个步骤(下文详解)
  2. 特征工程

    • 特征提取
    • 特征选择
  3. 选择分类器

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

  1. 语料预处理

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

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

  1. 分词 – Tokenization
  2. 词干提取 – Stemming
  3. 词形还原 – Lemmatization
  4. 词性标注 – Parts of Speech
  5. 命名实体识别 – NER
  6. 分块 – Chunking

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

  1. 中文分词 – Chinese Word Segmentation
  2. 词性标注 – Parts of Speech
  3. 命名实体识别 – NER
  4. 去除停用词

参考

NLP (百度百科)
NLP (维基百科)
书籍:
《统计自然语言处理基础》
《自然语言处理综论》
《Python自然语言处理》
开拓视野:
NLP领域中的迁移学习现状
观点 | 认知智能的突围:NLP、知识图谱是AI下一个“掘金地”?
从发展滞后到不断突破,NLP已成为AI又一燃爆点?
【技术综述】深度学习在自然语言处理中的应用发展史
干货|最全自然语言处理attention综述
AI产品经理必备知识:8个最先进的NLP领域的预训练模型
8种优秀预训练模型大盘点,NLP应用so easy
从基于规则到深度学习,NLP 技术进阶三部曲
中文对比英文自然语言处理NLP的区别综述
百度发布NLP模型ERNIE,基于知识增强,在多个中文NLP任务中表现超越BERT
自然语言处理中注意力机制综述
21种NLP任务激活函数大比拼:你一定猜不到谁赢了
深度好文:2018年NLP应用和商业化调查报告
5 分钟入门 Google 最强NLP模型:BERT
NLP技术落地为何这么难?里面有哪些坑?
微软亚洲研究院:NLP将迎来黄金十年
横扫13项中文NLP任务:香侬科技提出汉语字形表征向量Glyce+田字格CNN
深度长文:中文分词的十年回顾
现有模型还“不懂”自然语言:20多位研究者谈NLP四大开放性问题
对话清华NLP实验室刘知远:NLP搞事情少不了知识库与图神经网络
中文分词十年又回顾: 2007-2017
实践:
赛尔笔记 | 四种常见NLP框架使用总结
8种优秀预训练模型大盘点,NLP应用so easy!
NLP 分词的那些事儿
自然语言处理是如何工作的?一步步教你构建 NLP 流水线
自然语言处理三大特征抽取器(CNN/RNN/TF)比较
Python 英文文本预处理:步骤、使用工具及示例
NLP输出文本评估:使用BLEU需要承担哪些风险?
初学者|NLP相关任务简介
资源:
NPL学习者的福利来啦,GitHub上的NLP中文词库资源,拿走吧!
NLP领域最优秀的8个预训练模型(附开源地址)
Facebook开源NLP迁移学习工具包,支持93种语言,性能最优
支持53种语言预训练模型,斯坦福发布全新NLP工具包StanfordNLP

自然语言处理从零到入门 NLP相关推荐

  1. Task01——零基础入门NLP - 新闻文本分类之赛题理解

    本篇目标 首先本篇文章会对赛题进行介绍以及个人对赛题的理解,带大家接触NLP的预处理.模型构建和模型训练等知识点. 赛题介绍 赛题名称:零基础入门NLP - 新闻文本分类 赛题任务:赛题以自然语言处理 ...

  2. 零基础入门NLP - 天池新闻文本分类Task3笔记

    零基础入门NLP - 天池新闻文本分类 以下以Datawhale与天池举办的新闻文本分类这个NLP赛题做的NLP入门Task2笔记 赛题链接:https://tianchi.aliyun.com/co ...

  3. 零基础入门NLP之新闻文本分类挑战赛——赛题理解

    假期还有两周左右就结束了,正巧,Datawhale联合天池发布了零基础入门NLP的学习,于是报名参加了零基础入门NLP-新闻文本分类. 本人之前刚接触NLP没多久,记录一下学习的历程,供和我一样的小白 ...

  4. 零基础入门NLP - 新闻文本分类

    本文是对阿里云新人竞赛中的"零基础入门NLP - 新闻文本分类"解体过程进行的记录,目前仅使用了textCNN模型进行预测,后续还会考虑使用LSTM进行对比. 赛题数据 赛题以新闻 ...

  5. 零基础入门NLP - 新闻文本分类,正式赛第一名方案分享

    零基础入门NLP - 新闻文本分类,正式赛第一名方案分享:https://mp.weixin.qq.com/s/7WpZUqdlItBToLYuRLm44g

  6. 【初学者入门】零基础入门NLP - 新闻文本分类

    序言 从今天开始入门学习NLP,虽然有点晚,但是我觉得任何时候都值得开始,尤其是面对你去感兴趣的事情.今天的任务是 [零基础入门NLP - 新闻文本分类],这是天池大赛中的入门级算法比赛,入口链接请自 ...

  7. 天池零基础入门NLP竞赛实战:Task4-基于深度学习的文本分类3-基于Bert预训练和微调进行文本分类

    Task4-基于深度学习的文本分类3-基于Bert预训练和微调进行文本分类 因为天池这个比赛的数据集是脱敏的,无法利用其它已经预训练好的模型,所以需要针对这个数据集自己从头预训练一个模型. 我们利用H ...

  8. 天池零基础入门NLP - 新闻文本分类Top1方案的bert4torch复现

    天池有些长期比赛可以练习玩玩(还可以继续提交),于是试了下简单的新闻文本分类任务,Top1的解决方案思路是"预训练+fgm+交叉验证模型融合",代码是基于bert4keras的,本 ...

  9. 自然语言处理从零到入门 BERT

    BERT | Bidirectional Encoder Representation from Transformers 什么是 BERT? 参考 什么是 BERT? BERT的全称是Bidirec ...

最新文章

  1. 秒懂 CountDownLatch 与 CyclicBarrier 使用场景
  2. Facebook Messenger正式登陆Android Auto车载信息娱乐平台
  3. 第七章   配置文件与网站部署
  4. 网易云信新增用户、IM、实时音视频多维度统计功能
  5. idea 代码第一次上传git_如何使用IDEA将项目代码首次上传至GitHub,并持续推送?...
  6. 牛客网 【每日一题】5月9日 过河
  7. 换掉 Postman + Swagger + JMeter,这 5 个 Java 项目绝了!
  8. kernel printk信息显示级别
  9. android 通过短信找回密码,我的android手机短信被我加密了,忘记密码了,在不刷机恢复出厂设置的情况下如何解决?急急急!!!!!...
  10. Python学习日志(二)
  11. Docker基本使用方法(build image \run...)
  12. Visual Studio 2019 配置汇编和masm32教程
  13. css 圆形背景icon_CSS3 各种色彩搭配方案的圆形LOADING动效
  14. 高中补习数学:导数与函数的综合问题(2019年测试题)
  15. CENTOS 7 YUM 安装PHP7.4
  16. 学习C语言有什么书适合新手看
  17. 拍七游戏(zzuli)
  18. python+selenium+new——窗口——网页——切换窗口——切换frame——alert弹窗
  19. 【操作系统——存储器管理习题】 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB,假定某时刻一用户页表中已调入内存的页面对应的物理块号如下:则逻辑地址0A5C(H)物理地址为?
  20. 优思学院|建立六西格玛管理模式的七部曲

热门文章

  1. 语音识别sdk for ios android,iOS百度语音识别SDK 让你的APP不在单调
  2. 图解订单系统从 0 到 1 的设计思路
  3. python怎么算积分_python使用sympy不定积分入门及求解
  4. 程序员大专进腾讯被人看不起,低学历难道就该低人一等吗?
  5. Simditor使用方法
  6. 字节流(IO流)概述、字节流(写入/输出)数据(3种)和换行、追加写入、异常处理办法、字节缓冲流、字节流复制图片视频案例
  7. 目前梦幻山东区人最多的服务器,《梦幻西游》梦幻西游山东区心得
  8. 配置squid做二级代理,支持访问http和https
  9. 分享崔庆才的一些学习经验和生活感悟
  10. 关于 小米华为手机 不能正确安装游戏包的问题