《TensorFlow自然语言处理》—1 自然语言处理简介
CHAPTER 1
第1章
自然语言处理简介
自然语言处理(NLP)是理解和处理当今世界中大量非结构化数据的重要工具。最近,深度学习已被广泛用于许多NLP任务,因为深度学习算法在诸如图像分类、语音识别和现实文本生成等众多具有挑战性的任务中表现出显著的性能。另一方面,TensorFlow是目前最直观、最有效的深度学习框架之一。本书将向有志于深度学习的开发人员提供帮助,使他们能够使用NLP和TensorFlow处理大量数据。
在本章中,我们对NLP以及本书其余部分的内容提供基本介绍。将回答“什么是自然语言处理?”这个问题。此外,也将介绍一些自然语言处理最重要的用途。还将介绍传统方法和最新的基于深度学习的NLP方法,包括全连接神经网络(FCNN)。最后,在概述本书其余部分的内容以后,我们将介绍本书会使用的技术工具。
1.1 什么是自然语言处理
根据IBM的数据,2017年每天都会生成2.5艾字节(1艾字节= 1?000?000?000千兆字节)的数据,在本书的编写过程中,这个量级还在不断增加。从这个角度来看,如果这些数据全都要被处理,我们每个人每天将要处理大约300MB。因为人们每天都会产生数量庞大的电子邮件、社交媒体内容以及语音电话,而在所有这些数据中,很大一部分是非结构化的文本和语音。
这些统计数据为我们确定NLP是什么提供了良好的基础。简而言之,NLP的目标是让机器理解我们说的话和书面语言。此外,NLP无处不在,已经成为人类生活的重要组成部分。比如,Google智能助理、Cortana和Apple Siri这类虚拟助手(VA)主要是NLP系统。当一个人询问VA时,会发生许多NLP任务,比如有人问:“你能告诉我附近有好吃的意大利餐馆吗?”首先,VA需要将话语转换为文本(即语音到文本)。接下来,它必须理解请求的语义(例如,用户正在寻找一个提供意大利美食的餐厅),并将请求结构化(例如,美食=意大利菜,评级= 3-5,距离<10千米)。然后,VA必须以美食和地点为筛选条件来搜索餐厅,之后,根据收到的评级对餐厅进行排序。为了计算餐馆的整体评级,一个好的NLP系统可能会查看每个用户提供的评级和文字描述。最后,一旦用户到达该餐厅,VA可能会帮助用户将各种菜名从意大利语翻译成英语。这个例子表明,NLP已经成为人类生活中不可或缺的一部分。
我们需要明白,NLP是一个极具挑战性的研究领域,因为单词和语义具有高度复杂的非线性关系,并且将这些信息变为鲁棒的数字表示更加困难。更糟糕的是,每种语言都有自己的语法、句法和词汇。因此,处理文本数据涉及各种复杂的任务,比如文本解析(例如,分词和词干提取)、形态分析、词义消歧以及理解语言的基础语法结构。例如,在“I went to the bank”和“I walked along the river bank”这两句话中,词语bank有两个完全不同的含义。为了区分或(弄清楚)这个单词,我们需要理解单词的使用环境。机器学习已成为NLP的关键推动因素,它通过各种模型帮助我们完成上述任务。
- 点赞
- 收藏
- 关注作者
评论(0)