自然语言处理简介
自然语言处理简介
自然语言处理简单介绍
语言是人类区别于其他动物的本质特征。因此,语言也可以看做是智能的一种体现。在历史上,人类为了信息交流的方便以及流传,发明了各式各样的文字用于记录。而且这些文字在不断的改进中传承至今。
但是,随着计算机技术的发展,使得计算机在某些任务的有着超常的表现。这使得科学家们开始思考,能不能让机器也能像人类一样理解自然语言,并使用计算机帮助人类完成相关的任务?也正是这样的疑问推动了自然语言处理技术的诞生。
如果你之前有学过机器学习或深度学习相关的课程,那么相信你对自然语言处理应该不会很陌生。下图显示了当前人工智能三个比较重要的研究方向。从下图也可以看出自然语言处理是人工智能的一个重要分支。
image.png
与语音识别、计算机视觉等方向不同,自然语言处理的研究对象是语言文本。而文本信息通常都是 [非结构化]的存储方式,再加上语言本身拥有的多样性、灵活性和广泛性等特性。使得自然语言处理任务的难度相对于语音识别、计算机视觉等领域要大很多。
这也使得自然语言处理在许多初学者面前留下了一个非常「高冷」的印象。不过,不用担心。本系列课程将会为你揭开自然语言处理「神秘的面纱」。
先来看看自然语言处理的发展历史。
自然语言处理发展历史
在自然语言处理的发展过程中,主要存在两种观点,如下:
理性主义方法: 该方法从自然语言的语法角度出发,是通过制定各种语法规则来解决自然语言处理问题。
经验主义方法: 该方法从统计的角度出发,用数学公式来解决自然语言处理问题。
这两种方法都在自然语言处理中扮演着不可或缺的角色。在自然语言处理的发展历史上,也因为这两种方法将许多研究者划分成为了两种不同的阵营。自然语言的发展历程可以归纳如下几个时期:
image.png
上图显示了自然语言处理的大致发展历程。你可能会觉得有点懵,因为上图拥有太多的专业术语。不过这也没有关系,在后续的课程中这些术语会陆续的讲到。这里也只需了解个大概,想了解更多,也可以去阅读宗成庆老师编写的《统计自然语言处理》。接下来,介绍自然语言处理常用的底层处理技术。
自然语言处理底层技术
通常情况下,自然语言处理的整体技术框架可表示为如下图所示。由图可知,自然语言处理可以大致分为底层技术和应用技术。底层技术主要是为了后续各种各样的任务做预处理。而应用技术主要解决的是某个具体的任务需求。
image.png
接下来介绍基础层常用的技术。
中文分词
顾名思义,中文分词指的是将汉语文本中的词与词之间添加空格或者其他边界标记的一种方法。不同于英文,英文以空格作为天然的分隔符,而中文的词语之间没有分隔。在许多的自然处理任务中,都会将词作为最小的基本单位,因此在执行其它任务之前,需要先要对汉语句子进行分词。
中文分词是自然语言处理最基础也是最重要的工作。分词结果的好坏也会直接影响到后续的处理。一个简单的中文分词例子如下:
image.png
词性标注
词性标注同分词一样,都属于底层处理技术。主要是为了后续的句法分析、信息抽取等任务打下基础。词性标注指的是将每个词的词性标注出来。
在英文中,单词的词性可以借助于单词的词缀来进行判断。例如,名称的后缀一般有 -tion 的形式。而对于汉语来说,则没有这些语态或时态的概念。此外,汉语存在一次多性的问题非常严重,同一个词在不同的语境里拥有着不同的词性。因此汉语词性标注往往要比英文难很多。
下面是一个词性标注例子。其中,n 表示名词,adv 表示副词,v 表示动词,prep 表示助词,num 表示数词。
image.png
命名实体识别
命名实体一般指的是专有名词,例如人名、地名、机构名、专有名词等。而命名实体识别的任务就是在给定的文本信息中将这些专有名词识别出来。以便于后续的分析。命名实体识别是信息提取、问答系统、机器翻译等应用的底层技术。
下面是一个命名体识别是例子。在该例子中,主要提取输入文本的时间、地点、人物等信息。
image.png
句法分析
同前面所讲的技术一样,句法分析也是自然语言处理中的关键底层技术之一。句法分析基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。例如,假设我们得到这样一个句子:
image.png
句法分析则是分析出该句子中奥巴马与美国的关系,奥巴马与黑人的关系,奥巴马与总统的关系等信息。
语义分析
在自然语言处理的过程中,可能会遇到一词多义的情况。例如这句话:从小学起,这句话可以理解为:从\小\学\起。也可以理解为:从\小学\起。这句话具体是哪一个意思就需要根据具体语境来判断。所以语义分析的任务就是消除这些歧义。
词嵌入
目前主流的自然语言处理算法都是基于统计的方法,例如机器学习、深度学习等。而大多数的机器学习算法或深度学习算法只能处理数值型的输入数据。而自然语言一个种典型的符号型数据。要想使用机器学习方法处理自然语言数据,就需要对自然语言数据进行转换,将其转成为数值型的数据。而词嵌入就是这样一种方法。其将文本数据中的词都映射到一个向量空间,用一个向量来表示一个词。
自然语言处理应用技术
前面主要讲解了自然语言处理的底层技术。它们虽然不是自然语言处理的最终目标。但却是整个自然语言处理过程中不可或缺的一部分。接下来,我们来讲解目前自然语言处理的一些应用应用场景或任务。
文本分类
文本分类是自然语言处理最常见也是最简单的应用场景。文本分类就是将多个文档按某种属性来进行划分。例如,图书馆会把人文社科这一类的书籍放到一个区域,把科学技术类的书籍放到另一个区域,这样既方便馆内工作人员整理,也方便读者查阅。再比如说下图所示的邮箱常用的垃圾邮件分类功能,也是一个常用的文本分类应用场景。
image.png
与计算机视觉里的手写数字体识别一样,文本分类也是一个典型的分类任务。因此文本分类任务也可以使用大多数机器学习或深度学习分类算法来进行分类。
文本摘要
摘要往往指的是一篇文本的主题内容,而文本自动摘要的任务就是让机器自行的从大量的文本信息中提取重要或者关键的内容。文本摘要也可以理解成为一种数据压缩任务。其流程如下图所示,可以根据需要生成不同的文摘。
image.png
文本自动摘要主要有三种方法,如下:
抽取式摘要:直接从原文中抽取已有的句子组成摘要。
压缩式摘要:抽取并简化原文中的重要句子构成文摘。
理解式摘要:改写或重新组织原文内容形成最终文摘。
文本自动摘要有非常多的应用场景,如下:
自动报告生成
新闻标题生成
搜索结果预览
为下游任务提供支持
情感分析
情感分析也叫观点提取,主题分析,情感挖掘等,其分析的目的是提取人们对一些事物或某个人的看法和态度,来发现存在潜在的问题,以便用于改进或预测。例如,可以通过对外卖评价情感分析来改进外卖服务。
目前情感分析主要有两种方法,如下:
基于情感词典的传统方法:该方法先定义一个情感词典。例如,「很好」、「不错」标记为积极的态度。而将「差」、「垃圾」等词标记为消极的态度。然后统计一个句子中正面和负面情感词的词数,通过比较情感词的数量来判断句子的整体感情色彩。
基于深度学习的方法:该方法主要使用循环神经网络来对句子进行信息提取,然后通过分类的方式来判断情感色彩。
情感分析的应用场景也非常广泛,如下:
个性化推荐系统
智能搜索
产品反馈
业务安全
机器翻译
机器翻译也称为自动翻译,指的是让机器能够将一直自然语言转换成为另一种自然语言的过程。机器翻译是最早的自然语言处理任务之一。在计算机诞生之时,就有科学家提出使用计算机来代替人工进行翻译。而这个问题也一直延续到今天,仍然是自然语言里面一个困难重重的任务。
image.png
目前机器翻译主要用两种算法,如下:
基于实例的机器翻译:其核心思想是构建一个对照实例库。例如,提前构建好英文和中文的翻译对照库。通过查询对照得到翻译结果。
基于统计的机器翻译:该方法将翻译描述为一个数学的过程。也就是说,所求的是在给定输入语义的条件下,输出语言的最大概率。
自动问答
自动问答系统有时候也称为聊天机器人,是自然语言处理中一个比较热门的方向。具体来说,指的是用户以自然语言的形式向机器提出问题,机器系统依据对问题的分析,从各种数据资源中自动找出准确的答案来回答用户。
目前,自动问答主要应用于智能客服,例如淘宝的客户服务。而且,自动问答的技术也日趋成熟,也有许多公司开发出自己的聊天机器人。例如,微软的 [小冰机器人],百度公司的小度机器人等。
image.png
上图显示的是微软小冰的聊天截图。如果没有提前告诉你这是机器自动回复的聊天。你会不会认为对方是一个真实的人呢?
信息检索
索引通常指的是搜索的指引,而信息检索则是从海量的信息找到我们想要的信息。目前,信息检索最常见的应用情景应该就是搜索引擎了。例如,通过百度搜索关键字「蓝桥云课」,就可以查询出我们想要的信息。
`
标签:文本,处理,简介,image,任务,自然语言,png From: https://blog.csdn.net/lijunhcn/article/details/142580563