第五章 深度学习
十三、自然语言处理(NLP)
1. NLP概述
1.1 NLP的定义
NLP(Nature Language Processing,自然语言处理)是计算机学科及人工智能领域一个重要的子学科,它主要研究计算机如何处理、理解及应用人类语言。所谓自然语言,指人说的话、人写的文章,是人类在长期进化过程中形成的一套复杂的符号系统(类似于C/Java等计算机语言则称为人造语言)。以下是关于自然语言处理常见的定义:
- 自然语言处理是计算机科学与语言中关于计算机与人类语言转换的领域。——中文维基百科
- 自然语言处理是人工智能领域中一个重要的方向。它研究实现人与计算机之间用自然语言进行有效沟通的各种理论和方法。——百度百科
- 自然语言处理研究在人与人交际中及人与计算机交际中的语言问题的一门学科。NLP要研制表示语言能力和语言应用的模型,建立计算机框架来实现这些语言模型,提出相应的方法来不断完善这种模型,并根据语言模型设计各种实用系统,以及对这些系统的评测技术。——Bill Manaris,《从人机交互的角度看自然语言处理》
自然语言处理还有其它一些名称,例如:自然语言理解(Natural Language Understanding),计算机语言学(Computational Linguistics),人类语言技术(Human Language Technology)等等。
1.2 NLP的主要任务
NLP的主要任务可以分为两大类,一类是基于现有文本或语料的分析,另一类是生成新的文本或语料。
1.2.1 分词
该任务将文本或语料分隔成更小的语言单元(例如,单词)。对于拉丁语系,词语之间有空格分隔,对于中文、日文等语言,分词就是一项重要的基本任务,分词直接影响对文本语义的理解。例如:
文本:吉林市长春药店
分词1:吉林市/长春/药店
分词2:吉林/市长/春药/店
1.2.2 词义消歧
词义消歧是识别单词正确含义的任务。例如,在句子“The dog barked at the mailman”(狗对邮递员吠叫)和“Tree bark is sometimes used as a medicin