1.2 自然语言处理的基础知识
为了便于理解,我们将这个术语分为两部分:
❏自然语言是一种有机且自然发展而来的书面和口头交流形式。
❏处理意味着使用计算机分析和理解输入数据。
如图1-1所示,自然语言处理是人类语言的机器处理,旨在教授机器如何处理和理解人类的语言,从而在人与机器之间建立一个简单的沟通渠道。
图1-1 自然语言处理
自然语言处理的应用很广泛,例如,在我们的手机和智能音箱中的个人语音助手,如Alexa和Siri。它们不仅能够理解我们的说话内容,而且能够根据我们说的话采取行动,并做出反馈。自然语言处理算法促进了这种与人类沟通的技术。
在上述自然语言处理定义中要考虑的关键是:沟通需要以人类的自然语言进行。几十年来,我们一直在与机器沟通:创建程序来执行某些任务并执行。然而,这些程序是用非自然语言编写的,因为它们不是口头交流的形式,也不是自然或有机发展而来的。这些语言,例如Java、Python、C和C++,都是在主要考虑机器的情况下创建的,并且始终考虑的是“机器能够轻松理解和处理的是什么?”
虽然Python是一种对用户更加友好的语言,且易于学习和编码,但与机器沟通,人类必须学习机器能够理解的语言。自然语言处理、机器学习、深度学习的关系如图1-2所示。
图1-2 自然语言处理的维恩图
自然语言处理的目的与此相反。自然语言处理不是以人类顺应机器的方式学习如何有效地与它们沟通,而是使机器能够与人类保持一致,并学习人类的交流方式。其意义更为重大,因为技术的目的本来就是让我们的生活更为轻松。
我们用一个例子来澄清这一点,你的第一个程序是一段让机器打印“hello world”代码。这是你顺应机器并要求它用其理解的语言执行任务。通过向其发出这个命令来要求你的语音助手说“hello world”,并做出“hello world”的反馈,就是自然语言处理应用的一个例子,因为你用自然语言与机器通信。机器符合你的沟通形式,理解你所说的内容,处理你要求它执行的操作,然后执行任务。
自然语言处理的重要性
图1-3说明了人工智能领域的各个部分。
图1-3 人工智能及其一些子领域
与机器学习和深度学习一样,自然语言处理是人工智能的一个分支,因为其处理自然语言,所以它实际上是人工智能和语言学的交叉。
如上所述,自然语言处理使机器能够理解人类的语言,从而在两者之间建立有效的沟通渠道。然而,自然语言处理的必要性还有另一个原因。那就是,像机器一样,机器学习模型和深度学习模型对数值数据最有效。数值数据对人类来说很难自然产生。很难想象我们用数字而不是语言交谈。因此,自然语言处理与文本数据一起工作,并将其转换成数值数据,从而使机器学习模型和深度学习模型能够适用于文本数据。因此,它的存在是为了通过从人类那里获取语言的口头和书面形式,并将它们转换成机器能够理解的数据,来弥合人类和机器之间的交流差距。得益于自然语言处理,机器能够理解并回答基于自然语言的问题、解决使用自然语言的问题以及用自然语言交流等。