导读:自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。因此,自然语言处理是与人机交互的领域有关的。在自然语言处理面临很多挑战,包括自然语言理解,因此,自然语言处理涉及人机交互的面积。在NLP诸多挑战涉及自然语言理解,即计算机源于人为或自然语言输入的意思,和其他涉及到自然语言生成。


这是小编的其他文章,希望对大家有所帮助,点击即可阅读

人工智能常用的十大算法      人工智能数学基础(一)     人工智能数学基础(二)

人工智能数学基础(三)   人工智能数学基础(四)   人工智能学习路线

有问题+没学习资料+没学习规划?扫描下方二维码可以免费领取人工智能学习必读的电子书,深度学习+神经网络+CV计算机视觉200G学习资料一份,对人工智能迷茫需要学习路线规划的可以免费做个人的1v1规划哦! 

NLP 为什么重要?

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

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

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

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

什么是自然语言处理?

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

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

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

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

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

NLP 的2大核心任务

NLP 有2个核心的任务:

  1. 自然语言理解 – NLU | NLI
  2. 自然语言生成 – 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. 语料预处理
  2. 中文语料预处理 4 个步骤(下文详解)
  3. 英文语料预处理的 6 个步骤(下文详解)
  4. 特征工程
  5. 特征提取
  6. 特征选择
  7. 选择分类器

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

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

英文 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的2个核心任务:

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

NLP 的5个难点:

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

NLP 的4个典型应用:

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

NLP 的6个实现步骤:

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

小编整理了各种关于人工智能的学习资料库(图像处理opencv\自然语言处理、机器学习、数学基础等),还有AI大礼包:Pytorch、实战框架视频、图像识别、OpenCV、计算机视觉、深度学习与神经网络等视频、代码、PPT以及深度学习书籍均可以免费分享给大家学习

手把手教你看懂自然语言处理-NLP(4个典型应用+5个难点+6个实现步骤)相关推荐

  1. 手把手教你看懂并理解Arduino PID控制库——调参改变

    2019独角兽企业重金招聘Python工程师标准>>> 引子 本文将分析<手把手教你看懂并理解Arduino PID控制库>中第三个问题:PID控制参数突变对系统的影响. ...

  2. 手把手教你看懂电脑硬件测试软件CPU-Z(二)

    建议请先看手把手教你看懂电脑硬件测试软件CPU-Z(一)~ 上一次给大家介绍了CPU-Z处理器界面的各参数含义,现在再回顾这张图,想必大家都不会陌生了. 这里简单总结下这台电脑的大致情况:这是一台笔记 ...

  3. 【朝花夕拾】Android自定义View之(一)手把手教你看懂View绘制流程——向源码要答案

    前言 原文:Android自定义View之(一)手把手教你看懂View绘制流程--向源码要答案 View作为整个app的颜值担当,在Android体系中占有重要的地位.深入理解Android View ...

  4. 手把手教你看懂电脑硬件测试软件CPU-Z(一)

    当你选择电脑时,是否还在注意外观.颜色这些肤浅的外表吗?是不是认为买了个i7就是最新款的电脑了? 今天介绍一款电脑常用的硬件测试软件--CPU-Z,手把手教会你如何看自己电脑的CPU.显卡.硬盘.屏幕 ...

  5. 手把手教你看懂并理解Arduino PID控制库——引子

    2019独角兽企业重金招聘Python工程师标准>>> 介绍 本文主要依托于Brett Beauregard大神针对Arduino平台撰写的PID控制库Arduino PID Lib ...

  6. 手把手教你看懂Chrome火焰图!(调试性能必备)

    性能优化的目的 我们每一次的UI的变化,都要经历以下步骤: 我们都知道像素管道有五步,JavaScript->样式计算->布局->绘制->合成. 人的眼睛大约每秒可以看到 60 ...

  7. ali arthas 火焰图_手把手教你看懂Chrome火焰图!(调试性能必备)

    性能优化的目的 我们每一次的UI的变化,都要经历以下步骤: 我们都知道像素管道有五步,JavaScript->样式计算->布局->绘制->合成. 人的眼睛大约每秒可以看到 60 ...

  8. 手把手教你看懂线程池源码!

    编辑:业余草 来源:https://www.xttblog.com/?p=4978 世上无难事,只怕有心人! 今天我们来说说线程池! 线程池简介 使用线程池,一般会使用JDK提供的几种封装类型,即:n ...

  9. 计算机话筒技术指标,手把手教你搞懂麦克风的技术指标

    手把手教你搞懂麦克风的技术指标 2015/12/24 11:00:32      来源:艾维音响网 [提要]当你阅读麦克风技术指标的时候,重要的是你要知道怎么去理解它们.在大部分的状况下,技术指标可以 ...

最新文章

  1. Android--SoundPool
  2. 简明 Git 命令速查表(中文版)
  3. python+xlrd+xlwt操作excel
  4. CLI下的网页浏览器之二——Lynx
  5. 穿戴式设备的用户体验设计-郝华奇
  6. 标准C语言第四版答案第十章,谭浩强C语言 第十章课后习题
  7. [读书笔记] 代码整洁之道(二)
  8. Silverlight游戏设计(Game Design):(十四)练习用游戏素材资源的获取及相关工具使用心得...
  9. android app 嵌入广告,流氓来了!如何拯救手机中嵌入广告的应用
  10. STM32F100X RCC_APB2Periph_AFIO--复用IO时钟的使用
  11. /usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录
  12. opengl初学 error C2664: 无法将参数 1 从“const char [7]”转换为“LPCWSTR”
  13. 一个程序小白的大胆尝试 (鸡汤)
  14. eventscheduler mysql_Mysql 中的事件 事件调度器(Event Scheduler)
  15. UE4 如何解决摄像头移动毛边问题
  16. pythonidle如何调字体_python IDLE 背景以及字体的修改
  17. MySQL用户管理-密码修改-用户授权
  18. 【渝粤教育】电大中专测量学_1作业 题库
  19. 萌宠过春节成消费新热点 广西宠物寄养一“窝”难求
  20. VirtualService

热门文章

  1. Linux驱动框架之v4l2视频驱动框架解析
  2. Long型比较是否相等的四个方法
  3. 【概率论】正态分布的由来——从大一同学的视角出发
  4. Ctrl+Q在各个软件中的用处
  5. java设计模式--工厂设计模式
  6. python的txt、csv文件以list格式读取、保存
  7. 用html编写一个红绿灯,如何用html+css+javascript写一个简易红绿灯
  8. mybatis 无效的列类型: 1111
  9. python自动化测试错误代码解释,来人救一下啊
  10. 微信小程序与H5标签、样式对比