《自然语言处理导论》主要介绍自然语言处理理论与技术,旨在让更多人了解和学习自然语言处理技术,让人工智能更好地为我们服务。
《自然语言处理导论》共16章,包括自然语言理解基础和具体任务探索两部分,主要讲述了自然语言处理文本表示、分析、挖掘、推理等方面的相关概念、方法、技术和近期研究进展;详细介绍了文本分类、情感计算、知识抽取等基础方法;全面讲述了自动文摘、问答系统、机器翻译、社会计算、内容生成和跨模态计算等具体任务;最后讨论了深度学习前沿问题。
《自然语言处理导论》致力于帮助高等院校计算机相关专业学生牢固掌握自然语言处理的基本理论与技术,掌握如何分析文本信息、解决问题、完成相关研究的方法,以及了解自然语言处理的典型应用场景。
自然语言处理是一门融计算机科学、语言学、数学、认知学、逻辑学于一体的研究学科。机器学习、深度学习方法持续地引领着自然语言处理的进步与发展。以ChatGPT为代表的语言模型更是展现出了强大的通用能力,亦离不开自然语言处理技术的发展积累。
《自然语言处理导论》内容源自中山大学开设的自然语言处理课程,以及作者的产业实践;主要介绍自然语言处理理论与技术,旨在让更多人了解和学习自然语言处理技术,让人工智能更好地为我们服务。
自然语言处理(Natural Language Processing,NLP)是一门融计算机科学、语言学、数学、认知学、逻辑学于一体的研究学科。自然语言处理涉及自然语言,关注计算机和人类语言之间的交互,在计算机的支持下对语言信息进行定量化的研究,包括自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)两部分研究内容,旨在使计算机能够分析、处理和理解人类语言,提供可供人与计算机之间能共同使用的语言描写。
利用计算机处理自然语言,根据其不同时期或不同侧重点,可分为不同阶段,即自然语言理解、人类语言技术(Human Language Technology,HLT)、计算语言学(computational linguistics)、计量语言学(quantitative linguistics)、数理语言学(mathematical linguistics)等。近年来,以机器学习、深度学习、知识图谱为代表的人工智能技术逐渐变得普及。大数据时代的机器学习,需面向复杂多样的数据进行深层次分析。深度学习的实现在于建立模拟人脑进行分析学习的神经网络。得益于数据的增多、计算能力的增强、学习算法的成熟以及应用场景的丰富,深度学习在学术界和工业界取得了广泛的成功,受到了越来越多的关注,并掀起新一轮的人工智能热潮。
机器学习、深度学习和自然语言处理的交叉在实际任务中取得了长足进步,被用来解决一些通用人工智能问题,如文本分类、自动文摘、问答系统、机器翻译、社会计算、推荐系统、内容生成和跨模态计算等。以机器翻译任务为例,它从基于规则方法、基于统计方法、基于实例方法到基于深度学习方法的快速发展,带着鲜明的时代背景烙印,也吻合技术发展脉络。如今,机器学习、深度学习方法持续地引领着自然语言处理的进步与发展。以ChatGPT为代表的语言模型更是展现出了强大的通用能力,亦离不开自然语言处理技术的发展积累。
《自然语言处理导论》适用范围包括高年级本科生、硕士博士研究生以及任何对自然语言处理技术感兴趣的人。《自然语言处理导论》共16章。第1章是绪论,概要介绍自然语言处理的基本概念、发展历程和研究内容,使读者能够全面了解相关知识。第2~7章分别讲述了语言模型、神经网络和神经语言模型、词和语义向量、预训练语言模型、序列标注和语义分析,介绍了自然语言处理文本表示、分析、挖掘、推理等方面的相关概念、方法、技术和近期研究进展。第8~10章介绍了文本分类、情感计算、知识抽取等基础方法。第11~15章介绍了自动文摘、统计机器翻译和神经机器翻译、问答系统与多轮对话、社会计算、内容生成和跨模态计算,这些都是目前自然语言处理的难点和热点问题。第16章讨论了深度学习前沿问题。
2020年中山大学智能工程学院开设了自然语言处理课程。讲好基于机器学习和深度学习的自然语言处理课程并不是一件容易的事,课程涉及的知识点繁多且杂乱,与实践结合也十分紧密。作为任课教师,我尝试梳理了自然语言处理的知识体系,拟定了教学大纲、教案、习题详解、试卷等。过程中得到了学校与学院的高度重视,进行了相关教研探索,同时也获得华为产教融合协同育人项目的数据和资源支持。在机械工业出版社的热情邀请和大力支持下,我着手撰写这本面向在校学生和相关从业人员的关于自然语言处理的图书。但我依然低估了写作的难度:一方面是深度学习、自然语言处理的发展十分迅速,我的认知也在不断变化,导致需不断增改已成稿的内容;另一方面是平时的科研教学任务十分繁重,只能在碎片化的时间中匍匐前行。
《自然语言处理导论》能够完成,无疑得到了很多人的支持和帮助。感谢中山大学各位领导专家的支持和帮助。感谢我的搭档丁宁博士,他基于对自然语言处理任务的独到见解和实践经验,提出了富有建设性的意见。感谢编写第10章的清华大学博士郦炀宁和李映辉,以及协助他们完成该章的胡婧、曹志雄、张豪。感谢各位同事、同学和好友,在《自然语言处理导论》撰写过程中提供了很多研究资料和热情的帮助。此外,本书在写作过程中参考了互联网上大量的优秀资料,如维基百科、知乎、Quora等网站。
由于深度学习、自然语言处理技术日新月异,而我们所知有限,难免有挂一漏万之憾。《自然语言处理导论》中难免有不当和错误之处,还望读者海涵和指正,不胜感激。如有重要进展或成果没有涉及,绝非作者故意为之,敬请大家批评指正。无论是指出错误还是改进建议,请直接发邮件至sheny76@mail.sysu.edu.cn,我们会在《自然语言处理导论》修订时改正所有发现的错误。
沈 颖
沈颖,中山大学智能工程学院副教授,获法国巴黎第十大学计算机博士学位。主要研究方向为通用人工智能的知识计算与推理,在国防信息和医学应用领域获得一系列有特色的成绩。在IEEE TOC、TKDE、TNNLS、TIP、TAC和ACL、AAAI、IJCAI、SIGIR等人工智能领域的知名国际期刊和会议上发表相关论文100余篇;开源数十项研究工作代码和6个数据集;授权专利16项;授权软件著作权15项。主持国家自然科学基金、国防科技173计划技术领域基金项目、科技发展中心新一代信息技术创新项目、高教司项目等。曾获欧盟优秀硕士奖、法兰西大岛博士奖学金、巴黎大学博士一等荣誉毕业生、中国国家留学基金管理委员会优秀海外留学生奖。多次担任IJCAI、ACL等国际会议程序委员会委员,AAAI和SDM领域主席。
前言
第1章绪论
1.1基本概念
1.1.1语言学与语音学
1.1.2自然语言
1.1.3自然语言处理
1.2自然语言处理的发展历程
1.2.1自然语言处理的发展历史
1.2.2自然语言处理的研究现状
1.2.3自然语言处理的发展前景
1.3自然语言处理的基本方法
1.3.1理性主义方法
1.3.2经验主义方法
1.3.3对比分析
1.4自然语言处理的研究内容
1.4.1文本分类
1.4.2信息抽取
1.4.3文本摘要
1.4.4智能问答
第2章语言模型
2.1语言模型概述
2.2n-gram统计语言模型
2.2.1何为n-gram模型
2.2.2n-gram语言模型评估词序列
2.2.3n-gram统计语言模型的应用
2.2.4n-gram模型中n对性能的影响
2.2.5n-gram模型小结
思考题
参考文献
第3章神经网络和神经语言模型
3.1人工神经网络和神经语言模型
3.1.1人工神经网络
3.1.2神经语言模型
3.2卷积神经网络
3.2.1卷积神经网络结构
3.2.2卷积神经网络的文本处理
3.3循环神经网络
3.4递归神经网络
3.4.1递归神经网络的前向计算
3.4.2递归神经网络的训练方法
思考题
参考文献
第4章词和语义向量
4.1离散分布表示
4.1.1独热表示法
4.1.2词袋表示法
4.2分布式表示
4.2.1Word2vec
4.2.2矩阵分解
4.2.3GloVe
4.3文本特征选择法
4.3.1基于文档频率的特征提取法
4.3.2 2统计量
4.3.3信息增益法
4.3.4互信息法
4.4特征权重计算方法
4.4.1布尔权重
4.4.2绝对词频
4.4.3TF-IDF
思考题
参考文献
第5章预训练语言模型
5.1Transformer
5.2ELMo
5.3GPT
5.4BERT
5.5后BERT时代
思考题
参考文献
第6章序列标注
6.1马尔可夫模型
6.2条件随机场、维特比算法
6.2.1条件随机场的原理解析
6.2.2条件随机场的特性
6.3序列标注任务
6.3.1自动分词
6.3.2汉语自动分词中的基本问题
6.3.3歧义切分问题
6.3.4未登录词问题
6.4汉语分词方法
6.4.1基于词频度统计的分词方法
6.4.2N-最短路径方法
6.4.3基于词的n元语法模型的分词方法
6.4.4由字构词的汉语分词方法
6.4.5基于词感知机的汉语分词方法
6.4.6基于字的生成式模型和区分式模型相结合的汉语分词方法
6.4.7其他分词方法
6.5词性标注
6.5.1词性标注概述
6.5.2基于规则的词性标注方法
6.5.3基于统计模型的词性标注方法
6.5.4统计方法与规则方法相结合的词性标注方法
6.5.5词性标注的一致性检查
6.5.6技术评测
6.6命名实体识别
6.6.1基于条件随机场的命名实体识别方法
6.6.2基于多特征的命名实体识别方法
6.6.3基于神经网络的命名实体识别方法
思考题
参考文献
第7章语义分析
7.1词义消歧
7.1.1有监督的词义消歧方法
7.1.2基于词典的词义消歧方法
7.1.3无监督的词义消歧方法
7.1.4词义消歧系统评价
7.2语义角色标注
7.2.1语义角色标注基本方法
7.2.2语义角色标注的领域适应性问题
7.3双语联合语义角色标注方法
7.3.1基本思路
7.3.2双语联合语义角色标注方法系统实现
思考题
参考文献
第8章文本分类
8.1文本分类概述
8.2传统分类器设计
8.2.1朴素贝叶斯分类器
8.2.2基于支持向量机的分类器
8.2.3KNN法
8.2.4线性最小二乘拟合法
8.2.5决策树分类器
8.3基于神经网络方法
8.3.1文本分析中的循环神经网络方法
8.3.2文本分析中的递归神经网络方法
8.4文本分类性能评测
思考题
参考文献
第9章情感计算
9.1文档或句子级情感计算方法
9.1.1情感词典方法
9.1.2基于传统机器学习的监督情感分类
9.1.3深度神经网络方法
9.2属性级情感分析
9.2.1意见挖掘和属性抽取
9.2.2针对特定目标的情感分析
9.2.3立场检测
9.3其他情感分析任务
9.3.1讽刺识别
9.3.2多模态情感分析
思考题
参考文献
第10章知识抽取
10.1知识抽取概述
10.2命名实体识别
10.2.1命名实体识别概述
10.2.2基于词典及规则的方法
10.2.3基于机器学习的有监督方法
10.2.4基于深度学习的方法
10.3实体链接
10.3.1实体链接概述
10.3.2通用解决框架
10.3.3实体链接数据集
10.4关系抽取
10.4.1关系抽取概述
10.4.2有监督关系抽取
10.4.3远程监督
10.4.4实体关系联合抽取
10.4.5小样本关系抽取
10.4.6开放域关系抽取
10.5事件抽取
10.5.1事件抽取概述
10.5.2基于模式匹配的方法
10.5.3基于机器学习的方法
10.5.4基于深度学习的方法
10.5.5事件抽取数据集
思考题
参考文献
第11章统计机器翻译和神经机器翻译
11.1机器翻译概述
11.1.1机器翻译的发展
11.1.2机器翻译方法
11.1.3机器翻译研究现状
11.2基于HMM的词对位模型
11.3基于短语的翻译模型
11.4基于最大熵的翻译模型
11.4.1对位模板与最大近似
11.4.2特征函数
11.4.3参数训练
11.5基于层次短语的翻译模型
11.5.1概述
11.5.2模型描述和参数训练
11.5.3解码方法
11.6树翻译模型
11.6.1树到串的翻译模型
11.6.2树到树的翻译模型
11.6.3串到树的翻译模型
11.7树模型的相关改进
11.8基于谓词论元结构转换的翻译模型
11.9集外词翻译
11.9.1数字和时间表示的识别与翻译
11.9.2普通集外词的翻译
11.10统计翻译系统实现
11.11译文质量评估方法
11.11.1概述
11.11.2技术指标
11.11.3相关