本书集学术前沿、教学成果与应用实践于一体,系统讲述自然语言处理理论与应用。全书分为5篇。基础理论篇包括第1~4章,主要内容为自然语言处理与应用概述、面向自然语言处理的深度学习经典平台与算法、面向自然语言处理的深度学习前沿进展、预训练语言模型;信息处理篇包括第5~9章,主要内容为网络爬虫技术、多格式文档解析与管理、语音文字识别、图像语义表示与字符识别、中文分词与词性标注;语义分析篇包括第10~13章,主要内容为情感分析、新词发现、命名实体识别与关键词提取、知识图谱的大数据自动构建与应用;文本挖掘篇包括第14~18章,主要内容为信息过滤、文本分类、文本聚类、文本校对、自动摘要;应用篇包括第19、20章,主要内容为自然语言处理应用项目和案例。 本书可作为高等学校自然语言处理方向研究生与高年级本科生的专业课教材,也可供自然语言处理方向的科研人员、工程技术人员和爱好者参考。
集自然语言处理学术前沿、教学成果与应用实践于一体;
充分反映自然语言处理方向的国际学术前沿进展;
融入北京理工大学团队20余年自然语言处理与应用方向的创新性成果,获得多项省部级科技奖,NLPIR自然语言处理与信息检索共享平台网提供配套的演示程序及代码;
六年多研究型一线教学实践,收录了多个研究小组优秀项目业作为应用案例剖析。
自然语言处理是一门融语言学、计算机科学、数学于一体的学科,研究人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理的目标是让机器在理解语言上像人类一样有智能,最终目标是减小人类交流(自然语言)和计算机理解(机器语言)之间的差距。自然语言处理被誉为 人工智能皇冠上的明珠。微软全球副总裁、著名人工智能专家沈向洋在中国计算机大会上明确表示: 得语言者得天下。自然语言处理已经成为人工智能研究的难点与热点,孕育着改变世界未来的机会。魔多情报(Mordor Intelligence)公司的报告显示,2020年全球自然语言处理市场规模为107.20亿美元,预计到2026年将增长至484.60亿美元,平均年复合增长率为26.84%。随着新冠疫情的全球传播,自然语言处理在医疗健康方面的增长尤为迅速。
近年来,自然语言处理领域已经有不少优秀专著或教材面世,但主要介绍自然语言处理的经典算法与相关技术,结合实际系统与应用实践的不多。我从2016年开始在北京理工大学开设研究生选修课大数据分析与应用,2022年开始为北京理工大学人工智能专业大三学生开设必修课大数据处理技术,尝试将自然语言处理与大数据、人工智能相结合,采用研究型教学方式,给出自然语言处理的经典任务命题,由学生们分组给出综述报告,要求详细介绍自然语言处理各个技术点的经典算法,并反映出近3年国际学术研究的前沿进展,最后给出直观的演示系统并进行实验验证。课程期末考试需要团队协作完成有一定创新性的自然语言处理项目,由校外产学研各界专家进行独立评审。经过6年的不断探索,课程受到了1000多位修课同学的广泛好评,课程期末平均成绩为94.73分。随着教学实践体系的不断完善,我希望能将20多年自然语言处理研究和6年教学实践的成果分享出来,最终完成了这本自然语言处理与应用密切结合的教材。
本书共分5篇: 基础理论篇主要包括自然语言处理与应用概述、深度学习经典平台与算法、深度学习前沿进展、预训练语言模型;信息处理篇主要包括网络爬虫技术、多格式文档解析与管理、语音文字识别、图像语义表示与字符识别、中文分词与词性标注;语义分析篇包括情感分析、新词发现、命名实体识别与关键词提取、知识图谱的大数据自动构建与应用等;文本挖掘篇包括信息过滤、文本分类、文本聚类、文本校对、自动摘要;应用篇主要介绍一些有特色的自然语言处理应用项目和案例。
本书的特色是集学术前沿、应用实践、教学成果于一体,充分反映大数据、人工智能与自然语言处理方向的国际学术前沿进展,同时融入作者团队20余年自然语言处理与应用方向的创新性成果,相关成果先后获得新疆维吾尔自治区科技进步奖一等奖与二等奖以及钱伟长中文信息处理科学技术奖一等奖。本书吸收了大数据分析与应用大数据处理技术6年多一线研究型教学实践成果,收录了多个研究小组的优秀项目作为应用案例。作为本书成果的配套网站和相关资料的下载基地,NLPIR(自然语言处理与信息检索)共享平台提供了实际成果演示与各类资源的下载。本书可作为高校自然语言处理方向研究生与高年级本科生的教材,也可供自然语言处理方向的科研人员、工程技术人员和爱好者参考。
本书内容主要涉及作者所在的北京理工大学NLPIR实验室的研究成果,部分章节内容来自实验室近10年发表的学术论文与研究生毕业论文。张华平负责总体策划与任务安排,商建云负责本书的统筹,汤泽阳、雷沛钶、骆曦完成了全部初稿的整理。本书采用了作者指导的研究生张宝华、姜庆鸿、蔡佳豪、刘子宇等的毕业论文及发表的文章,同时采用了北京理工大学大数据分析与应用研究生课程、大数据处理技术本科课程部分学生的课程作业,均在相应的部分进行了标注。各个章节依次由康铠、王彦浩、杨蔓芝、张晓松、李育霖、张俊辉、马弋洋、张恒瑀、高玉箫、赵青青、杨子研、刘维康、张洪彬、严若豪、谌立凤、李静、蔡佳豪、杜伦、雷沛钶、汤泽阳、黄咏仪等同学进行了精心编辑整理。本书得到基础加强计划技术领域基金(编号: 2021JCJQJJ0059)、北京市自然科学基金(编号: 4212026)、北京理工大学十四五规划教材项目的资助。在本书策划和写作过程中,得到了清华大学出版社白立军、杨帆老师的大力支持和帮助,作者在此表示衷心感谢。在本书的写作与相关科研课题的研究工作中,得到了多方面的支持与帮助,作者在此谨向相关文献的作者以及为本书提供帮助的老师、同仁和课题组成员致以诚挚的谢意和崇高的敬意。
限于作者的学识、水平,书中不妥之处在所难免,恳请广大读者批评指正。
张华平
2023年5月
第1篇基础理论篇
第1章自然语言处理与应用概述3
1.1自然语言处理3
1.1.1自然语言处理的定义、难点及其发展历程3
1.1.2自然语言处理的上下游任务4
1.2中文自然语言处理发展现状7
1.2.1自然语言处理任务评测结果7
1.2.2中文数据集与评测现状8
1.2.3中文预训练语言模型现状9
1.2.4中国影响力现状9
1.3自然语言处理的发展趋势11
1.3.1处理从人工到自动化11
1.3.2应用从通用到场景化13
1.3.3算法从单一到平台化15
1.4中文互联网自然语言处理面临的挑战16
1.4.1信息对抗16
1.4.2多语言交互16
1.4.3社会演化17
第2章面向自然语言处理的深度学习经典平台与算法18
2.1深度学习经典平台18
2.1.1TensorFlow18
2.1.2PyTorch20
2.1.3PaddlePaddle21
2.2深度学习经典算法22
2.2.1卷积神经网络222.2.2循环神经网络23
2.2.3生成对抗网络26
第3章面向自然语言处理的深度学习前沿进展30
3.1传统深度学习遇到的瓶颈30
3.1.1深度学习概述30
3.1.2传统深度学习遇到的问题31
3.2面向数据的深度学习前沿进展33
3.2.1主动学习33
3.2.2自监督学习35
3.2.3提示学习37
3.2.4图神经网络39
3.2.5多模态学习41
3.3面向训练的深度学习前沿进展43
3.3.1多任务学习43
3.3.2终身学习45
3.3.3范式迁移46
3.4面向应用的深度学习前沿进展47
3.4.1模型压缩47
3.4.2可解释学习48
3.4.3对抗与算法安全49
〖1〗〖2〗自然语言处理与应用目录第4章预训练语言模型51
4.1预训练语言模型概述51
4.1.1预训练语言模型定义51
4.1.2预训练语言模型的发展历程51
4.2常见预训练语言模型介绍52
4.2.1BERT52
4.2.2GPT354
4.2.3ELMo54
4.2.4ERNIE55
4.3预训练语言模型的使用56
4.3.1迁移学习56
4.3.2微调56
4.4预训练语言模型发展趋势58
4.4.1多语种58
4.4.2多模态58
4.4.3增大模型58
4.4.4替换预训练任务59
4.4.5结合外部知识60
4.4.6预训练语言模型压缩61
4.5应用与分析61
4.5.1模型介绍61
4.5.2模型使用62
第2篇信息处理篇
第5章网络爬虫技术65
5.1概述65
5.1.1网络爬虫的概念内涵65
5.1.2网络爬虫的技术发展65
5.1.3网络爬虫的爬取过程66
5.2网络爬虫分类67
5.2.1通用网络爬虫67
5.2.2深层网络爬虫68
5.2.3聚焦网络爬虫68
5.2.4增量式网络爬虫70
5.3网络爬虫库与框架71
5.3.1网络爬虫库71
5.3.2网络爬虫框架72
5.4网络爬虫技术前沿75
5.4.1网络爬虫技术的最新进展75
5.4.2反爬的前沿技术75
5.5应用与分析76
第6章多格式文档解析与管理80
6.1概述80
6.1.1文档格式80
6.1.2文档标准的发展历程80
6.2多格式文档解析81
6.2.1Word文档解析81
6.2.2PDF文档解析83
6.3多格式文档管理85
6.3.1在线文档管理85
6.3.2区块链文档管理87
6.4应用与分析88
6.4.1多格式文档读取算法88
6.4.2多格式文档解析实例90
第7章语音文字识别95
7.1概述95
7.1.1发展历程95
7.1.2基本原理96
7.2经典算法98
7.2.1经典语言模型98
7.2.2经典声学模型99
7.3最新进展103
7.3.1DFCNN模型104
7.3.2混合网络Conformer105
7.4应用与分析106
第8章图像语义表示与字符识别108
8.1图像字幕108
8.1.1问题背景108
8.1.2技术分析108
8.1.3建模方法112
8.1.4应用与分析114
8.2OCR及领域优化115
8.2.1问题背景115
8.2.2技术分析116
8.2.3应用与分析120
第9章中文分词与词性标注123
9.1中文分词概述123
9.2中文分词的困难124
9.3基于机械匹配的中文分词算法127
9.3.1词典匹配法127
9.3.2N最短路径法130
9.4基于统计语言模型的中文分词算法132
9.4.1N元语言模型132
9.4.2互信息模型133
9.4.3最大熵模型134
9.5NLPIRICTCLAS: 基于层次隐马尔可夫模型的中文分词算法135
9.5.1层次隐马尔可夫模型136
9.5.2基于类的隐马尔可夫分词算法138
9.5.3N最短路径的切分排歧策略139
9.6基于双向循环神经网络与条件随机场的词法分析140
9.6.1概述140
9.6.2基于双向循环神经网络的序列标注140
9.6.3融合条件随机场的深度神经网络模型141
9.7应用与分析142
9.7.1NLPIRICTCLAS应用演示142
9.7.2LTP143
9.7.3结巴分词143
9.7.4PKUSeg143
第3篇语义分析篇
第10章情感分析147
10.1情感分析概述147
10.1.1研究任务148
10.1.2研究热点148
10.2经典方法149
10.2.1基于情感词典的情感分析方法149
10.2.2基于机器学习的情感分析方法150
10.2.3基于深度学习的情感分析方法152
10.2.4先进模型153
10.3应用与分析153
第11章新词发现158
11.1新词发现概述158
11.2多语种新词发现前沿综述159
11.3基于规则的新词发现方法161
11.3.1规则抽取方法161
11.3.2规则过滤方法162
11.4基于统计模型的新词发现方法162
11.4.1凝固度163
11.4.2信息熵163
11.4.3新词IDF163
11.5基于深度学习的新词发现方法164
11.6应用与分析165
11.6.1面向社会媒体的开放领域新词发现165
11.6.2多语种新词发现示例171
第12章命名实体识别与关键词提取173
12.1命名实体识别与关键词提取概述173
12.1.1命名实体识别173
12.1.2关键词提取177
12.2经典算法177
12.2.1命名实体识别经典算法177
12.2.2关键词提取经典算法185
12.2.3算法分类189
12.3应用与分析191
12.3.1命名实体识别示例191
12.3.2关键词提取实验194
第13章知识图谱的大数据自动构建与应用198
13.1知识图谱概述198
13.2知识图谱的数据来源200
13.2.1大规模知识库200
13.2.2互联网链接数据200
13.2.3多数据源的知识融合202
13.3知识图谱的构建203
13.3.1概念发现206
13.3.2关联计算207
13.3.3关系抽取208
13.4应用与分析211
13.4.1智能搜索211
13.4.2机器人学习机212
13.4.3文档表示212
第4篇文本挖掘篇
第14章信息过滤215
14.1信息过滤概述215
14.1.1信息过滤推荐最新进展217
14.1.2重点关注信息过滤最新进展219
14.2信息过滤推荐经典算法219
14.2.1内容过滤219
14.2.2协同过滤220
14.2.3混合过滤221
14.3重点关注信息过滤经典算法222
14.3.1黑白名单过滤222
14.3.2基于内容的文本过滤222
14.3.3基于内容的图片过滤225
14.4应用与分析228
14.4.1信息过滤推荐示例228
14.4.2垃圾信息过滤示例229
14.4.3智能过滤系统展示232
第15章文本分类234
15.1文本分类概述234
15.1.1基于统计规则的文本分类234
15.1.2基于机器学习的文本分类234
15.1.3基于深度学习的文本分类235
15.2文本分类算法237
15.2.1稠密连接网络237
15.2.2图神经网络239
15.2.3注意力模型242
15.3应用与分析245
15.3.1数据集245
15.3.2实验245
第16章文本聚类246
16.1文本聚类概述246
16.2文本聚类算法体系246
16.3半监督文本聚类248
16.4基于关键特征聚类的Top N热点话题检测方法研究250
16.4.1研究概述250
16.4.2基于文档关键特征的话题聚类251
16.4.3实验结果展示254
第17章文本校对256
17.1文本校对概述256
17.2文本校对算法257
17.2.1基于统计机器学习的文本校对方法258
17.2.2基于深度学习的文本校对方法258
17.2.3基于预训练语言模型的文本校对方法259
17.3KDN: 基于知识驱动的多类型文本校对融合算法264
17.3.1语法校对264
17.3.2语病校对265
17.3.3基于音形码的相似度计算266
17.3.4校对融合算法266
17.4NLPIR文本自动校对系统设计与应用267
17.4.1自动校对模块267
17.4.2前后端设计与实现267
17.4.3在线校对插件office268
17.4.4在线校对功能示例269
第18章自动摘要270
18.1自动摘要概述270
18.1.1基于抽取的自动文摘272
18.1.2基于理解的自动文摘274
18.2基于关键词提取的自动摘要274
18.2.1文本预处理274
18.2.2停用词表275
18.2.3双数组Trie树276
18.2.4关键词提取277
18.2.5句子切分279
18.2.6句子相似度计算280
18.3面向主题的自动摘要280
18.3.1改进的最大边缘相关度方法281
18.3.2面向主题的词特征统计282
18.3.3领域主题词表282
18.3.4句子间的包含关系283
18.4基于主题模型与信息熵的中文文档自动摘要技术研究284
18.4.1主题模型285
18.4.2信息熵286
18.4.3句子信息熵的计算方法286
18.4.4算法介绍287
18.4.5自动摘要应用示例288
第5篇应用篇
第19章自然语言处理应用项目293
19.1裁判文书阅读理解293
19.1.1背景介绍293
19.1.2数据集简介293
19.1.3评价标准293
19.1.4实验过程及分析294
19.2PDF敏感信息发现与隐私保护295
19.2.1背景介绍295
19.2.2数据处理296
19.2.3个人信息识别297
19.2.4脱敏技术298
19.2.5结果展示300
19.3微博博主的特征与行为大数据挖掘301
19.3.1背景介绍301
19.3.2宏观特征大数据挖掘302
19.3.3实验与分析307
19.3.4微博博主的价值观自动评估方法307
19.4用于中文影视剧台词的语义消歧系统309
19.4.1背景介绍309
19.4.2语义消歧知识图谱的构建310
19.4.3基于知识图谱和语义特征的语义消歧算法312
19.4.4实验结果与分析314
19.4.5语义消歧系统315
19.5大数据考研分析316
19.5.1背景介绍316
19.5.2模块设计317
19.5.3结果及分析318
19.6客服通话文本摘要提取319
19.6.1背景介绍319
19.6.2数据说明320
19.6.3评价指标320
19.6.4实验方法320
第20章自然语言处理应用案例322
20.1《红楼梦》前80回和后40回作者同一性分析322
20.1.1背景介绍322
20.1.2输入数据322
20.1.3分析工具和方法322
20.1.4结果及分析323
20.2丁真走红事件网络舆情分析327
20.2.1背景介绍327
20.2.2系统结构及方法327
20.3个人语言特征消除工具330
20.3.1背景介绍330
20.3.2技术概念330
20.3.3系统设计331
20.3.4总结分析332
20.4问药小助手333
20.4.1应用概述333
20.4.2数据来源333
20.4.3数据标注333
20.4.4症状识别334
20.4.5医疗槽填充335
20.5自动写诗与古诗词鉴赏翻译系统336
20.5.1自动写诗336
20.5.2古诗词鉴赏与翻译337