常常会听到有人说,自然语言处理(NLP)是人工智能技术(AI)皇冠上的明珠。那么,从这句话上就能够看到,目前我们常常说的NLP其实是AI技术的一个分支,而且是较难的那一个分支。

那么,到底什么是NLP呢?大概这个问题会在我们从事NLP研究和学习的过程中会一直存在,当你处于不同的阶段,应该会有不同的理解。小Dream也只能说一说在目前这个阶段,对NLP的一些理解。

所谓“自然语言”,是相对于计算机语言(计算机能够理解的语言,如汇编、C语言等)而言的,也就是人类日常使用的语言。因为计算机设计之初主要是用于计算,或者完成某一项有明确规则任务。所以计算机语言与人类日常使用的语言存在很大的差异,计算机不能直接理解人类语言的含义,不能直接同人类进行沟通。要想实现计算机的智能化,不能够理解人类语言,是必须要跨越的一道障碍。因为,人类语言承载了人的思考、文化等,是每个人对外沟通的最主要手段。NLP就是为了解决这样一个问题而出现的技术。他希望能够使得计算机能够理解人类的语言,甚至是语言背后的文化与意图。例如说,当你说“我饿了”,计算机能够明白你肚子饿了,并且提出帮你定外卖;当你说“保护好你的菊花”,计算机能够结合当时的情境,明白你说的菊花到底是哪个菊花。

1. NLP技术的主要范畴

  1)语音识别

  顾名思义,就是将语音转化为文字。这一部分,小Dream还没机会涉及到,短时间应该不会涉及,感兴趣的小伙伴可以出门左转,百度一下。

  2)分词、实体识别等序列标注问题

  分词和实体识别是自然语言处理比较基础的部分,但是非常的重要。小Dream之前涉及过实体识别相关的工作,所以会在下一篇NLP系列文章中介绍相关的工作,敬请关注啦。

  3)机器翻译

  这是NLP领域比较早的一个工作,谷歌的机器翻译已经能够做到较好的水平。谷歌在2018年,利用attention技术构建的Transformer模型,是目前在这一领域比较大的进展。

  4)对话系统

  智能客服,聊天机器人等都需要用到这一项NLP技术。小Dream未来一段时间都会从事这项工作的研究及开发,所这一方面应该做一个较长的连载了。

  5)文本摘要

  6)自然语言生成

  最近,OPENAI发布的GPT2.0具有很高的自然语言生成能力,预期会对自然语言处理技术产生不小的影响,感兴趣的同学可以参见如下链接:https://github.com/openai/gpt-2

  7)文字蕴含

  8)其他方面

2. NLP技术的难点

  1)单词的边界界定

  在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。

  2)词义的消歧

  在各国的语言中,多义词的现象都比较多。NLP常常需要根据词语的上下文决定目前的语境环境下,该词的具体含义。

  3)句法的模糊性

  自然语言的文法通常是模棱两可的,针对一个句子通常可能会剖析出多棵剖析树,而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。

  4)语言的概括性

  句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。

---------------------------------------------------------------------------------------------------------------------------------

常常在想,生活的意义是什么?挣钱,买房,开豪车或许都很重要。但是真正能让内心平静的往往是亲近之人的笑容、获取知识的满足感。

更多的AI知识,关注“Dream看AI”,用简单、朴实的语言介绍AI技术。

自然语言处理系列-1.什么是NLP?的更多相关文章

  1. NLP自然语言处理系列5-支持向量机(SVM)

    1.什么是支持向量机 支持向量机(Support Vector Machine,SVM)是一种经典的分类模型,在早期的文档分类等领域有一定的应用.了解SVM的推导过程是一个充满乐趣和挑战的过程,耐心的 ...

  2. 自然语言处理系列-4条件随机场(CRF)及其tensorflow实现

    前些天与一位NLP大牛交流,请教其如何提升技术水平,其跟我讲务必要重视“NLP的最基本知识”的掌握.掌握好最基本的模型理论,不管是对日常工作和后续论文的发表都有重要的意义.小Dream听了不禁心里一颤 ...

  3. Python自然语言处理-系列一

    一:python基础,自然语言概念 from nltk.book import * 1,text1.concordance("monstrous")      用语索引 2,tex ...

  4. Python自然语言处理系列之模拟退火算法

    1.基本概念 模拟退火算法(Simulated Annealing,SA)是一种模拟固体降温过程的最优化算法.其模拟的过程是首先将固体加温至某一温度,固体内部的粒子随温度上升慢慢变为无序的状态,内能增 ...

  5. Python自然语言处理 - 系列四

    一 如何使用形式化语法来描述无限的句子集合的结构?    --上下位无关文法       1.1 一个例子:      grammar1 = nltk.parse_cfg(""&q ...

  6. Python自然语言处理 - 系列三

    有监督分类过程 ![enter image description here][1]例子:涉及一个特征器,给定一个姓名分析出是男性名字还是女性名字 分析:男性和女性的名字有一些鲜明的特点.以a,e 和 ...

  7. 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)

    统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...

  8. 【NLP】基于自然语言处理角度谈谈CRF(二)

    基于自然语言处理角度谈谈CRF 作者:白宁超 2016年8月2日21:25:35 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务 ...

  9. 【NLP】前戏:一起走进条件随机场(一)

    前戏:一起走进条件随机场 作者:白宁超 2016年8月2日13:59:46 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都有 ...

随机推荐

  1. Java并发编程原理与实战十:单例问题与线程安全性深入解析

    单例模式我想这个设计模式大家都很熟悉,如果不熟悉的可以看我写的设计模式系列然后再来看本文.单例模式通常可以分为:饿汉式和懒汉式,那么分别和线程安全是否有关呢? 一.饿汉式 先看代码: package ...

  2. JS开启浏览器全屏模式,需要手动触发

    <html > <meta charset="UTF-8"> <body> <button onclick="launchFul ...

  3. SVN搭建和使用

    原文出处: http://www.cnblogs.com/tugenhua0707/p/3969558.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不 ...

  4. 全链路追踪traceId,ThreadLocal与ExecutorService

    关于全链路追踪traceId遇到线程池的问题,做过架构的估计都遇到过,现在以写个demo,总体思想就是获取父线程traceId,给子线程,子线程用完移除掉. mac上的chrome时不时崩溃,写了一大 ...

  5. ASP.NET中常用输出JS脚本的类(来自于周公博客)

    using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...

  6. asp.net菜鸟到中级程序员的飞跃 --30本好书点评

    如果你是一个菜鸟或者自认为初学者那么本文非常适合你:不能说这30本书就是最佳组合,但是可以说这个组合不差:本人曾博览群书,很多书重复,很多书讲的不适用,这些书都是目前书店可以买到的:达到中级程序员以后 ...

  7. zookeeper日常报错总结

    1:创建子节点的时候 没有根节点 org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for ...

  8. HDU 4720 Naive and Silly Muggles 平面几何

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4720 解题报告:给出一个三角形的三个顶点坐标,要求用一个最小的圆将这个三个点都包含在内,另外输入一个点 ...

  9. 深度优先搜索(DFS)----------------Tju_Oj_3517The longest athletic track

    这个题主要考察对树的操作,主要思想是DFS或者BFS,其次是找树的直径方法(既要运用两次BFS/DFS),最后作为小白,还练习了vector的操作. DFS框架伪码: bool DSF(Node on ...

  10. 天梯赛 L2-022. (数组模拟链表) 重排链表

    题目链接 题目描述 给定一个单链表 L1→L2→...→Ln-1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln-1→L2→....例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2 ...